Ability to get all players inheriting a PermGroup

This commit is contained in:
2023-01-07 17:12:21 +01:00
parent c4ab62c857
commit c5e59537a0
2 changed files with 45 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
package fr.pandacube.lib.permissions;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -115,6 +116,13 @@ import fr.pandacube.lib.util.Log;
return player;
}
@@ -299,6 +307,19 @@ import fr.pandacube.lib.util.Log;
super(n, p, s, perms);
deflt = dflt;
}
/* package */ Set<UUID> getPlayersInGroup() throws DBException {
Set<UUID> ids = new HashSet<>();
DB.forEach(SQLPermissions.class,
SQLPermissions.type.eq(EntityType.User.getCode())
.and(SQLPermissions.key.eq("groups"))
.and(SQLPermissions.value.eq(name)),
e -> ids.add(UUID.fromString(e.get(SQLPermissions.name)))
);
return ids;
}
}
}