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