"""User management endpoints""" from fastapi import APIRouter, Depends from sqlalchemy.ext.asyncio import AsyncSession from app.core.database import get_db from app.core.deps import get_current_active_user from app.models.database_models import User from app.models.schemas import UserDetailResponse, UserUpdate router = APIRouter() @router.get("/me", response_model=UserDetailResponse) async def get_current_user_profile( current_user: User = Depends(get_current_active_user), ): """Get current user profile""" return current_user @router.put("/me", response_model=UserDetailResponse) async def update_current_user_profile( user_update: UserUpdate, current_user: User = Depends(get_current_active_user), db: AsyncSession = Depends(get_db), ): """Update current user profile""" if user_update.email: current_user.email = user_update.email # type: ignore[assignment] if user_update.full_name: current_user.full_name = user_update.full_name # type: ignore[assignment] await db.commit() await db.refresh(current_user) return current_user