vapi_client/models/
vapi_phone_number.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct VapiPhoneNumber {
17 #[serde(
18 rename = "fallbackDestination",
19 skip_serializing_if = "Option::is_none"
20 )]
21 pub fallback_destination: Option<models::ImportTwilioPhoneNumberDtoFallbackDestination>,
22 #[serde(rename = "provider")]
24 pub provider: Provider,
25 #[serde(rename = "id")]
27 pub id: String,
28 #[serde(rename = "orgId")]
30 pub org_id: String,
31 #[serde(rename = "createdAt")]
33 pub created_at: String,
34 #[serde(rename = "updatedAt")]
36 pub updated_at: String,
37 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
39 pub status: Option<Status>,
40 #[serde(rename = "number", skip_serializing_if = "Option::is_none")]
42 pub number: Option<String>,
43 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
45 pub name: Option<String>,
46 #[serde(rename = "assistantId", skip_serializing_if = "Option::is_none")]
48 pub assistant_id: Option<String>,
49 #[serde(rename = "squadId", skip_serializing_if = "Option::is_none")]
51 pub squad_id: Option<String>,
52 #[serde(rename = "server", skip_serializing_if = "Option::is_none")]
54 pub server: Option<models::Server>,
55 #[serde(
57 rename = "numberDesiredAreaCode",
58 skip_serializing_if = "Option::is_none"
59 )]
60 pub number_desired_area_code: Option<String>,
61 #[serde(rename = "sipUri", skip_serializing_if = "Option::is_none")]
63 pub sip_uri: Option<String>,
64 #[serde(rename = "authentication", skip_serializing_if = "Option::is_none")]
66 pub authentication: Option<models::SipAuthentication>,
67}
68
69impl VapiPhoneNumber {
70 pub fn new(
71 provider: Provider,
72 id: String,
73 org_id: String,
74 created_at: String,
75 updated_at: String,
76 ) -> VapiPhoneNumber {
77 VapiPhoneNumber {
78 fallback_destination: None,
79 provider,
80 id,
81 org_id,
82 created_at,
83 updated_at,
84 status: None,
85 number: None,
86 name: None,
87 assistant_id: None,
88 squad_id: None,
89 server: None,
90 number_desired_area_code: None,
91 sip_uri: None,
92 authentication: None,
93 }
94 }
95}
96#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
98pub enum Provider {
99 #[serde(rename = "vapi")]
100 Vapi,
101}
102
103impl Default for Provider {
104 fn default() -> Provider {
105 Self::Vapi
106 }
107}
108#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
110pub enum Status {
111 #[serde(rename = "active")]
112 Active,
113 #[serde(rename = "activating")]
114 Activating,
115 #[serde(rename = "blocked")]
116 Blocked,
117}
118
119impl Default for Status {
120 fn default() -> Status {
121 Self::Active
122 }
123}