use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct OAuth2ProviderRequest {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "authentication_flow", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub authentication_flow: Option<Option<uuid::Uuid>>,
#[serde(rename = "authorization_flow")]
pub authorization_flow: uuid::Uuid,
#[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")]
pub property_mappings: Option<Vec<uuid::Uuid>>,
#[serde(rename = "client_type", skip_serializing_if = "Option::is_none")]
pub client_type: Option<models::ClientTypeEnum>,
#[serde(rename = "client_id", skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(rename = "client_secret", skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
#[serde(rename = "access_code_validity", skip_serializing_if = "Option::is_none")]
pub access_code_validity: Option<String>,
#[serde(rename = "access_token_validity", skip_serializing_if = "Option::is_none")]
pub access_token_validity: Option<String>,
#[serde(rename = "refresh_token_validity", skip_serializing_if = "Option::is_none")]
pub refresh_token_validity: Option<String>,
#[serde(rename = "include_claims_in_id_token", skip_serializing_if = "Option::is_none")]
pub include_claims_in_id_token: Option<bool>,
#[serde(rename = "signing_key", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub signing_key: Option<Option<uuid::Uuid>>,
#[serde(rename = "redirect_uris", skip_serializing_if = "Option::is_none")]
pub redirect_uris: Option<String>,
#[serde(rename = "sub_mode", skip_serializing_if = "Option::is_none")]
pub sub_mode: Option<models::SubModeEnum>,
#[serde(rename = "issuer_mode", skip_serializing_if = "Option::is_none")]
pub issuer_mode: Option<models::IssuerModeEnum>,
#[serde(rename = "jwks_sources", skip_serializing_if = "Option::is_none")]
pub jwks_sources: Option<Vec<uuid::Uuid>>,
}
impl OAuth2ProviderRequest {
pub fn new(name: String, authorization_flow: uuid::Uuid) -> OAuth2ProviderRequest {
OAuth2ProviderRequest {
name,
authentication_flow: None,
authorization_flow,
property_mappings: None,
client_type: None,
client_id: None,
client_secret: None,
access_code_validity: None,
access_token_validity: None,
refresh_token_validity: None,
include_claims_in_id_token: None,
signing_key: None,
redirect_uris: None,
sub_mode: None,
issuer_mode: None,
jwks_sources: None,
}
}
}