feat: Implement quest reward system with item selection and storage; update related services and database schema

This commit is contained in:
Alexa
2026-07-08 01:51:55 +03:00
parent 16ae55444d
commit 2e465af49e
13 changed files with 416 additions and 65 deletions
@@ -12,4 +12,15 @@ public class GameRewardSelectionEntity
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
public DateTime? SelectedAt { get; set; }
public int? SelectedGiftDropId { get; set; }
/// <summary>The three store-item ids offered as the choose-1-of-3
/// reward. Persisted so re-fetching the pending reward is stable and
/// <c>/select</c> can grant exactly what was shown. 0 = empty slot.</summary>
public long Offer1ItemId { get; set; }
public long Offer2ItemId { get; set; }
public long Offer3ItemId { get; set; }
/// <summary>Set once the chosen item has been granted to inventory, so
/// a replayed <c>/select</c> can't grant twice.</summary>
public long GrantedItemId { get; set; }
}