use crate::gen::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ConferenceMember {
#[serde(rename = "id")]
pub id: uuid::Uuid,
#[serde(rename = "state")]
pub state: models::ConferenceMemberState,
#[serde(rename = "dateCreated")]
pub date_created: chrono::DateTime<chrono::FixedOffset>,
#[serde(rename = "lastUpdated")]
pub last_updated: chrono::DateTime<chrono::FixedOffset>,
#[serde(rename = "agent", skip_serializing_if = "Option::is_none")]
pub agent: Option<Box<models::ConferenceAgent>>,
#[serde(rename = "call")]
pub call: Box<models::Call>,
#[serde(rename = "hold", skip_serializing_if = "Option::is_none")]
pub hold: Option<bool>,
#[serde(rename = "isModerator")]
pub is_moderator: bool,
}
impl ConferenceMember {
pub fn new(
id: uuid::Uuid,
state: models::ConferenceMemberState,
date_created: chrono::DateTime<chrono::FixedOffset>,
last_updated: chrono::DateTime<chrono::FixedOffset>,
call: models::Call,
is_moderator: bool,
) -> ConferenceMember {
ConferenceMember {
id,
state,
date_created,
last_updated,
agent: None,
call: Box::new(call),
hold: None,
is_moderator,
}
}
}