from marshmallow import fields from analytics.connectors.snowflake import AbstractSnowflakeQuery from analytics.queries.schema import QueryWithPermissionsSchema class TADASTrendsQuerySchema(QueryWithPermissionsSchema): markets = fields.List(fields.String()) company_brand_uuids = fields.List(fields.String()) parent_company_uuids = fields.List(fields.String()) include_participants = fields.List(fields.String()) exclude_participants = fields.List(fields.String()) release_start_date = fields.Date(required=False, allow_none=True) release_end_date = fields.Date(required=False, allow_none=True) fin_label_parent_cds = fields.List(fields.String()) limit = fields.Integer(required=True) offset = fields.Integer(required=True) order_by = fields.String(required=True) order_dir = fields.String(required=True) class TADASTrendByISRCQuerySchema(QueryWithPermissionsSchema): isrc = fields.String(required=True) markets = fields.List(fields.String(), required=False, allow_none=True) class TADASDataAvailabilityQuerySchema(QueryWithPermissionsSchema): pass_param = fields.String(required=False, allow_none=True) class RepOwnersQuerySchema(QueryWithPermissionsSchema): pass_param = fields.String(required=False, allow_none=True) class TADASTrends(AbstractSnowflakeQuery): query_schema = TADASTrendsQuerySchema filename = "tadas/tadas_trends.sql" class TADASDataAvailability(AbstractSnowflakeQuery): query_schema = TADASDataAvailabilityQuerySchema filename = "tadas/tadas_data_availability.sql" class TADASTrendByISRC(AbstractSnowflakeQuery): query_schema = TADASTrendByISRCQuerySchema filename = "tadas/tadas_trend_globalsoundrecording_by_isrc.sql" class RepOwners(AbstractSnowflakeQuery): query_schema = RepOwnersQuerySchema filename = "tadas/rep_owners.sql"