"""Query class for the /top-accounts-metrics endpoint.""" from marshmallow import fields from analytics.connectors.snowflake import AbstractSnowflakeQuery from analytics.queries.schema import QueryWithPermissionsSchema class TopAccountsMetricsQuerySchema(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=[]) parent_company = fields.String(load_default=None, allow_none=True) company_brand = fields.String(load_default=None, allow_none=True) service_tier = fields.String(load_default=None, allow_none=True) label_manager = fields.String(load_default=None, allow_none=True) include_subaccounts = fields.Boolean(load_default=False) order_by = fields.String(required=True) order_dir = fields.String(required=True) limit = fields.Int(required=True) offset = fields.Int(required=True) class TopAccountsMetrics(AbstractSnowflakeQuery): query_schema = TopAccountsMetricsQuerySchema filename = "top_accounts_metrics/metrics.sql"