feat: pydantic models for swagger

This commit is contained in:
TheNoxium
2025-05-26 13:45:40 +05:00
parent 96dbc744d7
commit 98a4692247
8 changed files with 43 additions and 50 deletions

View File

@@ -17,20 +17,21 @@ from api.db.connection.session import get_connection_dep
from api.db.logic.account import get_user_id, update_user_id, create_user,get_user_login,get_all_users_login_and_id
from api.schemas.account.account import User,Status
from api.schemas.endpoints.account import UserUpdate
from api.schemas.endpoints.account import UserUpdate,AllUserResponse
from api.services.user_role_validation import db_user_role_validation
from api.services.update_data_validation import update_user_data_changes
api_router = APIRouter(
prefix="/account",
tags=["User accountModel"],
)
@api_router.get("")
@api_router.get("",response_model=AllUserResponse)
async def get_all_account(
request: Request,
@@ -53,27 +54,21 @@ async def get_all_account(
return user_list
@api_router.get("/{user_id}")
async def get_account(user_id: int,
request: Request,
connection: AsyncConnection = Depends(get_connection_dep)
):
@api_router.get("/{user_id}", response_model=User)
async def get_account(user_id: int, request: Request, connection: AsyncConnection = Depends(get_connection_dep)):
current_user = request.state.current_user
authorize_user = await db_user_role_validation(connection, current_user)
user = await get_user_id(connection, user_id)
if user is None:
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,
detail="Account not found")
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Account not found")
return user
@api_router.post("")
@api_router.post("", response_model=User)
async def create_account(
user: UserUpdate,
request: Request,
@@ -100,7 +95,7 @@ async def create_account(
@api_router.put("/{user_id}")
@api_router.put("/{user_id}", response_model=User)
async def update_account(
user_id: int,
request: Request,
@@ -134,7 +129,7 @@ async def update_account(
return user
@api_router.delete("/{user_id}")
@api_router.delete("/{user_id}", response_model=User)
async def delete_account(
user_id: int,
request: Request,