vapi_client/models/
credential_webhook_dto.rs

1/*
2 * Vapi API
3 *
4 * Voice AI for developers.
5 *
6 * The version of the OpenAPI document: 1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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: TypeTrue,
18    #[serde(rename = "operation")]
19    pub operation: OperationTrue,
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: AuthModeTrue,
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(
42        r#type: TypeTrue,
43        operation: OperationTrue,
44        from: String,
45        connection_id: String,
46        auth_mode: AuthModeTrue,
47        provider_config_key: String,
48        provider: String,
49        environment: String,
50        success: bool,
51        end_user: models::CredentialEndUser,
52    ) -> CredentialWebhookDto {
53        CredentialWebhookDto {
54            r#type,
55            operation,
56            from,
57            connection_id,
58            auth_mode,
59            provider_config_key,
60            provider,
61            environment,
62            success,
63            end_user,
64            error: None,
65        }
66    }
67}
68///
69#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
70pub enum TypeTrue {
71    #[serde(rename = "auth")]
72    Auth,
73    #[serde(rename = "sync")]
74    Sync,
75    #[serde(rename = "forward")]
76    Forward,
77}
78
79impl Default for TypeTrue {
80    fn default() -> TypeTrue {
81        Self::Auth
82    }
83}
84///
85#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
86pub enum OperationTrue {
87    #[serde(rename = "creation")]
88    Creation,
89    #[serde(rename = "override")]
90    Override,
91    #[serde(rename = "refresh")]
92    Refresh,
93}
94
95impl Default for OperationTrue {
96    fn default() -> OperationTrue {
97        Self::Creation
98    }
99}
100///
101#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
102pub enum AuthModeTrue {
103    #[serde(rename = "OAUTH2")]
104    Oauth2,
105    #[serde(rename = "API_KEY")]
106    ApiKey,
107    #[serde(rename = "BASIC")]
108    Basic,
109}
110
111impl Default for AuthModeTrue {
112    fn default() -> AuthModeTrue {
113        Self::Oauth2
114    }
115}