authentik-rust 0.0.1

Making authentication simple.
Documentation
/*
 * authentik
 *
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2024.2.1
 * Contact: hello@goauthentik.io
 * Generated by: https://openapi-generator.tech
 */

use crate::models;

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "component")]
pub enum ChallengeTypes {
    #[serde(rename="ak-stage-access-denied")]
    AkStageAccessDenied(Box<models::AccessDeniedChallenge>),
    #[serde(rename="ak-source-oauth-apple")]
    AkSourceOauthApple(Box<models::AppleLoginChallenge>),
    #[serde(rename="ak-stage-authenticator-duo")]
    AkStageAuthenticatorDuo(Box<models::AuthenticatorDuoChallenge>),
    #[serde(rename="ak-stage-authenticator-sms")]
    AkStageAuthenticatorSms(Box<models::AuthenticatorSmsChallenge>),
    #[serde(rename="ak-stage-authenticator-static")]
    AkStageAuthenticatorStatic(Box<models::AuthenticatorStaticChallenge>),
    #[serde(rename="ak-stage-authenticator-totp")]
    AkStageAuthenticatorTotp(Box<models::AuthenticatorTotpChallenge>),
    #[serde(rename="ak-stage-authenticator-validate")]
    AkStageAuthenticatorValidate(Box<models::AuthenticatorValidationChallenge>),
    #[serde(rename="ak-stage-authenticator-webauthn")]
    AkStageAuthenticatorWebauthn(Box<models::AuthenticatorWebAuthnChallenge>),
    #[serde(rename="ak-stage-autosubmit")]
    AkStageAutosubmit(Box<models::AutosubmitChallenge>),
    #[serde(rename="ak-stage-captcha")]
    AkStageCaptcha(Box<models::CaptchaChallenge>),
    #[serde(rename="ak-stage-consent")]
    AkStageConsent(Box<models::ConsentChallenge>),
    #[serde(rename="ak-stage-dummy")]
    AkStageDummy(Box<models::DummyChallenge>),
    #[serde(rename="ak-stage-email")]
    AkStageEmail(Box<models::EmailChallenge>),
    #[serde(rename="ak-stage-flow-error")]
    AkStageFlowError(Box<models::FlowErrorChallenge>),
    #[serde(rename="ak-stage-identification")]
    AkStageIdentification(Box<models::IdentificationChallenge>),
    #[serde(rename="ak-provider-oauth2-device-code")]
    AkProviderOauth2DeviceCode(Box<models::OAuthDeviceCodeChallenge>),
    #[serde(rename="ak-provider-oauth2-device-code-finish")]
    AkProviderOauth2DeviceCodeFinish(Box<models::OAuthDeviceCodeFinishChallenge>),
    #[serde(rename="ak-stage-password")]
    AkStagePassword(Box<models::PasswordChallenge>),
    #[serde(rename="ak-source-plex")]
    AkSourcePlex(Box<models::PlexAuthenticationChallenge>),
    #[serde(rename="ak-stage-prompt")]
    AkStagePrompt(Box<models::PromptChallenge>),
    #[serde(rename="xak-flow-redirect")]
    XakFlowRedirect(Box<models::RedirectChallenge>),
    #[serde(rename="xak-flow-shell")]
    XakFlowShell(Box<models::ShellChallenge>),
    #[serde(rename="ak-stage-user-login")]
    AkStageUserLogin(Box<models::UserLoginChallenge>),
}

impl Default for ChallengeTypes {
    fn default() -> Self {
        Self::AkStageAccessDenied(Default::default())
    }
}