namespace decePubClient.Models.Mastodon; /// /api/v1/announcements: what the server's administrators announce, shown while published and not ended, as /// the persona sees it (Read and each reaction's Me are the persona's own; signed out, neither is said). public class Announcement { public string Id { get; set; } /// Sanitized HTML, from the administrator's Markdown. public string Content { get; set; } public DateTime? StartsAt { get; set; } public DateTime? EndsAt { get; set; } public bool AllDay { get; set; } public DateTime PublishedAt { get; set; } public DateTime UpdatedAt { get; set; } /// Whether the persona dismissed it. public bool? Read { get; set; } public List Reactions { get; set; } = []; } /// A unicode emoji chosen on an announcement, how many personas chose it, and whether this one did. public class AnnouncementReaction { public string Name { get; set; } public int Count { get; set; } public bool? Me { get; set; } public string Url { get; set; } } /// The streaming API's announcement.reaction payload: the emoji, how many chose it now, and on which. public class AnnouncementReactionEvent { public string Name { get; set; } public int Count { get; set; } public string AnnouncementId { get; set; } }