Files
SVSimServer/SVSim.EmulatedEntrypoint/Models/Dtos/BattlePass/BattlePassItemListResponse.cs
gamer147 0ceab721e9 feat(bp): /battle_pass/item_list — derives product per active season
Adds BattlePassSalesPeriodInfoDto, BattlePassProductDto, BattlePassItemListResponse DTOs,
GetItemListAsync on BattlePassService (one product if not premium + CanPurchase, empty if
already premium or off-season), and the /battle_pass/item_list controller action.
2 new integration tests; all 408 pass.
2026-05-26 23:26:46 -04:00

26 lines
830 B
C#

using MessagePack;
using System.Text.Json.Serialization;
namespace SVSim.EmulatedEntrypoint.Models.Dtos.BattlePass;
/// <summary>
/// /battle_pass/item_list response (Wizard/BattlePassPurchaseInfoTask.cs:23-44).
/// </summary>
[MessagePackObject]
public class BattlePassItemListResponse
{
[JsonPropertyName("premium_pass_description")]
[Key("premium_pass_description")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public string PremiumPassDescription { get; set; } = "";
[JsonPropertyName("sales_period_info")]
[Key("sales_period_info")]
public BattlePassSalesPeriodInfoDto? SalesPeriodInfo { get; set; }
[JsonPropertyName("products")]
[Key("products")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public List<BattlePassProductDto> Products { get; set; } = new();
}