use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum LeaderboardInterval {
#[serde(rename = "1d")]
LeaderboardIntervalN1d,
#[serde(rename = "7d")]
LeaderboardIntervalN7d,
#[serde(rename = "30d")]
LeaderboardIntervalN30d,
#[serde(rename = "ALL_TIME")]
LeaderboardIntervalALLTIME,
#[serde(rename = "UNSPECIFIED")]
LeaderboardIntervalUNSPECIFIED,
}
impl std::fmt::Display for LeaderboardInterval {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::LeaderboardIntervalN1d => write!(f, "1d"),
Self::LeaderboardIntervalN7d => write!(f, "7d"),
Self::LeaderboardIntervalN30d => write!(f, "30d"),
Self::LeaderboardIntervalALLTIME => write!(f, "ALL_TIME"),
Self::LeaderboardIntervalUNSPECIFIED => write!(f, "UNSPECIFIED"),
}
}
}
impl Default for LeaderboardInterval {
fn default() -> LeaderboardInterval {
Self::LeaderboardIntervalN1d
}
}