🚧 Add role deletion
This commit is contained in:
@@ -135,7 +135,18 @@ def client(db_session, monkeypatch):
|
||||
return list(self.roles.values())
|
||||
|
||||
def delete_role(self, rolename):
|
||||
# Mirrors the real broker (roles.c role__remove_all_clients /
|
||||
# role__remove_all_groups): deleteRole strips the role from
|
||||
# every client and group that holds it.
|
||||
self.roles.pop(rolename, None)
|
||||
for client in self.clients.values():
|
||||
client["roles"] = [
|
||||
r for r in client.get("roles", []) if r["rolename"] != rolename
|
||||
]
|
||||
for group in self.groups.values():
|
||||
group["roles"] = [
|
||||
r for r in group.get("roles", []) if r["rolename"] != rolename
|
||||
]
|
||||
|
||||
def set_role_acls(self, rolename, acls):
|
||||
self.roles[rolename]["acls"] = acls
|
||||
|
||||
Reference in New Issue
Block a user