from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app.common.db.session import get_db from app.common.responses.api_response import success_response from app.common.security.deps import get_current_user from app.models.entities import User from app.modules.users.schema import UpdateProfileRequest from app.modules.users.service import UsersService router = APIRouter(prefix="/api/v1/profile", tags=["profile"]) @router.get("") def get_profile(current_user: User = Depends(get_current_user)): return success_response( { "publicId": current_user.public_id, "username": current_user.username or "", "nickname": current_user.nickname, "avatarUrl": current_user.avatar_url, "email": current_user.email or "", "mobile": current_user.mobile or "", } ) @router.put("") def update_profile( payload: UpdateProfileRequest, current_user: User = Depends(get_current_user), db: Session = Depends(get_db), ): data = UsersService(db).update_profile(current_user, payload) return success_response(data)