vapi_client/models/
credential_webhook_dto.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CredentialWebhookDto {
16 #[serde(rename = "type")]
17 pub r#type: Type,
18 #[serde(rename = "operation")]
19 pub operation: Operation,
20 #[serde(rename = "from")]
21 pub from: String,
22 #[serde(rename = "connectionId")]
23 pub connection_id: String,
24 #[serde(rename = "authMode")]
25 pub auth_mode: AuthMode,
26 #[serde(rename = "providerConfigKey")]
27 pub provider_config_key: String,
28 #[serde(rename = "provider")]
29 pub provider: String,
30 #[serde(rename = "environment")]
31 pub environment: String,
32 #[serde(rename = "success")]
33 pub success: bool,
34 #[serde(rename = "endUser")]
35 pub end_user: models::CredentialEndUser,
36 #[serde(rename = "error", skip_serializing_if = "Option::is_none")]
37 pub error: Option<models::CredentialSessionError>,
38}
39
40impl CredentialWebhookDto {
41 pub fn new(r#type: Type, operation: Operation, from: String, connection_id: String, auth_mode: AuthMode, provider_config_key: String, provider: String, environment: String, success: bool, end_user: models::CredentialEndUser) -> CredentialWebhookDto {
42 CredentialWebhookDto {
43 r#type,
44 operation,
45 from,
46 connection_id,
47 auth_mode,
48 provider_config_key,
49 provider,
50 environment,
51 success,
52 end_user,
53 error: None,
54 }
55 }
56}
57#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
59pub enum Type {
60 #[serde(rename = "auth")]
61 Auth,
62 #[serde(rename = "sync")]
63 Sync,
64 #[serde(rename = "forward")]
65 Forward,
66}
67
68impl Default for Type {
69 fn default() -> Type {
70 Self::Auth
71 }
72}
73#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
75pub enum Operation {
76 #[serde(rename = "creation")]
77 Creation,
78 #[serde(rename = "override")]
79 Override,
80 #[serde(rename = "refresh")]
81 Refresh,
82}
83
84impl Default for Operation {
85 fn default() -> Operation {
86 Self::Creation
87 }
88}
89#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
91pub enum AuthMode {
92 #[serde(rename = "OAUTH2")]
93 Oauth2,
94 #[serde(rename = "API_KEY")]
95 ApiKey,
96 #[serde(rename = "BASIC")]
97 Basic,
98}
99
100impl Default for AuthMode {
101 fn default() -> AuthMode {
102 Self::Oauth2
103 }
104}
105