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:
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(),
|
||||
|
||||
Reference in New Issue
Block a user