use crate::gen::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RestUpdateAgent {
#[serde(rename = "sourceId", skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(rename = "agentSource", skip_serializing_if = "Option::is_none")]
pub agent_source: Option<String>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "email", skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(rename = "number", skip_serializing_if = "Option::is_none")]
pub number: Option<String>,
#[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(rename = "state", skip_serializing_if = "Option::is_none")]
pub state: Option<models::AgentLineStatus>,
#[serde(rename = "presence", skip_serializing_if = "Option::is_none")]
pub presence: Option<Box<models::AgentPresence>>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<Box<models::AgentStatus>>,
#[serde(rename = "activity", skip_serializing_if = "Option::is_none")]
pub activity: Option<String>,
#[serde(rename = "display_status", skip_serializing_if = "Option::is_none")]
pub display_status: Option<String>,
#[serde(rename = "available", skip_serializing_if = "Option::is_none")]
pub available: Option<bool>,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(rename = "groups", skip_serializing_if = "Option::is_none")]
pub groups: Option<Vec<models::AgentGroupReference>>,
#[serde(rename = "webrtc", skip_serializing_if = "Option::is_none")]
pub webrtc: Option<bool>,
#[serde(rename = "features", skip_serializing_if = "Option::is_none")]
pub features: Option<Vec<String>>,
}
impl RestUpdateAgent {
pub fn new() -> RestUpdateAgent {
RestUpdateAgent {
source_id: None,
agent_source: None,
name: None,
email: None,
number: None,
enabled: None,
state: None,
presence: None,
status: None,
activity: None,
display_status: None,
available: None,
tags: None,
groups: None,
webrtc: None,
features: None,
}
}
}