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).
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using SVSim.EmulatedEntrypoint.Models.Dtos;
|
||||
using SVSim.EmulatedEntrypoint.Models.Dtos.BattlePass;
|
||||
|
||||
namespace SVSim.EmulatedEntrypoint.Services;
|
||||
|
||||
@@ -7,5 +8,9 @@ public interface IBattlePassService
|
||||
/// <summary>Global level curve as wire-string dictionary; null if no levels seeded.</summary>
|
||||
Task<IReadOnlyDictionary<string, BattlePassLevel>?> GetLevelCurveAsync(CancellationToken ct);
|
||||
|
||||
// The Info / ItemList / Buy / AddPoints methods are added in later tasks (11, 12, 13, 14).
|
||||
/// <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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user