using MessagePack; using System.Text.Json.Serialization; namespace SVSim.EmulatedEntrypoint.Models.Dtos; /// /// Convention/offline-event participation block returned by /mypage/index. /// Client reads is_join_tournament, recent_start_date (null-checked, optional), /// and is_admin_watch_user. See MyPageTask.cs:58-63. /// [MessagePackObject] public class Convention { [JsonPropertyName("is_join_tournament")] [Key("is_join_tournament")] public bool IsJoinTournament { get; set; } /// /// ISO datetime. Optional — omitted via WhenWritingNull when not set. /// Client null-checks before parsing (MyPageTask.cs:59). /// [JsonPropertyName("recent_start_date")] [Key("recent_start_date")] public string? RecentStartDate { get; set; } [JsonPropertyName("is_admin_watch_user")] [Key("is_admin_watch_user")] public bool IsAdminWatchUser { get; set; } }