"""User management endpoints.""" from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.ext.asyncio import AsyncSession from app.core.database import get_db from app.core.security import get_password_hash from app.models.user import User from app.schemas.user import UserRead, UserUpdate from app.api.deps import get_current_user router = APIRouter() @router.get("/me", response_model=UserRead) async def get_me(user: User = Depends(get_current_user)): """Get current user profile.""" return user @router.patch("/me", response_model=UserRead) async def update_me( user_update: UserUpdate, user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db) ): """Update current user profile.""" if user_update.email: user.email = user_update.email if user_update.full_name: user.full_name = user_update.full_name if user_update.avatar_url: user.avatar_url = user_update.avatar_url if user_update.password: user.hashed_password = get_password_hash(user_update.password) return user