public String show(Request req, Response res) throws IOException { AdminsConfig adminsConf = adminsConfigService.systemAdmins(); if (isGetOrHeadRequestFresh(req, adminsConf)) { return notModified(res); } else { setEtagHeader(adminsConf, res); return writerForTopLevelObject(req, res, jsonWriter(adminsConf)); } }
public String show(Request req, Response res) throws IOException { AdminsConfig adminsConf = adminsConfigService.systemAdmins(); if (isGetOrHeadRequestFresh(req, adminsConf)) { return notModified(res); } else { setEtagHeader(adminsConf, res); return writerForTopLevelObject(req, res, jsonWriter(adminsConf)); } }
public BulkUpdateAdminsResult bulkUpdate(Username currentUser, List<String> usersToAdd, List<String> usersToRemove, List<String> rolesToAdd, List<String> rolesToRemove, String md5) { Set<Admin> existingAdmins = new HashSet<>(systemAdmins()); BulkUpdateAdminsResult result = validateUsersAndRolesForBulkUpdate(usersToRemove, rolesToRemove, existingAdmins); if (!result.isSuccessful()) { return result; } usersToAdd.forEach(user -> existingAdmins.add(new AdminUser(user))); rolesToAdd.forEach(role -> existingAdmins.add(new AdminRole(role))); usersToRemove.forEach(user -> existingAdmins.remove(new AdminUser(new CaseInsensitiveString(user)))); rolesToRemove.forEach(role -> existingAdmins.remove(new AdminRole(new CaseInsensitiveString(role)))); AdminsConfigUpdateCommand command = new AdminsConfigUpdateCommand(goConfigService, new AdminsConfig(existingAdmins), currentUser, result, entityHashingService, md5); updateConfig(currentUser, result, command); result.setAdminsConfig(command.getEntity()); return result; }
public String update(Request req, Response res) { AdminsConfig adminsConfigFromRequest = buildEntityFromRequestBody(req); AdminsConfig adminsConfigFromServer = adminsConfigService.systemAdmins(); if (isPutRequestStale(req, adminsConfigFromServer)) { throw haltBecauseEtagDoesNotMatch(); } HttpLocalizedOperationResult result = new HttpLocalizedOperationResult(); adminsConfigService.update(currentUsername(), adminsConfigFromRequest, etagFor(adminsConfigFromServer), result); return handleCreateOrUpdateResponse(req, res, adminsConfigFromRequest, result); }
public String update(Request req, Response res) { AdminsConfig adminsConfigFromRequest = buildEntityFromRequestBody(req); AdminsConfig adminsConfigFromServer = adminsConfigService.systemAdmins(); if (isPutRequestStale(req, adminsConfigFromServer)) { throw haltBecauseEtagDoesNotMatch(); } HttpLocalizedOperationResult result = new HttpLocalizedOperationResult(); adminsConfigService.update(currentUsername(), adminsConfigFromRequest, etagFor(adminsConfigFromServer), result); return handleCreateOrUpdateResponse(req, res, adminsConfigFromRequest, result); }
public String bulkUpdate(Request request, Response response) throws IOException { JsonReader jsonReader = GsonTransformer.getInstance().jsonReaderFrom(request.body()); BulkUpdateRequest bulkUpdateRequest = BulkUpdateRequestRepresenter.fromJSON(jsonReader); BulkUpdateAdminsResult result = adminsConfigService.bulkUpdate(currentUsername(), bulkUpdateRequest.getUsersToAdd(), bulkUpdateRequest.getUsersToRemove(), bulkUpdateRequest.getRolesToAdd(), bulkUpdateRequest.getRolesToRemove(), etagFor(adminsConfigService.systemAdmins())); if (result.isSuccessful()) { return writerForTopLevelObject(request, response, jsonWriter(adminsConfigService.systemAdmins())); } else { response.status(result.httpCode()); return writerForTopLevelObject(request, response, outputWriter -> BulkUpdateFailureResultRepresenter.toJSON(outputWriter, result)); } }