from apollo_utils.service.schemas.fields.datetime import DateTimeStringField from apollo_utils.service.schemas.mixins.market import MarketNoneMixin from marshmallow import fields from server.schemas.base.schemas import RequestSchema, Schema class UserTracksVisited: """Visited tracks schema.""" class Request(RequestSchema, MarketNoneMixin): pass class Response(Schema): class ArtistsItems(Schema): """Response artists nested schema""" id = fields.String() name = fields.String() song_id = fields.String() visit_count = fields.Integer() vendor = fields.String() last_visit_date = DateTimeStringField() is_sony = fields.Boolean() artists = fields.List(fields.Nested(ArtistsItems)) name = fields.String() artist_name = fields.String() image_url = fields.URL()