use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct IntervalMetadata {
#[serde(rename = "Status")]
pub status: Status,
#[serde(rename = "StartDate")]
pub start_date: i32,
#[serde(rename = "EndDate")]
pub end_date: i32,
#[serde(rename = "IntervalId")]
pub interval_id: i32,
#[serde(rename = "IntervalType")]
pub interval_type: String,
}
impl IntervalMetadata {
pub fn new(status: Status, start_date: i32, end_date: i32, interval_id: i32, interval_type: String) -> IntervalMetadata {
IntervalMetadata {
status,
start_date,
end_date,
interval_id,
interval_type,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "ACTIVE")]
Active,
#[serde(rename = "NOT_STARTED")]
NotStarted,
#[serde(rename = "FINALIZED")]
Finalized,
#[serde(rename = "COOLDOWN")]
Cooldown,
}
impl Default for Status {
fn default() -> Status {
Self::Active
}
}