Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,16 @@
@EqualsAndHashCode(callSuper = true)
public class AliasPermission extends Permission<AliasPermission> {
final String alias;
final String collection;

public AliasPermission(String alias, Action... actions) {
public AliasPermission(String alias, String collection, Action... actions) {
super(actions);
this.alias = alias;
this.collection = collection;
}

AliasPermission(String alias, String action) {
this(alias, RbacAction.fromString(Action.class, action));
AliasPermission(String alias, String collection, String action) {
this(alias, collection, RbacAction.fromString(Action.class, action));
}

@AllArgsConstructor
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ private WeaviatePermission toWeaviate(String action) {
public static Permission<?> fromWeaviate(WeaviatePermission perm) {
String action = perm.getAction();
if (perm.getAliases() != null) {
return new AliasPermission(perm.getAliases().getAlias(), action);
AliasPermission aliases = perm.getAliases();
return new AliasPermission(aliases.getAlias(), aliases.getCollection(), action);
} else if (perm.getBackups() != null) {
return new BackupsPermission(perm.getBackups().getCollection(), action);
} else if (perm.getCollections() != null) {
Expand Down Expand Up @@ -132,11 +133,11 @@ private Key(Object object) {
* Create {@link AliasPermission} for an alias.
* <p>
* Example:
* {@code Permission.alias("PizzaAlias", AliasPermission.Action.CREATE) }
* {@code Permission.alias("PizzaAlias", "Pizza", AliasPermission.Action.CREATE) }
*/
public static AliasPermission alias(String alias, AliasPermission.Action... actions) {
public static AliasPermission alias(String alias, String collection, AliasPermission.Action... actions) {
checkDeprecation(actions);
return new AliasPermission(alias, actions);
return new AliasPermission(alias, collection, actions);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ public class WeaviatePermissionTest {
public void testMergedPermissions() {
WeaviatePermission[] apiPermissions = {
// Create and delete PizzaAlias alias
new WeaviatePermission("create_aliases", new AliasPermission("PizzaAlias")),
new WeaviatePermission("delete_aliases", new AliasPermission("PizzaAlias")),
new WeaviatePermission("create_aliases", new AliasPermission("PizzaAlias", "Pizza")),
new WeaviatePermission("delete_aliases", new AliasPermission("PizzaAlias", "Pizza")),

// Manage Pizza backups
new WeaviatePermission("manage_backups", new BackupsPermission("Pizza")),
Expand Down Expand Up @@ -75,7 +75,7 @@ public void testMergedPermissions() {
};

Permission<?>[] libraryPermissions = {
new AliasPermission("PizzaAlias", AliasPermission.Action.CREATE, AliasPermission.Action.DELETE),
new AliasPermission("PizzaAlias", "Pizza", AliasPermission.Action.CREATE, AliasPermission.Action.DELETE),
new BackupsPermission("Pizza", BackupsPermission.Action.MANAGE),
new DataPermission("Pizza", DataPermission.Action.MANAGE, DataPermission.Action.READ),
new DataPermission("Songs", DataPermission.Action.UPDATE, DataPermission.Action.DELETE),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
@RunWith(JParamsTestRunner.class)
public class PermissionTest {
public static Object[][] serializationTestCases() {
AliasPermission alias = new AliasPermission("PizzaAlias", AliasPermission.Action.CREATE);
AliasPermission alias = new AliasPermission("PizzaAlias", "Pizza", AliasPermission.Action.CREATE);
BackupsPermission backups = new BackupsPermission("Pizza", BackupsPermission.Action.MANAGE);
DataPermission data = new DataPermission("Pizza", DataPermission.Action.MANAGE);
NodesPermission nodes = new NodesPermission("Pizza", NodesPermission.Action.READ);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ public void testCreate(String _name, Supplier<Rbac> rbac) {
String myCollectionAlias = "PizzaAlias";

Permission<?>[] wantPermissions = new Permission<?>[] {
Permission.alias(myCollectionAlias, AliasPermission.Action.CREATE),
Permission.alias(myCollectionAlias, myCollection, AliasPermission.Action.CREATE),
Permission.backups(myCollection, BackupsPermission.Action.MANAGE),
Permission.cluster(ClusterPermission.Action.READ),
Permission.nodes(myCollection, NodesPermission.Action.READ),
Expand Down