feat: New users require admin approval

- Set active=false for newly registered users
- Return RegistrationResponse instead of SessionResponse after registration
- Show success message informing user that admin approval is pending
- Login check already filters for active users only
This commit is contained in:
2026-03-17 09:28:14 +01:00
parent 3367129d37
commit 7c59944646
4 changed files with 27 additions and 10 deletions

View File

@@ -581,7 +581,7 @@ public class CatalogService {
normalizedEmail,
phoneNumber,
passwordEncoder.encode(mutation.password()),
true,
false,
UserRole.CUSTOMER,
100000L,
now,
@@ -601,13 +601,16 @@ public class CatalogService {
created.email(),
created.phoneNumber(),
created.passwordHash(),
created.active(),
false,
created.role(),
created.nextSampleNumber(),
created.createdAt(),
created.updatedAt()
));
return toSessionResponse(accountBound);
return new RegistrationResponse(accountBound.id(), accountBound.email());
}
public record RegistrationResponse(String userId, String email) {
}
public UserOption currentUser(String actorId) {

View File

@@ -28,7 +28,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
@Service

View File

@@ -56,7 +56,7 @@ public class SessionController {
}
@PostMapping("/register")
public CatalogService.SessionResponse register(@RequestBody RegistrationRequest request) {
public CatalogService.RegistrationResponse register(@RequestBody RegistrationRequest request) {
return catalogService.registerCustomer(new CatalogService.RegistrationMutation(
request.companyName(),
request.street(),