@HiveWebsocketAuth
@PreAuthorize("isAuthenticated() and hasPermission(null, 'MANAGE_USER')")
public void processUserList(JsonObject request, WebSocketSession session) {
ListUserRequest listUserRequest = createListUserRequest(request);
String sortField = Optional.ofNullable(listUserRequest.getSortField()).map(String::toLowerCase).orElse(null);
if (sortField != null && !ID.equalsIgnoreCase(sortField) && !LOGIN.equalsIgnoreCase(sortField)) {
throw new HiveException(Messages.INVALID_REQUEST_PARAMETERS, BAD_REQUEST.getStatusCode());
}
userService.list(listUserRequest)
.thenAccept(users -> {
logger.debug("User list request proceed successfully");
WebSocketResponse response = new WebSocketResponse();
response.addValue(USERS, users, USERS_LISTED);
clientHandler.sendMessage(request, response, session);
});
}