|
|
@@ -10,11 +10,9 @@ import com.nju.edu.gitlab.dto.member.AccessLevelForm;
|
|
|
import com.nju.edu.gitlab.dto.member.GroupMemberDTO;
|
|
|
import com.nju.edu.gitlab.dto.project.ProjectDTO;
|
|
|
import com.nju.edu.gitlab.dto.project.VisibilityForm;
|
|
|
-import com.nju.edu.gitlab.vo.BranchVO;
|
|
|
-import com.nju.edu.gitlab.vo.DiffVO;
|
|
|
-import com.nju.edu.gitlab.vo.GitlabGroup;
|
|
|
-import com.nju.edu.gitlab.vo.GitlabUser;
|
|
|
+import com.nju.edu.gitlab.vo.*;
|
|
|
import com.nju.edu.gitlab.vo.commit.CommitVO;
|
|
|
+import org.gitlab4j.api.GitLabApiException;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import okhttp3.*;
|
|
|
@@ -84,12 +82,13 @@ public class SeecoderGitlabClient implements SeecoderGitlabApi{
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public GitlabUser createGitlabUser(String username, String password, String email) throws SeecoderGitlabException {
|
|
|
+ public GitlabUserVO createGitlabUser(int userId,String username, String password, String email) throws SeecoderGitlabException {
|
|
|
try {
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
Request.Builder builder = new Request.Builder()
|
|
|
.addHeader("Authorization", token);
|
|
|
GitlabUserDTO gitlabUserDTO=GitlabUserDTO.builder()
|
|
|
+ .userId(userId)
|
|
|
.email(email)
|
|
|
.password(password)
|
|
|
.username(username)
|
|
|
@@ -100,8 +99,8 @@ public class SeecoderGitlabClient implements SeecoderGitlabApi{
|
|
|
Request request = builder.build();
|
|
|
final Call call = client.newCall(request);
|
|
|
Response response = call.execute();
|
|
|
- GitlabUser gitlabUser = processResponse(objectMapper, response, GitlabUser.class);
|
|
|
- return gitlabUser;
|
|
|
+ GitlabUserVO gitlabUserVO = processResponse(objectMapper, response, GitlabUserVO.class);
|
|
|
+ return gitlabUserVO;
|
|
|
} catch (JsonProcessingException e) {
|
|
|
logger.error("JSON writeValueAsString error", e);
|
|
|
throw SeecoderGitlabException.JSON_ERROR;
|
|
|
@@ -127,8 +126,7 @@ public class SeecoderGitlabClient implements SeecoderGitlabApi{
|
|
|
Request request = builder.build();
|
|
|
final Call call = client.newCall(request);
|
|
|
Response response = call.execute();
|
|
|
- boolean isChanged = processResponse(objectMapper, response, boolean.class);
|
|
|
- return isChanged;
|
|
|
+ return processResponse(objectMapper, response, boolean.class);
|
|
|
} catch (JsonProcessingException e) {
|
|
|
logger.error("JSON writeValueAsString error", e);
|
|
|
throw SeecoderGitlabException.JSON_ERROR;
|
|
|
@@ -214,7 +212,7 @@ public class SeecoderGitlabClient implements SeecoderGitlabApi{
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Integer createProject(String projectName, VisibilityForm visibilityForm) throws SeecoderGitlabException {
|
|
|
+ public ProjectVO createProject(String projectName, VisibilityForm visibilityForm) throws SeecoderGitlabException {
|
|
|
try {
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
Request.Builder builder = new Request.Builder()
|
|
|
@@ -230,7 +228,7 @@ public class SeecoderGitlabClient implements SeecoderGitlabApi{
|
|
|
Request request = builder.build();
|
|
|
final Call call = client.newCall(request);
|
|
|
Response response = call.execute();
|
|
|
- return processResponse(objectMapper, response, Integer.class);
|
|
|
+ return processResponse(objectMapper, response, ProjectVO.class);
|
|
|
} catch (JsonProcessingException e) {
|
|
|
logger.error("JSON writeValueAsString error", e);
|
|
|
throw SeecoderGitlabException.JSON_ERROR;
|
|
|
@@ -502,4 +500,81 @@ public class SeecoderGitlabClient implements SeecoderGitlabApi{
|
|
|
throw SeecoderGitlabException.IO_ERROR;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean addAuthorization(int projectId, int userId, AccessLevelForm accessLevelForm) throws GitLabApiException, SeecoderGitlabException {
|
|
|
+ try {
|
|
|
+ ObjectMapper objectMapper = new ObjectMapper();
|
|
|
+ Request.Builder builder = new Request.Builder()
|
|
|
+ .addHeader("Authorization", token);
|
|
|
+ AccessLevel accessLevel=AccessLevel.forValue(accessLevelForm.value);
|
|
|
+ UpdateMemberDTO updateMemberDTO=UpdateMemberDTO.builder()
|
|
|
+ .accessLevel(accessLevel)
|
|
|
+ .userId(userId)
|
|
|
+ .projectId(projectId)
|
|
|
+ .build();
|
|
|
+ builder = builder
|
|
|
+ .url(host + "/api/project/updateMember")
|
|
|
+ .post(RequestBody.create(MediaType.parse("application/json; charset=utf-8"), objectMapper.writeValueAsString(updateMemberDTO)));
|
|
|
+ Request request = builder.build();
|
|
|
+ final Call call = client.newCall(request);
|
|
|
+ Response response = call.execute();
|
|
|
+ boolean isAdded = processResponse(objectMapper, response, boolean.class);
|
|
|
+ return isAdded;
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
+ logger.error("JSON writeValueAsString error", e);
|
|
|
+ throw SeecoderGitlabException.JSON_ERROR;
|
|
|
+ } catch (IOException e) {
|
|
|
+ logger.error("IOException", e);
|
|
|
+ throw SeecoderGitlabException.IO_ERROR;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<ProjectVO> getAllProjectsByUserId(int userId) throws SeecoderGitlabException {
|
|
|
+ try {
|
|
|
+ ObjectMapper objectMapper = new ObjectMapper();
|
|
|
+ Request.Builder builder = new Request.Builder()
|
|
|
+ .addHeader("Authorization", token);
|
|
|
+ builder = builder
|
|
|
+ .url(host + "/api/project/allProject/"+userId)
|
|
|
+ .get();
|
|
|
+ Request request = builder.build();
|
|
|
+ final Call call = client.newCall(request);
|
|
|
+ Response response = call.execute();
|
|
|
+ List<ProjectVO> projectVOList=new ArrayList<>();
|
|
|
+ projectVOList=processResponse(objectMapper, response, projectVOList.getClass());
|
|
|
+ return projectVOList;
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
+ logger.error("JSON writeValueAsString error", e);
|
|
|
+ throw SeecoderGitlabException.JSON_ERROR;
|
|
|
+ } catch (IOException e) {
|
|
|
+ logger.error("IOException", e);
|
|
|
+ throw SeecoderGitlabException.IO_ERROR;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Integer> getJoinedUserByProject(int projectId) throws SeecoderGitlabException {
|
|
|
+ try {
|
|
|
+ ObjectMapper objectMapper = new ObjectMapper();
|
|
|
+ Request.Builder builder = new Request.Builder()
|
|
|
+ .addHeader("Authorization", token);
|
|
|
+ builder = builder
|
|
|
+ .url(host + "/api/project/projectMembers/"+projectId)
|
|
|
+ .get();
|
|
|
+ Request request = builder.build();
|
|
|
+ final Call call = client.newCall(request);
|
|
|
+ Response response = call.execute();
|
|
|
+ List<Integer> userList=new ArrayList<>();
|
|
|
+ userList=processResponse(objectMapper, response, userList.getClass());
|
|
|
+ return userList;
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
+ logger.error("JSON writeValueAsString error", e);
|
|
|
+ throw SeecoderGitlabException.JSON_ERROR;
|
|
|
+ } catch (IOException e) {
|
|
|
+ logger.error("IOException", e);
|
|
|
+ throw SeecoderGitlabException.IO_ERROR;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|