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,

View File

@@ -26,7 +26,7 @@ from api.services.auth import authenticate_user
from api.db.logic.auth import add_new_refresh_token,upgrade_old_refresh_token
from api.schemas.endpoints.auth import Auth
from api.schemas.endpoints.auth import Auth, Access
api_router = APIRouter(
prefix="/auth",
@@ -52,7 +52,7 @@ def get_config():
return Settings()
@api_router.post("")
@api_router.post("", response_model=Access)
async def login_for_access_token(
user: Auth,
response: Response,
@@ -95,16 +95,11 @@ async def login_for_access_token(
Authorize.set_refresh_cookies(refresh_token)
return {
"access_token": access_token,
# "access_token_expires": access_token_expires_time,
# "refresh_token": refresh_token,
# "refresh_token_expires": refresh_token_expires_time
}
return Access(access_token=access_token)
@api_router.post("/refresh")
@api_router.post("/refresh",response_model=Access)
async def refresh(
request: Request,
connection: AsyncConnection = Depends(get_connection_dep),
@@ -138,9 +133,4 @@ async def refresh(
subject=current_user, expires_time=access_token_expires
)
return {
"access_token": new_access_token,
# "access_token_expires": access_token_expires_time,
# "refresh_token": refresh_token,
# "refresh_token_expires": refresh_token_expires_time
}
return Access(access_token=new_access_token)

View File

@@ -32,7 +32,7 @@ api_router = APIRouter(
)
@api_router.get("/{user_id}/{key_id}")
@api_router.get("/{user_id}/{key_id}", response_model=AccountKeyring)
async def get_keyring(
key_id: str,
request: Request,
@@ -53,7 +53,7 @@ async def get_keyring(
return keyring
@api_router.post("/{user_id}/{key_id}")
@api_router.post("/{user_id}/{key_id}", response_model=AccountKeyring)
async def create_keyring(
user_id: int,
key_id: str,
@@ -69,8 +69,8 @@ async def create_keyring(
keyring = await get_key_id(connection, key_id)
if keyring is None:
user_new = await create_key(connection,key, key_id, )
return user_new
keyring_new = await create_key(connection,key, key_id, )
return keyring_new
else:
raise HTTPException(
@@ -79,7 +79,7 @@ async def create_keyring(
@api_router.put("/{user_id}/{key_id}")
@api_router.put("/{user_id}/{key_id}", response_model=AccountKeyring)
async def update_keyring(
user_id: int,
key_id: str,
@@ -115,7 +115,7 @@ async def update_keyring(
return keyring
@api_router.delete("/{user_id}/{key_id}")
@api_router.delete("/{user_id}/{key_id}", response_model=AccountKeyring)
async def delete_keyring(
user_id: int,
key_id: str,

View File

@@ -17,7 +17,7 @@ from api.db.logic.account import get_user_id, update_user_id,get_user_login
from api.services.update_data_validation import update_user_data_changes
from api.schemas.endpoints.account import UserUpdate
from api.schemas.account.account import User
api_router = APIRouter(
@@ -26,7 +26,7 @@ api_router = APIRouter(
)
@api_router.get("")
@api_router.get("",response_model=User)
async def get_profile(
request: Request,
connection: AsyncConnection = Depends(get_connection_dep),
@@ -44,7 +44,7 @@ async def get_profile(
return user
@api_router.put("")
@api_router.put("",response_model=User)
async def update_profile(
request: Request,
user_updata: UserUpdate,