mirror of
https://github.com/flibusta-apps/book_library_server.git
synced 2025-12-06 07:05:36 +01:00
Add totalPage to pagination
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
from typing import Protocol, TypeVar, Any, Generic, Sequence, runtime_checkable
|
from typing import Protocol, TypeVar, Any, Generic, Sequence, runtime_checkable
|
||||||
from dataclasses import asdict
|
|
||||||
|
from pydantic import PositiveInt
|
||||||
|
|
||||||
from fastapi_pagination import Page, Params
|
from fastapi_pagination import Page, Params
|
||||||
from fastapi_pagination.bases import AbstractParams
|
from fastapi_pagination.bases import AbstractParams
|
||||||
@@ -15,6 +16,8 @@ T = TypeVar('T', ToDict, Any)
|
|||||||
|
|
||||||
|
|
||||||
class CustomPage(Page[T], Generic[T]):
|
class CustomPage(Page[T], Generic[T]):
|
||||||
|
total_pages: PositiveInt
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create(
|
def create(
|
||||||
cls,
|
cls,
|
||||||
@@ -30,4 +33,5 @@ class CustomPage(Page[T], Generic[T]):
|
|||||||
items=[item.dict() for item in items],
|
items=[item.dict() for item in items],
|
||||||
page=params.page,
|
page=params.page,
|
||||||
size=params.size,
|
size=params.size,
|
||||||
|
total_pages=(total + params.size - 1) // params.size,
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user