vapi_client/models/
server_message_phone_call_control.rs1use serde::{Deserialize, Serialize};
12use utoipa::OpenApi;
13
14
15use crate::models;
16
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, OpenApi)]
18pub struct ServerMessagePhoneCallControl {
19 #[serde(rename = "phoneNumber", skip_serializing_if = "Option::is_none")]
20 pub phone_number: Option<models::ServerMessageAssistantRequestPhoneNumber>,
21 #[serde(rename = "type")]
23 pub r#type: Type,
24 #[serde(rename = "request")]
26 pub request: Request,
27 #[serde(rename = "destination", skip_serializing_if = "Option::is_none")]
28 pub destination: Option<models::ServerMessagePhoneCallControlDestination>,
29 #[serde(rename = "timestamp", skip_serializing_if = "Option::is_none")]
31 pub timestamp: Option<f64>,
32 #[serde(rename = "artifact", skip_serializing_if = "Option::is_none")]
34 pub artifact: Option<models::Artifact>,
35 #[serde(rename = "assistant", skip_serializing_if = "Option::is_none")]
37 pub assistant: Option<models::CreateAssistantDto>,
38 #[serde(rename = "customer", skip_serializing_if = "Option::is_none")]
40 pub customer: Option<models::CreateCustomerDto>,
41 #[serde(rename = "call", skip_serializing_if = "Option::is_none")]
43 pub call: Option<models::Call>,
44}
45
46impl ServerMessagePhoneCallControl {
47 pub fn new(r#type: Type, request: Request) -> ServerMessagePhoneCallControl {
48 ServerMessagePhoneCallControl {
49 phone_number: None,
50 r#type,
51 request,
52 destination: None,
53 timestamp: None,
54 artifact: None,
55 assistant: None,
56 customer: None,
57 call: None,
58 }
59 }
60}
61#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
63pub enum Type {
64 #[serde(rename = "phone-call-control")]
65 PhoneCallControl,
66}
67
68impl Default for Type {
69 fn default() -> Type {
70 Self::PhoneCallControl
71 }
72}
73#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
75pub enum Request {
76 #[serde(rename = "forward")]
77 Forward,
78 #[serde(rename = "hang-up")]
79 HangUp,
80}
81
82impl Default for Request {
83 fn default() -> Request {
84 Self::Forward
85 }
86}