EnvController.java 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package com.qmth.ops.api.controller.admin;
  2. import com.qmth.boot.api.annotation.Aac;
  3. import com.qmth.boot.api.annotation.BOOL;
  4. import com.qmth.ops.api.constants.OpsApiConstants;
  5. import com.qmth.ops.api.dto.CodeNameBean;
  6. import com.qmth.ops.api.dto.EnvVO;
  7. import com.qmth.ops.api.security.AdminSession;
  8. import com.qmth.ops.biz.domain.Env;
  9. import com.qmth.ops.biz.domain.EnvType;
  10. import com.qmth.ops.biz.domain.Role;
  11. import com.qmth.ops.biz.service.AppService;
  12. import com.qmth.ops.biz.service.EnvService;
  13. import com.qmth.ops.biz.service.UserService;
  14. import org.springframework.web.bind.annotation.PostMapping;
  15. import org.springframework.web.bind.annotation.RequestAttribute;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.RestController;
  18. import javax.annotation.Resource;
  19. import java.util.Arrays;
  20. import java.util.List;
  21. import java.util.stream.Collectors;
  22. @RestController
  23. @RequestMapping(OpsApiConstants.ADMIN_URI_PREFIX + "/env")
  24. public class EnvController {
  25. @Resource
  26. private AppService appService;
  27. @Resource
  28. private EnvService envService;
  29. @Resource
  30. private UserService userService;
  31. @RequestMapping("/types")
  32. @Aac(auth = BOOL.FALSE)
  33. public Object types() {
  34. return Arrays.stream(EnvType.values()).map(item -> new CodeNameBean(item.getCode(), item.getName())).toArray();
  35. }
  36. @PostMapping("/insert")
  37. public EnvVO insert(@RequestAttribute AdminSession adminSession, Env env) {
  38. adminSession.validateRole(Role.ADMIN);
  39. env = envService.insert(env);
  40. return new EnvVO(env, userService.getById(env.getUserId()));
  41. }
  42. @PostMapping("/update")
  43. public EnvVO update(@RequestAttribute AdminSession adminSession, Env env) {
  44. adminSession.validateRole(Role.ADMIN);
  45. env = envService.update(env);
  46. return new EnvVO(env, userService.getById(env.getUserId()));
  47. }
  48. @PostMapping("/list")
  49. public List<EnvVO> list(@RequestAttribute AdminSession adminSession, Long appId) {
  50. adminSession.validateApp(appService.getById(appId));
  51. return envService.list(appId).stream().map(env -> new EnvVO(env, userService.getById(env.getUserId())))
  52. .collect(Collectors.toList());
  53. }
  54. }