use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum GroupByDimension {
#[serde(rename = "GROUP_BY_DIMENSION_UNSPECIFIED")]
GroupByDimensionUnspecified,
#[serde(rename = "GROUP_BY_DIMENSION_COUNTRY")]
GroupByDimensionCountry,
#[serde(rename = "GROUP_BY_DIMENSION_CITY")]
GroupByDimensionCity,
#[serde(rename = "GROUP_BY_DIMENSION_DEVICE_TYPE")]
GroupByDimensionDeviceType,
#[serde(rename = "GROUP_BY_DIMENSION_VISIT_TYPE")]
GroupByDimensionVisitType,
#[serde(rename = "GROUP_BY_DIMENSION_BROWSER")]
GroupByDimensionBrowser,
#[serde(rename = "GROUP_BY_DIMENSION_PLATFORM")]
GroupByDimensionPlatform,
}
impl std::fmt::Display for GroupByDimension {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::GroupByDimensionUnspecified => write!(f, "GROUP_BY_DIMENSION_UNSPECIFIED"),
Self::GroupByDimensionCountry => write!(f, "GROUP_BY_DIMENSION_COUNTRY"),
Self::GroupByDimensionCity => write!(f, "GROUP_BY_DIMENSION_CITY"),
Self::GroupByDimensionDeviceType => write!(f, "GROUP_BY_DIMENSION_DEVICE_TYPE"),
Self::GroupByDimensionVisitType => write!(f, "GROUP_BY_DIMENSION_VISIT_TYPE"),
Self::GroupByDimensionBrowser => write!(f, "GROUP_BY_DIMENSION_BROWSER"),
Self::GroupByDimensionPlatform => write!(f, "GROUP_BY_DIMENSION_PLATFORM"),
}
}
}
impl Default for GroupByDimension {
fn default() -> GroupByDimension {
Self::GroupByDimensionUnspecified
}
}