Skip to main content

windmill_api/models/
datatable_permissions.rs

1/*
2 * Windmill API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.841.0
7 * Contact: contact@windmill.dev
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct DatatablePermissions {
16    /// Whether this data table can be put under roles at all. Only one on a database Windmill manages can: a role is a login on that database's cluster.
17    #[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    /// A role id, `admin`, or `$none` when the data table has no default role.
24    #[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