use crate::gen::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RestCreateReportingCall {
#[serde(rename = "sessionId")]
pub session_id: uuid::Uuid,
#[serde(rename = "type")]
pub r#type: models::ReportingCallType,
#[serde(rename = "queueName", skip_serializing_if = "Option::is_none")]
pub queue_name: Option<String>,
#[serde(rename = "agentName", skip_serializing_if = "Option::is_none")]
pub agent_name: Option<String>,
#[serde(rename = "bridged")]
pub bridged: bool,
#[serde(rename = "duration")]
pub duration: i32,
#[serde(rename = "waitTime")]
pub wait_time: i32,
#[serde(rename = "queueWaitTime")]
pub queue_wait_time: i32,
#[serde(rename = "bridgeTime")]
pub bridge_time: i32,
#[serde(rename = "talkTime")]
pub talk_time: i32,
#[serde(rename = "holdTime")]
pub hold_time: i32,
#[serde(rename = "wrapupTime")]
pub wrapup_time: i32,
#[serde(rename = "handleTime")]
pub handle_time: i32,
}
impl RestCreateReportingCall {
pub fn new(
session_id: uuid::Uuid,
r#type: models::ReportingCallType,
bridged: bool,
duration: i32,
wait_time: i32,
queue_wait_time: i32,
bridge_time: i32,
talk_time: i32,
hold_time: i32,
wrapup_time: i32,
handle_time: i32,
) -> RestCreateReportingCall {
RestCreateReportingCall {
session_id,
r#type,
queue_name: None,
agent_name: None,
bridged,
duration,
wait_time,
queue_wait_time,
bridge_time,
talk_time,
hold_time,
wrapup_time,
handle_time,
}
}
}