From 94448f1db113ff88beeeb5802c6b76fb20cf6524 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Tue, 18 Mar 2025 13:40:20 +0000 Subject: [PATCH] Update code in endpoints/api/v1/endpoint.post.py --- endpoints/api/v1/endpoint.post.py | 45 +++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 endpoints/api/v1/endpoint.post.py diff --git a/endpoints/api/v1/endpoint.post.py b/endpoints/api/v1/endpoint.post.py new file mode 100644 index 0000000..d37a5ca --- /dev/null +++ b/endpoints/api/v1/endpoint.post.py @@ -0,0 +1,45 @@ +from fastapi import APIRouter, Depends, HTTPException +from core.database import fake_users_db +import uuid + +router = APIRouter() + +@router.post("/signup") +async def signup_handler( + username: str, + email: str, + password: str +): + """Create new user account""" + if username in fake_users_db: + raise HTTPException(status_code=400, detail="Username already exists") + + if not email or '@' not in email: + raise HTTPException(status_code=400, detail="Invalid email format") + + if len(password) < 8: + raise HTTPException(status_code=400, detail="Password must be at least 8 characters") + + user_id = str(uuid.uuid4()) + fake_users_db[username] = { + "id": user_id, + "email": email, + "password": password, + "disabled": False, + "created_at": str(uuid.uuid1()) + } + + return { + "message": "User created successfully", + "user_id": user_id, + "username": username, + "next_steps": [ + "Verify your email address", + "Complete your profile", + "Set up two-factor authentication" + ], + "metadata": { + "account_status": "pending_verification", + "created_timestamp": fake_users_db[username]["created_at"] + } + } \ No newline at end of file