Jelajahi Sumber

controllers

blumonilr 5 tahun lalu
induk
melakukan
06ba357e0d

+ 65 - 5
src/main/java/com/nju/edu/gitlab/controller/GitlabProjectController.java

@@ -1,12 +1,11 @@
 package com.nju.edu.gitlab.controller;
 
-import com.nju.edu.gitlab.web.dto.ProjectDTO;
+import com.nju.edu.gitlab.web.dto.*;
 import com.nju.edu.gitlab.web.response.EmptyResponse;
 import com.nju.edu.gitlab.web.response.Response;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import javax.ws.rs.Path;
 
 @RestController
 @RequestMapping("/api/project")
@@ -16,4 +15,65 @@ public class GitlabProjectController {
     public Response createProject(@RequestBody ProjectDTO projectDTO){
         return new EmptyResponse();
     }
+
+    @PostMapping("/userFork")
+    public Response forkProject(@RequestBody UserForkDTO userForkDTO){
+        return new EmptyResponse();
+    }
+
+    @PostMapping("/groupFork")
+    public Response groupForkProject(@RequestBody GroupForkDTO groupForkDTO){
+        return new EmptyResponse();
+    }
+
+    @GetMapping("/compare")
+    public Response compareProject(@RequestParam Integer projectId,
+                                   @RequestParam String fromBash,
+                                   @RequestParam String toBash){
+        return new EmptyResponse();
+    }
+
+    @PostMapping("/webhook")
+    public Response addWebHook(@RequestBody WebHookDTO webHookDTO){
+        return new EmptyResponse();
+    }
+
+    @PostMapping("/archive")
+    public Response archiveProject(@RequestParam Integer projectId){
+        return new EmptyResponse();
+    }
+
+    @DeleteMapping("/{projectId}")
+    public Response deleteProject(@PathVariable(name = "projectId") Integer projectId){
+        return new EmptyResponse();
+    }
+
+    @GetMapping("/{projectId}/getFile")
+    public Response getProjectFile(@PathVariable(name = "projectId") Integer projectId,
+                                   @RequestBody ProjectFileDTO projectFileDTO){
+        return new EmptyResponse();
+    }
+
+    @GetMapping("/{projectId}/getRawFile")
+    public Response getProjectRawFile(@PathVariable(name = "projectId") Integer projectId,
+                                      @RequestBody ProjectRawFileDTO projectRawFileDTO){
+        return new EmptyResponse();
+    }
+
+    @PostMapping("/{projectId}/commit")
+    public Response createCommit(@PathVariable(name = "projectId") Integer projectId,
+                                 @RequestBody CommitDTO commitDTO){
+        return new EmptyResponse();
+    }
+
+    @GetMapping("{projectId}/commit/{commitHash}")
+    public Response getAllCommitMessage(@PathVariable(name = "projectId") Integer projectId,
+                                        @PathVariable(name = "commitHash") String commitHash){
+        return new EmptyResponse();
+    }
+
+    @GetMapping("/{projectId}/branches")
+    public Response getAllBranches(@PathVariable(name = "projectId") Integer projectId){
+        return new EmptyResponse();
+    }
 }

+ 12 - 4
src/main/java/com/nju/edu/gitlab/controller/GitlabUserController.java

@@ -1,12 +1,10 @@
 package com.nju.edu.gitlab.controller;
 
+import com.nju.edu.gitlab.web.dto.ChangePasswordDTO;
 import com.nju.edu.gitlab.web.dto.GitlabUserDTO;
 import com.nju.edu.gitlab.web.response.EmptyResponse;
 import com.nju.edu.gitlab.web.response.Response;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 @RestController
 @RequestMapping("/api/user")
@@ -16,4 +14,14 @@ public class GitlabUserController {
     public Response createGitlabUser(@RequestBody GitlabUserDTO gitlabUserDTO){
         return new EmptyResponse();
     }
+
+    @PostMapping("/changePassword")
+    public Response changePassword(@RequestBody ChangePasswordDTO changePasswordDTO){
+        return new EmptyResponse();
+    }
+
+    @DeleteMapping("/{userId}")
+    public Response deleteUser(@PathVariable(name = "userId") Integer userId){
+        return new EmptyResponse();
+    }
 }

+ 14 - 0
src/main/java/com/nju/edu/gitlab/web/dto/ChangePasswordDTO.java

@@ -0,0 +1,14 @@
+package com.nju.edu.gitlab.web.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ChangePasswordDTO {
+
+    private int userId;
+    private String password;
+}

+ 19 - 0
src/main/java/com/nju/edu/gitlab/web/dto/CommitDTO.java

@@ -0,0 +1,19 @@
+package com.nju.edu.gitlab.web.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.gitlab4j.api.models.CommitAction;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class CommitDTO {
+    private String branch;
+    private String commitMessage;
+    private String email;
+    private String username;
+    private List<CommitAction> actions;
+}

+ 13 - 0
src/main/java/com/nju/edu/gitlab/web/dto/GroupForkDTO.java

@@ -0,0 +1,13 @@
+package com.nju.edu.gitlab.web.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class GroupForkDTO {
+    private int groupId;
+    private int projectId;
+}

+ 13 - 0
src/main/java/com/nju/edu/gitlab/web/dto/ProjectFileDTO.java

@@ -0,0 +1,13 @@
+package com.nju.edu.gitlab.web.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectFileDTO {
+    private String branch;
+    private String path;
+}

+ 13 - 0
src/main/java/com/nju/edu/gitlab/web/dto/ProjectRawFileDTO.java

@@ -0,0 +1,13 @@
+package com.nju.edu.gitlab.web.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectRawFileDTO {
+    private String commitOrBranchName;
+    private String path;
+}

+ 14 - 0
src/main/java/com/nju/edu/gitlab/web/dto/UserForkDTO.java

@@ -0,0 +1,14 @@
+package com.nju.edu.gitlab.web.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class UserForkDTO {
+
+    private int userId;
+    private int projectId;
+}

+ 16 - 0
src/main/java/com/nju/edu/gitlab/web/dto/WebHookDTO.java

@@ -0,0 +1,16 @@
+package com.nju.edu.gitlab.web.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class WebHookDTO {
+    private int projectId;
+    private String url;
+    private boolean doPushEvents;
+    private boolean doIssueEvents;
+    private boolean doMergeRequestsEvents;
+}