fix: whitelist mode

This commit is contained in:
tim
2025-07-15 12:36:27 +08:00
parent 5b886420c5
commit b25a25f5bc
6 changed files with 30 additions and 9 deletions

View File

@@ -97,12 +97,17 @@ public class AuthController {
Optional<User> user = googleAuthService.authenticate(req.getIdToken(), req.getReason(), registerModeService.getRegisterMode());
if (user.isPresent()) {
if (!user.get().isApproved()) {
if (req.getReason() != null && !req.getReason().isEmpty()) {
if (user.get().getRegisterReason() != null && !user.get().getRegisterReason().isEmpty()) {
// do not send empty notifition (while try login)
for (User admin : userRepository.findByRole(com.openisle.model.Role.ADMIN)) {
notificationService.createNotification(admin, NotificationType.REGISTER_REQUEST, null, null,
null, user.get(), null, req.getReason());
}
return ResponseEntity.badRequest().body(Map.of(
"error", "Account awaiting approval",
"reason_code", "IS_APPROVING"
));
}
return ResponseEntity.badRequest().body(Map.of(
"error", "Account awaiting approval",

View File

@@ -50,6 +50,12 @@ public class GoogleAuthService {
user.setVerificationCode(null);
userRepository.save(user);
}
if (!user.isApproved() && reason != null && !reason.isEmpty()) {
user.setRegisterReason(reason);
userRepository.save(user);
}
return user;
}
User user = new User();