use crate::gen::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AgentLineStatus {
#[serde(rename = "available")]
Available,
#[serde(rename = "busy")]
Busy,
#[serde(rename = "declined")]
Declined,
#[serde(rename = "unreachable")]
Unreachable,
#[serde(rename = "selected")]
Selected,
#[serde(rename = "ringing")]
Ringing,
#[serde(rename = "in-call")]
InCall,
#[serde(rename = "wrap-up")]
WrapUp,
}
impl std::fmt::Display for AgentLineStatus {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Available => write!(f, "available"),
Self::Busy => write!(f, "busy"),
Self::Declined => write!(f, "declined"),
Self::Unreachable => write!(f, "unreachable"),
Self::Selected => write!(f, "selected"),
Self::Ringing => write!(f, "ringing"),
Self::InCall => write!(f, "in-call"),
Self::WrapUp => write!(f, "wrap-up"),
}
}
}
impl Default for AgentLineStatus {
fn default() -> AgentLineStatus {
Self::Available
}
}