babelforce-manager-sdk 0.44.0

Rust SDK for the babelforce manager APIs — auth, user & agent management, call reporting, metrics, and task automations.
Documentation
/*
 * Manager API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 0.0.0-dev
 * Contact: support@babelforce.com
 * Generated by: https://openapi-generator.tech
 */

use crate::gen::manager::models;
use serde::{Deserialize, Serialize};

///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CallFinishReason {
    #[serde(rename = "unknown")]
    Unknown,
    #[serde(rename = "hangup")]
    Hangup,
    #[serde(rename = "passive-hangup")]
    PassiveHangup,
    #[serde(rename = "system-hangup")]
    SystemHangup,
    #[serde(rename = "failed")]
    Failed,
    #[serde(rename = "timeout")]
    Timeout,
    #[serde(rename = "unreachable")]
    Unreachable,
    #[serde(rename = "busy")]
    Busy,
    #[serde(rename = "declined")]
    Declined,
    #[serde(rename = "canceled")]
    Canceled,
    #[serde(rename = "transferred")]
    Transferred,
    #[serde(rename = "network-unreachable")]
    NetworkUnreachable,
    #[serde(rename = "unallocated-number")]
    UnallocatedNumber,
    #[serde(rename = "invalid-number")]
    InvalidNumber,
    #[serde(rename = "no-answer")]
    NoAnswer,
    #[serde(rename = "dropped")]
    Dropped,
}

impl std::fmt::Display for CallFinishReason {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Unknown => write!(f, "unknown"),
            Self::Hangup => write!(f, "hangup"),
            Self::PassiveHangup => write!(f, "passive-hangup"),
            Self::SystemHangup => write!(f, "system-hangup"),
            Self::Failed => write!(f, "failed"),
            Self::Timeout => write!(f, "timeout"),
            Self::Unreachable => write!(f, "unreachable"),
            Self::Busy => write!(f, "busy"),
            Self::Declined => write!(f, "declined"),
            Self::Canceled => write!(f, "canceled"),
            Self::Transferred => write!(f, "transferred"),
            Self::NetworkUnreachable => write!(f, "network-unreachable"),
            Self::UnallocatedNumber => write!(f, "unallocated-number"),
            Self::InvalidNumber => write!(f, "invalid-number"),
            Self::NoAnswer => write!(f, "no-answer"),
            Self::Dropped => write!(f, "dropped"),
        }
    }
}

impl Default for CallFinishReason {
    fn default() -> CallFinishReason {
        Self::Unknown
    }
}