from apollo_utils.service.schemas.fields.datetime import DateStringField from marshmallow import fields from server.schemas.base.market import MarketResponse from server.schemas.base.schemas import RequestSchema, Schema class YoutubeTopMarkets: """Top Youtube markets schema.""" class Request(RequestSchema): video_id = fields.String(required=True) limit = fields.Integer(missing=15, default=15) start_date = DateStringField(required=True) end_date = DateStringField(required=True) class Response(Schema): class Item(Schema): market = fields.String() views = fields.Integer() percentage = fields.Float() items = fields.List(fields.Nested(Item)) class YoutubeMarkets: """Youtube markets schema.""" class Request(RequestSchema): video_id = fields.String(required=True) start_date = DateStringField(required=True) end_date = DateStringField(required=True) class Response(MarketResponse): pass