vapi_client/models/
vonage_phone_number.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct VonagePhoneNumber {
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 = "name", skip_serializing_if = "Option::is_none")]
41 pub name: Option<String>,
42 #[serde(rename = "assistantId", skip_serializing_if = "Option::is_none")]
44 pub assistant_id: Option<String>,
45 #[serde(rename = "squadId", skip_serializing_if = "Option::is_none")]
47 pub squad_id: Option<String>,
48 #[serde(rename = "server", skip_serializing_if = "Option::is_none")]
50 pub server: Option<models::Server>,
51 #[serde(rename = "number")]
53 pub number: String,
54 #[serde(rename = "credentialId")]
56 pub credential_id: String,
57}
58
59impl VonagePhoneNumber {
60 pub fn new(provider: Provider, id: String, org_id: String, created_at: String, updated_at: String, number: String, credential_id: String) -> VonagePhoneNumber {
61 VonagePhoneNumber {
62 fallback_destination: None,
63 hooks: None,
64 provider,
65 id,
66 org_id,
67 created_at,
68 updated_at,
69 status: None,
70 name: None,
71 assistant_id: None,
72 squad_id: None,
73 server: None,
74 number,
75 credential_id,
76 }
77 }
78}
79#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
81pub enum Provider {
82 #[serde(rename = "vonage")]
83 Vonage,
84}
85
86impl Default for Provider {
87 fn default() -> Provider {
88 Self::Vonage
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