use of com.vip.saturn.job.console.aop.annotation.Audit in project Saturn by vipshop.
the class NamespaceAndJobRestApiController method create.
@Audit(type = AuditType.REST)
@RequestMapping(value = "/namespaces/createNamespaceAndImportJobs", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseEntity<Object> create(@RequestBody Map<String, Object> reqParams, HttpServletRequest request) throws SaturnJobConsoleException {
try {
String namespace = checkAndGetParametersValueAsString(reqParams, "namespace", true);
if (StringUtils.isBlank(namespace)) {
throw new SaturnJobConsoleException("namespace is empty");
}
String zkClusterName = checkAndGetParametersValueAsString(reqParams, "zkCluster", true);
if (StringUtils.isBlank(zkClusterName)) {
throw new SaturnJobConsoleException("zkCluster is empty");
}
String srcNamespace = checkAndGetParametersValueAsString(reqParams, "srcNamespace", true);
if (StringUtils.isBlank(srcNamespace)) {
throw new SaturnJobConsoleException("srcNamespace is empty");
}
String createBy = checkAndGetParametersValueAsString(reqParams, "createBy", true);
namespaceAndJobService.createNamespaceAndCloneJobs(srcNamespace, namespace, zkClusterName, createBy);
return new ResponseEntity<>(HttpStatus.CREATED);
} catch (SaturnJobConsoleException e) {
throw e;
} catch (Exception e) {
throw new SaturnJobConsoleHttpException(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage(), e);
}
}
use of com.vip.saturn.job.console.aop.annotation.Audit in project Saturn by vipshop.
the class ZkDbDiffRestApiController method diff.
@Audit(type = AuditType.REST)
@RequestMapping(value = "/diff", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public ResponseEntity<Object> diff(String zkcluster, HttpServletRequest request) throws SaturnJobConsoleHttpException {
try {
checkMissingParameter("zkcluster", zkcluster);
List<JobDiffInfo> resultList = zkDBDiffService.diffByCluster(zkcluster);
return new ResponseEntity<Object>(resultList, HttpStatus.OK);
} catch (Exception e) {
throw new SaturnJobConsoleHttpException(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage(), e);
}
}
use of com.vip.saturn.job.console.aop.annotation.Audit in project Saturn by vipshop.
the class ConsoleConfigController method updateConfig.
/**
* 更新配置项。
*
* @param key 配置key
* @param value 配置值
*/
@ApiResponses(value = { @ApiResponse(code = 200, message = "Success/Fail", response = RequestResult.class) })
@Audit
@PostMapping("/update")
public SuccessResponseEntity updateConfig(@AuditParam(value = "key") @RequestParam String key, @AuditParam(value = "value") @RequestParam String value) throws SaturnJobConsoleException {
assertIsPermitted(PermissionKeys.systemConfig);
// 不能更新EXECUTOR_CONFIGS
if (SystemConfigProperties.EXECUTOR_CONFIGS.equals(key)) {
throw new SaturnJobConsoleException(String.format("配置项不能为%s", key));
}
SystemConfig systemConfig = new SystemConfig();
systemConfig.setProperty(key);
systemConfig.setValue(value);
systemConfigService.updateConfig(systemConfig);
return new SuccessResponseEntity();
}
use of com.vip.saturn.job.console.aop.annotation.Audit in project Saturn by vipshop.
the class JobOperationRestApiController method update.
@Audit(type = AuditType.REST)
@RequestMapping(value = "/{namespace}/jobs/{jobName}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseEntity<Object> update(@PathVariable("namespace") String namespace, @PathVariable String jobName, @RequestBody Map<String, Object> reqParams) throws SaturnJobConsoleException {
try {
JobConfig jobConfig = constructJobConfigOfUpdate(namespace, jobName, reqParams);
restApiService.updateJob(namespace, jobName, jobConfig);
return new ResponseEntity<>(HttpStatus.OK);
} catch (SaturnJobConsoleException e) {
throw e;
} catch (Exception e) {
throw new SaturnJobConsoleHttpException(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage(), e);
}
}
use of com.vip.saturn.job.console.aop.annotation.Audit in project Saturn by vipshop.
the class JobOperationRestApiController method create.
@Audit(type = AuditType.REST)
@RequestMapping(value = "/{namespace}/jobs", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseEntity<Object> create(@PathVariable("namespace") String namespace, @RequestBody Map<String, Object> reqParams) throws SaturnJobConsoleException {
try {
JobConfig jobConfig = constructJobConfigOfCreate(namespace, reqParams);
restApiService.createJob(namespace, jobConfig);
return new ResponseEntity<>(HttpStatus.CREATED);
} catch (SaturnJobConsoleException e) {
throw e;
} catch (Exception e) {
throw new SaturnJobConsoleHttpException(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage(), e);
}
}
Aggregations