use crate::gen::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Conference {
#[serde(rename = "id")]
pub id: uuid::Uuid,
#[serde(rename = "state")]
pub state: models::ConferenceState,
#[serde(rename = "dateCreated")]
pub date_created: chrono::DateTime<chrono::FixedOffset>,
#[serde(rename = "lastUpdated")]
pub last_updated: chrono::DateTime<chrono::FixedOffset>,
#[serde(rename = "moderator", skip_serializing_if = "Option::is_none")]
pub moderator: Option<Box<models::ConferenceMember>>,
#[serde(rename = "members")]
pub members: Vec<Option<models::ConferenceMember>>,
}
impl Conference {
pub fn new(
id: uuid::Uuid,
state: models::ConferenceState,
date_created: chrono::DateTime<chrono::FixedOffset>,
last_updated: chrono::DateTime<chrono::FixedOffset>,
members: Vec<Option<models::ConferenceMember>>,
) -> Conference {
Conference {
id,
state,
date_created,
last_updated,
moderator: None,
members,
}
}
}