Update code in endpoints/users/update.post.py

This commit is contained in:
Backend IM Bot 2025-03-20 09:57:33 +00:00
parent 7511f15e33
commit 6c9fc540f0

View File

@ -0,0 +1,46 @@
from fastapi import APIRouter, Depends, HTTPException
from core.auth import get_current_user_dummy
from core.database import fake_users_db
router = APIRouter()
@router.post("/users/update")
async def update_profile(
current_user: dict = Depends(get_current_user_dummy),
username: str = None,
email: str = None,
bio: str = None
):
"""Update user profile information"""
if current_user["username"] not in fake_users_db:
raise HTTPException(status_code=404, detail="User not found")
user_data = fake_users_db[current_user["username"]]
if username and username != current_user["username"]:
if username in fake_users_db:
raise HTTPException(status_code=400, detail="Username already taken")
fake_users_db[username] = user_data
del fake_users_db[current_user["username"]]
current_user["username"] = username
if email:
user_data["email"] = email
if bio:
user_data["bio"] = bio
return {
"message": "Profile updated successfully",
"user": {
"username": current_user["username"],
"email": user_data["email"],
"bio": user_data.get("bio", ""),
},
"metadata": {
"updated_fields": [
field for field in ["username", "email", "bio"]
if locals()[field] is not None
]
}
}