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 )