use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct EpochMetadata {
#[serde(rename = "Status")]
pub status: Status,
#[serde(rename = "CampaignName")]
pub campaign_name: String,
#[serde(rename = "EpochId")]
pub epoch_id: i32,
#[serde(rename = "EpochNumber")]
pub epoch_number: i32,
#[serde(rename = "StartDate")]
pub start_date: i32,
#[serde(rename = "EndDate")]
pub end_date: i32,
}
impl EpochMetadata {
pub fn new(status: Status, campaign_name: String, epoch_id: i32, epoch_number: i32, start_date: i32, end_date: i32) -> EpochMetadata {
EpochMetadata {
status,
campaign_name,
epoch_id,
epoch_number,
start_date,
end_date,
}
}
}
#[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
}
}