from fastapi import APIRouter, Depends from sqlalchemy.ext.asyncio import AsyncSession from app.dependencies import get_db, get_current_user from app.models.user import User from app.schemas.user import UserOut, UserUpdate router = APIRouter(prefix="/api/users", tags=["users"]) @router.get("/me", response_model=UserOut) async def get_me(current_user: User = Depends(get_current_user)): return current_user @router.patch("/me", response_model=UserOut) async def update_me( body: UserUpdate, current_user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db), ): if body.full_name is not None: current_user.full_name = body.full_name if body.email is not None: current_user.email = body.email await db.commit() await db.refresh(current_user) return current_user