diff --git a/endpoints/users.get.py b/endpoints/users.get.py index 60ff033..1bd2d79 100644 --- a/endpoints/users.get.py +++ b/endpoints/users.get.py @@ -8,10 +8,40 @@ async def get_users_handler(): """Get all users""" users = list(fake_users_db.values()) return { - "message": "Users fetched successfully", + "message": "Users retrieved successfully", "data": users, "metadata": { "source": "demo_db", "result_count": len(users) } + } + +@router.post("/users") +async def create_user_handler( + username: str, + email: str, + password: str +): + """Create a new user""" + if username in fake_users_db: + raise HTTPException(status_code=400, detail="Username already exists") + + import uuid + user_id = str(uuid.uuid4()) + new_user = { + "id": user_id, + "username": username, + "email": email, + "password": password, + "disabled": False + } + fake_users_db[username] = new_user + + return { + "message": "User created successfully", + "data": new_user, + "next_steps": [ + "Verify your email (demo)", + "Complete profile setup" + ] } \ No newline at end of file