feat: proxy tag privacy (#571)

Merges PluralKit/PluralKit#571
This commit is contained in:
rladenson 2023-08-10 17:54:53 +12:00 committed by Iris System
parent 084df88624
commit 68cd21fb2f
8 changed files with 46 additions and 9 deletions

View file

@ -29,8 +29,10 @@ public class MemberPatch: PatchObject
public Partial<PrivacyLevel> PronounPrivacy { get; set; }
public Partial<PrivacyLevel> BirthdayPrivacy { get; set; }
public Partial<PrivacyLevel> AvatarPrivacy { get; set; }
public Partial<PrivacyLevel> ProxyPrivacy { get; set; }
public Partial<PrivacyLevel> MetadataPrivacy { get; set; }
public override Query Apply(Query q) => q.ApplyPatch(wrapper => wrapper
.With("name", Name)
.With("hid", Hid)
@ -52,6 +54,7 @@ public class MemberPatch: PatchObject
.With("pronoun_privacy", PronounPrivacy)
.With("birthday_privacy", BirthdayPrivacy)
.With("avatar_privacy", AvatarPrivacy)
.With("proxy_privacy", ProxyPrivacy)
.With("metadata_privacy", MetadataPrivacy)
);
@ -140,6 +143,8 @@ public class MemberPatch: PatchObject
patch.BirthdayPrivacy = patch.ParsePrivacy(o, "birthday_privacy");
if (o.ContainsKey("pronoun_privacy"))
patch.PronounPrivacy = patch.ParsePrivacy(o, "pronoun_privacy");
if (o.ContainsKey("proxy_privacy"))
patch.ProxyPrivacy = patch.ParsePrivacy(o, "proxy_privacy");
if (o.ContainsKey("metadata_privacy"))
patch.MetadataPrivacy = patch.ParsePrivacy(o, "metadata_privacy");
}
@ -173,6 +178,9 @@ public class MemberPatch: PatchObject
if (privacy.ContainsKey("pronoun_privacy"))
patch.PronounPrivacy = patch.ParsePrivacy(privacy, "pronoun_privacy");
if (privacy.ContainsKey("proxy_privacy"))
patch.ProxyPrivacy = patch.ParsePrivacy(privacy, "proxy_privacy");
if (privacy.ContainsKey("metadata_privacy"))
patch.MetadataPrivacy = patch.ParsePrivacy(privacy, "metadata_privacy");
}
@ -222,6 +230,7 @@ public class MemberPatch: PatchObject
|| PronounPrivacy.IsPresent
|| BirthdayPrivacy.IsPresent
|| AvatarPrivacy.IsPresent
|| ProxyPrivacy.IsPresent
|| MetadataPrivacy.IsPresent
)
{
@ -245,6 +254,9 @@ public class MemberPatch: PatchObject
if (AvatarPrivacy.IsPresent)
p.Add("avatar_privacy", AvatarPrivacy.Value.ToJsonString());
if (ProxyPrivacy.IsPresent)
p.Add("proxy_privacy", ProxyPrivacy.Value.ToJsonString());
if (MetadataPrivacy.IsPresent)
p.Add("metadata_privacy", MetadataPrivacy.Value.ToJsonString());