use crate::models;
use serde::{Deserialize, Serialize};
use super::{
AgeDemographicFilter, AppTypeDemographicFilter, AreaDemographicFilter, GenderDemographicFilter,
OperatorDemographicFilter, SubscriptionPeriodDemographicFilter,
};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum DemographicFilter {
#[serde(rename = "age")]
AgeDemographicFilter(AgeDemographicFilter),
#[serde(rename = "appType")]
AppTypeDemographicFilter(AppTypeDemographicFilter),
#[serde(rename = "area")]
AreaDemographicFilter(AreaDemographicFilter),
#[serde(rename = "gender")]
GenderDemographicFilter(GenderDemographicFilter),
#[serde(rename = "operator")]
OperatorDemographicFilter(OperatorDemographicFilter),
#[serde(rename = "subscriptionPeriod")]
SubscriptionPeriodDemographicFilter(SubscriptionPeriodDemographicFilter),
}
impl Default for DemographicFilter {
fn default() -> Self {
Self::AgeDemographicFilter(AgeDemographicFilter::default())
}
}