Add SUPERADMIN role and update user handling logic

Introduces a new SUPERADMIN role in the Role enum. Updates UserService to handle SUPERADMIN users by setting firstLogin to false upon creation and excluding SUPERADMIN users from the getAllUsers() result. Also removes some fields from the mapToResponseDTO method.
PRE-PRODUCTION-2026-NAEEM
Naeem Ullah 1 week ago
parent ff8cd6044a
commit 73ab08e9c5

@ -1,5 +1,5 @@
package com.mfsys.aconnect.usermanagement.model;
public enum Role {
USER, ADMIN
USER, ADMIN, SUPERADMIN
}

@ -42,6 +42,9 @@ public class UserService {
user.setUserFullname(request.getUserFullname());
user.setEmail(request.getEmail());
user.setRole(request.getRole());
if(request.getRole() == Role.SUPERADMIN){
user.setFirstLogin(false);
}
user.setPassword(passwordEncryptionService.hashPassword(request.getPassword()));
User savedUser = userRepository.save(user);
return mapToResponseDTO(savedUser);
@ -88,7 +91,7 @@ public class UserService {
public List<UserDTOs.UserResponse> getAllUsers() {
return userRepository.findAll().stream()
.filter(user -> user.getRole() != Role.ADMIN &&
.filter(user -> user.getRole() != Role.SUPERADMIN &&
user.isActive())
.map(this::mapToResponseDTO)
.collect(Collectors.toList());
@ -126,11 +129,6 @@ public class UserService {
response.setUserId(user.getUserId());
response.setUserFullname(user.getUserFullname());
response.setEmail(user.getEmail());
response.setRole(user.getRole());
response.setIsFirstLogin(user.isFirstLogin());
response.setIsActive(user.isActive());
response.setCreatedAt(user.getCreatedAt());
response.setUpdatedAt(user.getUpdatedAt());
return response;
}

Loading…
Cancel
Save