From d0dde0cb4a7725ad9b57cfa2ba2b0360a03dd440 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Wed, 19 Mar 2025 09:22:07 +0100 Subject: [PATCH] Update code in endpoints\user.post.py --- endpoints/user.post.py | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/endpoints/user.post.py b/endpoints/user.post.py index f5c614e..4db97da 100644 --- a/endpoints/user.post.py +++ b/endpoints/user.post.py @@ -5,8 +5,8 @@ import uuid router = APIRouter() @router.get("/users/{user_id}") -async def get_user_profile( - user_id: str = Path(..., description="User ID"), +async def get_user_handler( + user_id: str, db: Session = Depends(get_db), token: str = Depends(oauth2_scheme) ): @@ -20,9 +20,9 @@ async def get_user_profile( } @router.put("/users/{user_id}") -async def update_user_profile( - user_id: str = Path(..., description="User ID"), - user_data: UserUpdateSchema = Body(...), +async def update_user_handler( + user_id: str, + user_data: UserUpdateSchema, db: Session = Depends(get_db), token: str = Depends(oauth2_scheme) ): @@ -31,26 +31,40 @@ async def update_user_profile( if not user: raise HTTPException(status_code=404, detail="User not found") - updated_user = user_data.dict(exclude_unset=True) - fake_users_db[user_id].update(updated_user) + user.update(user_data.dict()) + fake_users_db[user_id] = user return { "message": "User profile updated", - "data": fake_users_db[user_id] + "data": user } @router.delete("/users/{user_id}") -async def delete_user_profile( - user_id: str = Path(..., description="User ID"), +async def delete_user_handler( + user_id: str, db: Session = Depends(get_db), token: str = Depends(oauth2_scheme) ): """Delete user profile""" - user = fake_users_db.get(user_id) + user = fake_users_db.pop(user_id, None) if not user: raise HTTPException(status_code=404, detail="User not found") - del fake_users_db[user_id] return { "message": "User profile deleted" + } + +@router.get("/users") +async def list_users_handler( + db: Session = Depends(get_db), + token: str = Depends(oauth2_scheme) +): + """List all user profiles""" + users = list(fake_users_db.values()) + return { + "message": "Users retrieved", + "data": users, + "metadata": { + "total": len(users) + } } \ No newline at end of file