use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TimeGranularity {
#[serde(rename = "millis")]
Millis,
#[serde(rename = "seconds")]
Seconds,
#[serde(rename = "minutes")]
Minutes,
#[serde(rename = "hours")]
Hours,
#[serde(rename = "days")]
Days,
#[serde(rename = "months")]
Months,
#[serde(rename = "years")]
Years,
}
impl std::fmt::Display for TimeGranularity {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Millis => write!(f, "millis"),
Self::Seconds => write!(f, "seconds"),
Self::Minutes => write!(f, "minutes"),
Self::Hours => write!(f, "hours"),
Self::Days => write!(f, "days"),
Self::Months => write!(f, "months"),
Self::Years => write!(f, "years"),
}
}
}
impl Default for TimeGranularity {
fn default() -> TimeGranularity {
Self::Millis
}
}