use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::{field_access, impl_default, impl_display, GroupPermissionSetting};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ServerSupportedPermissionSetting {
#[serde(skip_serializing_if = "Option::is_none")]
realm: Option<HashMap<String, GroupPermissionSetting>>,
#[serde(skip_serializing_if = "Option::is_none")]
stream: Option<HashMap<String, GroupPermissionSetting>>,
#[serde(skip_serializing_if = "Option::is_none")]
group: Option<HashMap<String, GroupPermissionSetting>>,
}
impl ServerSupportedPermissionSetting {
pub const fn new() -> Self {
Self {
realm: None,
stream: None,
group: None,
}
}
}
field_access! {
ServerSupportedPermissionSetting {
realm: option_ref { HashMap<String, GroupPermissionSetting> },
stream: option_ref { HashMap<String, GroupPermissionSetting> },
group: option_ref { HashMap<String, GroupPermissionSetting> },
}
}
impl_default!(ServerSupportedPermissionSetting);
impl_display!(ServerSupportedPermissionSetting);