Merge pull request #140 from Kitzanos/update-get-all-user-api
Modified the API parameter of get all users
This commit is contained in:
@@ -448,12 +448,14 @@ public class UserDao {
|
|||||||
return authService.validateNewUserToken(token);
|
return authService.validateNewUserToken(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<UserResponseBean> getAllUsers(UserEntity user, Long roleId) {
|
public List<UserResponseBean> getAllUsers(UserEntity user, List<Long> roleIds) {
|
||||||
List<UserEntity> users;
|
List<UserEntity> users;
|
||||||
if (roleId != null) {
|
if (roleIds != null) {
|
||||||
log.info("Fetching users by role ID: {}", roleId);
|
log.info("Fetching users by role ID: {}", roleIds);
|
||||||
RoleEntity roleEntity=roleService.validateRole(roleId);
|
List<RoleEntity> roleEntities = roleIds.stream()
|
||||||
users = userRepository.findByRoleEntityIdAndHubId(roleEntity.getId(), user.getHub().getId());
|
.map(roleService::validateRole) // Assuming `validateRole` takes an ID and returns a RoleEntity
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
users = userRepository.findByRoleEntityIdInAndHubId(roleIds, user.getHub().getId());
|
||||||
} else {
|
} else {
|
||||||
log.info("Fetching all users");
|
log.info("Fetching all users");
|
||||||
users = userRepository.findByHubId(user.getHub().getId());
|
users = userRepository.findByHubId(user.getHub().getId());
|
||||||
@@ -462,7 +464,7 @@ public class UserDao {
|
|||||||
.map(this::convertUserEntityToUserResponse)
|
.map(this::convertUserEntityToUserResponse)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
log.info("Total users found with role ID {}: {}", roleId, userResponseBeans.size());
|
log.info("Total users found with role ID {}: {}", roleIds, userResponseBeans.size());
|
||||||
return userResponseBeans;
|
return userResponseBeans;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public interface UserRepository extends JpaRepository<UserEntity, Long> {
|
|||||||
|
|
||||||
boolean existsByEmailIgnoreCaseAndHubUniqueUuid(String email, String hubUuid);
|
boolean existsByEmailIgnoreCaseAndHubUniqueUuid(String email, String hubUuid);
|
||||||
|
|
||||||
List<UserEntity> findByRoleEntityIdAndHubId(Long roleId, Long hubId);
|
List<UserEntity> findByRoleEntityIdInAndHubId(List<Long> roleIds, Long hubId);
|
||||||
|
|
||||||
List<UserEntity> findByHubId(Long hubId);
|
List<UserEntity> findByHubId(Long hubId);
|
||||||
|
|
||||||
|
|||||||
@@ -45,6 +45,6 @@ public interface UserService {
|
|||||||
UserEntity getUserByBeneficiaryId(Long beneficiaryId);
|
UserEntity getUserByBeneficiaryId(Long beneficiaryId);
|
||||||
|
|
||||||
public UserEntity getUserEntityById(Long userId);
|
public UserEntity getUserEntityById(Long userId);
|
||||||
List<UserResponseBean> getAllUsers(HttpServletRequest request, Long roleId);
|
List<UserResponseBean> getAllUsers(HttpServletRequest request, List<Long> roleIds);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -126,8 +126,8 @@ public class UserServiceImpl implements UserService {
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
public List<UserResponseBean> getAllUsers(HttpServletRequest request, Long roleId) {
|
public List<UserResponseBean> getAllUsers(HttpServletRequest request, List<Long> roleIds) {
|
||||||
UserEntity user=validator.validateUser(request);
|
UserEntity user=validator.validateUser(request);
|
||||||
return userDao.getAllUsers(user, roleId);
|
return userDao.getAllUsers(user, roleIds);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -234,9 +234,9 @@ public interface UserApi {
|
|||||||
@ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
|
@ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
|
||||||
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE)}))})
|
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE)}))})
|
||||||
@RequestMapping(value = "", produces = {"application/json"}, method = RequestMethod.GET)
|
@RequestMapping(value = "", produces = {"application/json"}, method = RequestMethod.GET)
|
||||||
@PreAuthorize("hasRole('ROLE_SUPER_ADMIN')")
|
@PreAuthorize("hasRole('ROLE_SUPER_ADMIN')|| hasRole('ROLE_INSTRUCTOR_MANAGER')")
|
||||||
ResponseEntity<Response<List<UserResponseBean>>> getAllUsers(HttpServletRequest request,
|
ResponseEntity<Response<List<UserResponseBean>>> getAllUsers(HttpServletRequest request,
|
||||||
@Parameter( required = false)@RequestParam(value ="roleId", required = false) Long roleId);
|
@Parameter( required = false)@RequestParam(value ="roleIds", required = false) List<Long> roleIds);
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("favicon.ico")
|
@RequestMapping("favicon.ico")
|
||||||
|
|||||||
@@ -216,14 +216,14 @@ public class UserApiController implements UserApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<Response<List<UserResponseBean>>> getAllUsers(HttpServletRequest request, Long roleId) {
|
public ResponseEntity<Response<List<UserResponseBean>>> getAllUsers(HttpServletRequest request, List<Long> roleIds) {
|
||||||
|
|
||||||
log.info("Get all Users by Role ID - Role ID: {}", roleId);
|
log.info("Get all Users by Role ID - Role ID: {}", roleIds);
|
||||||
|
|
||||||
/** This code is responsible for creating user action logs for the "Get all users by role" operation. **/
|
/** This code is responsible for creating user action logs for the "Get all users by role" operation. **/
|
||||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW).actionContext(UserActionContextEnum.GET_ALL_USERS_BY_ROLE).build());
|
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW).actionContext(UserActionContextEnum.GET_ALL_USERS_BY_ROLE).build());
|
||||||
|
|
||||||
List<UserResponseBean> users = userService.getAllUsers(request, roleId);
|
List<UserResponseBean> users = userService.getAllUsers(request, roleIds);
|
||||||
|
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(new Response<>(users, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_USERS_SUCCESS_MSG)));
|
return ResponseEntity.status(HttpStatus.OK).body(new Response<>(users, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_USERS_SUCCESS_MSG)));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user