@jantstack/adonis-authz 1.0.2 → 2.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +417 -46
- package/build/commands/authz_catalog_diff.d.ts +28 -0
- package/build/commands/authz_catalog_diff.d.ts.map +1 -0
- package/build/commands/authz_catalog_diff.js +67 -0
- package/build/commands/authz_catalog_diff.js.map +1 -0
- package/build/commands/authz_catalog_sync.d.ts +20 -0
- package/build/commands/authz_catalog_sync.d.ts.map +1 -0
- package/build/commands/authz_catalog_sync.js +58 -0
- package/build/commands/authz_catalog_sync.js.map +1 -0
- package/build/commands/main.d.ts +2 -0
- package/build/commands/main.d.ts.map +1 -1
- package/build/commands/main.js +2 -0
- package/build/commands/main.js.map +1 -1
- package/build/commands/openfga_import.d.ts +8 -2
- package/build/commands/openfga_import.d.ts.map +1 -1
- package/build/commands/openfga_import.js +29 -6
- package/build/commands/openfga_import.js.map +1 -1
- package/build/commands/openfga_provision.d.ts.map +1 -1
- package/build/commands/openfga_provision.js +2 -1
- package/build/commands/openfga_provision.js.map +1 -1
- package/build/index.d.ts +51 -5
- package/build/index.d.ts.map +1 -1
- package/build/index.js +43 -3
- package/build/index.js.map +1 -1
- package/build/src/catalog.d.ts +249 -2
- package/build/src/catalog.d.ts.map +1 -1
- package/build/src/catalog.js +709 -59
- package/build/src/catalog.js.map +1 -1
- package/build/src/catalog_cache.d.ts +300 -0
- package/build/src/catalog_cache.d.ts.map +1 -0
- package/build/src/catalog_cache.js +656 -0
- package/build/src/catalog_cache.js.map +1 -0
- package/build/src/clock.d.ts +24 -0
- package/build/src/clock.d.ts.map +1 -0
- package/build/src/clock.js +7 -0
- package/build/src/clock.js.map +1 -0
- package/build/src/define_config.d.ts +102 -6
- package/build/src/define_config.d.ts.map +1 -1
- package/build/src/define_config.js.map +1 -1
- package/build/src/drivers/backend_guard.d.ts +92 -0
- package/build/src/drivers/backend_guard.d.ts.map +1 -0
- package/build/src/drivers/backend_guard.js +221 -0
- package/build/src/drivers/backend_guard.js.map +1 -0
- package/build/src/drivers/database_driver.d.ts +242 -15
- package/build/src/drivers/database_driver.d.ts.map +1 -1
- package/build/src/drivers/database_driver.js +692 -127
- package/build/src/drivers/database_driver.js.map +1 -1
- package/build/src/drivers/openfga_driver.d.ts +341 -27
- package/build/src/drivers/openfga_driver.d.ts.map +1 -1
- package/build/src/drivers/openfga_driver.js +1052 -264
- package/build/src/drivers/openfga_driver.js.map +1 -1
- package/build/src/drivers/sql_expiry.d.ts +53 -0
- package/build/src/drivers/sql_expiry.d.ts.map +1 -0
- package/build/src/drivers/sql_expiry.js +66 -0
- package/build/src/drivers/sql_expiry.js.map +1 -0
- package/build/src/errors.d.ts +366 -0
- package/build/src/errors.d.ts.map +1 -0
- package/build/src/errors.js +387 -0
- package/build/src/errors.js.map +1 -0
- package/build/src/expiry.d.ts +27 -0
- package/build/src/expiry.d.ts.map +1 -0
- package/build/src/expiry.js +50 -0
- package/build/src/expiry.js.map +1 -0
- package/build/src/hierarchical_resolver.d.ts +56 -0
- package/build/src/hierarchical_resolver.d.ts.map +1 -0
- package/build/src/hierarchical_resolver.js +87 -0
- package/build/src/hierarchical_resolver.js.map +1 -0
- package/build/src/identity.d.ts +155 -0
- package/build/src/identity.d.ts.map +1 -0
- package/build/src/identity.js +359 -0
- package/build/src/identity.js.map +1 -0
- package/build/src/manager.d.ts +225 -7
- package/build/src/manager.d.ts.map +1 -1
- package/build/src/manager.js +1670 -23
- package/build/src/manager.js.map +1 -1
- package/build/src/memoize_ancestors.d.ts +23 -0
- package/build/src/memoize_ancestors.d.ts.map +1 -0
- package/build/src/memoize_ancestors.js +42 -0
- package/build/src/memoize_ancestors.js.map +1 -0
- package/build/src/middleware/app_access_middleware.d.ts +8 -6
- package/build/src/middleware/app_access_middleware.d.ts.map +1 -1
- package/build/src/middleware/app_access_middleware.js +10 -26
- package/build/src/middleware/app_access_middleware.js.map +1 -1
- package/build/src/models/authz_assignment.d.ts +5 -5
- package/build/src/models/authz_assignment.d.ts.map +1 -1
- package/build/src/models/authz_deny.d.ts +5 -5
- package/build/src/models/authz_deny.d.ts.map +1 -1
- package/build/src/models/authz_permission.d.ts +11 -5
- package/build/src/models/authz_permission.d.ts.map +1 -1
- package/build/src/models/authz_permission.js +4 -0
- package/build/src/models/authz_permission.js.map +1 -1
- package/build/src/models/authz_role.d.ts +13 -6
- package/build/src/models/authz_role.d.ts.map +1 -1
- package/build/src/models/authz_role.js +6 -1
- package/build/src/models/authz_role.js.map +1 -1
- package/build/src/models/authz_role_permission.d.ts +5 -5
- package/build/src/models/authz_role_permission.d.ts.map +1 -1
- package/build/src/openfga.d.ts +13 -0
- package/build/src/openfga.d.ts.map +1 -0
- package/build/src/openfga.js +12 -0
- package/build/src/openfga.js.map +1 -0
- package/build/src/sql_descendants.d.ts +51 -0
- package/build/src/sql_descendants.d.ts.map +1 -0
- package/build/src/sql_descendants.js +129 -0
- package/build/src/sql_descendants.js.map +1 -0
- package/build/src/testing/contract.d.ts +138 -7
- package/build/src/testing/contract.d.ts.map +1 -1
- package/build/src/testing/contract.js +2946 -24
- package/build/src/testing/contract.js.map +1 -1
- package/build/src/testing/main.d.ts +4 -2
- package/build/src/testing/main.d.ts.map +1 -1
- package/build/src/testing/main.js +2 -1
- package/build/src/testing/main.js.map +1 -1
- package/build/src/testing/scope_tree.d.ts +65 -0
- package/build/src/testing/scope_tree.d.ts.map +1 -0
- package/build/src/testing/scope_tree.js +145 -0
- package/build/src/testing/scope_tree.js.map +1 -0
- package/build/src/traits/authz_scopes.d.ts +30 -6
- package/build/src/traits/authz_scopes.d.ts.map +1 -1
- package/build/src/traits/authz_scopes.js +30 -18
- package/build/src/traits/authz_scopes.js.map +1 -1
- package/build/src/traits/has_uuid.d.ts +5 -5
- package/build/src/traits/has_uuid.d.ts.map +1 -1
- package/build/src/types.d.ts +530 -28
- package/build/src/types.d.ts.map +1 -1
- package/build/src/types.js +10 -4
- package/build/src/types.js.map +1 -1
- package/build/stubs/config/app_acl.stub +4 -2
- package/build/stubs/config/authorization.stub +66 -12
- package/build/stubs/migration.stub +57 -13
- package/package.json +11 -6
package/build/src/manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ScopeChainResolver } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Envuelve un `ScopeChainResolver` con un memo de UNA instancia: la
|
|
4
|
+
* primera pregunta por un scope llama al resolutor del consumidor; las
|
|
5
|
+
* siguientes por el mismo scope devuelven lo mismo sin llamarlo. Sin reloj
|
|
6
|
+
* ni TTL: la vida del memo es la vida del objeto, y el patrón es crearlo
|
|
7
|
+
* por request (`authorization.forRequest()` lo hace por ti).
|
|
8
|
+
*
|
|
9
|
+
* Qué memoiza: la RESPUESTA del árbol —la cadena canónica—, incluido `null`
|
|
10
|
+
* (scope desconocido).
|
|
11
|
+
* Qué no: un resolutor que lanza no deja nada cacheado — la siguiente
|
|
12
|
+
* pregunta vuelve a intentarlo, y el error sale clasificado como siempre
|
|
13
|
+
* (503 `E_AUTHZ_RESOLVER_FAILED`) por `resolveChain`.
|
|
14
|
+
*
|
|
15
|
+
* SOLO para el camino de lectura (auditor C3/E3): `authorize`, `hasRole`,
|
|
16
|
+
* `list*`. Una escritura (`grant`, `deny`, `scopes.*`) tiene que resolver
|
|
17
|
+
* ancestros en fresco, porque una lectura obsoleta caduca sola y un grant
|
|
18
|
+
* sobre una cadena que ya no existe queda escrito para siempre. El manager
|
|
19
|
+
* respeta esa frontera por construcción; si envuelves un driver a mano,
|
|
20
|
+
* respétala tú.
|
|
21
|
+
*/
|
|
22
|
+
export declare function memoizeAncestors(resolver: ScopeChainResolver): ScopeChainResolver;
|
|
23
|
+
//# sourceMappingURL=memoize_ancestors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoize_ancestors.d.ts","sourceRoot":"","sources":["../../src/memoize_ancestors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAY,MAAM,YAAY,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,kBAAkB,CAmBjF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Envuelve un `ScopeChainResolver` con un memo de UNA instancia: la
|
|
3
|
+
* primera pregunta por un scope llama al resolutor del consumidor; las
|
|
4
|
+
* siguientes por el mismo scope devuelven lo mismo sin llamarlo. Sin reloj
|
|
5
|
+
* ni TTL: la vida del memo es la vida del objeto, y el patrón es crearlo
|
|
6
|
+
* por request (`authorization.forRequest()` lo hace por ti).
|
|
7
|
+
*
|
|
8
|
+
* Qué memoiza: la RESPUESTA del árbol —la cadena canónica—, incluido `null`
|
|
9
|
+
* (scope desconocido).
|
|
10
|
+
* Qué no: un resolutor que lanza no deja nada cacheado — la siguiente
|
|
11
|
+
* pregunta vuelve a intentarlo, y el error sale clasificado como siempre
|
|
12
|
+
* (503 `E_AUTHZ_RESOLVER_FAILED`) por `resolveChain`.
|
|
13
|
+
*
|
|
14
|
+
* SOLO para el camino de lectura (auditor C3/E3): `authorize`, `hasRole`,
|
|
15
|
+
* `list*`. Una escritura (`grant`, `deny`, `scopes.*`) tiene que resolver
|
|
16
|
+
* ancestros en fresco, porque una lectura obsoleta caduca sola y un grant
|
|
17
|
+
* sobre una cadena que ya no existe queda escrito para siempre. El manager
|
|
18
|
+
* respeta esa frontera por construcción; si envuelves un driver a mano,
|
|
19
|
+
* respétala tú.
|
|
20
|
+
*/
|
|
21
|
+
export function memoizeAncestors(resolver) {
|
|
22
|
+
const memo = new Map();
|
|
23
|
+
return (scope) => {
|
|
24
|
+
// La raíz no se pregunta nunca (`resolveChain` la corta antes), pero si
|
|
25
|
+
// alguien llama al memo directo con ella, se comporta igual que el
|
|
26
|
+
// resolutor de abajo: se delega.
|
|
27
|
+
// Separador no imprimible, escrito como escape (nunca como carácter literal).
|
|
28
|
+
const key = `${scope.type}\u001f${scope.uuid ?? ''}`;
|
|
29
|
+
const hit = memo.get(key);
|
|
30
|
+
if (hit)
|
|
31
|
+
return hit;
|
|
32
|
+
const pending = Promise.resolve()
|
|
33
|
+
.then(() => resolver(scope))
|
|
34
|
+
.catch((error) => {
|
|
35
|
+
memo.delete(key);
|
|
36
|
+
throw error;
|
|
37
|
+
});
|
|
38
|
+
memo.set(key, pending);
|
|
39
|
+
return pending;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=memoize_ancestors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoize_ancestors.js","sourceRoot":"","sources":["../../src/memoize_ancestors.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA4B;IAC3D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAsC,CAAA;IAC1D,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,wEAAwE;QACxE,mEAAmE;QACnE,iCAAiC;QACjC,8EAA8E;QAC9E,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAA;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzB,IAAI,GAAG;YAAE,OAAO,GAAG,CAAA;QACnB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE;aAC9B,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC3B,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAChB,MAAM,KAAK,CAAA;QACb,CAAC,CAAC,CAAA;QACJ,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACtB,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -7,17 +7,19 @@ import type { NextFn } from '@adonisjs/core/types/http';
|
|
|
7
7
|
*
|
|
8
8
|
* Reglas:
|
|
9
9
|
* - No autenticado → 401.
|
|
10
|
-
* - Holder sin el
|
|
10
|
+
* - Holder sin el permiso requerido a nivel app → 403.
|
|
11
11
|
* - El ACL decide por IDENTIDAD; el scope del token lo acota
|
|
12
12
|
* middleware.ability() aparte (el token nunca amplía, solo restringe).
|
|
13
|
+
* - Solo `permission`. `{ role }` se retiró (L0.6): `hasRole` es membresía
|
|
14
|
+
* y el deny no la gobierna, así que un PEP sobre un rol era indenegable.
|
|
15
|
+
* Toda decisión de acceso pasa por `authorize`.
|
|
13
16
|
*
|
|
14
17
|
* Uso: middleware.appAccess({ permission: 'audit:read' })
|
|
15
|
-
* middleware.appAccess({ role: 'superadmin' })
|
|
16
18
|
*/
|
|
19
|
+
export interface AppAccessOptions {
|
|
20
|
+
permission: string;
|
|
21
|
+
}
|
|
17
22
|
export default class AppAccessMiddleware {
|
|
18
|
-
handle(ctx: HttpContext, next: NextFn, options
|
|
19
|
-
permission?: string;
|
|
20
|
-
role?: string;
|
|
21
|
-
}): Promise<any>;
|
|
23
|
+
handle(ctx: HttpContext, next: NextFn, options: AppAccessOptions): Promise<any>;
|
|
22
24
|
}
|
|
23
25
|
//# sourceMappingURL=app_access_middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app_access_middleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/app_access_middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"app_access_middleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/app_access_middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAMvD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAChC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB;CAgDvE"}
|
|
@@ -1,24 +1,16 @@
|
|
|
1
1
|
import { Exception } from '@adonisjs/core/exceptions';
|
|
2
2
|
import authorization from '../../services/main.js';
|
|
3
3
|
import { APP_SCOPE } from '../types.js';
|
|
4
|
-
|
|
5
|
-
* Enforcement del ACL de NIVEL APP (gemelo de orgAccess para el scope
|
|
6
|
-
* global). Debe ir DESPUÉS de `middleware.auth(...)` — típicamente con el
|
|
7
|
-
* guard `admins`, aunque funciona con cualquier holder con morph name.
|
|
8
|
-
*
|
|
9
|
-
* Reglas:
|
|
10
|
-
* - No autenticado → 401.
|
|
11
|
-
* - Holder sin el rol/permiso requerido a nivel app → 403.
|
|
12
|
-
* - El ACL decide por IDENTIDAD; el scope del token lo acota
|
|
13
|
-
* middleware.ability() aparte (el token nunca amplía, solo restringe).
|
|
14
|
-
*
|
|
15
|
-
* Uso: middleware.appAccess({ permission: 'audit:read' })
|
|
16
|
-
* middleware.appAccess({ role: 'superadmin' })
|
|
17
|
-
*/
|
|
4
|
+
import { AuthorizationConfigError, RoleIsNotAccessError } from '../errors.js';
|
|
18
5
|
export default class AppAccessMiddleware {
|
|
19
|
-
async handle(ctx, next, options
|
|
20
|
-
|
|
21
|
-
|
|
6
|
+
async handle(ctx, next, options) {
|
|
7
|
+
// Antes de mirar si hay usuario: una ruta mal declarada tiene que saltar
|
|
8
|
+
// en el primer request de desarrollo, autenticado o no.
|
|
9
|
+
if (options && 'role' in options) {
|
|
10
|
+
throw new RoleIsNotAccessError(options.role);
|
|
11
|
+
}
|
|
12
|
+
if (!options?.permission) {
|
|
13
|
+
throw new AuthorizationConfigError("middleware.appAccess requiere `{ permission }` (p. ej. appAccess({ permission: 'audit:read' }))");
|
|
22
14
|
}
|
|
23
15
|
const holder = ctx.auth?.user;
|
|
24
16
|
if (!holder) {
|
|
@@ -39,15 +31,7 @@ export default class AppAccessMiddleware {
|
|
|
39
31
|
`no por la clave primaria del modelo.`, { status: 500 });
|
|
40
32
|
}
|
|
41
33
|
const subject = { type: morph, uuid: holder.uuid };
|
|
42
|
-
if (
|
|
43
|
-
return ctx.response.forbidden({
|
|
44
|
-
message: 'Permiso insuficiente',
|
|
45
|
-
statusCode: 403,
|
|
46
|
-
errors: [],
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
if (options.permission &&
|
|
50
|
-
!(await authorization.authorize(subject, options.permission, APP_SCOPE))) {
|
|
34
|
+
if (!(await authorization.authorize(subject, options.permission, APP_SCOPE))) {
|
|
51
35
|
return ctx.response.forbidden({
|
|
52
36
|
message: 'Permiso insuficiente',
|
|
53
37
|
statusCode: 403,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app_access_middleware.js","sourceRoot":"","sources":["../../../src/middleware/app_access_middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,aAAa,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"app_access_middleware.js","sourceRoot":"","sources":["../../../src/middleware/app_access_middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,aAAa,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAsB7E,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,IAAY,EAAE,OAAyB;QACpE,yEAAyE;QACzE,wDAAwD;QACxD,IAAI,OAAO,IAAI,MAAM,IAAK,OAAkB,EAAE,CAAC;YAC7C,MAAM,IAAI,oBAAoB,CAAE,OAAe,CAAC,IAAI,CAAC,CAAA;QACvD,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,wBAAwB,CAChC,iGAAiG,CAClG,CAAA;QACH,CAAC;QAED,MAAM,MAAM,GAAI,GAAW,CAAC,IAAI,EAAE,IAA6D,CAAA;QAC/F,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QAC9F,CAAC;QAED,mEAAmE;QACnE,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAA;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,SAAS,CAAC,mEAAmE,EAAE;gBACvF,MAAM,EAAE,GAAG;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,kEAAkE;QAClE,wEAAwE;QACxE,yEAAyE;QACzE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,SAAS,CACjB,cAAc,KAAK,mEAAmE;gBACpF,sCAAsC,EACxC,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;QAElD,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;YAC7E,OAAO,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC5B,OAAO,EAAE,sBAAsB;gBAC/B,UAAU,EAAE,GAAG;gBACf,MAAM,EAAE,EAAE;aACX,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,IAAI,EAAE,CAAA;IACf,CAAC;CACF"}
|
|
@@ -64,15 +64,18 @@ declare const AuthzAssignment_base: {
|
|
|
64
64
|
selfAssignPrimaryKey: boolean;
|
|
65
65
|
generateUuid(model: any): void;
|
|
66
66
|
nextUuid(): string;
|
|
67
|
+
all: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
|
|
67
68
|
find: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
|
|
69
|
+
table: string;
|
|
70
|
+
connection?: string | undefined;
|
|
71
|
+
first: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
|
|
72
|
+
truncate: (cascade?: boolean) => Promise<void>;
|
|
68
73
|
readonly booted: boolean;
|
|
69
74
|
$columnsDefinitions: Map<string, import("@adonisjs/lucid/types/model").ModelColumnOptions>;
|
|
70
75
|
$relationsDefinitions: Map<string, import("@adonisjs/lucid/types/relations").RelationshipsContract>;
|
|
71
76
|
$computedDefinitions: Map<string, import("@adonisjs/lucid/types/model").ComputedOptions>;
|
|
72
77
|
primaryKey: string;
|
|
73
|
-
connection?: string | undefined;
|
|
74
78
|
namingStrategy: import("@adonisjs/lucid/types/model").NamingStrategyContract;
|
|
75
|
-
table: string;
|
|
76
79
|
$adapter: import("@adonisjs/lucid/types/model").AdapterContract;
|
|
77
80
|
useAdapter: (adapter: import("@adonisjs/lucid/types/model").AdapterContract) => void;
|
|
78
81
|
$hooks: import("@poppinss/hooks").default<any>;
|
|
@@ -130,7 +133,6 @@ declare const AuthzAssignment_base: {
|
|
|
130
133
|
<T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, clause: Record<string, unknown>, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T>[]>;
|
|
131
134
|
<T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, key: string, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T>[]>;
|
|
132
135
|
};
|
|
133
|
-
first: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
|
|
134
136
|
firstOrFail: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>>;
|
|
135
137
|
findMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, value: any[], options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
|
|
136
138
|
firstOrNew: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, searchPayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, savePayload?: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>>;
|
|
@@ -139,10 +141,8 @@ declare const AuthzAssignment_base: {
|
|
|
139
141
|
fetchOrNewUpMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
|
|
140
142
|
fetchOrCreateMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
|
|
141
143
|
updateOrCreateMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
|
|
142
|
-
all: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
|
|
143
144
|
query: <Model extends import("@adonisjs/lucid/types/model").LucidModel, Result = InstanceType<Model>>(this: Model, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<Model, Result>;
|
|
144
145
|
transaction: import("@adonisjs/lucid/types/database").TransactionFn;
|
|
145
|
-
truncate: (cascade?: boolean) => Promise<void>;
|
|
146
146
|
} & import("@adonisjs/lucid/types/model").LucidModel;
|
|
147
147
|
/**
|
|
148
148
|
* Asignación de rol a un holder polimórfico (users/admins/integrations) en un
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authz_assignment.d.ts","sourceRoot":"","sources":["../../../src/models/authz_assignment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAEhE,OAAO,SAAS,MAAM,iBAAiB,CAAA
|
|
1
|
+
{"version":3,"file":"authz_assignment.d.ts","sourceRoot":"","sources":["../../../src/models/authz_assignment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAEhE,OAAO,SAAS,MAAM,iBAAiB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oZAuCymsB,gDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AApCjssB;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,oBAA2B;IACtE,OAAc,KAAK,SAAsB;IACzC,OAAc,UAAU,SAAS;IAGzB,IAAI,EAAE,MAAM,CAAA;IAGZ,UAAU,EAAE,MAAM,CAAA;IAGlB,UAAU,EAAE,MAAM,CAAA;IAGlB,QAAQ,EAAE,MAAM,CAAA;IAGhB,SAAS,EAAE,MAAM,CAAA;IAGjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IAGxB,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAA;IAG1B,IAAI,EAAE,SAAS,CAAC,OAAO,SAAS,CAAC,CAAA;IAGjC,SAAS,EAAE,QAAQ,CAAA;CAC5B"}
|
|
@@ -62,15 +62,18 @@ declare const AuthzDeny_base: {
|
|
|
62
62
|
selfAssignPrimaryKey: boolean;
|
|
63
63
|
generateUuid(model: any): void;
|
|
64
64
|
nextUuid(): string;
|
|
65
|
+
all: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
|
|
65
66
|
find: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
|
|
67
|
+
table: string;
|
|
68
|
+
connection?: string | undefined;
|
|
69
|
+
first: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
|
|
70
|
+
truncate: (cascade?: boolean) => Promise<void>;
|
|
66
71
|
readonly booted: boolean;
|
|
67
72
|
$columnsDefinitions: Map<string, import("@adonisjs/lucid/types/model").ModelColumnOptions>;
|
|
68
73
|
$relationsDefinitions: Map<string, import("@adonisjs/lucid/types/relations").RelationshipsContract>;
|
|
69
74
|
$computedDefinitions: Map<string, import("@adonisjs/lucid/types/model").ComputedOptions>;
|
|
70
75
|
primaryKey: string;
|
|
71
|
-
connection?: string | undefined;
|
|
72
76
|
namingStrategy: import("@adonisjs/lucid/types/model").NamingStrategyContract;
|
|
73
|
-
table: string;
|
|
74
77
|
$adapter: import("@adonisjs/lucid/types/model").AdapterContract;
|
|
75
78
|
useAdapter: (adapter: import("@adonisjs/lucid/types/model").AdapterContract) => void;
|
|
76
79
|
$hooks: import("@poppinss/hooks").default<any>;
|
|
@@ -128,7 +131,6 @@ declare const AuthzDeny_base: {
|
|
|
128
131
|
<T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, clause: Record<string, unknown>, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T>[]>;
|
|
129
132
|
<T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, key: string, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T>[]>;
|
|
130
133
|
};
|
|
131
|
-
first: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
|
|
132
134
|
firstOrFail: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>>;
|
|
133
135
|
findMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, value: any[], options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
|
|
134
136
|
firstOrNew: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, searchPayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, savePayload?: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>>;
|
|
@@ -137,10 +139,8 @@ declare const AuthzDeny_base: {
|
|
|
137
139
|
fetchOrNewUpMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
|
|
138
140
|
fetchOrCreateMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
|
|
139
141
|
updateOrCreateMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
|
|
140
|
-
all: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
|
|
141
142
|
query: <Model extends import("@adonisjs/lucid/types/model").LucidModel, Result = InstanceType<Model>>(this: Model, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<Model, Result>;
|
|
142
143
|
transaction: import("@adonisjs/lucid/types/database").TransactionFn;
|
|
143
|
-
truncate: (cascade?: boolean) => Promise<void>;
|
|
144
144
|
} & import("@adonisjs/lucid/types/model").LucidModel;
|
|
145
145
|
/**
|
|
146
146
|
* Deny explícito: bloquea UN permiso a un holder en un scope y sus
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authz_deny.d.ts","sourceRoot":"","sources":["../../../src/models/authz_deny.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA
|
|
1
|
+
{"version":3,"file":"authz_deny.d.ts","sourceRoot":"","sources":["../../../src/models/authz_deny.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oZAkC++sB,gDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA7BhktB;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,cAA2B;IAChE,OAAc,KAAK,SAAiB;IACpC,OAAc,UAAU,SAAS;IAGzB,IAAI,EAAE,MAAM,CAAA;IAGZ,UAAU,EAAE,MAAM,CAAA;IAGlB,UAAU,EAAE,MAAM,CAAA;IAGlB,cAAc,EAAE,MAAM,CAAA;IAGtB,SAAS,EAAE,MAAM,CAAA;IAGjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IAGxB,SAAS,EAAE,QAAQ,CAAA;CAC5B"}
|
|
@@ -62,15 +62,18 @@ declare const AuthzPermission_base: {
|
|
|
62
62
|
selfAssignPrimaryKey: boolean;
|
|
63
63
|
generateUuid(model: any): void;
|
|
64
64
|
nextUuid(): string;
|
|
65
|
+
all: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
|
|
65
66
|
find: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
|
|
67
|
+
table: string;
|
|
68
|
+
connection?: string | undefined;
|
|
69
|
+
first: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
|
|
70
|
+
truncate: (cascade?: boolean) => Promise<void>;
|
|
66
71
|
readonly booted: boolean;
|
|
67
72
|
$columnsDefinitions: Map<string, import("@adonisjs/lucid/types/model").ModelColumnOptions>;
|
|
68
73
|
$relationsDefinitions: Map<string, import("@adonisjs/lucid/types/relations").RelationshipsContract>;
|
|
69
74
|
$computedDefinitions: Map<string, import("@adonisjs/lucid/types/model").ComputedOptions>;
|
|
70
75
|
primaryKey: string;
|
|
71
|
-
connection?: string | undefined;
|
|
72
76
|
namingStrategy: import("@adonisjs/lucid/types/model").NamingStrategyContract;
|
|
73
|
-
table: string;
|
|
74
77
|
$adapter: import("@adonisjs/lucid/types/model").AdapterContract;
|
|
75
78
|
useAdapter: (adapter: import("@adonisjs/lucid/types/model").AdapterContract) => void;
|
|
76
79
|
$hooks: import("@poppinss/hooks").default<any>;
|
|
@@ -128,7 +131,6 @@ declare const AuthzPermission_base: {
|
|
|
128
131
|
<T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, clause: Record<string, unknown>, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T>[]>;
|
|
129
132
|
<T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, key: string, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T>[]>;
|
|
130
133
|
};
|
|
131
|
-
first: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
|
|
132
134
|
firstOrFail: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>>;
|
|
133
135
|
findMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, value: any[], options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
|
|
134
136
|
firstOrNew: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, searchPayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, savePayload?: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>>;
|
|
@@ -137,10 +139,8 @@ declare const AuthzPermission_base: {
|
|
|
137
139
|
fetchOrNewUpMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
|
|
138
140
|
fetchOrCreateMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
|
|
139
141
|
updateOrCreateMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
|
|
140
|
-
all: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
|
|
141
142
|
query: <Model extends import("@adonisjs/lucid/types/model").LucidModel, Result = InstanceType<Model>>(this: Model, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<Model, Result>;
|
|
142
143
|
transaction: import("@adonisjs/lucid/types/database").TransactionFn;
|
|
143
|
-
truncate: (cascade?: boolean) => Promise<void>;
|
|
144
144
|
} & import("@adonisjs/lucid/types/model").LucidModel;
|
|
145
145
|
/**
|
|
146
146
|
* Permiso del motor de autorización propio. Slug con la misma gramática que
|
|
@@ -152,6 +152,12 @@ export default class AuthzPermission extends AuthzPermission_base {
|
|
|
152
152
|
uuid: string;
|
|
153
153
|
slug: string;
|
|
154
154
|
description: string | null;
|
|
155
|
+
/**
|
|
156
|
+
* Niveles (scope types) cuyos roles pueden llevar este permiso (3B · B5),
|
|
157
|
+
* como JSON (`["app","organization"]`), o `null` = cualquiera. Control de
|
|
158
|
+
* composición, nunca de evaluación.
|
|
159
|
+
*/
|
|
160
|
+
assignableAt: string | null;
|
|
155
161
|
createdAt: DateTime;
|
|
156
162
|
updatedAt: DateTime;
|
|
157
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authz_permission.d.ts","sourceRoot":"","sources":["../../../src/models/authz_permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA
|
|
1
|
+
{"version":3,"file":"authz_permission.d.ts","sourceRoot":"","sources":["../../../src/models/authz_permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oZAoC62sB,gDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA/B97sB;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,oBAA2B;IACtE,OAAc,KAAK,SAAsB;IACzC,OAAc,UAAU,SAAS;IAGzB,IAAI,EAAE,MAAM,CAAA;IAGZ,IAAI,EAAE,MAAM,CAAA;IAGZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAElC;;;;OAIG;IAEK,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAG3B,SAAS,EAAE,QAAQ,CAAA;IAGnB,SAAS,EAAE,QAAQ,CAAA;CAC5B"}
|
|
@@ -31,6 +31,10 @@ __decorate([
|
|
|
31
31
|
column(),
|
|
32
32
|
__metadata("design:type", Object)
|
|
33
33
|
], AuthzPermission.prototype, "description", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
column({ columnName: 'assignable_at' }),
|
|
36
|
+
__metadata("design:type", Object)
|
|
37
|
+
], AuthzPermission.prototype, "assignableAt", void 0);
|
|
34
38
|
__decorate([
|
|
35
39
|
column.dateTime({ autoCreate: true, columnName: 'created_at' }),
|
|
36
40
|
__metadata("design:type", DateTime)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authz_permission.js","sourceRoot":"","sources":["../../../src/models/authz_permission.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;IAC/D,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAA;IAClC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAA;;AAGzB;IADP,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;6CACR;AAGZ;IADP,MAAM,EAAE;;6CACW;AAGZ;IADP,MAAM,EAAE;;oDACyB;
|
|
1
|
+
{"version":3,"file":"authz_permission.js","sourceRoot":"","sources":["../../../src/models/authz_permission.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;IAC/D,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAA;IAClC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAA;;AAGzB;IADP,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;6CACR;AAGZ;IADP,MAAM,EAAE;;6CACW;AAGZ;IADP,MAAM,EAAE;;oDACyB;AAQ1B;IADP,MAAM,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;;qDACL;AAG3B;IADP,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;8BAC7C,QAAQ;kDAAA;AAGnB;IADP,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;8BAC/D,QAAQ;kDAAA"}
|
|
@@ -64,15 +64,18 @@ declare const AuthzRole_base: {
|
|
|
64
64
|
selfAssignPrimaryKey: boolean;
|
|
65
65
|
generateUuid(model: any): void;
|
|
66
66
|
nextUuid(): string;
|
|
67
|
+
all: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
|
|
67
68
|
find: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
|
|
69
|
+
table: string;
|
|
70
|
+
connection?: string | undefined;
|
|
71
|
+
first: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
|
|
72
|
+
truncate: (cascade?: boolean) => Promise<void>;
|
|
68
73
|
readonly booted: boolean;
|
|
69
74
|
$columnsDefinitions: Map<string, import("@adonisjs/lucid/types/model").ModelColumnOptions>;
|
|
70
75
|
$relationsDefinitions: Map<string, import("@adonisjs/lucid/types/relations").RelationshipsContract>;
|
|
71
76
|
$computedDefinitions: Map<string, import("@adonisjs/lucid/types/model").ComputedOptions>;
|
|
72
77
|
primaryKey: string;
|
|
73
|
-
connection?: string | undefined;
|
|
74
78
|
namingStrategy: import("@adonisjs/lucid/types/model").NamingStrategyContract;
|
|
75
|
-
table: string;
|
|
76
79
|
$adapter: import("@adonisjs/lucid/types/model").AdapterContract;
|
|
77
80
|
useAdapter: (adapter: import("@adonisjs/lucid/types/model").AdapterContract) => void;
|
|
78
81
|
$hooks: import("@poppinss/hooks").default<any>;
|
|
@@ -130,7 +133,6 @@ declare const AuthzRole_base: {
|
|
|
130
133
|
<T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, clause: Record<string, unknown>, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T>[]>;
|
|
131
134
|
<T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, key: string, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T>[]>;
|
|
132
135
|
};
|
|
133
|
-
first: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T>>;
|
|
134
136
|
firstOrFail: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>>;
|
|
135
137
|
findMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, value: any[], options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
|
|
136
138
|
firstOrNew: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, searchPayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, savePayload?: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>>;
|
|
@@ -139,14 +141,13 @@ declare const AuthzRole_base: {
|
|
|
139
141
|
fetchOrNewUpMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
|
|
140
142
|
fetchOrCreateMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
|
|
141
143
|
updateOrCreateMany: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T>[]>;
|
|
142
|
-
all: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T>[]>;
|
|
143
144
|
query: <Model extends import("@adonisjs/lucid/types/model").LucidModel, Result = InstanceType<Model>>(this: Model, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<Model, Result>;
|
|
144
145
|
transaction: import("@adonisjs/lucid/types/database").TransactionFn;
|
|
145
|
-
truncate: (cascade?: boolean) => Promise<void>;
|
|
146
146
|
} & import("@adonisjs/lucid/types/model").LucidModel;
|
|
147
147
|
/**
|
|
148
148
|
* Rol del motor de autorización propio. `scopeType` indica a qué nivel es
|
|
149
|
-
* asignable ('app' | 'organization' | 'unit'); el slug es único por nivel
|
|
149
|
+
* asignable ('app' | 'organization' | 'unit'); el slug es único por nivel y
|
|
150
|
+
* owner (`ownerScopeKey`, 3B): dos tenants pueden definir `lead@unit`.
|
|
150
151
|
*/
|
|
151
152
|
export default class AuthzRole extends AuthzRole_base {
|
|
152
153
|
static table: string;
|
|
@@ -158,6 +159,12 @@ export default class AuthzRole extends AuthzRole_base {
|
|
|
158
159
|
scopeType: string;
|
|
159
160
|
/** Rango de privilegio (mayor = más poder) — lo consume la policy de asignación. */
|
|
160
161
|
rank: number;
|
|
162
|
+
/**
|
|
163
|
+
* Quién define el rol (3B): `'global'` (el catálogo del config) o la clave
|
|
164
|
+
* del scope que lo definió con `defineScopedRole` (`<tipo>|<uuid>`). Un
|
|
165
|
+
* rol local solo es visible dentro de su owner.
|
|
166
|
+
*/
|
|
167
|
+
ownerScopeKey: string;
|
|
161
168
|
permissions: ManyToMany<typeof AuthzPermission>;
|
|
162
169
|
createdAt: DateTime;
|
|
163
170
|
updatedAt: DateTime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authz_role.d.ts","sourceRoot":"","sources":["../../../src/models/authz_role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAEjE,OAAO,eAAe,MAAM,uBAAuB,CAAA
|
|
1
|
+
{"version":3,"file":"authz_role.d.ts","sourceRoot":"","sources":["../../../src/models/authz_role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAEjE,OAAO,eAAe,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oZAuDmlrB,gDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AApDvrrB;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,cAA2B;IAChE,OAAc,KAAK,SAAgB;IACnC,OAAc,UAAU,SAAS;IAGzB,IAAI,EAAE,MAAM,CAAA;IAGZ,IAAI,EAAE,MAAM,CAAA;IAGZ,IAAI,EAAE,MAAM,CAAA;IAGZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAG1B,SAAS,EAAE,MAAM,CAAA;IAEzB,oFAAoF;IAE5E,IAAI,EAAE,MAAM,CAAA;IAEpB;;;;OAIG;IAEK,aAAa,EAAE,MAAM,CAAA;IAUrB,WAAW,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;IAG/C,SAAS,EAAE,QAAQ,CAAA;IAGnB,SAAS,EAAE,QAAQ,CAAA;CAC5B"}
|
|
@@ -14,7 +14,8 @@ import AuthzPermission from './authz_permission.js';
|
|
|
14
14
|
import { hasUuid } from '../traits/has_uuid.js';
|
|
15
15
|
/**
|
|
16
16
|
* Rol del motor de autorización propio. `scopeType` indica a qué nivel es
|
|
17
|
-
* asignable ('app' | 'organization' | 'unit'); el slug es único por nivel
|
|
17
|
+
* asignable ('app' | 'organization' | 'unit'); el slug es único por nivel y
|
|
18
|
+
* owner (`ownerScopeKey`, 3B): dos tenants pueden definir `lead@unit`.
|
|
18
19
|
*/
|
|
19
20
|
export default class AuthzRole extends compose(BaseModel, hasUuid) {
|
|
20
21
|
static table = 'authz_roles';
|
|
@@ -44,6 +45,10 @@ __decorate([
|
|
|
44
45
|
column(),
|
|
45
46
|
__metadata("design:type", Number)
|
|
46
47
|
], AuthzRole.prototype, "rank", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
column({ columnName: 'owner_scope_key' }),
|
|
50
|
+
__metadata("design:type", String)
|
|
51
|
+
], AuthzRole.prototype, "ownerScopeKey", void 0);
|
|
47
52
|
__decorate([
|
|
48
53
|
manyToMany(() => AuthzPermission, {
|
|
49
54
|
pivotTable: 'authz_role_permissions',
|