From 3554d43d15a9833317c14c46fd07edea5f10a144 Mon Sep 17 00:00:00 2001 From: TheNoxium Date: Mon, 12 May 2025 21:20:36 +0500 Subject: [PATCH] fix: profile --- Makefile | 1 + api/api/endpoints/profile.py | 28 +++++++++++++++------------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index 0956d15..2fd0e5d 100644 --- a/Makefile +++ b/Makefile @@ -39,6 +39,7 @@ revision: venv-api: cd api && \ + poetry env activate \ poetry install install: diff --git a/api/api/endpoints/profile.py b/api/api/endpoints/profile.py index 09cf5e0..27ea429 100644 --- a/api/api/endpoints/profile.py +++ b/api/api/endpoints/profile.py @@ -26,16 +26,15 @@ api_router = APIRouter( ) -@api_router.get("/{user_id}") +@api_router.get("") async def get_profile( - user_id: int, request: Request, connection: AsyncConnection = Depends(get_connection_dep), ): # Извлекаем текущего пользователя из request.state current_user = request.state.current_user - user = await get_user_id(connection, user_id) + user = await get_user_login(connection, current_user) if user is None: raise HTTPException( @@ -45,9 +44,8 @@ async def get_profile( return user -@api_router.put("/{user_id}") +@api_router.put("") async def update_profile( - user_id: int, request: Request, user_updata: UserUpdate, connection: AsyncConnection = Depends(get_connection_dep), @@ -56,20 +54,24 @@ async def update_profile( current_user = request.state.current_user - user = await get_user_id(connection, user_id) + user = await get_user_login(connection, current_user) if user is None: raise HTTPException( status_code=status.HTTP_404_NOT_FOUND, detail="Account not found") + if user_updata.role == None and user_updata.login == None: + update_values = update_user_data_changes(user_updata,user) - update_values = update_user_data_changes(user_updata,user) + if update_values is None: + return user - if update_values is None: - return user + await update_user_id(connection, update_values, user) - await update_user_id(connection, update_values, user) + user = await get_user_id(connection, user.id) - user = await get_user_id(connection, user_id) - - return user + return user + else: + raise HTTPException( + status_code=status.HTTP_422_UNPROCESSABLE_ENTITY , + detail="Bad body")