diff --git a/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java b/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java index 6627e999..eb093502 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/UserDao.java @@ -18,6 +18,7 @@ import net.gepafin.tendermanagement.model.util.JWTToken; import net.gepafin.tendermanagement.repositories.BeneficiaryRepository; import net.gepafin.tendermanagement.repositories.UserRepository; import net.gepafin.tendermanagement.service.CompanyService; +import net.gepafin.tendermanagement.service.RoleService; import net.gepafin.tendermanagement.service.impl.AuthenticationService; import net.gepafin.tendermanagement.util.Utils; import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException; @@ -57,6 +58,8 @@ public class UserDao { @Autowired private BeneficiaryRepository beneficiaryRepository; + @Autowired + private RoleService roleService; public JWTToken createUser(HttpServletRequest request, String tempToken, UserReq userReq) { @@ -359,7 +362,8 @@ public class UserDao { List users; if (roleId != null) { log.info("Fetching users by role ID: {}", roleId); - users = userRepository.findByRoleEntityId(roleId); + RoleEntity roleEntity=roleService.validateRole(roleId); + users = userRepository.findByRoleEntityId(roleEntity.getId()); } else { log.info("Fetching all users"); users = userRepository.findAll(); diff --git a/src/main/java/net/gepafin/tendermanagement/service/RoleService.java b/src/main/java/net/gepafin/tendermanagement/service/RoleService.java index 6c9c519d..aacecbaa 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/RoleService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/RoleService.java @@ -1,5 +1,6 @@ package net.gepafin.tendermanagement.service; +import net.gepafin.tendermanagement.entities.RoleEntity; import net.gepafin.tendermanagement.model.request.RoleReq; import net.gepafin.tendermanagement.model.response.RoleResponseBean; @@ -15,4 +16,5 @@ public interface RoleService { void deleteRole(Long roleId); List getAllRoles(); + RoleEntity validateRole(Long roleId); } diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/RoleServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/RoleServiceImpl.java index 49fd86c4..697e0018 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/RoleServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/RoleServiceImpl.java @@ -3,6 +3,7 @@ package net.gepafin.tendermanagement.service.impl; import java.util.List; import net.gepafin.tendermanagement.dao.RoleDao; +import net.gepafin.tendermanagement.entities.RoleEntity; import net.gepafin.tendermanagement.model.request.RoleReq; import net.gepafin.tendermanagement.model.response.RoleResponseBean; import net.gepafin.tendermanagement.service.RoleService; @@ -46,4 +47,10 @@ public class RoleServiceImpl implements RoleService { return roleDao.getAllRoles(); } + @Override + @Transactional(readOnly = true) + public RoleEntity validateRole(Long roleId) { + return roleDao.validateRole(roleId); + + } }