add autocomplete endpoint

This commit is contained in:
Mohamed Karray
2018-10-08 13:39:33 +02:00
parent 0f08f2f7d5
commit ddcc21c1a8
27 changed files with 664 additions and 14 deletions

View File

@@ -52,9 +52,11 @@ import org.slf4j.LoggerFactory;
import sonia.scm.cache.Cache;
import sonia.scm.cache.CacheManager;
import sonia.scm.group.GroupNames;
import sonia.scm.group.GroupPermissions;
import sonia.scm.plugin.Extension;
import sonia.scm.repository.Repository;
import sonia.scm.repository.RepositoryDAO;
import sonia.scm.repository.RepositoryPermissions;
import sonia.scm.user.User;
import sonia.scm.user.UserPermissions;
import sonia.scm.util.Util;
@@ -256,6 +258,9 @@ public class DefaultAuthorizationCollector implements AuthorizationCollector
collectGlobalPermissions(builder, user, groups);
collectRepositoryPermissions(builder, user, groups);
builder.add(canReadOwnUser(user));
builder.add(getUserAutocompletePermission());
builder.add(getGroupAutocompletePermission());
builder.add(getRepoAutocompletePermission());
permissions = builder.build();
}
@@ -264,6 +269,18 @@ public class DefaultAuthorizationCollector implements AuthorizationCollector
return info;
}
private String getRepoAutocompletePermission() {
return RepositoryPermissions.autocomplete().asShiroString();
}
private String getGroupAutocompletePermission() {
return GroupPermissions.autocomplete().asShiroString();
}
private String getUserAutocompletePermission() {
return UserPermissions.autocomplete().asShiroString();
}
private String canReadOwnUser(User user) {
return UserPermissions.read(user.getName()).asShiroString();
}