use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct DatatablePermissions {
#[serde(rename = "supported")]
pub supported: bool,
#[serde(rename = "permissioned")]
pub permissioned: bool,
#[serde(rename = "default_role")]
pub default_role: String,
#[serde(rename = "roles")]
pub roles: Vec<models::DatatableRoleTenants>,
#[serde(rename = "governing_workspace_id", skip_serializing_if = "Option::is_none")]
pub governing_workspace_id: Option<String>,
#[serde(rename = "editable")]
pub editable: bool,
#[serde(rename = "available_roles")]
pub available_roles: Vec<models::InstanceDatatableRole>,
#[serde(rename = "ungoverned_reachers", skip_serializing_if = "Option::is_none")]
pub ungoverned_reachers: Option<Vec<models::EditDataTableConfig200ResponseStrandedReferencesInner>>,
}
impl DatatablePermissions {
pub fn new(supported: bool, permissioned: bool, default_role: String, roles: Vec<models::DatatableRoleTenants>, editable: bool, available_roles: Vec<models::InstanceDatatableRole>) -> DatatablePermissions {
DatatablePermissions {
supported,
permissioned,
default_role,
roles,
governing_workspace_id: None,
editable,
available_roles,
ungoverned_reachers: None,
}
}
}