feat(bp): add ViewerBattlePassProgressEntry + ViewerBattlePassClaimEntry

This commit is contained in:
gamer147
2026-05-26 22:07:05 -04:00
parent 34de3d53ad
commit faa8c0e6dd
2 changed files with 35 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
using SVSim.Database.Common;
using SVSim.Database.Enums;
namespace SVSim.Database.Models;
/// <summary>
/// Per-claim record. Presence of a row = is_received: true on the wire reward.
/// Unique on (ViewerId, SeasonId, Track, Level).
/// </summary>
public class ViewerBattlePassClaimEntry : BaseEntity<long>
{
public long ViewerId { get; set; }
public int SeasonId { get; set; }
public BattlePassTrack Track { get; set; }
public int Level { get; set; }
public DateTimeOffset ClaimedAt { get; set; }
}

View File

@@ -0,0 +1,18 @@
using SVSim.Database.Common;
namespace SVSim.Database.Models;
/// <summary>
/// Per-viewer-per-season progress: gauge total, premium flag, weekly cap bucket.
/// Lazy-created on first /battle_pass/info read. Unique on (ViewerId, SeasonId) per
/// memory project_owned_collection_unique_index.
/// </summary>
public class ViewerBattlePassProgressEntry : BaseEntity<long>
{
public long ViewerId { get; set; }
public int SeasonId { get; set; }
public int CurrentPoint { get; set; }
public bool IsPremium { get; set; }
public int WeeklyPoints { get; set; }
public DateTimeOffset? WeeklyPeriodStart { get; set; }
}