use crate::gen::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CallState {
#[serde(rename = "init")]
Init,
#[serde(rename = "scheduled")]
Scheduled,
#[serde(rename = "ringing")]
Ringing,
#[serde(rename = "in-progress")]
InProgress,
#[serde(rename = "queued")]
Queued,
#[serde(rename = "bridged")]
Bridged,
#[serde(rename = "canceled")]
Canceled,
#[serde(rename = "busy")]
Busy,
#[serde(rename = "no-answer")]
NoAnswer,
#[serde(rename = "purged")]
Purged,
#[serde(rename = "completed")]
Completed,
#[serde(rename = "failed")]
Failed,
}
impl std::fmt::Display for CallState {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Init => write!(f, "init"),
Self::Scheduled => write!(f, "scheduled"),
Self::Ringing => write!(f, "ringing"),
Self::InProgress => write!(f, "in-progress"),
Self::Queued => write!(f, "queued"),
Self::Bridged => write!(f, "bridged"),
Self::Canceled => write!(f, "canceled"),
Self::Busy => write!(f, "busy"),
Self::NoAnswer => write!(f, "no-answer"),
Self::Purged => write!(f, "purged"),
Self::Completed => write!(f, "completed"),
Self::Failed => write!(f, "failed"),
}
}
}
impl Default for CallState {
fn default() -> CallState {
Self::Init
}
}