from apollo_utils.core.constants.dsp import DSP from apollo_utils.service.schemas.fields.playlists import PlaylistIdField from marshmallow import fields, validate from server.schemas.base.schemas import RequestSchema, Schema class MarketResponse(Schema): class Item(Schema): code = fields.String() name = fields.String() full_name = fields.String() id = fields.Integer() items = fields.List(fields.Nested(Item)) class AppleMarkets: class Request(RequestSchema): playlist_id = PlaylistIdField(required=True, dsp=DSP.APPLE, validate=validate.Length(max=50)) class Response(MarketResponse.Item): pass