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};

/// AccountRole : A role associated with the Account
/// A role associated with the Account
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AccountRole {
    #[serde(rename = "manager")]
    Manager,
    #[serde(rename = "owner")]
    Owner,
    #[serde(rename = "reporter")]
    Reporter,
    #[serde(rename = "user")]
    User,
    #[serde(rename = "agent")]
    Agent,
    #[serde(rename = "supervisor")]
    Supervisor,
    #[serde(rename = "sales")]
    Sales,
    #[serde(rename = "router")]
    Router,
    #[serde(rename = "scheduler")]
    Scheduler,
}

impl std::fmt::Display for AccountRole {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Manager => write!(f, "manager"),
            Self::Owner => write!(f, "owner"),
            Self::Reporter => write!(f, "reporter"),
            Self::User => write!(f, "user"),
            Self::Agent => write!(f, "agent"),
            Self::Supervisor => write!(f, "supervisor"),
            Self::Sales => write!(f, "sales"),
            Self::Router => write!(f, "router"),
            Self::Scheduler => write!(f, "scheduler"),
        }
    }
}

impl Default for AccountRole {
    fn default() -> AccountRole {
        Self::Manager
    }
}