from apollo_utils.service.schemas.fields.enum import EnumField, EnumListField from server.constants.charts import ChartBreakdown, ChartType class ChartBreakdownDefaultDailyMixin: """Breakdown mixin.""" chart_breakdown = EnumField(ChartBreakdown, data_key="type", missing=ChartBreakdown.DAILY) class ChartBreakdownListDefaultAllMixin: """Breakdown list mixin.""" chart_breakdown_list = EnumListField( ChartBreakdown, data_key="type", allow_all=True, missing_all=True, as_enum=True ) class ChartTypeDefaultRegionalMixin: """Chart type mixin.""" chart_type = EnumField(ChartType, data_key="list_type", missing=ChartType.REGIONAL) class ChartTypeListDefaultAllMixin: """Chart type list mixin.""" chart_type_list = EnumListField(ChartType, data_key="list_type", allow_all=True, missing_all=True, as_enum=True)