feat: pagination and query params for a deal end-point

This commit is contained in:
2025-08-28 20:24:24 +04:00
parent 4c7a997be6
commit 5fbd6d6185
6 changed files with 66 additions and 20 deletions

View File

@ -1,10 +1,13 @@
from typing import Optional
from fastapi import Query
from schemas.base import PaginationSchema
async def pagination_parameters(
page: Optional[int] = None, items_per_page: Optional[int] = None
page: Optional[int] = Query(default=None),
items_per_page: Optional[int] = Query(default=None, alias="itemsPerPage"),
) -> PaginationSchema:
return PaginationSchema(page=page, items_per_page=items_per_page)
@ -12,6 +15,6 @@ async def pagination_parameters(
def is_valid_pagination(pagination: Optional[PaginationSchema]) -> bool:
if not pagination:
return False
return all(
[isinstance(pagination.items_per_page, int), isinstance(pagination.page, int)]
return isinstance(pagination.items_per_page, int) and isinstance(
pagination.page, int
)