mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-10 15:35:49 +01:00
Add merge links to repository resource
This commit is contained in:
@@ -32,6 +32,7 @@ public class MergeResource {
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("")
|
||||
@Produces(VndMediaType.MERGE_RESULT)
|
||||
@Consumes(VndMediaType.MERGE_COMMAND)
|
||||
public Response merge(@PathParam("namespace") String namespace, @PathParam("name") String name, @Valid MergeCommandDto mergeCommand) {
|
||||
|
||||
@@ -55,6 +55,10 @@ public abstract class RepositoryToRepositoryDtoMapper extends BaseMapper<Reposit
|
||||
if (repositoryService.isSupported(Command.BRANCHES)) {
|
||||
linksBuilder.single(link("branches", resourceLinks.branchCollection().self(target.getNamespace(), target.getName())));
|
||||
}
|
||||
if (repositoryService.isSupported(Command.MERGE)) {
|
||||
linksBuilder.single(link("merge", resourceLinks.merge().merge(target.getNamespace(), target.getName())));
|
||||
linksBuilder.single(link("mergeDryRun", resourceLinks.merge().dryRun(target.getNamespace(), target.getName())));
|
||||
}
|
||||
}
|
||||
linksBuilder.single(link("changesets", resourceLinks.changeset().all(target.getNamespace(), target.getName())));
|
||||
linksBuilder.single(link("sources", resourceLinks.source().selfWithoutRevision(target.getNamespace(), target.getName())));
|
||||
|
||||
@@ -541,4 +541,23 @@ class ResourceLinks {
|
||||
}
|
||||
}
|
||||
|
||||
public MergeLinks merge() {
|
||||
return new MergeLinks(scmPathInfoStore.get());
|
||||
}
|
||||
|
||||
static class MergeLinks {
|
||||
private final LinkBuilder mergeLinkBuilder;
|
||||
|
||||
MergeLinks(ScmPathInfo pathInfo) {
|
||||
this.mergeLinkBuilder = new LinkBuilder(pathInfo, RepositoryRootResource.class, RepositoryResource.class, MergeResource.class);
|
||||
}
|
||||
|
||||
String merge(String namespace, String name) {
|
||||
return mergeLinkBuilder.method("getRepositoryResource").parameters(namespace, name).method("merge").parameters().method("merge").parameters().href();
|
||||
}
|
||||
|
||||
String dryRun(String namespace, String name) {
|
||||
return mergeLinkBuilder.method("getRepositoryResource").parameters(namespace, name).method("merge").parameters().method("dryRun").parameters().href();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user