"""Schema for Demographics.""" from marshmallow import fields from analytics.schemas.common import BaseSchema, SourceSchema class DemographicAgeBreakdownSchema(BaseSchema): """Marshmallow schema for demographic detail object.""" _17 = fields.Integer() _18_22 = fields.Integer() _23_27 = fields.Integer() _28_34 = fields.Integer() _35_44 = fields.Integer() _45_59 = fields.Integer() _60_ = fields.Integer() UA = fields.Integer() class DemographicAgeAppleBreakdownSchema(BaseSchema): """Marshmallow schema for demographic detail object for Apple.""" _18 = fields.Integer() _18_24 = fields.Integer() _25_34 = fields.Integer() _35_44 = fields.Integer() _45_54 = fields.Integer() _55_64 = fields.Integer() _65_ = fields.Integer() UA = fields.Integer() class DemographicGenderBreakdownSchema(BaseSchema): """Marshmallow schema for demographic detail by gender object.""" M = fields.Integer() F = fields.Integer() UG = fields.Integer() class DemographicSchema(BaseSchema): """Marshmallow schema for demographic by store response object.""" age = fields.Nested(nested=DemographicAgeBreakdownSchema) gender = fields.Nested(nested=DemographicGenderBreakdownSchema) class DemographicAppleSchema(BaseSchema): """Marshmallow schema for demographic for Apple response object.""" age = fields.Nested(nested=DemographicAgeAppleBreakdownSchema) gender = fields.Nested(nested=DemographicGenderBreakdownSchema) class GSRDemographicsSchema(BaseSchema): """Marshmallow schema for demographics response object.""" isrc = fields.String() demographics = fields.Nested(nested=DemographicSchema) sources = fields.Nested(SourceSchema, many=True) class GSRDemographicsAppleSchema(BaseSchema): """Marshmallow schema for demographics response object.""" isrc = fields.String() demographics = fields.Nested(nested=DemographicAppleSchema) sources = fields.Nested(SourceSchema, many=True) class GPDemographicsSchema(BaseSchema): """Marshmallow schema for demographics response object.""" global_participant_id = fields.String() demographics = fields.Nested(nested=DemographicSchema) sources = fields.Nested(SourceSchema, many=True) class AccountDemographicsSchema(BaseSchema): """Marshmallow schema for demographics response object.""" account_id = fields.Integer() account_type = fields.String() demographics = fields.Nested(nested=DemographicSchema) sources = fields.Nested(SourceSchema, many=True)