Переглянути джерело

feat: 获取流水线模板列表功能

370774330@qq.com 5 роки тому
батько
коміт
418a180dde

+ 9 - 0
core/src/main/java/seecoder/devcloud/core/pipeline/template/PipelineTemplateTable.java

@@ -2,7 +2,9 @@ package seecoder.devcloud.core.pipeline.template;
 
 import seecoder.devcloud.core.pipeline.PipelineException;
 
+import java.util.ArrayList;
 import java.util.HashSet;
+import java.util.List;
 
 /**
  * @author PuHong Weng
@@ -32,6 +34,13 @@ public class PipelineTemplateTable {
         }
     }
 
+    /**
+     * 获取模板名字列表
+     */
+    public static List<String> getTemplateNames() {
+        return new ArrayList<String>(templateNames);
+    }
+
     public static String getTemplateDockerfileName(String templateName){
         return TEMPLATE_DOCKERFILE_PREFIX + templateName;
     }

+ 2 - 4
web/src/main/java/seecoder/devcloud/web/controller/pipeline/PipelineController.java

@@ -14,7 +14,6 @@ import seecoder.devcloud.web.model.vo.pipeline.PipelineHistoryVO;
 import seecoder.devcloud.web.model.vo.pipeline.PipelineInfoVO;
 import seecoder.devcloud.web.service.pipeline.PipelineService;
 
-import java.util.Collections;
 import java.util.List;
 
 /**
@@ -101,8 +100,7 @@ public class PipelineController {
 
     @ApiOperation(value = "获取可用的pipeline模板名字", httpMethod = "GET")
     @GetMapping("/templates")
-    public Response getPipelineTemplateNames(){
-        //todo 实现
-        return Response.buildSuccess(Collections.emptyList());
+    public Response<List<String>> getPipelineTemplateNames(){
+        return Response.buildSuccess(pipelineService.getTemplateNames());
     }
 }

+ 16 - 1
web/src/main/java/seecoder/devcloud/web/service/impl/pipeline/PipelineServiceImpl.java

@@ -2,10 +2,13 @@ package seecoder.devcloud.web.service.impl.pipeline;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import seecoder.devcloud.core.pipeline.template.PipelineTemplateTable;
 import seecoder.devcloud.web.dao.pipeline.PipelineHistoryMapper;
 import seecoder.devcloud.web.dao.pipeline.PipelineMapper;
+import seecoder.devcloud.web.dao.project.ProjectMapper;
 import seecoder.devcloud.web.model.po.pipeline.Pipeline;
 import seecoder.devcloud.web.model.po.pipeline.PipelineHistory;
+import seecoder.devcloud.web.model.po.project.Project;
 import seecoder.devcloud.web.model.po.user.User;
 import seecoder.devcloud.web.model.vo.pipeline.PipelineConfigVO;
 import seecoder.devcloud.web.model.vo.pipeline.PipelineCreateVO;
@@ -30,12 +33,14 @@ public class PipelineServiceImpl implements PipelineService {
 
     private final PipelineMapper pipelineMapper;
 
+    private final ProjectMapper projectMapper;
 
 
     @Autowired
-    public PipelineServiceImpl(PipelineHistoryMapper pipelineHistoryMapper, PipelineMapper pipelineMapper) {
+    public PipelineServiceImpl(PipelineHistoryMapper pipelineHistoryMapper, PipelineMapper pipelineMapper, ProjectMapper projectMapper) {
         this.pipelineHistoryMapper = pipelineHistoryMapper;
         this.pipelineMapper = pipelineMapper;
+        this.projectMapper = projectMapper;
     }
 
 
@@ -88,13 +93,23 @@ public class PipelineServiceImpl implements PipelineService {
         pipelineMapper.delete(pipelineId);
     }
 
+    @Override
+    public List<String> getTemplateNames() {
+        return PipelineTemplateTable.getTemplateNames();
+    }
+
     /**
      * 判断用户是否有权限修改这些流水线配置,
      * 防止用户修改提交的参数从而修改其他组的流水线
      */
     private void projectAuthentication(Integer projectId){
         User user = UserService.loginUser();
+        List<Project> projects = projectMapper.listProjectsByUserId(user.getId());
+
         //todo 鉴权
 
     }
+
+
+
 }

+ 2 - 1
web/src/main/java/seecoder/devcloud/web/service/pipeline/PipelineService.java

@@ -1,6 +1,5 @@
 package seecoder.devcloud.web.service.pipeline;
 
-import seecoder.devcloud.web.model.po.pipeline.Deployment;
 import seecoder.devcloud.web.model.vo.pipeline.PipelineConfigVO;
 import seecoder.devcloud.web.model.vo.pipeline.PipelineCreateVO;
 import seecoder.devcloud.web.model.vo.pipeline.PipelineHistoryVO;
@@ -54,4 +53,6 @@ public interface PipelineService {
      */
     void deletePipelineConfig(Integer projectId, Integer pipelineId);
 
+
+    List<String> getTemplateNames();
 }