|
@@ -9,6 +9,7 @@ import com.nju.edu.gitlab.util.ApplicationProperties;
|
|
|
import com.nju.edu.gitlab.dto.*;
|
|
import com.nju.edu.gitlab.dto.*;
|
|
|
import com.nju.edu.gitlab.vo.BranchVO;
|
|
import com.nju.edu.gitlab.vo.BranchVO;
|
|
|
import com.nju.edu.gitlab.vo.ProjectVO;
|
|
import com.nju.edu.gitlab.vo.ProjectVO;
|
|
|
|
|
+import com.nju.edu.gitlab.vo.VisibilityVO;
|
|
|
import com.nju.edu.gitlab.vo.commit.CommitStatsVO;
|
|
import com.nju.edu.gitlab.vo.commit.CommitStatsVO;
|
|
|
import com.nju.edu.gitlab.vo.commit.CommitVO;
|
|
import com.nju.edu.gitlab.vo.commit.CommitVO;
|
|
|
import com.nju.edu.gitlab.vo.DiffVO;
|
|
import com.nju.edu.gitlab.vo.DiffVO;
|
|
@@ -349,6 +350,28 @@ public class ProjectServiceImpl implements ProjectService {
|
|
|
return mergeRequestApi.acceptMergeRequest(projectId, mergeRequest.getIid());
|
|
return mergeRequestApi.acceptMergeRequest(projectId, mergeRequest.getIid());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public VisibilityVO getProjectVisibility(int projectId) throws GitLabApiException {
|
|
|
|
|
+ ProjectApi projectApi = gitlabApi.getProjectApi();
|
|
|
|
|
+ Project project = projectApi.getProject(projectId);
|
|
|
|
|
+ return new VisibilityVO(projectId, project.getVisibility().toString());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public VisibilityVO setProjectVisibility(VisibilityVO visibilityVO) throws GitLabApiException {
|
|
|
|
|
+ if (visibilityVO == null || visibilityVO.getVisibility() == null ||
|
|
|
|
|
+ !Objects.equals(visibilityVO.getVisibility(), "PRIVATE") &&
|
|
|
|
|
+ !Objects.equals(visibilityVO.getVisibility(), "PUBLIC")) {
|
|
|
|
|
+ throw new GitLabApiException("Invalid visibility found.");
|
|
|
|
|
+ }
|
|
|
|
|
+ Visibility visibility = Visibility.forValue(visibilityVO.getVisibility());
|
|
|
|
|
+ ProjectApi projectApi = gitlabApi.getProjectApi();
|
|
|
|
|
+ Project project = projectApi.getProject(visibilityVO.getProjectId());
|
|
|
|
|
+ project.setVisibility(visibility);
|
|
|
|
|
+ projectApi.updateProject(project);
|
|
|
|
|
+ return visibilityVO;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private BranchVO castBranchToVO(Branch branch) {
|
|
private BranchVO castBranchToVO(Branch branch) {
|
|
|
return BranchVO.builder()
|
|
return BranchVO.builder()
|
|
|
.commit(castCommitToVO(branch.getCommit(),branch.getName()))
|
|
.commit(castCommitToVO(branch.getCommit(),branch.getName()))
|