Files
Crm-Backend/utils/pagination.py

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
)