Skip to content

Commit c1655e4

Browse files
committed
#9 Initial implementation for events endpoint
1 parent 09e56b7 commit c1655e4

2 files changed

Lines changed: 36 additions & 3 deletions

File tree

src/main/java/com/dkaedv/glghproxy/controller/ReposController.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,12 @@ public List<Event> getEvents(
9494
@PathVariable String namespace,
9595
@PathVariable String repo,
9696
@RequestHeader("Authorization") String authorization
97-
) {
98-
99-
return Collections.emptyList();
97+
) throws IOException {
98+
99+
GitlabAPI api = gitlab.connect(authorization);
100+
List<GitlabMergeRequest> glmergerequests = api.getMergeRequests(namespace + "/" + repo);
101+
102+
return GitlabToGithubConverter.convertMergeRequestsToEvents(glmergerequests, gitlabUrl, namespace, repo);
100103
}
101104

102105
@RequestMapping("/{namespace}/{repo}/pulls")

src/main/java/com/dkaedv/glghproxy/converter/GitlabToGithubConverter.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.dkaedv.glghproxy.converter;
22

33
import java.util.ArrayList;
4+
import java.util.Collections;
5+
import java.util.Comparator;
46
import java.util.HashMap;
57
import java.util.List;
68

@@ -20,6 +22,9 @@
2022
import org.eclipse.egit.github.core.RepositoryHook;
2123
import org.eclipse.egit.github.core.TypedResource;
2224
import org.eclipse.egit.github.core.User;
25+
import org.eclipse.egit.github.core.event.Event;
26+
import org.eclipse.egit.github.core.event.EventRepository;
27+
import org.eclipse.egit.github.core.event.PullRequestPayload;
2328
import org.gitlab.api.models.GitlabBranch;
2429
import org.gitlab.api.models.GitlabCommit;
2530
import org.gitlab.api.models.GitlabCommitDiff;
@@ -345,4 +350,29 @@ private static String convertToJson(Object o) {
345350
throw new RuntimeException(e);
346351
}
347352
}
353+
354+
public static List<Event> convertMergeRequestsToEvents(List<GitlabMergeRequest> glmergerequests, String gitlabUrl, String namespace, String repo) {
355+
List<Event> events = new ArrayList<>(glmergerequests.size());
356+
357+
for (GitlabMergeRequest glmergerequest : glmergerequests) {
358+
events.add(convertMergeRequestToEvent(glmergerequest, gitlabUrl, namespace, repo));
359+
}
360+
361+
return events;
362+
}
363+
364+
private static Event convertMergeRequestToEvent(GitlabMergeRequest glmergerequest, String gitlabUrl, String namespace, String repo) {
365+
Event event = new Event();
366+
367+
event.setType(Event.TYPE_PULL_REQUEST);
368+
event.setCreatedAt(glmergerequest.getUpdatedAt());
369+
370+
PullRequestPayload payload = new PullRequestPayload();
371+
payload.setPullRequest(convertMergeRequest(glmergerequest, gitlabUrl, namespace, repo));
372+
payload.setNumber(payload.getPullRequest().getNumber());
373+
374+
event.setPayload(payload);
375+
376+
return event;
377+
}
348378
}

0 commit comments

Comments
 (0)