babelforce-manager-sdk 0.42.3

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, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct QueueConsumerApplicationSettings {
    #[serde(rename = "flowEndApplication", skip_serializing_if = "Option::is_none")]
    pub flow_end_application: Option<Box<models::ResourceReference>>,
    #[serde(rename = "prompts", skip_serializing_if = "Option::is_none")]
    pub prompts: Option<Vec<models::ApplicationPrompt>>,
    #[serde(rename = "queue")]
    pub queue: Box<models::ResourceReference>,
    #[serde(rename = "queueExperience", skip_serializing_if = "Option::is_none")]
    pub queue_experience: Option<Box<models::ResourceReference>>,
    #[serde(rename = "agentExperience", skip_serializing_if = "Option::is_none")]
    pub agent_experience: Option<Box<models::ResourceReference>>,
    #[serde(rename = "trigger")]
    pub trigger: Box<models::ApplicationSettingsTrigger>,
    #[serde(rename = "exitTrigger", skip_serializing_if = "Option::is_none")]
    pub exit_trigger: Option<Box<models::ApplicationSettingsTrigger>>,
    #[serde(rename = "recordTrigger", skip_serializing_if = "Option::is_none")]
    pub record_trigger: Option<Box<models::ApplicationSettingsTrigger>>,
    #[serde(rename = "ringTime", skip_serializing_if = "Option::is_none")]
    pub ring_time: Option<i32>,
    #[serde(rename = "record", skip_serializing_if = "Option::is_none")]
    pub record: Option<bool>,
}

impl QueueConsumerApplicationSettings {
    pub fn new(
        queue: models::ResourceReference,
        trigger: models::ApplicationSettingsTrigger,
    ) -> QueueConsumerApplicationSettings {
        QueueConsumerApplicationSettings {
            flow_end_application: None,
            prompts: None,
            queue: Box::new(queue),
            queue_experience: None,
            agent_experience: None,
            trigger: Box::new(trigger),
            exit_trigger: None,
            record_trigger: None,
            ring_time: None,
            record: None,
        }
    }
}