feat: pagination and query params for a deal end-point
This commit is contained in:
@ -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
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user