@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openfga_driver.js","sourceRoot":"","sources":["../../../src/drivers/openfga_driver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openfga_driver.js","sourceRoot":"","sources":["../../../src/drivers/openfga_driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cómo viaja `expires_at` entre el driver `database` y cada motor SQL
|
|
3
|
+
* (2.5-B · K2, auditor 🟠 2).
|
|
4
|
+
*
|
|
5
|
+
* El problema: en MySQL `expires_at` es `DATETIME(3)`, que NO guarda zona, y
|
|
6
|
+
* `mysql2` serializa y parsea los `Date` con el `TZ` del proceso (`timezone:
|
|
7
|
+
* 'local'`, su default). Un proceso en UTC escribía `12:00:00` para
|
|
8
|
+
* `12:00Z`; uno en Caracas leía ese `12:00:00` como `16:00Z`: la asignación
|
|
9
|
+
* caducaba 4 h tarde para él (y 9 h antes para uno en Tokio). Dentro de un
|
|
10
|
+
* solo proceso el ida y vuelta era exacto, que es lo único que el juez podía
|
|
11
|
+
* ver; el defecto solo aparece con dos procesos, que es el despliegue normal.
|
|
12
|
+
*
|
|
13
|
+
* La decisión: el driver NO depende de la config de la conexión. En MySQL
|
|
14
|
+
* escribe la caducidad como CADENA UTC explícita (`YYYY-MM-DD HH:mm:ss.SSS`),
|
|
15
|
+
* compara con `now` formateado igual y la LEE con `DATE_FORMAT(…)` (una
|
|
16
|
+
* cadena, que se parsea como UTC), así que `timezone`, `dateStrings` o el
|
|
17
|
+
* `TZ` del proceso no intervienen. En PostgreSQL la columna es
|
|
18
|
+
* `timestamptz(3)` (instante absoluto: el `Date` basta) y en SQLite un
|
|
19
|
+
* número; ahí el codec es la identidad. Lo fija `tests/expiry_timezone.spec`
|
|
20
|
+
* con procesos hijos reales en `TZ` distinta sobre la misma base.
|
|
21
|
+
*/
|
|
22
|
+
export interface ExpiryCodec {
|
|
23
|
+
/** Valor con el que se ESCRIBE la columna (`insert`/`update`). */
|
|
24
|
+
toDb(expiresAt: Date | null): unknown;
|
|
25
|
+
/** Valor con el que se COMPARA (`expires_at > ?`) para un instante dado. */
|
|
26
|
+
bind(at: Date): unknown;
|
|
27
|
+
/** Expresión de SELECT que devuelve la columna de forma que `fromDb` la lea sin depender del cliente. */
|
|
28
|
+
select(column: string, alias?: string): unknown;
|
|
29
|
+
/** Lo que devuelve el SELECT de `select(...)` → `Date | null`. */
|
|
30
|
+
fromDb(value: unknown): Date | null;
|
|
31
|
+
}
|
|
32
|
+
/** Nombre del dialecto de una conexión de Lucid (`dialect.name`; fallback: el driver de knex). */
|
|
33
|
+
export declare function dialectOf(connection: any): string;
|
|
34
|
+
/**
|
|
35
|
+
* ¿Es SQLite? (3E · Q5) Lucid nombra su dialecto `better-sqlite3` —no
|
|
36
|
+
* empieza por `sqlite`—, así que un `startsWith('sqlite')` no reconocía el
|
|
37
|
+
* SQLite real de esta máquina ni el de CI. Donde eso decide una BARRERA (el
|
|
38
|
+
* cerrojo del catálogo, que SQLite no necesita porque ya serializa sus
|
|
39
|
+
* escrituras) el fallo es silencioso: solo era inocuo porque knex compila
|
|
40
|
+
* `forUpdate` a vacío en sqlite3.
|
|
41
|
+
*/
|
|
42
|
+
export declare function isSqliteDialect(connection: any): boolean;
|
|
43
|
+
/** `2030-06-15T12:00:00.000Z` → `2030-06-15 12:00:00.000` (UTC, con milisegundos). */
|
|
44
|
+
export declare function formatUtcDatetime(at: Date): string;
|
|
45
|
+
/** `2030-06-15 12:00:00.000000` (UTC, hasta microsegundos) → `Date`, o `null` si no es una fecha. */
|
|
46
|
+
export declare function parseUtcDatetime(value: string): Date | null;
|
|
47
|
+
/**
|
|
48
|
+
* El codec para una conexión de Lucid (default: la primaria). Se decide por
|
|
49
|
+
* dialecto una vez por driver; MySQL es el único que necesita algo distinto
|
|
50
|
+
* de la identidad.
|
|
51
|
+
*/
|
|
52
|
+
export declare function sqlExpiryCodec(connection?: any): ExpiryCodec;
|
|
53
|
+
//# sourceMappingURL=sql_expiry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql_expiry.d.ts","sourceRoot":"","sources":["../../../src/drivers/sql_expiry.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAA;IACrC,4EAA4E;IAC5E,IAAI,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAA;IACvB,yGAAyG;IACzG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC/C,kEAAkE;IAClE,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAA;CACpC;AAID,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,UAAU,EAAE,GAAG,GAAG,MAAM,CAEjD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAGxD;AAED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,CAElD;AAED,qGAAqG;AACrG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAM3D;AA6BD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,GAAE,GAAqB,GAAG,WAAW,CAE7E"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import db from '@adonisjs/lucid/services/db';
|
|
2
|
+
import { AuthorizationInternalError } from '../errors.js';
|
|
3
|
+
import { toExpiryDate } from '../expiry.js';
|
|
4
|
+
const MYSQL_DIALECTS = new Set(['mysql', 'mysql2']);
|
|
5
|
+
/** Nombre del dialecto de una conexión de Lucid (`dialect.name`; fallback: el driver de knex). */
|
|
6
|
+
export function dialectOf(connection) {
|
|
7
|
+
return connection?.dialect?.name ?? connection?.client?.driverName ?? 'desconocido';
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* ¿Es SQLite? (3E · Q5) Lucid nombra su dialecto `better-sqlite3` —no
|
|
11
|
+
* empieza por `sqlite`—, así que un `startsWith('sqlite')` no reconocía el
|
|
12
|
+
* SQLite real de esta máquina ni el de CI. Donde eso decide una BARRERA (el
|
|
13
|
+
* cerrojo del catálogo, que SQLite no necesita porque ya serializa sus
|
|
14
|
+
* escrituras) el fallo es silencioso: solo era inocuo porque knex compila
|
|
15
|
+
* `forUpdate` a vacío en sqlite3.
|
|
16
|
+
*/
|
|
17
|
+
export function isSqliteDialect(connection) {
|
|
18
|
+
const name = dialectOf(connection);
|
|
19
|
+
return name.startsWith('sqlite') || name === 'better-sqlite3';
|
|
20
|
+
}
|
|
21
|
+
/** `2030-06-15T12:00:00.000Z` → `2030-06-15 12:00:00.000` (UTC, con milisegundos). */
|
|
22
|
+
export function formatUtcDatetime(at) {
|
|
23
|
+
return at.toISOString().slice(0, 23).replace('T', ' ');
|
|
24
|
+
}
|
|
25
|
+
/** `2030-06-15 12:00:00.000000` (UTC, hasta microsegundos) → `Date`, o `null` si no es una fecha. */
|
|
26
|
+
export function parseUtcDatetime(value) {
|
|
27
|
+
const match = /^(\d{4}-\d{2}-\d{2})[ T](\d{2}:\d{2}:\d{2})(?:\.(\d{1,6}))?$/.exec(value.trim());
|
|
28
|
+
if (!match)
|
|
29
|
+
return null;
|
|
30
|
+
const millis = (match[3] ?? '').padEnd(3, '0').slice(0, 3);
|
|
31
|
+
const date = new Date(`${match[1]}T${match[2]}.${millis}Z`);
|
|
32
|
+
return Number.isNaN(date.getTime()) ? null : date;
|
|
33
|
+
}
|
|
34
|
+
const identityCodec = {
|
|
35
|
+
toDb: (expiresAt) => expiresAt,
|
|
36
|
+
bind: (at) => at,
|
|
37
|
+
select: (column, alias) => (alias && alias !== column ? `${column} as ${alias}` : column),
|
|
38
|
+
fromDb: toExpiryDate,
|
|
39
|
+
};
|
|
40
|
+
function mysqlCodec(connection) {
|
|
41
|
+
const raw = (sql, bindings) => typeof connection?.raw === 'function' ? connection.raw(sql, bindings) : db.raw(sql, bindings);
|
|
42
|
+
return {
|
|
43
|
+
toDb: (expiresAt) => (expiresAt ? formatUtcDatetime(expiresAt) : null),
|
|
44
|
+
bind: (at) => formatUtcDatetime(at),
|
|
45
|
+
select: (column, alias) => raw(`DATE_FORMAT(??, '%Y-%m-%d %H:%i:%s.%f') as ??`, [column, alias ?? column.split('.').pop()]),
|
|
46
|
+
fromDb: (value) => {
|
|
47
|
+
if (value === null || value === undefined || value === '')
|
|
48
|
+
return null;
|
|
49
|
+
if (typeof value === 'string')
|
|
50
|
+
return parseUtcDatetime(value);
|
|
51
|
+
// Un `Date` aquí es que la lectura no pasó por `select(...)` y el
|
|
52
|
+
// cliente ya la interpretó con SU zona: eso es exactamente lo que este
|
|
53
|
+
// codec existe para impedir. Ruidoso, nunca una caducidad corrida.
|
|
54
|
+
throw new AuthorizationInternalError(`expires_at llegó como ${value instanceof Date ? 'Date' : typeof value} en MySQL: la lectura tiene que pasar por ExpiryCodec.select(...) (DATE_FORMAT) para no depender de la zona del cliente`);
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* El codec para una conexión de Lucid (default: la primaria). Se decide por
|
|
60
|
+
* dialecto una vez por driver; MySQL es el único que necesita algo distinto
|
|
61
|
+
* de la identidad.
|
|
62
|
+
*/
|
|
63
|
+
export function sqlExpiryCodec(connection = db.connection()) {
|
|
64
|
+
return MYSQL_DIALECTS.has(dialectOf(connection)) ? mysqlCodec(connection) : identityCodec;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=sql_expiry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql_expiry.js","sourceRoot":"","sources":["../../../src/drivers/sql_expiry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
import { Exception } from '@adonisjs/core/exceptions';
|
|
2
|
+
/**
|
|
3
|
+
* El backend de autorización no respondió.
|
|
4
|
+
*
|
|
5
|
+
* Es el tercer estado de una pregunta de permisos, y merece un tipo propio:
|
|
6
|
+
*
|
|
7
|
+
* no tienes permiso → `false`
|
|
8
|
+
* la pregunta no es válida → Exception 422 (permiso/rol inexistente)
|
|
9
|
+
* no se pudo preguntar → esto, 503
|
|
10
|
+
*
|
|
11
|
+
* Dos razones para envolver el error del driver en vez de dejarlo pasar:
|
|
12
|
+
*
|
|
13
|
+
* 1. **La abstracción no debe tener fugas.** Sin esto escapaba un `FgaError`
|
|
14
|
+
* del SDK de OpenFGA, así que distinguir "backend caído" obligaba a
|
|
15
|
+
* importar el SDK — acoplando el call-site al backend que este paquete
|
|
16
|
+
* existe para abstraer. Cambiar de driver habría obligado a cambiar los
|
|
17
|
+
* `catch`.
|
|
18
|
+
* 2. **Nadie debería escribir `try/catch` para estar a salvo.** Con `status`
|
|
19
|
+
* 503, el manejador de excepciones responde solo, y con el código correcto:
|
|
20
|
+
* no es que la aplicación esté rota (500), es que una dependencia no está
|
|
21
|
+
* disponible.
|
|
22
|
+
*
|
|
23
|
+
* Lo que NO se hace es capturar y devolver `false`. Denegar en silencio
|
|
24
|
+
* durante una caída deja a todos sin permisos sin decir por qué, y manda a
|
|
25
|
+
* buscar un rol mal configurado que no existe. Se deniega igual; lo que
|
|
26
|
+
* cambia es el diagnóstico.
|
|
27
|
+
*/
|
|
28
|
+
export declare class AuthorizationBackendError extends Exception {
|
|
29
|
+
static status: number;
|
|
30
|
+
static code: string;
|
|
31
|
+
constructor(driver: string, operation: string, cause: unknown);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* El backend respondió tarde: venció `timeoutMs`. Es un `AuthorizationBackendError`
|
|
35
|
+
* (503, se maneja igual) con código propio, porque para operaciones "no responde"
|
|
36
|
+
* y "responde lento" son incidentes distintos: el segundo suele ser saturación, no
|
|
37
|
+
* caída, y el remedio (subir el deadline, escalar el backend) es otro.
|
|
38
|
+
*/
|
|
39
|
+
export declare class AuthorizationBackendTimeoutError extends AuthorizationBackendError {
|
|
40
|
+
static code: string;
|
|
41
|
+
constructor(driver: string, operation: string, timeoutMs: number, cause?: unknown);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* El resolutor de ancestros del consumidor lanzó. Es una dependencia más de
|
|
45
|
+
* cada pregunta (el árbol de scopes), así que su caída se clasifica como la
|
|
46
|
+
* del backend: 503, nunca `false`, nunca el error crudo del consumidor.
|
|
47
|
+
*/
|
|
48
|
+
export declare class ScopeResolverError extends Exception {
|
|
49
|
+
static status: number;
|
|
50
|
+
static code: string;
|
|
51
|
+
constructor(operation: string, cause: unknown);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Un componente de identidad (holder, scope, rol, permiso) no cumple el formato
|
|
55
|
+
* del motor. Es una pregunta inválida (422), no un "sin permiso": aceptarla
|
|
56
|
+
* fundiría identidades distintas en una (`user:undefined`, `{app, uuid}` que
|
|
57
|
+
* colapsa a la raíz) o produciría ids que otro backend no puede representar.
|
|
58
|
+
*/
|
|
59
|
+
export declare class InvalidIdentityError extends Exception {
|
|
60
|
+
static status: number;
|
|
61
|
+
static code: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Un slug de rol/permiso no cumple la gramática del catálogo: formato,
|
|
65
|
+
* longitud, nombre reservado o familia de prefijos reservada. 422 porque es la
|
|
66
|
+
* pregunta la que está mal formada; el catálogo no se consulta.
|
|
67
|
+
*/
|
|
68
|
+
export declare class InvalidSlugError extends Exception {
|
|
69
|
+
static status: number;
|
|
70
|
+
static code: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* La configuración del consumidor es contradictoria (p. ej. `holderTypes` no
|
|
74
|
+
* inyectivo). 500: la aplicación está mal construida, no hay pregunta que
|
|
75
|
+
* responder hasta que se arregle.
|
|
76
|
+
*/
|
|
77
|
+
export declare class AuthorizationConfigError extends Exception {
|
|
78
|
+
static status: number;
|
|
79
|
+
static code: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Invariante interno del motor violado (una escritura sin scopes, un batchCheck
|
|
83
|
+
* incompleto). 500: es un bug del paquete o de quien lo extiende, no del
|
|
84
|
+
* llamante ni del backend.
|
|
85
|
+
*/
|
|
86
|
+
export declare class AuthorizationInternalError extends Exception {
|
|
87
|
+
static status: number;
|
|
88
|
+
static code: string;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* El scope no existe para el consumidor (`resolveChain` devolvió `null`).
|
|
92
|
+
* En lectura el motor responde `false` sin más; en escritura es 422: conceder
|
|
93
|
+
* o denegar en un scope que nadie reconoce dejaría un hecho huérfano que
|
|
94
|
+
* ningún árbol volverá a alcanzar — o, peor, que resucitaría si el uuid se
|
|
95
|
+
* reutiliza (L0.3, N5).
|
|
96
|
+
*/
|
|
97
|
+
export declare class UnknownScopeError extends Exception {
|
|
98
|
+
static status: number;
|
|
99
|
+
static code: string;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Se preguntó por un scope que no es la raíz y el driver no tiene resolutor
|
|
103
|
+
* de ancestros. Antes el paquete suplía un default plano ("todo cuelga de
|
|
104
|
+
* app") que convertía cualquier scope inventado en descendiente de la raíz.
|
|
105
|
+
* 422 y no 500: la raíz sigue funcionando; lo que no existe en este
|
|
106
|
+
* despliegue son los niveles intermedios.
|
|
107
|
+
*/
|
|
108
|
+
export declare class NoScopeResolverError extends Exception {
|
|
109
|
+
static status: number;
|
|
110
|
+
static code: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Rol fuera del catálogo para ese nivel (pregunta inválida, 422). Con
|
|
114
|
+
* `scopeType` se buscó por `(slug, scopeType)`; sin él, por uuid (3B ·
|
|
115
|
+
* `purgeRole`, `updateScopedRole`, `deleteScopedRole`).
|
|
116
|
+
*/
|
|
117
|
+
export declare class UnknownRoleError extends Exception {
|
|
118
|
+
static status: number;
|
|
119
|
+
static code: string;
|
|
120
|
+
constructor(slugOrUuid: string, scopeType?: string);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* El rol existe pero es LOCAL a un scope que no está en la cadena del scope
|
|
124
|
+
* de la escritura (3B · B2): un rol de la organization A no existe en B ni
|
|
125
|
+
* en la raíz. 422 y nada escrito — es la barrera que impide asignar el rol
|
|
126
|
+
* de un tenant fuera de su contenedor. En lectura no hay error: el rol
|
|
127
|
+
* simplemente no concede ni es membresía fuera de su owner.
|
|
128
|
+
*/
|
|
129
|
+
export declare class RoleNotVisibleError extends Exception {
|
|
130
|
+
static status: number;
|
|
131
|
+
static code: string;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* En la cadena del scope de la pregunta hay MÁS DE UN rol visible con ese
|
|
135
|
+
* `(slug, nivel)` (3D · M1): dos locales de owners distintos que un
|
|
136
|
+
* `scopes.moved` juntó, o un local que tapa a un global. El slug ya no
|
|
137
|
+
* identifica un rol y elegir uno («el owner más cercano gana») convertía un
|
|
138
|
+
* homónimo en una escalada de privilegios (auditor V1/V2/V3): la ambigüedad
|
|
139
|
+
* es un ERROR, no una regla de resolución. Toda ruta que direccione por slug
|
|
140
|
+
* —`grant`, `revoke` por uuid, `hasRole`, `listSubjects`— falla CERRADA con
|
|
141
|
+
* 422 nombrando los uuids y sus owners; la forma sin ambigüedad posible es
|
|
142
|
+
* `{ uuid }` (`RoleQuery`). `authorize` no pasa por aquí: no direcciona por
|
|
143
|
+
* slug (lo asignado concede lo que su rol vincula, invariante 1).
|
|
144
|
+
*/
|
|
145
|
+
export declare class AmbiguousRoleError extends Exception {
|
|
146
|
+
static status: number;
|
|
147
|
+
static code: string;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* El `scopeType` de un rol local no es el nivel de su owner ni uno que
|
|
151
|
+
* cuelgue de él (3E · P1, auditor A1). Un rol de nivel SUPERIOR al owner no
|
|
152
|
+
* es visible en ninguna parte —no concede, no es membresía, nadie lo puede
|
|
153
|
+
* asignar— pero OCUPA ese `(slug, nivel)`: bloqueaba el `defineScopedRole`
|
|
154
|
+
* del dueño del árbol y, hasta 3E, el `syncAuthzCatalog` entero de la
|
|
155
|
+
* plataforma. Es squatting con forma de spec, como `permissions: []` (3D ·
|
|
156
|
+
* N3): 422. Los niveles que cuelgan del owner los declara el consumidor con
|
|
157
|
+
* `scopes.descendantsOf`; sin él solo se admite el nivel del owner.
|
|
158
|
+
*/
|
|
159
|
+
export declare class RoleLevelAboveOwnerError extends Exception {
|
|
160
|
+
static status: number;
|
|
161
|
+
static code: string;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* `updateScopedRole`/`deleteScopedRole` sobre un rol GLOBAL (3B · B3). Los
|
|
165
|
+
* roles del catálogo del config se cambian en el config y se sincronizan
|
|
166
|
+
* (`syncAuthzCatalog`); por la API de delegación son inmutables, o un
|
|
167
|
+
* administrador de tenant podría editar el catálogo de la plataforma.
|
|
168
|
+
*/
|
|
169
|
+
export declare class RoleImmutableError extends Exception {
|
|
170
|
+
static status: number;
|
|
171
|
+
static code: string;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Un rol de nivel L no puede llevar (o ser asignado llevando) un permiso
|
|
175
|
+
* cuyo `assignableAt` no incluye L (3B · B5). Es un control de COMPOSICIÓN
|
|
176
|
+
* —`syncAuthzCatalog`, `defineScopedRole`, `updateScopedRole` y, por defensa
|
|
177
|
+
* en profundidad, `grant`—, nunca de evaluación: lo ya asignado sigue
|
|
178
|
+
* concediendo (invariante 1).
|
|
179
|
+
*/
|
|
180
|
+
export declare class RoleNotAssignableAtError extends Exception {
|
|
181
|
+
static status: number;
|
|
182
|
+
static code: string;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* `defineScopedRole`/`updateScopedRole` con un permiso que el actor no puede
|
|
186
|
+
* delegar (3B · B3): no está en `config.delegablePermissions` (lista blanca;
|
|
187
|
+
* vacía por defecto: nadie delega nada hasta declararla), no existe en el
|
|
188
|
+
* catálogo, o el actor no lo tiene EFECTIVO en el owner (no lo concede
|
|
189
|
+
* ningún rol suyo en la cadena, o lo tiene denegado — auditor C2: un deny
|
|
190
|
+
* no se lava componiendo un rol para un títere).
|
|
191
|
+
*/
|
|
192
|
+
export declare class PermissionNotDelegableError extends Exception {
|
|
193
|
+
static status: number;
|
|
194
|
+
static code: string;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* El `rank` de un rol local no cumple `0 < rank < min(rank del actor, rank
|
|
198
|
+
* máximo global)` (3B · B3), o el actor intenta tocar un rol de rango ≥ al
|
|
199
|
+
* suyo. Es policy de ESCRITURA (composición y delegación); el motor sigue sin
|
|
200
|
+
* evaluar `rank` en `authorize` (invariante 8).
|
|
201
|
+
*/
|
|
202
|
+
export declare class RankExceededError extends Exception {
|
|
203
|
+
static status: number;
|
|
204
|
+
static code: string;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Dos catálogos de `config.catalogs` declaran el mismo rol `(slug, scopeType)`
|
|
208
|
+
* o el mismo permiso. La identidad de un rol es ese par: compartirla es
|
|
209
|
+
* compartir el rol, y el prune del segundo sync borraría los vínculos del
|
|
210
|
+
* primero en silencio (D3). Un rol pertenece a exactamente un catálogo; se
|
|
211
|
+
* rechaza antes de tocar la base, en el sync y en el diff.
|
|
212
|
+
*/
|
|
213
|
+
export declare class CatalogConflictError extends Exception {
|
|
214
|
+
static status: number;
|
|
215
|
+
static code: string;
|
|
216
|
+
}
|
|
217
|
+
/** Permiso fuera del catálogo (pregunta inválida en `deny`/catálogo, 422). */
|
|
218
|
+
export declare class UnknownPermissionError extends Exception {
|
|
219
|
+
static status: number;
|
|
220
|
+
static code: string;
|
|
221
|
+
constructor(slug: string);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* `appAccess({ role })` se retiró (L0.6). `hasRole` es una consulta de
|
|
225
|
+
* MEMBRESÍA y el deny no la gobierna: un middleware sobre ella era un punto de
|
|
226
|
+
* decisión indenegable (un holder con todos sus permisos denegados seguía
|
|
227
|
+
* pasando). 500: es la ruta la que está mal declarada, y debe saltar en el
|
|
228
|
+
* primer request de desarrollo, no en producción.
|
|
229
|
+
*/
|
|
230
|
+
export declare class RoleIsNotAccessError extends Exception {
|
|
231
|
+
static status: number;
|
|
232
|
+
static code: string;
|
|
233
|
+
constructor(role: unknown);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Colgar `child` de `parent` cerraría un ciclo (el padre desciende del hijo,
|
|
237
|
+
* o son el mismo). FGA no detecta ciclos de `parent`: los evalúa, y un grant
|
|
238
|
+
* en cualquier nodo del ciclo concede en todos, raíz incluida (S2). La única
|
|
239
|
+
* barrera es el paquete, antes de escribir nada.
|
|
240
|
+
*/
|
|
241
|
+
export declare class ScopeCycleError extends Exception {
|
|
242
|
+
static status: number;
|
|
243
|
+
static code: string;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* `purgeScope` terminó y el backend todavía muestra hechos del scope. Un
|
|
247
|
+
* número parcial que no lanza deja grants huérfanos e indenegables (S6, B2);
|
|
248
|
+
* se lanza para que el consumidor NO confirme el borrado de su entidad.
|
|
249
|
+
*/
|
|
250
|
+
export declare class PurgeIncompleteError extends Exception {
|
|
251
|
+
static status: number;
|
|
252
|
+
static code: string;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* `openfga:import` sobre un store con tuplas y sin `--reconcile`. En FGA la
|
|
256
|
+
* condición no es parte de la clave: escribir "ignorando duplicados" sobre
|
|
257
|
+
* una tupla existente dejaba la caducidad vieja (o ninguna) y reportaba
|
|
258
|
+
* éxito (S7). 409: el estado del destino no es el que el comando espera.
|
|
259
|
+
*/
|
|
260
|
+
export declare class StoreNotEmptyError extends Exception {
|
|
261
|
+
static status: number;
|
|
262
|
+
static code: string;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* `config.requireActor: true` y una escritura llegó sin `actor` (2.1, B7).
|
|
266
|
+
* 422 antes de tocar el driver: una auditoría que exige saber quién ordenó
|
|
267
|
+
* cada cambio no puede tener huecos, y el hueco no se descubre después.
|
|
268
|
+
*/
|
|
269
|
+
export declare class ActorRequiredError extends Exception {
|
|
270
|
+
static status: number;
|
|
271
|
+
static code: string;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* `within` no está en la cadena del scope de la escritura (2.1, B1): el
|
|
275
|
+
* call-site declaró "dentro de MI tenant" y el scope pertenece a otro. 422 y
|
|
276
|
+
* nada escrito: es la barrera contra el administrador de A que concede en
|
|
277
|
+
* una unit de B pasando un uuid ajeno. Vale para las SEIS escrituras del
|
|
278
|
+
* manager (2D · F2): quitar un deny ajeno es conceder, revocar un rol ajeno
|
|
279
|
+
* es sabotear, y purgar o recolgar un scope ajeno es lo mismo.
|
|
280
|
+
*/
|
|
281
|
+
export declare class NotWithinError extends Exception {
|
|
282
|
+
static status: number;
|
|
283
|
+
static code: string;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* `config.requireWithin` (`true` o `'non-root'`) y una escritura llegó sin
|
|
287
|
+
* `within` (2.1, B1; las seis desde 2D · F2). 422 antes del driver: la
|
|
288
|
+
* contención opt-in (auditor E2) deja de serlo cuando el consumidor lo declara.
|
|
289
|
+
*/
|
|
290
|
+
export declare class WithinRequiredError extends Exception {
|
|
291
|
+
static status: number;
|
|
292
|
+
static code: string;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* `config.requireWithin: 'non-root'` y una escritura declaró `within: APP_SCOPE`
|
|
296
|
+
* (2.1, 2D · F2). La raíz contiene todo, así que como `within` no acota nada:
|
|
297
|
+
* era el comodín con el que un call-site de tenant satisfacía `requireWithin`
|
|
298
|
+
* sin decir de qué tenant es (auditor 9). 422 y nada escrito; la plataforma,
|
|
299
|
+
* que sí escribe en la raíz, usa `manager.driver()` o una config sin el flag.
|
|
300
|
+
*/
|
|
301
|
+
export declare class WithinRootForbiddenError extends Exception {
|
|
302
|
+
static status: number;
|
|
303
|
+
static code: string;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Una enumeración de scopes superó su cota (2.1, B2/B3): `authorizedScopes`
|
|
307
|
+
* por encima de `maxScopes`, o un `descendantsOf` que devolvió más de
|
|
308
|
+
* `maxNodes`. 422 y NUNCA una lista parcial: un listado truncado en silencio
|
|
309
|
+
* es la forma más discreta de fail-open/fail-closed. El llamante acota la
|
|
310
|
+
* pregunta o sube la cota a sabiendas.
|
|
311
|
+
*/
|
|
312
|
+
export declare class TooManyScopesError extends Exception {
|
|
313
|
+
static status: number;
|
|
314
|
+
static code: string;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* `sqlDescendantsOf` sobre un dialecto sin observación (2.1, B2): hoy solo PG
|
|
318
|
+
* y SQLite corren la CTE en la suite; MySQL entra en 2.5 con harness propio.
|
|
319
|
+
* 500: config del consumidor, salta en la primera llamada.
|
|
320
|
+
*/
|
|
321
|
+
export declare class UnsupportedDialectError extends Exception {
|
|
322
|
+
static status: number;
|
|
323
|
+
static code: string;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* `hierarchicalScopeResolver` superó `maxDepth` (2.1, B4). Truncar la cadena
|
|
327
|
+
* perdería la raíz —y con ella cualquier deny en `app`—: fail-open. 500 y no
|
|
328
|
+
* 503: el árbol del consumidor es más profundo de lo declarado, no hay
|
|
329
|
+
* reintento que lo arregle.
|
|
330
|
+
*/
|
|
331
|
+
export declare class ScopeTooDeepError extends Exception {
|
|
332
|
+
static status: number;
|
|
333
|
+
static code: string;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Una primitiva de 2.1 necesita un método OPCIONAL del puerto que el driver
|
|
337
|
+
* activo no implementa (2.1, B5): se nombra el método y se lanza. 500 porque
|
|
338
|
+
* es el despliegue el que está incompleto; nunca se simula la respuesta —un
|
|
339
|
+
* `[]` en `listDenies` sería "sin denies", fail-open.
|
|
340
|
+
*/
|
|
341
|
+
export declare class UnsupportedOperationError extends Exception {
|
|
342
|
+
static status: number;
|
|
343
|
+
static code: string;
|
|
344
|
+
constructor(method: string, primitive: string, driver: string, hint?: string);
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Una vista de `forRequest()` se usó para LEER después de `maxAgeMs` (2D ·
|
|
348
|
+
* F9, auditor 5). El memo de ancestros de la vista es correcto durante un
|
|
349
|
+
* request y peligroso guardado en un módulo: tras un `scopes.moved` serviría
|
|
350
|
+
* la cadena vieja para siempre (cruce de tenant). 500 y ruidoso: es un bug
|
|
351
|
+
* del consumidor (la vista sobrevivió a su request), no un "sin permiso".
|
|
352
|
+
*/
|
|
353
|
+
export declare class ViewExpiredError extends Exception {
|
|
354
|
+
static status: number;
|
|
355
|
+
static code: string;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* `authorizedScopes` sin `scopes.descendantsOf` en el config (2.1, B3). 500
|
|
359
|
+
* y nunca `none`: un "ningún scope" sin haber mirado el árbol sería un
|
|
360
|
+
* fail-closed mentiroso que el consumidor tomaría por respuesta.
|
|
361
|
+
*/
|
|
362
|
+
export declare class NoDescendantsResolverError extends Exception {
|
|
363
|
+
static status: number;
|
|
364
|
+
static code: string;
|
|
365
|
+
}
|
|
366
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|