"""Query class for the /top-channel-metrics endpoint.""" from marshmallow import fields from analytics.connectors.snowflake import AbstractSnowflakeQuery from analytics.queries.schema import QueryWithPermissionsSchema class TopChannelMetricsQuerySchema(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=[]) global_participant_ids = fields.List(fields.String, load_default=[]) order_by = fields.String(required=True) order_dir = fields.String(required=True) limit = fields.Int(required=True) offset = fields.Int(required=True) class TopChannelMetrics(AbstractSnowflakeQuery): query_schema = TopChannelMetricsQuerySchema filename = "top_channel_metrics/metrics.sql"