from marshmallow import fields from analytics.connectors.snowflake import AbstractSnowflakeQuery from analytics.queries.schema import QueryWithPermissionsSchema class TopSoundRecordingFamiliesSchema(QueryWithPermissionsSchema): table_name = fields.String() country_ids = fields.List(fields.String) store_ids = fields.List(fields.Int) fin_label_ids = fields.List(fields.String, required=False, allow_none=True) upper_profit_center_ids = fields.List( fields.String, required=False, allow_none=True ) global_participant_ids = fields.List(fields.String) company_brand = fields.String(required=False, allow_none=True) parent_company = fields.String(required=False, allow_none=True) service_tier = fields.String(required=False, allow_none=True) distributors = fields.List(fields.String, required=False, allow_none=True) order_by = fields.String() order_dir = fields.String() limit = fields.Int() offset = fields.Int() class TopSoundRecordingFamilyIds(AbstractSnowflakeQuery): query_schema = TopSoundRecordingFamiliesSchema filename = "sound_recording_family/tmp_top_sound_recording_family_ids_by_financial_label.sql" class TopSoundRecordingFamiliesByIdsSchema(QueryWithPermissionsSchema): table_name = fields.String() prod_fam_ids = fields.List(fields.Int) country_ids = fields.List(fields.String) store_ids = fields.List(fields.Int) fin_label_ids = fields.List(fields.String, required=False, allow_none=True) upper_profit_center_ids = fields.List( fields.String, required=False, allow_none=True ) global_participant_ids = fields.List(fields.String) company_brand = fields.String(required=False, allow_none=True) parent_company = fields.String(required=False, allow_none=True) service_tier = fields.String(required=False, allow_none=True) distributors = fields.List(fields.String, required=False, allow_none=True) order_by = fields.String() order_dir = fields.String() limit = fields.Int(required=False, allow_none=True) offset = fields.Int(required=False, allow_none=True) class TopSoundRecordingFamiliesByIds(AbstractSnowflakeQuery): query_schema = TopSoundRecordingFamiliesByIdsSchema filename = "sound_recording_family/tmp_top_sound_recording_families_by_ids.sql"