"""Query class for the /top-video-metrics endpoint.""" from marshmallow import fields from analytics.connectors.snowflake import AbstractSnowflakeQuery from analytics.queries.schema import QueryWithPermissionsSchema class TopVideoMetricsQuerySchema(QueryWithPermissionsSchema): distributors = fields.List(fields.String, required=True) store_ids = fields.List(fields.Int, required=True) country_ids = fields.List(fields.String, load_default=[]) label_ids = fields.List(fields.Int, load_default=[]) subaccount_ids = fields.List(fields.Int, load_default=[]) artist_ids = fields.List(fields.Int, load_default=[]) global_participant_ids = fields.List(fields.String, load_default=[]) channel_ids = fields.List(fields.String, load_default=[]) track_types = fields.List(fields.String, required=True) order_by = fields.String(required=True) order_dir = fields.String(required=True) limit = fields.Int(required=True) offset = fields.Int(required=True) class TopVideoMetrics(AbstractSnowflakeQuery): query_schema = TopVideoMetricsQuerySchema filename = "top_video_metrics/metrics.sql"