diff options
Diffstat (limited to 'app/routes')
| -rw-r--r-- | app/routes/users/user.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/app/routes/users/user.py b/app/routes/users/user.py index 1eb096d..8b0b4f5 100644 --- a/app/routes/users/user.py +++ b/app/routes/users/user.py @@ -1,7 +1,9 @@ from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.ext.asyncio import AsyncSession +from app.auth.dependencies import get_current_user from app.models.user import User +from app.schemas.profile import DescriptionUpdate from app.schemas.user import UserRead from app.utils.db import get_async_session @@ -19,3 +21,23 @@ async def get_user( raise HTTPException(status_code=404, detail="User not found") return UserRead.model_validate(user) + + +@router.patch("/description") +async def update_description( + payload: DescriptionUpdate, + user: User = Depends(get_current_user), + session: AsyncSession = Depends(get_async_session), +): + profile = user.profile + + if not profile: + raise HTTPException(status_code=404, detail="Profile not found") + + profile.description = payload.description + + session.add(profile) + await session.commit() + await session.refresh(profile) + + return {"description": profile.description} |
