Skip to main content

authentik_client/models/
extra_role_object_permission.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/// ExtraRoleObjectPermission : Role permission with additional object-related data
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ExtraRoleObjectPermission {
17    #[serde(rename = "id")]
18    pub id: i32,
19    #[serde(rename = "codename")]
20    pub codename: String,
21    #[serde(rename = "model")]
22    pub model: String,
23    #[serde(rename = "app_label")]
24    pub app_label: String,
25    #[serde(rename = "object_pk")]
26    pub object_pk: String,
27    #[serde(rename = "name")]
28    pub name: String,
29    /// Get app label from permission's model
30    #[serde(rename = "app_label_verbose")]
31    pub app_label_verbose: String,
32    /// Get model label from permission's model
33    #[serde(rename = "model_verbose")]
34    pub model_verbose: String,
35    /// Get model description from attached model. This operation takes at least one additional query, and the description is only shown if the role has the view_ permission on the object
36    #[serde(rename = "object_description", deserialize_with = "Option::deserialize")]
37    pub object_description: Option<String>,
38}
39
40impl ExtraRoleObjectPermission {
41    /// Role permission with additional object-related data
42    pub fn new(
43        id: i32,
44        codename: String,
45        model: String,
46        app_label: String,
47        object_pk: String,
48        name: String,
49        app_label_verbose: String,
50        model_verbose: String,
51        object_description: Option<String>,
52    ) -> ExtraRoleObjectPermission {
53        ExtraRoleObjectPermission {
54            id,
55            codename,
56            model,
57            app_label,
58            object_pk,
59            name,
60            app_label_verbose,
61            model_verbose,
62            object_description,
63        }
64    }
65}