Forgot unversioned xd

This commit is contained in:
gamer147
2026-05-23 14:18:18 -04:00
parent 6b70850b7b
commit bf6ddf5428
46 changed files with 43610 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
using MessagePack;
namespace SVSim.EmulatedEntrypoint.Models.Dtos.Responses.Deck;
/// <summary>
/// Shape consumed by `DeckGroupListData(jsonData, format)` for a single-format call —
/// the format-scoped decks land under `user_deck_list` (vs. the per-format keys used
/// by /practice/deck_list with Format.All).
/// </summary>
[MessagePackObject]
public class DeckListResponse
{
[Key("maintenance_card_list")] public List<long> MaintenanceCardList { get; set; } = new();
[Key("user_deck_list")] public List<UserDeck>? UserDeckList { get; set; }
}

View File

@@ -0,0 +1,17 @@
using MessagePack;
using SVSim.EmulatedEntrypoint.Models.Dtos.Common;
namespace SVSim.EmulatedEntrypoint.Models.Dtos.Responses.Deck;
/// <summary>
/// /deck/update response. Minimum-viable per spec is just {achieved_info, reward_list};
/// the full shape also includes the refreshed deck list. We include user_deck_list to
/// save the client a follow-up /deck/info round-trip.
/// </summary>
[MessagePackObject]
public class DeckUpdateResponse
{
[Key("user_deck_list")] public List<UserDeck>? UserDeckList { get; set; }
[Key("achieved_info")] public Dictionary<string, object> AchievedInfo { get; set; } = new();
[Key("reward_list")] public List<Reward> RewardList { get; set; } = new();
}

View File

@@ -0,0 +1,10 @@
using MessagePack;
namespace SVSim.EmulatedEntrypoint.Models.Dtos.Responses.Deck;
[MessagePackObject]
public class EmptyDeckNumberResponse
{
/// <summary>The next free deck slot number. 0 indicates "no slots available".</summary>
[Key("empty_deck_num")] public int EmptyDeckNum { get; set; }
}

View File

@@ -0,0 +1,15 @@
using MessagePack;
namespace SVSim.EmulatedEntrypoint.Models.Dtos.Responses.Deck;
/// <summary>
/// Single-deck-update response. Consumed by DeckListUtility.DeckUpdate(user_deck,
/// format, DeckAttributeType.CustomDeck). Shape is "one UserDeck wrapped under
/// `user_deck` key" — same for update_name, update_sleeve, update_leader_skin,
/// update_random_leader_skin.
/// </summary>
[MessagePackObject]
public class SingleDeckResponse
{
[Key("user_deck")] public UserDeck? UserDeck { get; set; }
}