mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-02 03:55:55 +01:00
feat: allow multiple privileges to be defined for a given admin socket call
This commit is contained in:
@@ -41,8 +41,9 @@ SocketAdmin.before = async function (socket, method) {
|
||||
}
|
||||
|
||||
// Check admin privileges mapping (if not in mapping, deny access)
|
||||
const privilege = privileges.admin.socketMap[method];
|
||||
if (privilege && await privileges.admin.can(privilege, socket.uid)) {
|
||||
const privilegeSet = privileges.admin.socketMap[method].split(';');
|
||||
const hasPrivilege = (await Promise.all(privilegeSet.map(async privilege => privileges.admin.can(privilege, socket.uid)))).some(Boolean);
|
||||
if (privilegeSet.length && hasPrivilege) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user