fix(arena): match prod get_challenge_info wire shape; stub ranking_history
Prod /arena/get_challenge_info capture (Season 26):
- reward_step_info.reward_step_list is a Dict<string,string>
({"5":"5","10":"10","15":"15"}), not the List<int> I'd assumed
- max_reward_step is stringified
The previous stub would have parsed at the client (LitJson tolerates the
shape via indexed iteration), but cleaning to match prod exactly.
Also stubs /arena/get_challenge_ranking_history (new endpoint observed
in the same capture). Prod ships {two_pick: [], sealed: []} with no
history populated — empty lists match. Routing smoke added.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using MessagePack;
|
||||
|
||||
namespace SVSim.EmulatedEntrypoint.Models.Dtos.Responses.Arena;
|
||||
|
||||
/// <summary>
|
||||
/// Wire shape for /arena/get_challenge_ranking_history. Prod returns two empty lists
|
||||
/// (two_pick + sealed) per the season-26 capture. Populated history is per-viewer + per-season
|
||||
/// ranking snapshots; not tracked locally yet.
|
||||
/// </summary>
|
||||
[MessagePackObject]
|
||||
public class GetChallengeRankingHistoryResponseDto
|
||||
{
|
||||
[JsonPropertyName("two_pick")] [Key("two_pick")]
|
||||
public List<object> TwoPick { get; set; } = new();
|
||||
|
||||
[JsonPropertyName("sealed")] [Key("sealed")]
|
||||
public List<object> Sealed { get; set; } = new();
|
||||
}
|
||||
Reference in New Issue
Block a user