zulip_api/message/
server_supported_permission_setting.rs1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5use crate::{field_access, impl_default, impl_display, GroupPermissionSetting};
6
7#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ServerSupportedPermissionSetting {
17 #[serde(skip_serializing_if = "Option::is_none")]
18 realm: Option<HashMap<String, GroupPermissionSetting>>,
19 #[serde(skip_serializing_if = "Option::is_none")]
20 stream: Option<HashMap<String, GroupPermissionSetting>>,
21 #[serde(skip_serializing_if = "Option::is_none")]
22 group: Option<HashMap<String, GroupPermissionSetting>>,
23}
24
25impl ServerSupportedPermissionSetting {
26 pub const fn new() -> Self {
28 Self {
29 realm: None,
30 stream: None,
31 group: None,
32 }
33 }
34}
35
36field_access! {
37 ServerSupportedPermissionSetting {
38 realm: option_ref { HashMap<String, GroupPermissionSetting> },
40 stream: option_ref { HashMap<String, GroupPermissionSetting> },
42 group: option_ref { HashMap<String, GroupPermissionSetting> },
44 }
45}
46
47impl_default!(ServerSupportedPermissionSetting);
48impl_display!(ServerSupportedPermissionSetting);