use crate::gen::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MetricWriteRequestName {
#[serde(rename = "CALL_WAIT_TIME")]
CallWaitTime,
#[serde(rename = "QUEUE_WAIT_TIME")]
QueueWaitTime,
#[serde(rename = "WRAPUP")]
Wrapup,
#[serde(rename = "HOLD_TIME")]
HoldTime,
#[serde(rename = "BRIDGE_TIME")]
BridgeTime,
#[serde(rename = "AGENT_STATE_CHANGE")]
AgentStateChange,
#[serde(rename = "AGENT_PRESENCE_CHANGE")]
AgentPresenceChange,
}
impl std::fmt::Display for MetricWriteRequestName {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::CallWaitTime => write!(f, "CALL_WAIT_TIME"),
Self::QueueWaitTime => write!(f, "QUEUE_WAIT_TIME"),
Self::Wrapup => write!(f, "WRAPUP"),
Self::HoldTime => write!(f, "HOLD_TIME"),
Self::BridgeTime => write!(f, "BRIDGE_TIME"),
Self::AgentStateChange => write!(f, "AGENT_STATE_CHANGE"),
Self::AgentPresenceChange => write!(f, "AGENT_PRESENCE_CHANGE"),
}
}
}
impl Default for MetricWriteRequestName {
fn default() -> MetricWriteRequestName {
Self::CallWaitTime
}
}