Files
SVSimServer/SVSim.EmulatedEntrypoint/Services/IBattlePassService.cs
gamer147 8a35f8c40b feat(bp): /battle_pass/info — service + controller + 3 tests
Also fixes BattlePassRepository.GetActiveSeasonAsync to use client-side
DateTimeOffset filtering (SQLite provider cannot translate DateTimeOffset
comparisons in LINQ WHERE/ORDER BY clauses).
2026-05-26 23:14:26 -04:00

17 lines
653 B
C#

using SVSim.EmulatedEntrypoint.Models.Dtos;
using SVSim.EmulatedEntrypoint.Models.Dtos.BattlePass;
namespace SVSim.EmulatedEntrypoint.Services;
public interface IBattlePassService
{
/// <summary>Global level curve as wire-string dictionary; null if no levels seeded.</summary>
Task<IReadOnlyDictionary<string, BattlePassLevel>?> GetLevelCurveAsync(CancellationToken ct);
/// <summary>
/// /battle_pass/info payload. Returns null when no active season window covers <c>now</c>
/// (controller emits empty body in that case).
/// </summary>
Task<BattlePassInfoResponse?> GetInfoAsync(long viewerId, CancellationToken ct);
}