Files
aivideo/backend/app/modules/users/router.py

38 lines
1.1 KiB
Python

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)