namespace Application.Features.Api.Rewards.GetToday; /// 오늘(KST) 획득한 액션별 보상 + 캡 잔여. public sealed record Response( string RewardDate, int TotalExp, int TotalPoint, IReadOnlyList Actions ) { /// Handler 내부 캡 조회용 — 응답에는 직접 노출되지 않는다. internal sealed record RewardConfigView( int PostDailyCount, int PostDailyExp, int PostDailyPoint, int CommentDailyCount, int CommentDailyExp, int CommentDailyPoint, int LikeGivenDailyCount, int LikeGivenDailyExp, int LikeReceivedDailyCount, int LikeReceivedDailyPoint, int ChatDailyCount, int ChatDailyExp ); } /// 액션별 오늘 획득/캡 잔여. Cap 0 = 무제한(RemainingXxx = null). public sealed record ActionSummary( byte ActionType, string ActionName, int Count, int ExpEarned, int PointEarned, int? RemainingCount, int? RemainingExp, int? RemainingPoint );