use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FollowerStatsResponse {
#[serde(rename = "accounts", skip_serializing_if = "Option::is_none")]
pub accounts: Option<Vec<models::AccountWithFollowerStats>>,
#[serde(rename = "dateRange", skip_serializing_if = "Option::is_none")]
pub date_range: Option<Box<models::GetFollowerStats200ResponseDateRange>>,
#[serde(rename = "aggregation", skip_serializing_if = "Option::is_none")]
pub aggregation: Option<Aggregation>,
}
impl FollowerStatsResponse {
pub fn new() -> FollowerStatsResponse {
FollowerStatsResponse {
accounts: None,
date_range: None,
aggregation: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Aggregation {
#[serde(rename = "daily")]
Daily,
#[serde(rename = "weekly")]
Weekly,
#[serde(rename = "monthly")]
Monthly,
}
impl Default for Aggregation {
fn default() -> Aggregation {
Self::Daily
}
}