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: 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/// 
58#[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/// 
74#[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/// 
90#[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