from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app.api.deps import get_db, get_current_user from app.models.user import User from app.schemas.user import User as UserSchema, UserUpdate from app.crud import crud_user from app.core.logging import log_activity router = APIRouter() @router.get("/me", response_model=UserSchema) async def read_users_me(current_user: User = Depends(get_current_user)): """ Get current user information. """ return current_user @router.put("/me", response_model=UserSchema) async def update_user_me( user_in: UserUpdate, db: Session = Depends(get_db), current_user: User = Depends(get_current_user), ): """ Update current user information. """ user = crud_user.update(db, db_obj=current_user, obj_in=user_in) log_activity(user.id, "update", "user profile") return user