windmill_api/models/
datatable_permissions.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct DatatablePermissions {
16 #[serde(rename = "supported")]
18 pub supported: bool,
19 #[serde(rename = "cluster", skip_serializing_if = "Option::is_none")]
20 pub cluster: Option<models::DatatableRoleCluster>,
21 #[serde(rename = "permissioned")]
22 pub permissioned: bool,
23 #[serde(rename = "default_role")]
25 pub default_role: String,
26 #[serde(rename = "roles")]
27 pub roles: Vec<models::DatatableRoleTenants>,
28 #[serde(rename = "governing_workspace_id", skip_serializing_if = "Option::is_none")]
29 pub governing_workspace_id: Option<String>,
30 #[serde(rename = "clone_of", skip_serializing_if = "Option::is_none")]
31 pub clone_of: Option<Box<models::DatatablePermissionsCloneOf>>,
32 #[serde(rename = "editable")]
33 pub editable: bool,
34 #[serde(rename = "available_roles")]
35 pub available_roles: Vec<models::InstanceDatatableRole>,
36 #[serde(rename = "ungoverned_reachers", skip_serializing_if = "Option::is_none")]
37 pub ungoverned_reachers: Option<Vec<models::EditDataTableConfig200ResponseStrandedReferencesInner>>,
38}
39
40impl DatatablePermissions {
41 pub fn new(supported: bool, permissioned: bool, default_role: String, roles: Vec<models::DatatableRoleTenants>, editable: bool, available_roles: Vec<models::InstanceDatatableRole>) -> DatatablePermissions {
42 DatatablePermissions {
43 supported,
44 cluster: None,
45 permissioned,
46 default_role,
47 roles,
48 governing_workspace_id: None,
49 clone_of: None,
50 editable,
51 available_roles,
52 ungoverned_reachers: None,
53 }
54 }
55}
56