authentik_client/models/
source_type.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2025.10.0
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// SourceType : Serializer for SourceType
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct SourceType {
17    #[serde(rename = "name")]
18    pub name: String,
19    #[serde(rename = "verbose_name")]
20    pub verbose_name: String,
21    #[serde(rename = "urls_customizable")]
22    pub urls_customizable: bool,
23    #[serde(rename = "request_token_url", deserialize_with = "Option::deserialize")]
24    pub request_token_url: Option<String>,
25    #[serde(rename = "authorization_url", deserialize_with = "Option::deserialize")]
26    pub authorization_url: Option<String>,
27    #[serde(rename = "access_token_url", deserialize_with = "Option::deserialize")]
28    pub access_token_url: Option<String>,
29    #[serde(rename = "profile_url", deserialize_with = "Option::deserialize")]
30    pub profile_url: Option<String>,
31    #[serde(rename = "oidc_well_known_url", deserialize_with = "Option::deserialize")]
32    pub oidc_well_known_url: Option<String>,
33    #[serde(rename = "oidc_jwks_url", deserialize_with = "Option::deserialize")]
34    pub oidc_jwks_url: Option<String>,
35}
36
37impl SourceType {
38    /// Serializer for SourceType
39    pub fn new(
40        name: String,
41        verbose_name: String,
42        urls_customizable: bool,
43        request_token_url: Option<String>,
44        authorization_url: Option<String>,
45        access_token_url: Option<String>,
46        profile_url: Option<String>,
47        oidc_well_known_url: Option<String>,
48        oidc_jwks_url: Option<String>,
49    ) -> SourceType {
50        SourceType {
51            name,
52            verbose_name,
53            urls_customizable,
54            request_token_url,
55            authorization_url,
56            access_token_url,
57            profile_url,
58            oidc_well_known_url,
59            oidc_jwks_url,
60        }
61    }
62}