package com.nju.edu.gitlab.service.api; import com.nju.edu.gitlab.web.dto.*; import org.gitlab4j.api.GitLabApiException; import org.gitlab4j.api.models.Branch; import org.gitlab4j.api.models.Commit; import org.gitlab4j.api.models.Diff; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Set; public interface ProjectService { public Integer createProject(ProjectDTO projectDTO) throws GitLabApiException; public Integer forkProject(UserForkDTO userForkDTO) throws GitLabApiException; public Integer forkGroupProject(GroupForkDTO groupForkDTO) throws GitLabApiException; public Set compare(int projectId, String fromBash, String toBash) throws GitLabApiException; public boolean addWebHook(WebHookDTO webHookDTO) throws GitLabApiException; public boolean archiveProject(int projectId) throws GitLabApiException; public String getProjectFile(int projectId, ProjectFileDTO projectFileDTO) throws UnsupportedEncodingException, GitLabApiException; public String getProjectRawFile(int projectId, ProjectRawFileDTO projectRawFileDTO) throws GitLabApiException, IOException; public Commit createCommit(int projectId, CommitDTO commitDTO) throws GitLabApiException; public List getAllCommitMessage(int projectId,String commitHash) throws GitLabApiException; public List getProjectBranches(int projectId) throws GitLabApiException; }