vapi_client/models/
o_auth2_authentication_plan.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct OAuth2AuthenticationPlan {
16 #[serde(rename = "type")]
17 pub r#type: TypeTrue,
18 #[serde(rename = "url")]
20 pub url: String,
21 #[serde(rename = "clientId")]
23 pub client_id: String,
24 #[serde(rename = "clientSecret")]
26 pub client_secret: String,
27 #[serde(rename = "scope", skip_serializing_if = "Option::is_none")]
29 pub scope: Option<String>,
30}
31
32impl OAuth2AuthenticationPlan {
33 pub fn new(
34 r#type: TypeTrue,
35 url: String,
36 client_id: String,
37 client_secret: String,
38 ) -> OAuth2AuthenticationPlan {
39 OAuth2AuthenticationPlan {
40 r#type,
41 url,
42 client_id,
43 client_secret,
44 scope: None,
45 }
46 }
47}
48#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
50pub enum TypeTrue {
51 #[serde(rename = "oauth2")]
52 Oauth2,
53 #[serde(rename = "aws-sts")]
54 AwsSts,
55}
56
57impl Default for TypeTrue {
58 fn default() -> TypeTrue {
59 Self::Oauth2
60 }
61}