Introduce new permissions for listings

This commit is contained in:
René Pfeuffer
2018-09-27 08:55:07 +02:00
parent 987cd54dc7
commit f74003e485
5 changed files with 47 additions and 3 deletions

View File

@@ -3,6 +3,9 @@ package sonia.scm.api.v2.resources;
import de.otto.edison.hal.Link;
import de.otto.edison.hal.Links;
import org.apache.shiro.SecurityUtils;
import sonia.scm.config.ConfigurationPermissions;
import sonia.scm.group.GroupPermissions;
import sonia.scm.user.UserPermissions;
import javax.inject.Inject;
@@ -22,6 +25,16 @@ public class IndexDtoGenerator {
Link.link("me", resourceLinks.me().self()),
Link.link("logout", resourceLinks.authentication().logout())
);
if (UserPermissions.list().isPermitted()) {
builder.single(Link.link("users", resourceLinks.userCollection().self()));
}
if (GroupPermissions.list().isPermitted()) {
builder.single(Link.link("groups", resourceLinks.groupCollection().self()));
}
if (ConfigurationPermissions.list().isPermitted()) {
builder.single(Link.link("configuration", resourceLinks.config().self()));
}
builder.single(Link.link("repositories", resourceLinks.repositoryCollection().self()));
} else {
builder.single(
Link.link("formLogin", resourceLinks.authentication().formLogin()),