feat(mypage): can_give_daily_login_bonus reflects IsDue(viewer)
Injects ILoginBonusService into MyPageController and sets CanGiveDailyLoginBonus from IsDue(viewer) in the Index response. Adds two integration tests: fresh viewer → true, post-load-index → false. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -30,16 +30,18 @@ public class MyPageController : SVSimController
|
||||
private readonly IGameConfigService _config;
|
||||
private readonly IArenaTwoPickRunRepository _arenaTwoPickRuns;
|
||||
private readonly IHomeDialogSessionTracker _homeDialogTracker;
|
||||
private readonly ILoginBonusService _loginBonus;
|
||||
|
||||
public MyPageController(IViewerRepository viewerRepository, IGlobalsRepository globalsRepository,
|
||||
IGameConfigService config, IArenaTwoPickRunRepository arenaTwoPickRuns,
|
||||
IHomeDialogSessionTracker homeDialogTracker)
|
||||
IHomeDialogSessionTracker homeDialogTracker, ILoginBonusService loginBonus)
|
||||
{
|
||||
_viewerRepository = viewerRepository;
|
||||
_globalsRepository = globalsRepository;
|
||||
_config = config;
|
||||
_arenaTwoPickRuns = arenaTwoPickRuns;
|
||||
_homeDialogTracker = homeDialogTracker;
|
||||
_loginBonus = loginBonus;
|
||||
}
|
||||
|
||||
[HttpPost("index")]
|
||||
@@ -83,6 +85,7 @@ public class MyPageController : SVSimController
|
||||
return new MyPageIndexResponse
|
||||
{
|
||||
UserInfo = new UserInfo(deviceType, viewer),
|
||||
CanGiveDailyLoginBonus = _loginBonus.IsDue(viewer),
|
||||
UnreceivedMissionRewardCount = 0, // TODO(mypage-stub): viewer mission progress
|
||||
ReceiveFriendApplyCount = 0, // TODO(mypage-stub): viewer friend-request inbox
|
||||
UnreadPresentCount = 0, // TODO(mypage-stub): viewer presents/mail
|
||||
|
||||
Reference in New Issue
Block a user