feat: config setting to automatically set members/groups to private when creating

This commit is contained in:
spiral
2021-12-01 11:48:49 -05:00
parent 7c37726afb
commit 1ff6bb76cd
10 changed files with 140 additions and 24 deletions

View File

@@ -11,6 +11,8 @@ public class SystemConfigPatch: PatchObject
public Partial<string> UiTz { get; set; }
public Partial<bool> PingsEnabled { get; set; }
public Partial<int?> LatchTimeout { get; set; }
public Partial<bool> MemberDefaultPrivate { get; set; }
public Partial<bool> GroupDefaultPrivate { get; set; }
public Partial<int?> MemberLimitOverride { get; set; }
public Partial<int?> GroupLimitOverride { get; set; }
@@ -18,6 +20,8 @@ public class SystemConfigPatch: PatchObject
.With("ui_tz", UiTz)
.With("pings_enabled", PingsEnabled)
.With("latch_timeout", LatchTimeout)
.With("member_default_private", MemberDefaultPrivate)
.With("group_default_private", GroupDefaultPrivate)
.With("member_limit_override", MemberLimitOverride)
.With("group_limit_override", GroupLimitOverride)
);
@@ -41,6 +45,12 @@ public class SystemConfigPatch: PatchObject
if (LatchTimeout.IsPresent)
o.Add("latch_timeout", LatchTimeout.Value);
if (MemberDefaultPrivate.IsPresent)
o.Add("member_default_private", MemberDefaultPrivate.Value);
if (GroupDefaultPrivate.IsPresent)
o.Add("group_default_private", GroupDefaultPrivate.Value);
if (MemberLimitOverride.IsPresent)
o.Add("member_limit", MemberLimitOverride.Value);
@@ -63,6 +73,12 @@ public class SystemConfigPatch: PatchObject
if (o.ContainsKey("latch_timeout"))
patch.LatchTimeout = o.Value<int>("latch_timeout");
if (o.ContainsKey("member_default_private"))
patch.MemberDefaultPrivate = o.Value<bool>("member_default_private");
if (o.ContainsKey("group_default_private"))
patch.GroupDefaultPrivate = o.Value<bool>("group_default_private");
return patch;
}
}

View File

@@ -10,6 +10,8 @@ public class SystemConfig
public string UiTz { get; set; }
public bool PingsEnabled { get; }
public int? LatchTimeout { get; }
public bool MemberDefaultPrivate { get; }
public bool GroupDefaultPrivate { get; }
public int? MemberLimitOverride { get; }
public int? GroupLimitOverride { get; }
@@ -25,6 +27,8 @@ public static class SystemConfigExt
o.Add("timezone", cfg.UiTz);
o.Add("pings_enabled", cfg.PingsEnabled);
o.Add("latch_timeout", cfg.LatchTimeout);
o.Add("member_default_private", cfg.MemberDefaultPrivate);
o.Add("group_default_private", cfg.GroupDefaultPrivate);
o.Add("member_limit", cfg.MemberLimitOverride ?? Limits.MaxMemberCount);
o.Add("group_limit", cfg.GroupLimitOverride ?? Limits.MaxGroupCount);