authentik_client/models/
initial_permissions.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2025.10.2
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// InitialPermissions : InitialPermissions serializer
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct InitialPermissions {
17    #[serde(rename = "pk")]
18    pub pk: i32,
19    #[serde(rename = "name")]
20    pub name: String,
21    #[serde(rename = "mode")]
22    pub mode: models::InitialPermissionsModeEnum,
23    #[serde(rename = "role")]
24    pub role: uuid::Uuid,
25    #[serde(rename = "permissions", skip_serializing_if = "Option::is_none")]
26    pub permissions: Option<Vec<i32>>,
27    #[serde(rename = "permissions_obj")]
28    pub permissions_obj: Vec<models::Permission>,
29}
30
31impl InitialPermissions {
32    /// InitialPermissions serializer
33    pub fn new(
34        pk: i32,
35        name: String,
36        mode: models::InitialPermissionsModeEnum,
37        role: uuid::Uuid,
38        permissions_obj: Vec<models::Permission>,
39    ) -> InitialPermissions {
40        InitialPermissions {
41            pk,
42            name,
43            mode,
44            role,
45            permissions: None,
46            permissions_obj,
47        }
48    }
49}