From 73ab08e9c51a3b0a77b70e3b8135acbdc77c2ecb Mon Sep 17 00:00:00 2001 From: Naeem Ullah Date: Mon, 26 Jan 2026 17:08:56 +0500 Subject: [PATCH] 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. --- .../com/mfsys/aconnect/usermanagement/model/Role.java | 2 +- .../aconnect/usermanagement/service/UserService.java | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/aconnect/src/main/java/com/mfsys/aconnect/usermanagement/model/Role.java b/aconnect/src/main/java/com/mfsys/aconnect/usermanagement/model/Role.java index 6563036..707c09b 100644 --- a/aconnect/src/main/java/com/mfsys/aconnect/usermanagement/model/Role.java +++ b/aconnect/src/main/java/com/mfsys/aconnect/usermanagement/model/Role.java @@ -1,5 +1,5 @@ package com.mfsys.aconnect.usermanagement.model; public enum Role { - USER, ADMIN + USER, ADMIN, SUPERADMIN } diff --git a/aconnect/src/main/java/com/mfsys/aconnect/usermanagement/service/UserService.java b/aconnect/src/main/java/com/mfsys/aconnect/usermanagement/service/UserService.java index 2c939eb..2fe3a2b 100644 --- a/aconnect/src/main/java/com/mfsys/aconnect/usermanagement/service/UserService.java +++ b/aconnect/src/main/java/com/mfsys/aconnect/usermanagement/service/UserService.java @@ -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 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; }