From 7d39f58cf803ce37f4c78859e92cfdc88641c6b1 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Wed, 19 Mar 2025 11:32:23 +0100 Subject: [PATCH] Update code in endpoints\user.post.py --- endpoints/user.post.py | 72 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 endpoints/user.post.py diff --git a/endpoints/user.post.py b/endpoints/user.post.py new file mode 100644 index 0000000..a5fbf38 --- /dev/null +++ b/endpoints/user.post.py @@ -0,0 +1,72 @@ +from fastapi import APIRouter, Depends, HTTPException +from core.database import fake_users_db +import uuid + +router = APIRouter() + +@router.get("/users/{id}") +async def get_user_handler( + id: str = Path(..., description="User ID"), + db: Session = Depends(get_db) +): + """Get user by ID""" + user = fake_users_db.get(id) + if not user: + raise HTTPException(status_code=404, detail="User not found") + return { + "message": "User found", + "data": user, + "metadata": { + "source": "demo_db", + "result_count": 1 + } + } + +@router.put("/users/{id}") +async def update_user_handler( + id: str = Path(..., description="User ID"), + username: str = Body(..., description="Updated username"), + email: str = Body(..., description="Updated email"), + password: str = Body(..., description="Updated password"), + db: Session = Depends(get_db) +): + """Update user by ID""" + user = fake_users_db.get(id) + if not user: + raise HTTPException(status_code=404, detail="User not found") + user["username"] = username + user["email"] = email + user["password"] = password + return { + "message": "User updated successfully", + "data": user + } + +@router.delete("/users/{id}") +async def delete_user_handler( + id: str = Path(..., description="User ID"), + db: Session = Depends(get_db) +): + """Delete user by ID""" + user = fake_users_db.pop(id, None) + if not user: + raise HTTPException(status_code=404, detail="User not found") + return { + "message": "User deleted successfully", + "data": user + } + +@router.get("/users") +async def get_all_users_handler( + db: Session = Depends(get_db) +): + """Get all users""" + users = list(fake_users_db.values()) + return { + "message": "Users retrieved successfully", + "data": users, + "metadata": { + "source": "demo_db", + "result_count": len(users) + } + } \ No newline at end of file