feat(ranking): stub /ranking/* (6 endpoints)

Rankings menu opens. Period picker shows deterministic monthly schedule.
Every leaderboard returns { period, ranking: [] }.

Endpoints:
- /ranking/get_viewable_ranking_period_list
- /ranking/master_point_{rotation,unlimited}_info
- /ranking/rank_match_class_win_{rotation,unlimited}_info
- /ranking/two_pick_win_info

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-06-10 10:46:00 -04:00
parent 80f249f8a2
commit f743b27696
11 changed files with 415 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
using System.Text.Json.Serialization;
using MessagePack;
namespace SVSim.EmulatedEntrypoint.Models.Dtos.Ranking;
/// <summary>
/// Base period-entry shape used by /ranking/get_viewable_ranking_period_list's
/// rank_match[] and crossover_* arrays. Master-point and two-pick variants
/// add fields — see <see cref="MasterPointPeriodEntryDto"/> and
/// <see cref="TwoPickPeriodEntryDto"/>.
/// </summary>
[MessagePackObject]
public class PeriodEntryDto
{
[JsonPropertyName("id"), Key("id")]
public string Id { get; set; } = "0";
[JsonPropertyName("period_num"), Key("period_num")]
public string PeriodNum { get; set; } = "0";
[JsonPropertyName("begin_time"), Key("begin_time")]
public string BeginTime { get; set; } = "";
[JsonPropertyName("end_time"), Key("end_time")]
public string EndTime { get; set; } = "";
}