|
|
@@ -1,18 +1,21 @@
|
|
|
-package cn.reghao.devops.mgr.build.controller.page;
|
|
|
+package cn.reghao.devops.mgr.build.controller;
|
|
|
|
|
|
+import cn.reghao.devops.common.docker.model.DockerAuth;
|
|
|
import cn.reghao.devops.mgr.build.db.repository.DockerRegistryRepository;
|
|
|
import cn.reghao.devops.mgr.build.model.po.DockerRegistry;
|
|
|
+import cn.reghao.devops.mgr.build.service.DockerRegistryService;
|
|
|
import cn.reghao.devops.mgr.util.PageSort;
|
|
|
+import cn.reghao.jutil.jdk.result.WebResult;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.domain.PageRequest;
|
|
|
+import org.springframework.http.MediaType;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.ui.Model;
|
|
|
-import org.springframework.web.bind.annotation.GetMapping;
|
|
|
-import org.springframework.web.bind.annotation.PathVariable;
|
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
/**
|
|
|
* @author reghao
|
|
|
@@ -22,10 +25,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
@Controller
|
|
|
@RequestMapping("/build")
|
|
|
public class DockerRegistryPageController {
|
|
|
- private final DockerRegistryRepository dockerAuthRepository;
|
|
|
+ private final DockerRegistryRepository dockerRegistryRepository;
|
|
|
+ private final DockerRegistryService dockerRegistryService;
|
|
|
|
|
|
- public DockerRegistryPageController(DockerRegistryRepository dockerAuthRepository) {
|
|
|
- this.dockerAuthRepository = dockerAuthRepository;
|
|
|
+ public DockerRegistryPageController(DockerRegistryRepository dockerRegistryRepository,
|
|
|
+ DockerRegistryService dockerRegistryService) {
|
|
|
+ this.dockerRegistryRepository = dockerRegistryRepository;
|
|
|
+ this.dockerRegistryService = dockerRegistryService;
|
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "DockerRegistry 列表页面", notes = "N")
|
|
|
@@ -33,7 +39,7 @@ public class DockerRegistryPageController {
|
|
|
@GetMapping("/registry")
|
|
|
public String repoAuthPage(Model model) {
|
|
|
PageRequest pageRequest = PageSort.pageRequest();
|
|
|
- Page<DockerRegistry> page = dockerAuthRepository.findAll(pageRequest);
|
|
|
+ Page<DockerRegistry> page = dockerRegistryRepository.findAll(pageRequest);
|
|
|
|
|
|
model.addAttribute("page", page);
|
|
|
model.addAttribute("list", page.getContent());
|
|
|
@@ -64,4 +70,22 @@ public class DockerRegistryPageController {
|
|
|
model.addAttribute("dockerRegistry", dockerRegistry);
|
|
|
return "/devops/build/docker/detail";
|
|
|
}
|
|
|
+
|
|
|
+ @ApiOperation(value = "添加/修改 DockerRegistry 配置", notes = "N")
|
|
|
+ @PreAuthorize("hasRole('ROLE_ADMIN')")
|
|
|
+ @PostMapping(value = "/registry", produces = MediaType.APPLICATION_JSON_VALUE)
|
|
|
+ @ResponseBody
|
|
|
+ public String addOrUpdateRepoConfig(@Validated DockerAuth dockerAuth) {
|
|
|
+ dockerRegistryService.addOrUpdate(dockerAuth);
|
|
|
+ return WebResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "删除 DockerRegistry 配置", notes = "N")
|
|
|
+ @PreAuthorize("hasRole('ROLE_ADMIN')")
|
|
|
+ @DeleteMapping(value = "/registry/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
|
|
|
+ @ResponseBody
|
|
|
+ public String deleteRepoConfig(@PathVariable("id") Integer id) {
|
|
|
+ dockerRegistryService.delete(id);
|
|
|
+ return WebResult.success();
|
|
|
+ }
|
|
|
}
|