from marshmallow import Schema, fields from playlist.connectors.snowflake import SnowflakeQuery from playlist.queries.schema import ISRC class PlacementStreamsTimeSeriesQuerySchema(Schema): isrc = ISRC(required=True) store_id = fields.Str(required=True) store_playlist_id = fields.Str(required=True) storefront = fields.Str() start_date = fields.Date() end_date = fields.Date() stream_countries = fields.List(fields.String()) permission_label_ids = fields.List(fields.Str) permission_subaccount_ids = fields.List(fields.Str) permission_label_participant_ids = fields.List(fields.Str) transfer_product_ownership_enabled = fields.Boolean(load_default=False) class PlacementStreamsTimeSeriesQuery(SnowflakeQuery): """/playlist//placement//streams endpoint""" query_schema = PlacementStreamsTimeSeriesQuerySchema filename = "placement_streams_time_series.sql"