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; }
}