Search in sources :

Example 1 with Links

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);
}
Also used : LinkBuilder(sonia.scm.api.v2.resources.LinkBuilder) Links(de.otto.edison.hal.Links) ObjectFactory(org.mapstruct.ObjectFactory)

Example 2 with 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());
}
Also used : Links(de.otto.edison.hal.Links) PullRequestResourceLinks(com.cloudogu.scm.review.PullRequestResourceLinks) PullRequestResourceLinks(com.cloudogu.scm.review.PullRequestResourceLinks) ObjectFactory(org.mapstruct.ObjectFactory)

Aggregations

Links (de.otto.edison.hal.Links)2 ObjectFactory (org.mapstruct.ObjectFactory)2 PullRequestResourceLinks (com.cloudogu.scm.review.PullRequestResourceLinks)1 LinkBuilder (sonia.scm.api.v2.resources.LinkBuilder)1