use of de.otto.edison.hal.Links in project scm-review-plugin by scm-manager.
the class RepositoryConfigMapper method createForRepository.
@ObjectFactory
PullRequestConfigDto createForRepository(@Context Repository repository, @Context UriInfo uriInfo) {
LinkBuilder linkBuilder = new LinkBuilder(uriInfo::getBaseUri, RepositoryConfigResource.class);
Links links = new Links.Builder().self(linkBuilder.method("getRepositoryConfig").parameters(repository.getNamespace(), repository.getName()).href()).single(Link.link("update", linkBuilder.method("setRepositoryConfig").parameters(repository.getNamespace(), repository.getName()).href())).build();
return new PullRequestConfigDto(links);
}
use of de.otto.edison.hal.Links in project scm-review-plugin by scm-manager.
the class RepositoryEngineConfigMapper method create.
@ObjectFactory
RepositoryEngineConfigDto create(@Context Repository repository, @Context UriInfo uriInfo) {
final Links.Builder linksBuilder = new Links.Builder();
PullRequestResourceLinks links = new PullRequestResourceLinks(uriInfo::getBaseUri);
PullRequestResourceLinks.WorkflowEngineConfigLinks workflowEngineConfigLinks = links.workflowEngineConfigLinks();
linksBuilder.self(workflowEngineConfigLinks.getConfig(repository.getNamespace(), repository.getName()));
if (!globalEngineConfigurator.getEngineConfiguration().isDisableRepositoryConfiguration()) {
if (PermissionCheck.mayConfigureWorkflowConfig(repository)) {
linksBuilder.single(link("update", workflowEngineConfigLinks.setConfig(repository.getNamespace(), repository.getName())));
}
if (PermissionCheck.mayReadWorkflowConfig(repository) || PermissionCheck.mayConfigureWorkflowConfig(repository)) {
linksBuilder.single(link("availableRules", links.workflowEngineGlobalConfigLinks().availableRules()));
}
}
return new RepositoryEngineConfigDto(linksBuilder.build());
}
Aggregations