Skip to main content

authentik_client/models/
captcha_stage.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2026.2.1
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// CaptchaStage : CaptchaStage Serializer
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CaptchaStage {
17    #[serde(rename = "pk")]
18    pub pk: uuid::Uuid,
19    #[serde(rename = "name")]
20    pub name: String,
21    /// Get object type so that we know how to edit the object
22    #[serde(rename = "component")]
23    pub component: String,
24    /// Return object's verbose_name
25    #[serde(rename = "verbose_name")]
26    pub verbose_name: String,
27    /// Return object's plural verbose_name
28    #[serde(rename = "verbose_name_plural")]
29    pub verbose_name_plural: String,
30    /// Return internal model name
31    #[serde(rename = "meta_model_name")]
32    pub meta_model_name: String,
33    #[serde(rename = "flow_set")]
34    pub flow_set: Vec<models::FlowSet>,
35    /// Public key, acquired your captcha Provider.
36    #[serde(rename = "public_key")]
37    pub public_key: String,
38    #[serde(rename = "js_url", skip_serializing_if = "Option::is_none")]
39    pub js_url: Option<String>,
40    #[serde(rename = "api_url", skip_serializing_if = "Option::is_none")]
41    pub api_url: Option<String>,
42    #[serde(rename = "interactive", skip_serializing_if = "Option::is_none")]
43    pub interactive: Option<bool>,
44    #[serde(rename = "score_min_threshold", skip_serializing_if = "Option::is_none")]
45    pub score_min_threshold: Option<f64>,
46    #[serde(rename = "score_max_threshold", skip_serializing_if = "Option::is_none")]
47    pub score_max_threshold: Option<f64>,
48    /// When enabled and the received captcha score is outside of the given threshold, the stage will show an error message. When not enabled, the flow will continue, but the data from the captcha will be available in the context for policy decisions
49    #[serde(rename = "error_on_invalid_score", skip_serializing_if = "Option::is_none")]
50    pub error_on_invalid_score: Option<bool>,
51}
52
53impl CaptchaStage {
54    /// CaptchaStage Serializer
55    pub fn new(
56        pk: uuid::Uuid,
57        name: String,
58        component: String,
59        verbose_name: String,
60        verbose_name_plural: String,
61        meta_model_name: String,
62        flow_set: Vec<models::FlowSet>,
63        public_key: String,
64    ) -> CaptchaStage {
65        CaptchaStage {
66            pk,
67            name,
68            component,
69            verbose_name,
70            verbose_name_plural,
71            meta_model_name,
72            flow_set,
73            public_key,
74            js_url: None,
75            api_url: None,
76            interactive: None,
77            score_min_threshold: None,
78            score_max_threshold: None,
79            error_on_invalid_score: None,
80        }
81    }
82}