This repository has been archived on 2023-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
marshmallow_pageinfo/marshmallow_pageinfo/__init__.py

20 lines
553 B
Python

from marshmallow import Schema, fields, EXCLUDE
__all__ = ('PAGE_INFO_SCHEMA', 'PageInfoSchema',)
class PageInfoSchema(Schema):
page = fields.Integer(missing=1)
per_page = fields.Integer(data_key='perPage', missing=10)
total = fields.Integer()
pages = fields.Integer(data_key='totalPages')
has_next = fields.Boolean(data_key='hasNext')
has_prev = fields.Boolean(data_key='hasPrev')
class Meta:
unknown = EXCLUDE
dump_only = ('total', 'pages', 'has_next', 'has_prev')
PAGE_INFO_SCHEMA = PageInfoSchema()