Exemplo n.º 1
0
        public static bool TryParseMemberPrivacy(string input, out MemberPrivacySubject subject)
        {
            switch (input.ToLowerInvariant())
            {
            case "name":
                subject = MemberPrivacySubject.Name;
                break;

            case "description":
            case "desc":
            case "text":
            case "info":
                subject = MemberPrivacySubject.Description;
                break;

            case "avatar":
            case "pfp":
            case "pic":
            case "icon":
                subject = MemberPrivacySubject.Avatar;
                break;

            case "birthday":
            case "birth":
            case "bday":
            case "birthdate":
            case "bdate":
                subject = MemberPrivacySubject.Birthday;
                break;

            case "pronouns":
            case "pronoun":
                subject = MemberPrivacySubject.Pronouns;
                break;

            case "meta":
            case "metadata":
            case "created":
                subject = MemberPrivacySubject.Metadata;
                break;

            case "visibility":
            case "hidden":
            case "shown":
            case "visible":
            case "list":
                subject = MemberPrivacySubject.Visibility;
                break;

            default:
                subject = MemberPrivacySubject.Name;
                return(false);
            }

            return(true);
        }
Exemplo n.º 2
0
        public static MemberPatch WithPrivacy(this MemberPatch member, MemberPrivacySubject subject, PrivacyLevel level)
        {
            // what do you mean switch expressions can't be statements >.>
            _ = subject switch
            {
                MemberPrivacySubject.Name => member.NamePrivacy = level,
                MemberPrivacySubject.Description => member.DescriptionPrivacy = level,
                MemberPrivacySubject.Avatar => member.AvatarPrivacy           = level,
                MemberPrivacySubject.Pronouns => member.PronounPrivacy        = level,
                MemberPrivacySubject.Birthday => member.BirthdayPrivacy       = level,
                MemberPrivacySubject.Metadata => member.MetadataPrivacy       = level,
                MemberPrivacySubject.Visibility => member.Visibility          = level,
                _ => throw new ArgumentOutOfRangeException($"Unknown privacy subject {subject}")
            };

            return(member);
        }
Exemplo n.º 3
0
 public static string Name(this MemberPrivacySubject subject) => subject switch
 {