|
|
@@ -0,0 +1,83 @@
|
|
|
+package cn.reghao.bnt.web.devops.app.controller.page;
|
|
|
+
|
|
|
+import cn.reghao.bnt.web.devops.app.db.repository.DockerAuthRepository;
|
|
|
+import cn.reghao.bnt.web.devops.app.model.po.DockerAuth;
|
|
|
+import cn.reghao.bnt.web.devops.app.model.vo.KeyValue;
|
|
|
+import cn.reghao.bnt.web.devops.build.model.constant.RepoAuthType;
|
|
|
+import cn.reghao.bnt.web.devops.build.model.constant.RepoType;
|
|
|
+import cn.reghao.bnt.web.util.db.PageSort;
|
|
|
+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.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 java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author reghao
|
|
|
+ * @date 2024-07-26 17:36:37
|
|
|
+ */
|
|
|
+@Api(tags = "Docker 认证配置页面")
|
|
|
+@Controller
|
|
|
+@RequestMapping("/app/config/docker")
|
|
|
+public class DockerAuthPageController {
|
|
|
+ private final DockerAuthRepository dockerAuthRepository;
|
|
|
+
|
|
|
+ public DockerAuthPageController(DockerAuthRepository dockerAuthRepository) {
|
|
|
+ this.dockerAuthRepository = dockerAuthRepository;
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "仓库认证列表页面")
|
|
|
+ @GetMapping("/auth")
|
|
|
+ public String repoAuthPage(Model model) {
|
|
|
+ PageRequest pageRequest = PageSort.pageRequest();
|
|
|
+ Page<DockerAuth> page = dockerAuthRepository.findAll(pageRequest);
|
|
|
+
|
|
|
+ model.addAttribute("page", page);
|
|
|
+ model.addAttribute("list", page.getContent());
|
|
|
+ return "/devops/app/config/docker/index";
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "仓库认证添加页面")
|
|
|
+ @GetMapping("/auth/add")
|
|
|
+ public String addRepoAuthPage(Model model) {
|
|
|
+ setRepoAuthModel(model);
|
|
|
+ return "/devops/app/config/docker/add";
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "仓库认证编辑页面")
|
|
|
+ @GetMapping("/auth/edit/{id}")
|
|
|
+ public String editRepoAuthPage(@PathVariable("id") DockerAuth repoAuth, Model model) {
|
|
|
+ repoAuth.setNull();
|
|
|
+ model.addAttribute("repoAuth", repoAuth);
|
|
|
+ return "/devops/app/config/docker/edit";
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setRepoAuthModel(Model model) {
|
|
|
+ List<KeyValue> repos = new ArrayList<>();
|
|
|
+ for (RepoType repoType : RepoType.values()) {
|
|
|
+ repos.add(new KeyValue(repoType.name(), repoType.name()));
|
|
|
+ }
|
|
|
+
|
|
|
+ List<KeyValue> auths = new ArrayList<>();
|
|
|
+ for (RepoAuthType authType : RepoAuthType.values()) {
|
|
|
+ auths.add(new KeyValue(authType.name(), authType.name()));
|
|
|
+ }
|
|
|
+
|
|
|
+ model.addAttribute("repos", repos);
|
|
|
+ model.addAttribute("auths", auths);
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/auth/detail/{id}")
|
|
|
+ public String repoAuthDetailPage(@PathVariable("id") DockerAuth repoAuth, Model model) {
|
|
|
+ repoAuth.setPassword("******");
|
|
|
+ model.addAttribute("repoAuth", repoAuth);
|
|
|
+ return "/devops/app/config/docker/detail";
|
|
|
+ }
|
|
|
+}
|