Skip to main content

authentik_client/models/
consent_challenge.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/// ConsentChallenge : Challenge info for consent screens
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ConsentChallenge {
17    #[serde(rename = "flow_info", skip_serializing_if = "Option::is_none")]
18    pub flow_info: Option<models::ContextualFlowInfo>,
19    #[serde(rename = "component", skip_serializing_if = "Option::is_none")]
20    pub component: Option<String>,
21    #[serde(rename = "response_errors", skip_serializing_if = "Option::is_none")]
22    pub response_errors: Option<std::collections::HashMap<String, Vec<models::ErrorDetail>>>,
23    #[serde(rename = "pending_user")]
24    pub pending_user: String,
25    #[serde(rename = "pending_user_avatar")]
26    pub pending_user_avatar: String,
27    #[serde(rename = "header_text", skip_serializing_if = "Option::is_none")]
28    pub header_text: Option<String>,
29    #[serde(rename = "permissions")]
30    pub permissions: Vec<models::ConsentPermission>,
31    #[serde(rename = "additional_permissions")]
32    pub additional_permissions: Vec<models::ConsentPermission>,
33    #[serde(rename = "token")]
34    pub token: String,
35}
36
37impl ConsentChallenge {
38    /// Challenge info for consent screens
39    pub fn new(
40        pending_user: String,
41        pending_user_avatar: String,
42        permissions: Vec<models::ConsentPermission>,
43        additional_permissions: Vec<models::ConsentPermission>,
44        token: String,
45    ) -> ConsentChallenge {
46        ConsentChallenge {
47            flow_info: None,
48            component: None,
49            response_errors: None,
50            pending_user,
51            pending_user_avatar,
52            header_text: None,
53            permissions,
54            additional_permissions,
55            token,
56        }
57    }
58}