Skip to content

Схемы, связанные с пагинацией

PaginateQueryV1

Bases: BaseModel

Basic class with pagination query params.

Source code in horizon/commons/schemas/v1/pagination.py
17
18
19
20
21
class PaginateQueryV1(BaseModel):
    """Basic class with pagination query params."""

    page: int = Field(gt=0, default=1, description="Page number")
    page_size: int = Field(gt=0, le=50, default=20, description="Number of items per page")

PageResponseV1

Bases: GenericModel, Generic[T]

Page response.

Source code in horizon/commons/schemas/v1/pagination.py
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
class PageResponseV1(GenericModel, Generic[T]):
    """Page response."""

    meta: PageMetaResponseV1 = Field(description="Page metadata")
    items: List[T] = Field(description="Page content")

    @classmethod
    def from_pagination(cls, pagination: Pagination):
        return cls(
            meta=PageMetaResponseV1(
                page=pagination.page,
                pages_count=pagination.pages_count,
                page_size=pagination.page_size,
                total_count=pagination.total_count,
                has_next=pagination.has_next,
                has_previous=pagination.has_previous,
                next_page=pagination.next_page,
                previous_page=pagination.previous_page,
            ),
            items=pagination.items,
        )

PageMetaResponseV1

Bases: BaseModel

Page metadata response.

Source code in horizon/commons/schemas/v1/pagination.py
24
25
26
27
28
29
30
31
32
33
34
class PageMetaResponseV1(BaseModel):
    """Page metadata response."""

    page: int = Field(description="Page number")
    page_size: int = Field(description="Number of items per page")
    total_count: int = Field(description="Total number of items")
    pages_count: int = Field(description="Number of items returned in current page")
    has_next: bool = Field(description="Is there a next page")
    has_previous: bool = Field(description="Is there a next page")
    next_page: Optional[int] = Field(description="Next page number, if any")
    previous_page: Optional[int] = Field(description="Previous page number, if any")