21 lines
576 B
Python
21 lines
576 B
Python
from typing import Optional
|
|
|
|
from fastapi import Query
|
|
|
|
from schemas.base import PaginationSchema
|
|
|
|
|
|
async def pagination_parameters(
|
|
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)
|
|
|
|
|
|
def is_valid_pagination(pagination: Optional[PaginationSchema]) -> bool:
|
|
if not pagination:
|
|
return False
|
|
return isinstance(pagination.items_per_page, int) and isinstance(
|
|
pagination.page, int
|
|
)
|