INNER CODE UNIT · Python

AsyncPagination

dialoguemd/fastapi-sqla · fastapi_sqla/async_pagination.py:53

def AsyncPagination(
    session_key: str = _DEFAULT_SESSION_KEY,
    min_page_size: int = 10,
    max_page_size: int = 100,
    query_count: QueryCountDependency | None = None,
) -> PaginateDependency:
    def default_dependency(
        session: SqlaAsyncSession = Depends(AsyncSessionDependency(key=session_key)),
        offset: int = Query(0, ge=0),
        limit: int = Query(min_page_size, ge=1, le=max_page_size),
    ) -> AsyncPaginateSignature:
        async def paginate(query: Select, scalars=True) -> Page:
            total_items = await default_query_count(session, query)
            return await paginate_query(
                query, session, total_items, offset, limit, scalars=scalars
            )

        return paginate

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…