using System.Text.Json.Serialization; using MessagePack; using SVSim.EmulatedEntrypoint.Models.Dtos.Requests; namespace SVSim.EmulatedEntrypoint.Models.Dtos.Requests.ArenaColosseum; /// /// POST /arena_colosseum/register_deck — submit deck slot(s) for a constructed-format /// entry. Same wire gotcha as arena_competition/register_deck et al — /// is a JSON-encoded STRING like "[3,4,5]", not an array. The server parses it. /// [MessagePackObject(keyAsPropertyName: false)] public class ArenaColosseumRegisterDeckRequest : BaseRequest { /// JSON-encoded list of deck slot numbers. Client does JsonMapper.ToJson(List<int>). [JsonPropertyName("deck_no_list")] [Key("deck_no_list")] public string DeckNoList { get; set; } = "[]"; /// Server-stored visibility flag — does not affect bracket play. [JsonPropertyName("is_published")] [Key("is_published")] public bool IsPublished { get; set; } }