vapi_client/models/
create_webhook_credential_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 CreateWebhookCredentialDto {
16    #[serde(rename = "provider")]
17    pub provider: Provider,
18    /// This is the authentication plan. Currently supports OAuth2 RFC 6749.
19    #[serde(rename = "authenticationPlan")]
20    pub authentication_plan: Box<models::OAuth2AuthenticationPlan>,
21    /// This is the name of credential. This is just for your reference.
22    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
23    pub name: Option<String>,
24}
25
26impl CreateWebhookCredentialDto {
27    pub fn new(provider: Provider, authentication_plan: models::OAuth2AuthenticationPlan) -> CreateWebhookCredentialDto {
28        CreateWebhookCredentialDto {
29            provider,
30            authentication_plan: Box::new(authentication_plan),
31            name: None,
32        }
33    }
34}
35/// 
36#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
37pub enum Provider {
38    #[serde(rename = "webhook")]
39    Webhook,
40}
41
42impl Default for Provider {
43    fn default() -> Provider {
44        Self::Webhook
45    }
46}
47