Browse Source

fix: fix that fix

KernelDeimos 11 months ago
parent
commit
b126b67094
1 changed files with 7 additions and 3 deletions
  1. 7 3
      packages/backend/src/services/auth/PermissionService.js

+ 7 - 3
packages/backend/src/services/auth/PermissionService.js

@@ -130,8 +130,8 @@ class PermissionImplicator {
      * @param  {string} permission
      * @returns 
      */
-    async check (actor, permission) {
-        return await this.checker(actor, permission);
+    async check ({ actor, permission, recurse }) {
+        return await this.checker({ actor, permission, recurse });
     }
 }
 
@@ -263,7 +263,11 @@ class PermissionService extends BaseService {
 
         for ( const implicator of this._permission_implicators ) {
             if ( ! implicator.matches(permission) ) continue;
-            const implied = await implicator.check(actor, permission);
+            const implied = await implicator.check({
+                actor,
+                permission,
+                recurse: this.check.bind(this),
+            });
             if ( implied ) return implied;
         }