use crate::gen::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CallSource {
#[serde(rename = "queue")]
Queue,
#[serde(rename = "webrtc")]
Webrtc,
#[serde(rename = "api")]
Api,
#[serde(rename = "dialer")]
Dialer,
#[serde(rename = "dial")]
Dial,
#[serde(rename = "transfer")]
Transfer,
#[serde(rename = "test")]
Test,
#[serde(rename = "conference")]
Conference,
}
impl std::fmt::Display for CallSource {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Queue => write!(f, "queue"),
Self::Webrtc => write!(f, "webrtc"),
Self::Api => write!(f, "api"),
Self::Dialer => write!(f, "dialer"),
Self::Dial => write!(f, "dial"),
Self::Transfer => write!(f, "transfer"),
Self::Test => write!(f, "test"),
Self::Conference => write!(f, "conference"),
}
}
}
impl Default for CallSource {
fn default() -> CallSource {
Self::Queue
}
}