authentik_client/models/
consent_challenge.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[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 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}