feat(pack): add free-pack metadata fields to PackChildGachaDto

This commit is contained in:
gamer147
2026-06-08 21:34:49 -04:00
parent 7d7cf699f8
commit b9c29b53d9

View File

@@ -40,4 +40,28 @@ public class PackChildGachaDto
[JsonPropertyName("override_increase_gacha_point")]
[Key("override_increase_gacha_point")]
public string OverrideIncreaseGachaPoint { get; set; } = "0";
/// <summary>Set on type_detail=10 free children only. Emitted as string on the wire.</summary>
[JsonPropertyName("campaign_name")]
[Key("campaign_name")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? CampaignName { get; set; }
/// <summary>Lifetime claim cap for this campaign. Stringified on the wire ("1") when present.</summary>
[JsonPropertyName("purchase_limit_count")]
[Key("purchase_limit_count")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? PurchaseLimitCount { get; set; }
/// <summary>Per-UTC-day claim cap for this campaign. Stringified on the wire ("1") when present.</summary>
[JsonPropertyName("daily_free_gacha_count")]
[Key("daily_free_gacha_count")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? DailyFreeGachaCount { get; set; }
/// <summary>Campaign id used to scope claim quotas server-side.</summary>
[JsonPropertyName("free_gacha_campaign_id")]
[Key("free_gacha_campaign_id")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? FreeGachaCampaignId { get; set; }
}