diff --git a/internal/service/auth/auth.go b/internal/service/auth/auth.go index 0afffc28..23f4c010 100644 --- a/internal/service/auth/auth.go +++ b/internal/service/auth/auth.go @@ -59,6 +59,10 @@ func (as *AuthService) SetUserCacheInfo(ctx context.Context, userInfo *entity.Us return accessToken, err } +func (as *AuthService) SetUserStatus(ctx context.Context, userInfo *entity.UserCacheInfo) (err error) { + return as.authRepo.SetUserStatus(ctx, userInfo.UserID, userInfo) +} + func (as *AuthService) UpdateUserCacheInfo(ctx context.Context, token string, userInfo *entity.UserCacheInfo) (err error) { err = as.authRepo.SetUserCacheInfo(ctx, token, userInfo) if err != nil { diff --git a/internal/service/user_service.go b/internal/service/user_service.go index 288161c5..22c5f7e9 100644 --- a/internal/service/user_service.go +++ b/internal/service/user_service.go @@ -416,6 +416,10 @@ func (us *UserService) UserVerifyEmail(ctx context.Context, req *schema.UserVeri if err != nil { return nil, err } + // User verified email will update user email status. So user status cache should be updated. + if err = us.authService.SetUserStatus(ctx, userCacheInfo); err != nil { + return nil, err + } resp.IsAdmin = userInfo.IsAdmin if resp.IsAdmin { err = us.authService.SetCmsUserCacheInfo(ctx, resp.AccessToken, &entity.UserCacheInfo{UserID: userInfo.ID})