#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct OrganizationSettings {
#[serde(rename = "object")]
pub object: Object,
#[serde(rename = "enabled")]
pub enabled: bool,
#[serde(rename = "max_allowed_memberships")]
pub max_allowed_memberships: i64,
#[serde(rename = "max_allowed_roles", skip_serializing_if = "Option::is_none")]
pub max_allowed_roles: Option<i64>,
#[serde(rename = "max_allowed_permissions", skip_serializing_if = "Option::is_none")]
pub max_allowed_permissions: Option<i64>,
#[serde(rename = "creator_role")]
pub creator_role: String,
#[serde(rename = "admin_delete_enabled")]
pub admin_delete_enabled: bool,
#[serde(rename = "domains_enabled")]
pub domains_enabled: bool,
#[serde(rename = "domains_enrollment_modes")]
pub domains_enrollment_modes: Vec<DomainsEnrollmentModes>,
#[serde(rename = "domains_default_role")]
pub domains_default_role: String,
}
impl OrganizationSettings {
pub fn new(
object: Object,
enabled: bool,
max_allowed_memberships: i64,
creator_role: String,
admin_delete_enabled: bool,
domains_enabled: bool,
domains_enrollment_modes: Vec<DomainsEnrollmentModes>,
domains_default_role: String,
) -> OrganizationSettings {
OrganizationSettings {
object,
enabled,
max_allowed_memberships,
max_allowed_roles: None,
max_allowed_permissions: None,
creator_role,
admin_delete_enabled,
domains_enabled,
domains_enrollment_modes,
domains_default_role,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Object {
#[serde(rename = "organization_settings")]
OrganizationSettings,
}
impl Default for Object {
fn default() -> Object {
Self::OrganizationSettings
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum DomainsEnrollmentModes {
#[serde(rename = "manual_invitation")]
ManualInvitation,
#[serde(rename = "automatic_invitation")]
AutomaticInvitation,
#[serde(rename = "automatic_suggestion")]
AutomaticSuggestion,
}
impl Default for DomainsEnrollmentModes {
fn default() -> DomainsEnrollmentModes {
Self::ManualInvitation
}
}