using System.Text.Json.Serialization; namespace decePubClient.Models.Mastodon; /// A persona's list of accounts it follows (Mastodon's List): read as its own feed, and when exclusive kept out of /// the home feed. Lists are the persona's own; PrivaPub never federates them. public class MastodonList { public string Id { get; set; } public string Title { get; set; } public ListRepliesPolicy RepliesPolicy { get; set; } = ListRepliesPolicy.List; public bool Exclusive { get; set; } } /// Which replies a list's feed shows besides its members' replies to themselves and to the persona. [JsonConverter(typeof(JsonStringEnumConverter))] public enum ListRepliesPolicy { /// Replies to any account the persona follows. [JsonStringEnumMemberName("followed")] Followed, /// Replies to the list's members. [JsonStringEnumMemberName("list")] List, [JsonStringEnumMemberName("none")] None } public class ListAccountsForm { public List AccountIds { get; set; } = []; }