Преглед изворни кода

feat: add getCommitByBranch

claws пре 4 година
родитељ
комит
6a9c9d11b5

+ 1 - 1
seecoder-gitlab-server/pom.xml

@@ -81,7 +81,7 @@
         <dependency>
         <dependency>
             <groupId>com.nju.edu</groupId>
             <groupId>com.nju.edu</groupId>
             <artifactId>seecoder-gitlab-common</artifactId>
             <artifactId>seecoder-gitlab-common</artifactId>
-            <version>0.1.0</version>
+            <version>0.1.1</version>
         </dependency>
         </dependency>
     </dependencies>
     </dependencies>
 
 

+ 6 - 0
seecoder-gitlab-server/src/main/java/com/nju/edu/gitlab/controller/GitlabProjectController.java

@@ -90,6 +90,12 @@ public class GitlabProjectController {
         return new ResourceResponse(projectService.getAllCommitMessage(projectId, commitHash));
         return new ResourceResponse(projectService.getAllCommitMessage(projectId, commitHash));
     }
     }
 
 
+    @GetMapping("{projectId}/branch-commit/{branchName}")
+    public Response getCommitsByBranch(@PathVariable(name = "projectId") Integer projectId,
+                                           @PathVariable(name = "branchName") String branchName) throws GitLabApiException{
+        return new ResourceResponse(projectService.getCommitsByBranch(projectId, branchName));
+    }
+
     @GetMapping("/{projectId}/branches")
     @GetMapping("/{projectId}/branches")
     public Response getAllBranches(@PathVariable(name = "projectId") Integer projectId) throws GitLabApiException {
     public Response getAllBranches(@PathVariable(name = "projectId") Integer projectId) throws GitLabApiException {
         return new ResourceResponse(projectService.getProjectBranches(projectId));
         return new ResourceResponse(projectService.getProjectBranches(projectId));

+ 2 - 0
seecoder-gitlab-server/src/main/java/com/nju/edu/gitlab/service/api/ProjectService.java

@@ -46,6 +46,8 @@ public interface ProjectService {
 
 
     public List<CommitVO> getAllCommitMessage(int projectId,String commitHash) throws GitLabApiException;
     public List<CommitVO> getAllCommitMessage(int projectId,String commitHash) throws GitLabApiException;
 
 
+    public List<CommitVO> getCommitsByBranch(int projectId, String branchName) throws GitLabApiException;
+
     public List<BranchVO> getProjectBranches(int projectId) throws GitLabApiException;
     public List<BranchVO> getProjectBranches(int projectId) throws GitLabApiException;
 
 
     public boolean addAuthorization(UpdateMemberDTO updateMemberDTO) throws GitLabApiException;
     public boolean addAuthorization(UpdateMemberDTO updateMemberDTO) throws GitLabApiException;

+ 12 - 1
seecoder-gitlab-server/src/main/java/com/nju/edu/gitlab/service/impl/ProjectServiceImpl.java

@@ -219,7 +219,18 @@ public class ProjectServiceImpl implements ProjectService {
         return Collections.emptyList();
         return Collections.emptyList();
     }
     }
 
 
-    private CommitVO castCommitToVO(Commit commit,String branch) {
+    @Override
+    public List<CommitVO> getCommitsByBranch(int projectId, String branchName) throws GitLabApiException {
+        List<Commit> commits=gitlabApi.getCommitsApi().getCommits(projectId, branchName,null,null);
+        if (commits.size() != 0){
+            return commits.stream()
+                    .map(com -> castCommitToVO(com,branchName))
+                    .collect(Collectors.toList());
+        }
+        return null;
+    }
+
+    private CommitVO castCommitToVO(Commit commit, String branch) {
         return CommitVO.builder()
         return CommitVO.builder()
                 .branch(branch)
                 .branch(branch)
 //                .author(String.valueOf(commit.getAuthor().getId())) //todo 好像没这些属性
 //                .author(String.valueOf(commit.getAuthor().getId())) //todo 好像没这些属性