Explorar el Código

fix: fix that fix

KernelDeimos hace 11 meses
padre
commit
b126b67094
Se han modificado 1 ficheros con 7 adiciones y 3 borrados
  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;
         }