public CompletableFuture<List<UserVO>> list(ListUserRequest request) { return list(request.getLogin(), request.getLoginPattern(), request.getRole(), request.getStatus(), request.getSortField(), request.getSortOrder(), request.getTake(), request.getSkip()); }
public static ListUserRequest createListUserRequest(JsonObject request) { ListUserRequest listUserRequest = new GsonBuilder() .excludeFieldsWithModifiers(Modifier.PROTECTED) .create() .fromJson(request, ListUserRequest.class); listUserRequest.setTake(Optional.ofNullable(listUserRequest.getTake()).orElse(DEFAULT_TAKE)); listUserRequest.setSkip(Optional.ofNullable(listUserRequest.getSkip()).orElse(DEFAULT_SKIP)); return listUserRequest; }
@Override public Response handle(Request request) { final ListUserRequest req = (ListUserRequest) request.getBody(); final List<UserVO> users = userDao.list(req.getLogin(), req.getLoginPattern(), req.getRole(), req.getStatus(), req.getSortField(), req.isSortOrderAsc(), req.getTake(), req.getSkip()); return Response.newBuilder() .withBody(new ListUserResponse(users)) .buildSuccess(); } }
public CompletableFuture<List<UserVO>> list(String login, String loginPattern, Integer role, Integer status, String sortField, String sortOrder, Integer take, Integer skip) { ListUserRequest request = new ListUserRequest(); request.setLogin(login); request.setLoginPattern(loginPattern); request.setRole(role); request.setStatus(status); request.setSortField(sortField); request.setSortOrder(sortOrder); request.setTake(take); request.setSkip(skip); CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request .newBuilder() .withBody(request) .build(), new ResponseConsumer(future)); return future.thenApply(r -> ((ListUserResponse) r.getBody()).getUsers()); }
@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); }); }