vapi_client/models/
twilio_phone_number.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct TwilioPhoneNumber {
16 #[serde(rename = "fallbackDestination", skip_serializing_if = "Option::is_none")]
17 pub fallback_destination: Option<Box<models::ImportTwilioPhoneNumberDtoFallbackDestination>>,
18 #[serde(rename = "provider")]
20 pub provider: Provider,
21 #[serde(rename = "id")]
23 pub id: String,
24 #[serde(rename = "orgId")]
26 pub org_id: String,
27 #[serde(rename = "createdAt")]
29 pub created_at: String,
30 #[serde(rename = "updatedAt")]
32 pub updated_at: String,
33 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
35 pub status: Option<Status>,
36 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
38 pub name: Option<String>,
39 #[serde(rename = "assistantId", skip_serializing_if = "Option::is_none")]
41 pub assistant_id: Option<String>,
42 #[serde(rename = "squadId", skip_serializing_if = "Option::is_none")]
44 pub squad_id: Option<String>,
45 #[serde(rename = "server", skip_serializing_if = "Option::is_none")]
47 pub server: Option<Box<models::Server>>,
48 #[serde(rename = "number")]
50 pub number: String,
51 #[serde(rename = "twilioAccountSid")]
53 pub twilio_account_sid: String,
54 #[serde(rename = "twilioAuthToken")]
56 pub twilio_auth_token: String,
57}
58
59impl TwilioPhoneNumber {
60 pub fn new(provider: Provider, id: String, org_id: String, created_at: String, updated_at: String, number: String, twilio_account_sid: String, twilio_auth_token: String) -> TwilioPhoneNumber {
61 TwilioPhoneNumber {
62 fallback_destination: None,
63 provider,
64 id,
65 org_id,
66 created_at,
67 updated_at,
68 status: None,
69 name: None,
70 assistant_id: None,
71 squad_id: None,
72 server: None,
73 number,
74 twilio_account_sid,
75 twilio_auth_token,
76 }
77 }
78}
79#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
81pub enum Provider {
82 #[serde(rename = "twilio")]
83 Twilio,
84}
85
86impl Default for Provider {
87 fn default() -> Provider {
88 Self::Twilio
89 }
90}
91#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
93pub enum Status {
94 #[serde(rename = "active")]
95 Active,
96 #[serde(rename = "activating")]
97 Activating,
98 #[serde(rename = "blocked")]
99 Blocked,
100}
101
102impl Default for Status {
103 fn default() -> Status {
104 Self::Active
105 }
106}
107