from apollo_utils.service.schemas.fields.list import SplitUniqueListField from apollo_utils.service.schemas.fields.playlists import PlaylistIdField from marshmallow import fields, validate from server.constants import DSP from server.constants.playlists.markets import APPLE_PLAYLISTS_TOP_28_MARKETS from server.schemas.base.schemas import RequestSchema, Schema class PlaylistAppleDates: class Request(RequestSchema): """Request schema to get spotify playlists by tracks from delphi.""" country = SplitUniqueListField( fields.String(validate=validate.Length(max=10, min=2)), required=False, missing=APPLE_PLAYLISTS_TOP_28_MARKETS, ) playlist_id = PlaylistIdField(required=True, dsp=DSP.APPLE, validate=validate.Length(max=50)) class Response(Schema): # TODO create schema for no usage but just to show response in swagger # TODO Response example: # "ae": [ # "12/15/22, 10:22:29 AM", # "12/14/22, 06:15:45 PM", # "12/13/22, 09:36:04 AM", # "12/12/22, 05:26:06 PM" ... # ] pass