"""Schema for request body filter parameters.""" from abacus_common_logic.marshalling.custom_fields import ma from marshmallow import pre_load from payment.schemas.worksheet_account_contract_payable_details import FilterKeySchema class FilterParamsPostSchema(ma.Schema): """Post request params for entries filtering.""" filters = ma.Nested(FilterKeySchema, required=False, allow_none=True) class DataloaderParamsPostSchema(ma.Schema): """Post request params for dataloader endpoints.""" ids = ma.List(ma.NonNegativeInteger(required=True), required=True) @pre_load() def pre_load(self, data, *args, **kwargs): """Process top level list.""" return {'ids': data}