|
@@ -2,9 +2,11 @@ package com.qmth.ops.api.controller.admin;
|
|
|
|
|
|
import com.qmth.ops.api.binder.FileFormatBinder;
|
|
|
import com.qmth.ops.api.constants.OpsApiConstants;
|
|
|
+import com.qmth.ops.api.security.AdminSession;
|
|
|
import com.qmth.ops.biz.domain.ConfigGroup;
|
|
|
import com.qmth.ops.biz.domain.ConfigItem;
|
|
|
import com.qmth.ops.biz.domain.FileFormat;
|
|
|
+import com.qmth.ops.biz.domain.Role;
|
|
|
import com.qmth.ops.biz.service.*;
|
|
|
import org.springframework.web.bind.WebDataBinder;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -33,6 +35,9 @@ public class ConfigController {
|
|
|
@Resource
|
|
|
private VersionService versionService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private EnvService envService;
|
|
|
+
|
|
|
@InitBinder
|
|
|
public void initBinder(WebDataBinder dataBinder) {
|
|
|
dataBinder.addCustomFormatter(new FileFormatBinder());
|
|
@@ -44,34 +49,46 @@ public class ConfigController {
|
|
|
}
|
|
|
|
|
|
@PostMapping("/baseline")
|
|
|
- public List<ConfigItem> listBaseline(@RequestParam Long appId, @RequestParam Long versionId,
|
|
|
- @RequestParam Long moduleId) {
|
|
|
+ public List<ConfigItem> listBaseline(@RequestAttribute AdminSession accessEntity, @RequestParam Long appId,
|
|
|
+ @RequestParam Long versionId, @RequestParam Long moduleId) {
|
|
|
+ accessEntity.validateApp(appService.getById(appId));
|
|
|
return configService.listBaseline(appId, versionId, moduleId);
|
|
|
}
|
|
|
|
|
|
@PostMapping("/baseline/update")
|
|
|
- public Object updateBaseline(@RequestParam Long appId, @RequestParam Long versionId, @RequestParam Long moduleId,
|
|
|
- @RequestParam MultipartFile file, @RequestParam FileFormat extension,
|
|
|
- @RequestParam(required = false) Long inheritVersionId) throws IOException {
|
|
|
+ public Object updateBaseline(@RequestAttribute AdminSession accessEntity, @RequestParam Long appId,
|
|
|
+ @RequestParam Long versionId, @RequestParam Long moduleId, @RequestParam MultipartFile file,
|
|
|
+ @RequestParam FileFormat extension, @RequestParam(required = false) Long inheritVersionId)
|
|
|
+ throws IOException {
|
|
|
+ accessEntity.validateRole(Role.DEV);
|
|
|
+ accessEntity.validateApp(appService.getById(appId));
|
|
|
return configService.updateBaseline(appService.getById(appId), versionService.getById(versionId),
|
|
|
moduleService.getById(moduleId), file.getInputStream(), extension,
|
|
|
inheritVersionId != null ? versionService.getById(inheritVersionId) : null);
|
|
|
}
|
|
|
|
|
|
@PostMapping("/baseline/item/update")
|
|
|
- public ConfigItem updateBaselineItem(ConfigItem item) {
|
|
|
+ public ConfigItem updateBaselineItem(@RequestAttribute AdminSession accessEntity, ConfigItem item) {
|
|
|
+ accessEntity.validateRole(Role.DEV);
|
|
|
+ accessEntity.validateApp(appService.getById(item.getAppId()));
|
|
|
return configService.updateBaselineItem(item);
|
|
|
}
|
|
|
|
|
|
@PostMapping("/list")
|
|
|
- public List<ConfigItem> listConfigItem(@RequestParam Long appId, @RequestParam Long versionId,
|
|
|
- @RequestParam Long moduleId, @RequestParam Long envId) {
|
|
|
+ public List<ConfigItem> listConfigItem(@RequestAttribute AdminSession accessEntity, @RequestParam Long appId,
|
|
|
+ @RequestParam Long versionId, @RequestParam Long moduleId, @RequestParam Long envId) {
|
|
|
+ accessEntity.validateApp(appService.getById(appId));
|
|
|
+ accessEntity.validateEnv(envService.getById(envId).getType());
|
|
|
return configService.listConfigItem(appId, versionId, moduleId, envId);
|
|
|
}
|
|
|
|
|
|
@PostMapping("/item/update")
|
|
|
- public ConfigItem updateConfigItem(ConfigItem item) {
|
|
|
+ public ConfigItem updateConfigItem(@RequestAttribute AdminSession accessEntity, ConfigItem item) {
|
|
|
+ accessEntity.validateRole(Role.TEST, Role.OPS);
|
|
|
+ accessEntity.validateApp(appService.getById(item.getAppId()));
|
|
|
+ accessEntity.validateEnv(envService.getById(item.getEnvId()).getType());
|
|
|
return configService.updateConfigItem(item);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|