mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-13 00:45:44 +01:00
Replace wrong endpoint for repository roles with endpoint for verbs
This commit is contained in:
@@ -34,7 +34,7 @@ public class VndMediaType {
|
|||||||
public static final String REPOSITORY_COLLECTION = PREFIX + "repositoryCollection" + SUFFIX;
|
public static final String REPOSITORY_COLLECTION = PREFIX + "repositoryCollection" + SUFFIX;
|
||||||
public static final String BRANCH_COLLECTION = PREFIX + "branchCollection" + SUFFIX;
|
public static final String BRANCH_COLLECTION = PREFIX + "branchCollection" + SUFFIX;
|
||||||
public static final String CONFIG = PREFIX + "config" + SUFFIX;
|
public static final String CONFIG = PREFIX + "config" + SUFFIX;
|
||||||
public static final String REPOSITORY_PERMISSION_COLLECTION = PREFIX + "repositoryPermissionCollection" + SUFFIX;
|
public static final String REPOSITORY_VERB_COLLECTION = PREFIX + "repositoryVerbCollection" + SUFFIX;
|
||||||
public static final String REPOSITORY_TYPE_COLLECTION = PREFIX + "repositoryTypeCollection" + SUFFIX;
|
public static final String REPOSITORY_TYPE_COLLECTION = PREFIX + "repositoryTypeCollection" + SUFFIX;
|
||||||
public static final String REPOSITORY_TYPE = PREFIX + "repositoryType" + SUFFIX;
|
public static final String REPOSITORY_TYPE = PREFIX + "repositoryType" + SUFFIX;
|
||||||
public static final String UI_PLUGIN = PREFIX + "uiPlugin" + SUFFIX;
|
public static final String UI_PLUGIN = PREFIX + "uiPlugin" + SUFFIX;
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
package sonia.scm.api.v2.resources;
|
|
||||||
|
|
||||||
import de.otto.edison.hal.HalRepresentation;
|
|
||||||
import de.otto.edison.hal.Links;
|
|
||||||
import sonia.scm.repository.RepositoryRole;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
public class AvailableRepositoryPermissionsDto extends HalRepresentation {
|
|
||||||
private final Collection<String> availableVerbs;
|
|
||||||
private final Collection<RepositoryRole> availableRoles;
|
|
||||||
|
|
||||||
public AvailableRepositoryPermissionsDto(Collection<String> availableVerbs, Collection<RepositoryRole> availableRoles) {
|
|
||||||
this.availableVerbs = availableVerbs;
|
|
||||||
this.availableRoles = availableRoles;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Collection<String> getAvailableVerbs() {
|
|
||||||
return availableVerbs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Collection<RepositoryRole> getAvailableRoles() {
|
|
||||||
return availableRoles;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@SuppressWarnings("squid:S1185") // We want to have this method available in this package
|
|
||||||
protected HalRepresentation add(Links links) {
|
|
||||||
return super.add(links);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -59,7 +59,7 @@ public class IndexDtoGenerator extends HalAppenderMapper {
|
|||||||
if (PermissionPermissions.list().isPermitted()) {
|
if (PermissionPermissions.list().isPermitted()) {
|
||||||
builder.single(link("permissions", resourceLinks.permissions().self()));
|
builder.single(link("permissions", resourceLinks.permissions().self()));
|
||||||
}
|
}
|
||||||
builder.single(link("availableRepositoryPermissions", resourceLinks.availableRepositoryPermissions().self()));
|
builder.single(link("repositoryVerbs", resourceLinks.repositoryVerbs().self()));
|
||||||
|
|
||||||
builder.single(link("repositoryTypes", resourceLinks.repositoryTypeCollection().self()));
|
builder.single(link("repositoryTypes", resourceLinks.repositoryTypeCollection().self()));
|
||||||
builder.single(link("namespaceStrategies", resourceLinks.namespaceStrategies().self()));
|
builder.single(link("namespaceStrategies", resourceLinks.namespaceStrategies().self()));
|
||||||
|
|||||||
@@ -12,18 +12,18 @@ import javax.ws.rs.Path;
|
|||||||
import javax.ws.rs.Produces;
|
import javax.ws.rs.Produces;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* RESTful Web Service Resource to get available repository types.
|
* RESTful Web Service Resource to get available repository verbs.
|
||||||
*/
|
*/
|
||||||
@Path(RepositoryPermissionResource.PATH)
|
@Path(RepositoryVerbResource.PATH)
|
||||||
public class RepositoryPermissionResource {
|
public class RepositoryVerbResource {
|
||||||
|
|
||||||
static final String PATH = "v2/repositoryPermissions/";
|
static final String PATH = "v2/repositoryVerbs/";
|
||||||
|
|
||||||
private final RepositoryPermissionProvider repositoryPermissionProvider;
|
private final RepositoryPermissionProvider repositoryPermissionProvider;
|
||||||
private final ResourceLinks resourceLinks;
|
private final ResourceLinks resourceLinks;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public RepositoryPermissionResource(RepositoryPermissionProvider repositoryPermissionProvider, ResourceLinks resourceLinks) {
|
public RepositoryVerbResource(RepositoryPermissionProvider repositoryPermissionProvider, ResourceLinks resourceLinks) {
|
||||||
this.repositoryPermissionProvider = repositoryPermissionProvider;
|
this.repositoryPermissionProvider = repositoryPermissionProvider;
|
||||||
this.resourceLinks = resourceLinks;
|
this.resourceLinks = resourceLinks;
|
||||||
}
|
}
|
||||||
@@ -34,10 +34,11 @@ public class RepositoryPermissionResource {
|
|||||||
@ResponseCode(code = 200, condition = "success"),
|
@ResponseCode(code = 200, condition = "success"),
|
||||||
@ResponseCode(code = 500, condition = "internal server error")
|
@ResponseCode(code = 500, condition = "internal server error")
|
||||||
})
|
})
|
||||||
@Produces(VndMediaType.REPOSITORY_PERMISSION_COLLECTION)
|
@Produces(VndMediaType.REPOSITORY_VERB_COLLECTION)
|
||||||
public AvailableRepositoryPermissionsDto get() {
|
public RepositoryVerbsDto getAll() {
|
||||||
AvailableRepositoryPermissionsDto dto = new AvailableRepositoryPermissionsDto(repositoryPermissionProvider.availableVerbs(), repositoryPermissionProvider.availableRoles());
|
return new RepositoryVerbsDto(
|
||||||
dto.add(Links.linkingTo().self(resourceLinks.availableRepositoryPermissions().self()).build());
|
Links.linkingTo().self(resourceLinks.repositoryVerbs().self()).build(),
|
||||||
return dto;
|
repositoryPermissionProvider.availableVerbs()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package sonia.scm.api.v2.resources;
|
||||||
|
|
||||||
|
import de.otto.edison.hal.HalRepresentation;
|
||||||
|
import de.otto.edison.hal.Links;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
public class RepositoryVerbsDto extends HalRepresentation {
|
||||||
|
private final Collection<String> verbs;
|
||||||
|
|
||||||
|
public RepositoryVerbsDto(Links links, Collection<String> verbs) {
|
||||||
|
super(links);
|
||||||
|
this.verbs = verbs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Collection<String> getVerbs() {
|
||||||
|
return verbs;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -523,6 +523,22 @@ class ResourceLinks {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RepositoryVerbLinks repositoryVerbs() {
|
||||||
|
return new RepositoryVerbLinks(scmPathInfoStore.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
static class RepositoryVerbLinks {
|
||||||
|
private final LinkBuilder repositoryVerbLinkBuilder;
|
||||||
|
|
||||||
|
RepositoryVerbLinks(ScmPathInfo pathInfo) {
|
||||||
|
repositoryVerbLinkBuilder = new LinkBuilder(pathInfo, RepositoryVerbResource.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
String self() {
|
||||||
|
return repositoryVerbLinkBuilder.method("getAll").parameters().href();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
RepositoryRoleLinks repositoryRole() {
|
RepositoryRoleLinks repositoryRole() {
|
||||||
return new RepositoryRoleLinks(scmPathInfoStore.get());
|
return new RepositoryRoleLinks(scmPathInfoStore.get());
|
||||||
}
|
}
|
||||||
@@ -710,20 +726,4 @@ class ResourceLinks {
|
|||||||
return permissionsLinkBuilder.method("getAll").parameters().href();
|
return permissionsLinkBuilder.method("getAll").parameters().href();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public AvailableRepositoryPermissionLinks availableRepositoryPermissions() {
|
|
||||||
return new AvailableRepositoryPermissionLinks(scmPathInfoStore.get());
|
|
||||||
}
|
|
||||||
|
|
||||||
static class AvailableRepositoryPermissionLinks {
|
|
||||||
private final LinkBuilder linkBuilder;
|
|
||||||
|
|
||||||
AvailableRepositoryPermissionLinks(ScmPathInfo scmPathInfo) {
|
|
||||||
this.linkBuilder = new LinkBuilder(scmPathInfo, RepositoryPermissionResource.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
String self() {
|
|
||||||
return linkBuilder.method("get").parameters().href();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public class ResourceLinksMock {
|
|||||||
when(resourceLinks.index()).thenReturn(new ResourceLinks.IndexLinks(uriInfo));
|
when(resourceLinks.index()).thenReturn(new ResourceLinks.IndexLinks(uriInfo));
|
||||||
when(resourceLinks.merge()).thenReturn(new ResourceLinks.MergeLinks(uriInfo));
|
when(resourceLinks.merge()).thenReturn(new ResourceLinks.MergeLinks(uriInfo));
|
||||||
when(resourceLinks.permissions()).thenReturn(new ResourceLinks.PermissionsLinks(uriInfo));
|
when(resourceLinks.permissions()).thenReturn(new ResourceLinks.PermissionsLinks(uriInfo));
|
||||||
when(resourceLinks.availableRepositoryPermissions()).thenReturn(new ResourceLinks.AvailableRepositoryPermissionLinks(uriInfo));
|
when(resourceLinks.repositoryVerbs()).thenReturn(new ResourceLinks.RepositoryVerbLinks(uriInfo));
|
||||||
when(resourceLinks.repositoryRole()).thenReturn(new ResourceLinks.RepositoryRoleLinks(uriInfo));
|
when(resourceLinks.repositoryRole()).thenReturn(new ResourceLinks.RepositoryRoleLinks(uriInfo));
|
||||||
when(resourceLinks.repositoryRoleCollection()).thenReturn(new ResourceLinks.RepositoryRoleCollectionLinks(uriInfo));
|
when(resourceLinks.repositoryRoleCollection()).thenReturn(new ResourceLinks.RepositoryRoleCollectionLinks(uriInfo));
|
||||||
when(resourceLinks.namespaceStrategies()).thenReturn(new ResourceLinks.NamespaceStrategiesLinks(uriInfo));
|
when(resourceLinks.namespaceStrategies()).thenReturn(new ResourceLinks.NamespaceStrategiesLinks(uriInfo));
|
||||||
|
|||||||
Reference in New Issue
Block a user