Response.cs 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. namespace Application.Features.Api.Rewards.GetToday;
  2. /// <summary>오늘(KST) 획득한 액션별 보상 + 캡 잔여.</summary>
  3. public sealed record Response(
  4. string RewardDate,
  5. int TotalExp,
  6. int TotalPoint,
  7. IReadOnlyList<ActionSummary> Actions
  8. )
  9. {
  10. /// <summary>Handler 내부 캡 조회용 — 응답에는 직접 노출되지 않는다.</summary>
  11. internal sealed record RewardConfigView(
  12. int PostDailyCount, int PostDailyExp, int PostDailyPoint,
  13. int CommentDailyCount, int CommentDailyExp, int CommentDailyPoint,
  14. int LikeGivenDailyCount, int LikeGivenDailyExp,
  15. int LikeReceivedDailyCount, int LikeReceivedDailyPoint,
  16. int ChatDailyCount, int ChatDailyExp
  17. );
  18. }
  19. /// <summary>액션별 오늘 획득/캡 잔여. Cap 0 = 무제한(RemainingXxx = null).</summary>
  20. public sealed record ActionSummary(
  21. byte ActionType,
  22. string ActionName,
  23. int Count,
  24. int ExpEarned,
  25. int PointEarned,
  26. int? RemainingCount,
  27. int? RemainingExp,
  28. int? RemainingPoint
  29. );