use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CampaignMetadata {
#[serde(rename = "Status")]
pub status: Status,
#[serde(rename = "CampaignName")]
pub campaign_name: String,
#[serde(rename = "ParentCampaignName")]
pub parent_campaign_name: String,
#[serde(rename = "StartDate")]
pub start_date: i32,
#[serde(rename = "EndDate")]
pub end_date: i32,
}
impl CampaignMetadata {
pub fn new(status: Status, campaign_name: String, parent_campaign_name: String, start_date: i32, end_date: i32) -> CampaignMetadata {
CampaignMetadata {
status,
campaign_name,
parent_campaign_name,
start_date,
end_date,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "ACTIVE")]
Active,
#[serde(rename = "INACTIVE")]
Inactive,
}
impl Default for Status {
fn default() -> Status {
Self::Active
}
}