@jantstack/adonis-authz 2.5.0-alpha.2 → 2.5.0-alpha.3
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/README.md +343 -7
- package/build/commands/authz_relations_reconcile.d.ts +6 -0
- package/build/commands/authz_relations_reconcile.d.ts.map +1 -1
- package/build/commands/authz_relations_reconcile.js +113 -3
- package/build/commands/authz_relations_reconcile.js.map +1 -1
- package/build/commands/openfga_provision.d.ts +62 -0
- package/build/commands/openfga_provision.d.ts.map +1 -1
- package/build/commands/openfga_provision.js +193 -1
- package/build/commands/openfga_provision.js.map +1 -1
- package/build/index.d.ts +6 -6
- package/build/index.d.ts.map +1 -1
- package/build/index.js +3 -3
- package/build/index.js.map +1 -1
- package/build/src/drivers/database_relations_driver.d.ts +36 -1
- package/build/src/drivers/database_relations_driver.d.ts.map +1 -1
- package/build/src/drivers/database_relations_driver.js +211 -45
- package/build/src/drivers/database_relations_driver.js.map +1 -1
- package/build/src/drivers/openfga_driver.d.ts.map +1 -1
- package/build/src/drivers/openfga_driver.js +102 -36
- package/build/src/drivers/openfga_driver.js.map +1 -1
- package/build/src/drivers/openfga_facts.d.ts +21 -0
- package/build/src/drivers/openfga_facts.d.ts.map +1 -1
- package/build/src/drivers/openfga_facts.js +74 -8
- package/build/src/drivers/openfga_facts.js.map +1 -1
- package/build/src/drivers/openfga_relations_driver.d.ts +74 -1
- package/build/src/drivers/openfga_relations_driver.d.ts.map +1 -1
- package/build/src/drivers/openfga_relations_driver.js +599 -29
- package/build/src/drivers/openfga_relations_driver.js.map +1 -1
- package/build/src/errors.d.ts +112 -0
- package/build/src/errors.d.ts.map +1 -1
- package/build/src/errors.js +130 -0
- package/build/src/errors.js.map +1 -1
- package/build/src/manager.d.ts.map +1 -1
- package/build/src/manager.js +9 -4
- package/build/src/manager.js.map +1 -1
- package/build/src/openfga.d.ts +1 -1
- package/build/src/openfga.d.ts.map +1 -1
- package/build/src/openfga.js +1 -1
- package/build/src/openfga.js.map +1 -1
- package/build/src/relations/check_many.d.ts +1 -1
- package/build/src/relations/check_many.d.ts.map +1 -1
- package/build/src/relations/check_many.js +6 -4
- package/build/src/relations/check_many.js.map +1 -1
- package/build/src/relations/define_relations_config.d.ts +115 -2
- package/build/src/relations/define_relations_config.d.ts.map +1 -1
- package/build/src/relations/define_relations_config.js +197 -3
- package/build/src/relations/define_relations_config.js.map +1 -1
- package/build/src/relations/manager.d.ts +33 -2
- package/build/src/relations/manager.d.ts.map +1 -1
- package/build/src/relations/manager.js +120 -3
- package/build/src/relations/manager.js.map +1 -1
- package/build/src/relations/reconcile.d.ts +219 -1
- package/build/src/relations/reconcile.d.ts.map +1 -1
- package/build/src/relations/reconcile.js +745 -155
- package/build/src/relations/reconcile.js.map +1 -1
- package/build/src/relations/tuple_order.d.ts +126 -0
- package/build/src/relations/tuple_order.d.ts.map +1 -0
- package/build/src/relations/tuple_order.js +598 -0
- package/build/src/relations/tuple_order.js.map +1 -0
- package/build/src/shared/backend_guard.d.ts +8 -0
- package/build/src/shared/backend_guard.d.ts.map +1 -1
- package/build/src/shared/backend_guard.js +15 -0
- package/build/src/shared/backend_guard.js.map +1 -1
- package/build/src/testing/main.d.ts +1 -1
- package/build/src/testing/main.d.ts.map +1 -1
- package/build/src/testing/main.js +1 -1
- package/build/src/testing/main.js.map +1 -1
- package/build/src/testing/relations_contract.d.ts +18 -0
- package/build/src/testing/relations_contract.d.ts.map +1 -1
- package/build/src/testing/relations_contract.js +824 -44
- package/build/src/testing/relations_contract.js.map +1 -1
- package/build/src/testing/relations_reconcile_contract.d.ts +9 -0
- package/build/src/testing/relations_reconcile_contract.d.ts.map +1 -1
- package/build/src/testing/relations_reconcile_contract.js +207 -0
- package/build/src/testing/relations_reconcile_contract.js.map +1 -1
- package/build/src/types.d.ts +83 -3
- package/build/src/types.d.ts.map +1 -1
- package/build/src/types.js +2 -0
- package/build/src/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -25,18 +25,24 @@
|
|
|
25
25
|
*/
|
|
26
26
|
import db from '@adonisjs/lucid/services/db';
|
|
27
27
|
import { v7 as uuidv7 } from 'uuid';
|
|
28
|
-
import { AuthorizationConfigError, InvalidIdentityError, UnsupportedDialectError, UnsupportedOperationError, WriteConflictError, } from '../errors.js';
|
|
28
|
+
import { AuthorizationBackendTimeoutError, AuthorizationConfigError, InvalidIdentityError, MembersOfDenyLimitError, UnsupportedDialectError, UnsupportedOperationError, WriteConflictError, } from '../errors.js';
|
|
29
29
|
import { assertPartition, assertSubject, assertExpiresAt, partitionKey } from '../identity.js';
|
|
30
30
|
import { relationPartitionTrigger, relationPartitionTriggerDrops } from '../relation_partition_trigger.js';
|
|
31
31
|
import { isClock, systemClock } from '../clock.js';
|
|
32
32
|
import { resolveGrantExpiry, sameInstant } from '../expiry.js';
|
|
33
33
|
import { sqlExpiryCodec } from '../shared/sql_expiry.js';
|
|
34
|
-
import { guardSql, isDeadlock, isUniqueViolation } from '../shared/backend_guard.js';
|
|
34
|
+
import { guardSql, isDeadlock, isUniqueViolation, withDeadline } from '../shared/backend_guard.js';
|
|
35
35
|
import { assertCallerTransaction } from '../shared/transaction_guard.js';
|
|
36
36
|
import { isRelUserset } from '../types.js';
|
|
37
|
-
import { assertRelationDeclared, assertObjectTypeDeclared, assertUsersetSubject } from '../relations/define_relations_config.js';
|
|
37
|
+
import { assertRelationDeclared, assertObjectTypeDeclared, assertUsersetSubject, assertRelationDenyable, assertDenySubject, assertDenyNoExpiry, cutPathAllows, decideFrom, deniableAbove, deniedRelationOf, storedRelationKind, denyPhaseOf, relationsDown, RELATION_DENY_PREFIX, } from '../relations/define_relations_config.js';
|
|
38
38
|
import { assertCheckManyObjects, distinctObjects, expandByPosition } from '../relations/check_many.js';
|
|
39
39
|
const DEFAULT_TIMEOUT_MS = 5_000;
|
|
40
|
+
/**
|
|
41
|
+
* **Cota de candidatos de `membersOf` cuando el objeto tiene un deny vigente** (lote D · cierre 1 de D1, 🟡 4): con deny
|
|
42
|
+
* cada candidato se juzga con un `check` (una CTE por candidato). Pasada ⇒ 500 `E_AUTHZ_MEMBERS_DENY_LIMIT`, nunca una
|
|
43
|
+
* lista parcial. En «Limits» del README, atada a esta constante (`scope_depth.spec`).
|
|
44
|
+
*/
|
|
45
|
+
export const RELATIONS_MEMBERS_DENY_CHECK_MAX = 1_000;
|
|
40
46
|
const RELATIONS_TABLE = 'authz_relations';
|
|
41
47
|
/** Longitud máxima del id de un objeto/holder de relación (columna `varchar(64)`). */
|
|
42
48
|
const RELATION_ID_MAX = 64;
|
|
@@ -125,6 +131,12 @@ export class DatabaseRelationsDriver {
|
|
|
125
131
|
listObjectsTruncation: false,
|
|
126
132
|
injectableClock: true,
|
|
127
133
|
transactionalWrites: this.#transactionalWrites,
|
|
134
|
+
// Lote D · D1: el deny vive en la MISMA tabla (`relation = 'denied_<rel>'`) y TODA lectura lo honra SIEMPRE
|
|
135
|
+
// (D8: también en un tipo sin opt-in —una fila deny es un hecho—).
|
|
136
|
+
relationDenies: true,
|
|
137
|
+
// Cierre 2 de D2 · 🟠 N1: renovar (otra caducidad) es delete + insert en UNA transacción (`#upsert`): ningún
|
|
138
|
+
// instante sin la tupla, así que una membresía que transporta un deny se renueva sin ventana.
|
|
139
|
+
atomicRenewal: true,
|
|
128
140
|
});
|
|
129
141
|
}
|
|
130
142
|
/**
|
|
@@ -293,21 +305,30 @@ export class DatabaseRelationsDriver {
|
|
|
293
305
|
b.where('subject_relation', relation);
|
|
294
306
|
}
|
|
295
307
|
/* ── Expansión de includes (un nivel, hacia ABAJO desde la relación) ──── */
|
|
308
|
+
/** `down*(R)` — desde el lote D, la función ÚNICA de la config (`relationsDown`), la misma que el doble y el oráculo. */
|
|
296
309
|
#expandDown(objectType, relation) {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
310
|
+
return relationsDown(this.#config, objectType, relation);
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* **Lo que una lectura con deny tiene que traer para `R`** (lote D · D5/D8): los grants de `down*(R)` y los denies de
|
|
314
|
+
* `up*(down*(R))` (almacenados como `denied_<rel>`). SIEMPRE, también en un tipo sin opt-in (D8: una fila deny es un
|
|
315
|
+
* hecho; si el tipo retiró el opt-in con denies vivos, `database` sigue denegando). Sin filas `denied_*` la respuesta
|
|
316
|
+
* es la de 2.4.0-alpha.10 (el corte no tiene nada que cortar).
|
|
317
|
+
*/
|
|
318
|
+
#readRelations(objectType, relation) {
|
|
319
|
+
return [...this.#expandDown(objectType, relation), ...deniableAbove(this.#config, objectType, relation).map(deniedRelationOf)];
|
|
320
|
+
}
|
|
321
|
+
/** Reparte las relaciones leídas de un objeto en grants y denies (nombre PÚBLICO). */
|
|
322
|
+
#split(relations) {
|
|
323
|
+
const allowed = new Set();
|
|
324
|
+
const denied = new Set();
|
|
325
|
+
for (const r of relations) {
|
|
326
|
+
if (r.startsWith(RELATION_DENY_PREFIX))
|
|
327
|
+
denied.add(r.slice(RELATION_DENY_PREFIX.length));
|
|
328
|
+
else
|
|
329
|
+
allowed.add(r);
|
|
309
330
|
}
|
|
310
|
-
return
|
|
331
|
+
return { allowed, denied };
|
|
311
332
|
}
|
|
312
333
|
/* ── Escrituras ───────────────────────────────────────────────────────── */
|
|
313
334
|
async relate(subject, relation, object, partition, options) {
|
|
@@ -321,14 +342,40 @@ export class DatabaseRelationsDriver {
|
|
|
321
342
|
this.#assertId(`la relación de '${object.type}'`, relation, RELATION_ID_MAX);
|
|
322
343
|
// R-15 (defensa en profundidad; el manager ya lo validó): los tres estados.
|
|
323
344
|
assertExpiresAt(options?.expiresAt);
|
|
324
|
-
|
|
345
|
+
await this.#upsert('relate', subject, relation, object, partition, options?.expiresAt, options);
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* **`deny` = la tupla `denied_<rel>`, por el MISMO camino idempotente que `relate`** (lote D · D1): F-05 sobre el
|
|
349
|
+
* nombre PÚBLICO, la puerta de escritura del opt-in (fase `'write'`, D10), ni `group` ni `*`, y SIN caducidad (D3:
|
|
350
|
+
* `expiresAt` ⇒ 422; un deny escrito a mano con caducidad se rehace permanente). Por la transacción del llamante si
|
|
351
|
+
* llega (L-4, como `relate`).
|
|
352
|
+
*/
|
|
353
|
+
async deny(subject, relation, object, partition, options) {
|
|
354
|
+
assertRelationDeclared(this.#config, object, relation);
|
|
355
|
+
assertRelationDenyable(this.#config, object, relation);
|
|
356
|
+
assertDenyNoExpiry(options);
|
|
357
|
+
assertPartition(partition);
|
|
358
|
+
this.#assertObject(object);
|
|
359
|
+
assertDenySubject(subject);
|
|
360
|
+
await this.#upsert('deny', subject, deniedRelationOf(relation), object, partition, null, options);
|
|
361
|
+
}
|
|
362
|
+
/** `removeDeny`: borra la tupla `denied_<rel>`. Sobre CUALQUIER tipo declarado (D8/R2-4 b). No-op si no está. */
|
|
363
|
+
async removeDeny(subject, relation, object, partition, options) {
|
|
364
|
+
assertRelationDeclared(this.#config, object, relation);
|
|
365
|
+
assertDenyNoExpiry(options);
|
|
366
|
+
assertPartition(partition);
|
|
367
|
+
this.#assertObject(object);
|
|
368
|
+
await this.#deleteTuple('removeDeny', subject, deniedRelationOf(relation), object, partition, options);
|
|
369
|
+
}
|
|
370
|
+
/** El check-then-delete-insert idempotente de `relate`/`deny` sobre la relación ALMACENADA. */
|
|
371
|
+
async #upsert(operation, subject, relation, object, partition, requested, options) {
|
|
325
372
|
const partitionKey = this.#keyOf(partition);
|
|
326
373
|
const s = this.#subjectColumns(subject, partitionKey);
|
|
327
374
|
const codec = this.#expiry;
|
|
328
375
|
const now = this.#now();
|
|
329
376
|
// L-4: por la transacción del llamante si llegó (`#writer`, juzgada AQUÍ,
|
|
330
377
|
// después de F-05 y la gramática y antes de la primera sentencia).
|
|
331
|
-
const { client, external } = this.#writer(
|
|
378
|
+
const { client, external } = this.#writer(operation, options);
|
|
332
379
|
// El check-then-delete-insert idempotente. Con transacción EXTERNA corre
|
|
333
380
|
// tal cual sobre ella (el trigger de partición dispara en ESE INSERT,
|
|
334
381
|
// dentro de la trx del consumidor; NUNCA se abre una interna: la fila
|
|
@@ -336,7 +383,7 @@ export class DatabaseRelationsDriver {
|
|
|
336
383
|
// una transacción INTERNA de la conexión del driver (la atomicidad
|
|
337
384
|
// trigger+insert de 4-3). Cada sentencia lleva su deadline (`#sql`).
|
|
338
385
|
const write = async (trx) => {
|
|
339
|
-
const existing = await this.#sql(
|
|
386
|
+
const existing = await this.#sql(`${operation}.select`, () => trx
|
|
340
387
|
.from(RELATIONS_TABLE)
|
|
341
388
|
.where('partition_key', partitionKey)
|
|
342
389
|
.where('object_type', object.type)
|
|
@@ -360,9 +407,9 @@ export class DatabaseRelationsDriver {
|
|
|
360
407
|
// BORRAR la fila e INSERTAR otra —nunca un UPDATE—; la fila nueva
|
|
361
408
|
// tiene otro `uuid`, que es lo que lo hace observable. Dentro de la
|
|
362
409
|
// trx del llamante, el rollback devuelve la fila (y la caducidad) VIEJA.
|
|
363
|
-
await this.#sql(
|
|
410
|
+
await this.#sql(`${operation}.delete`, () => trx.from(RELATIONS_TABLE).where('uuid', current.uuid).delete());
|
|
364
411
|
}
|
|
365
|
-
await this.#sql(
|
|
412
|
+
await this.#sql(`${operation}.insert`, () => trx.table(RELATIONS_TABLE).insert({
|
|
366
413
|
uuid: uuidv7(),
|
|
367
414
|
partition_key: partitionKey,
|
|
368
415
|
object_type: object.type,
|
|
@@ -383,11 +430,11 @@ export class DatabaseRelationsDriver {
|
|
|
383
430
|
await write(client);
|
|
384
431
|
}
|
|
385
432
|
catch (error) {
|
|
386
|
-
this.#poisoned(
|
|
433
|
+
this.#poisoned(operation, error);
|
|
387
434
|
}
|
|
388
435
|
return;
|
|
389
436
|
}
|
|
390
|
-
await this.#sql(
|
|
437
|
+
await this.#sql(operation, () => client.transaction(write));
|
|
391
438
|
}
|
|
392
439
|
async unrelate(subject, relation, object, partition, options) {
|
|
393
440
|
// L-0 · F-05 también al RETIRAR (paridad con `openfga`).
|
|
@@ -395,11 +442,15 @@ export class DatabaseRelationsDriver {
|
|
|
395
442
|
assertPartition(partition);
|
|
396
443
|
this.#assertObject(object);
|
|
397
444
|
this.#assertId(`la relación de '${object.type}'`, relation, RELATION_ID_MAX);
|
|
445
|
+
await this.#deleteTuple('unrelate', subject, relation, object, partition, options);
|
|
446
|
+
}
|
|
447
|
+
/** El DELETE de UNA tupla (relación ALMACENADA): `unrelate` y `removeDeny`. Un `unrelate` nunca toca `denied_*` (D-04). */
|
|
448
|
+
async #deleteTuple(operation, subject, relation, object, partition, options) {
|
|
398
449
|
const partitionKey = this.#keyOf(partition);
|
|
399
450
|
const s = this.#subjectColumns(subject, partitionKey);
|
|
400
|
-
const { client, external } = this.#writer(
|
|
451
|
+
const { client, external } = this.#writer(operation, options);
|
|
401
452
|
try {
|
|
402
|
-
await this.#sql(
|
|
453
|
+
await this.#sql(operation, () => client
|
|
403
454
|
.from(RELATIONS_TABLE)
|
|
404
455
|
.where('partition_key', partitionKey)
|
|
405
456
|
.where('object_type', object.type)
|
|
@@ -412,7 +463,7 @@ export class DatabaseRelationsDriver {
|
|
|
412
463
|
}
|
|
413
464
|
catch (error) {
|
|
414
465
|
if (external)
|
|
415
|
-
this.#poisoned(
|
|
466
|
+
this.#poisoned(operation, error);
|
|
416
467
|
throw error;
|
|
417
468
|
}
|
|
418
469
|
}
|
|
@@ -433,21 +484,25 @@ export class DatabaseRelationsDriver {
|
|
|
433
484
|
this.#assertObject(object);
|
|
434
485
|
const partitionKey = this.#keyOf(partition);
|
|
435
486
|
const s = this.#subjectColumns(subject, partitionKey);
|
|
436
|
-
|
|
487
|
+
// Lote D · D5: los grants de `down*(R)` Y los denies de `up*(down*(R))`, en UNA consulta sobre la misma CTE
|
|
488
|
+
// `principal` (el deny también viaja por `group#member`, anidado, y una membresía caducada no lo transporta);
|
|
489
|
+
// el CORTE se decide en `cutPathAllows`, la función ÚNICA de la config.
|
|
490
|
+
const relations = this.#readRelations(object.type, relation);
|
|
437
491
|
const meta = this.#dialectMeta();
|
|
438
492
|
const q = (name) => `${meta.quote}${name}${meta.quote}`;
|
|
439
493
|
const at = this.#expiry.bind(this.#now());
|
|
440
494
|
const { cte, bindings: cteBindings } = this.#principalCte(meta, q, s, partitionKey, at);
|
|
441
495
|
const relPlaceholders = relations.map(() => '?').join(', ');
|
|
442
496
|
const sql = cte +
|
|
443
|
-
` SELECT ${meta.hint}
|
|
497
|
+
` SELECT ${meta.hint}DISTINCT r.${q('relation')} AS ${q('relation')} FROM ${q(RELATIONS_TABLE)} r ` +
|
|
444
498
|
`JOIN principal p ON r.${q('subject_type')} = p.p_type AND r.${q('subject_uuid')} = p.p_uuid ` +
|
|
445
499
|
`AND COALESCE(r.${q('subject_relation')}, '') = p.p_rel ` +
|
|
446
500
|
`WHERE r.${q('partition_key')} = ? AND r.${q('object_type')} = ? AND r.${q('object_uuid')} = ? ` +
|
|
447
|
-
`AND r.${q('relation')} IN (${relPlaceholders}) AND ${this.#activeSql(q, 'r')}
|
|
501
|
+
`AND r.${q('relation')} IN (${relPlaceholders}) AND ${this.#activeSql(q, 'r')}`;
|
|
448
502
|
const bindings = [...cteBindings, partitionKey, object.type, object.id, ...relations, at];
|
|
449
503
|
const rows = rowsOf(await this.#raw('check', sql, bindings));
|
|
450
|
-
|
|
504
|
+
const { allowed, denied } = this.#split(rows.map((row) => String(row.relation)));
|
|
505
|
+
return cutPathAllows(this.#config, object.type, relation, allowed, denied);
|
|
451
506
|
}
|
|
452
507
|
/**
|
|
453
508
|
* **`checkMany` = UNA consulta** (plan 2.5 · lote A, P4-8): la MISMA CTE
|
|
@@ -460,7 +515,35 @@ export class DatabaseRelationsDriver {
|
|
|
460
515
|
* de la consulta (defensa en profundidad: el manager ya lo hizo).
|
|
461
516
|
*/
|
|
462
517
|
async checkMany(subject, relation, objects, partition) {
|
|
463
|
-
|
|
518
|
+
const { distinct, index, facts } = await this.#readMany('checkMany', subject, relation, objects, partition);
|
|
519
|
+
const answers = distinct.map((object) => {
|
|
520
|
+
const { allowed, denied } = this.#split(facts.get(`${object.type}:${object.id}`) ?? []);
|
|
521
|
+
return cutPathAllows(this.#config, object.type, relation, allowed, denied);
|
|
522
|
+
});
|
|
523
|
+
return expandByPosition(index, answers);
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* **`decideMany` = la consulta de `checkMany`** (lote D · D9): los grants de `down*(R)` y los denies de
|
|
527
|
+
* `up*(down*(R))` de cada objeto distinto, con UN `now` y en UNA consulta, y la regla AMPLIA de `decideFrom` (la
|
|
528
|
+
* misma función que el doble y `openfga` cuando alinea su `batchCheck`). Tope, `[]` y F-05 por ítem como `checkMany`.
|
|
529
|
+
*/
|
|
530
|
+
async decideMany(subject, relation, objects, partition) {
|
|
531
|
+
const { distinct, index, facts } = await this.#readMany('decideMany', subject, relation, objects, partition);
|
|
532
|
+
const answers = distinct.map((object) => {
|
|
533
|
+
const { allowed, denied } = this.#split(facts.get(`${object.type}:${object.id}`) ?? []);
|
|
534
|
+
return decideFrom(this.#config, object.type, relation, allowed, denied);
|
|
535
|
+
});
|
|
536
|
+
return index.map((at) => answers[at]);
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* **`checkMany`/`decideMany` = UNA consulta** (plan 2.5 · lote A, P4-8; lote D): la MISMA CTE `principal` de
|
|
540
|
+
* `check` (el sujeto y sus grupos, transitivo, solo vigentes) y un `SELECT DISTINCT object_type, object_uuid,
|
|
541
|
+
* relation` sobre los hechos de la partición que casan con CUALQUIER objeto distinto del lote —agrupados por TIPO,
|
|
542
|
+
* porque los `includes` se expanden por tipo— con grants Y denies (`#readRelations`), con UN solo `now` para todo
|
|
543
|
+
* el lote. F-05 y la gramática del id, POR ÍTEM, antes de la consulta (defensa en profundidad).
|
|
544
|
+
*/
|
|
545
|
+
async #readMany(operation, subject, relation, objects, partition) {
|
|
546
|
+
assertCheckManyObjects(objects, operation);
|
|
464
547
|
for (const object of objects) {
|
|
465
548
|
assertRelationDeclared(this.#config, object, relation);
|
|
466
549
|
this.#assertObject(object);
|
|
@@ -473,7 +556,7 @@ export class DatabaseRelationsDriver {
|
|
|
473
556
|
const q = (name) => `${meta.quote}${name}${meta.quote}`;
|
|
474
557
|
const at = this.#expiry.bind(this.#now());
|
|
475
558
|
const { cte, bindings: cteBindings } = this.#principalCte(meta, q, s, partitionKey, at);
|
|
476
|
-
// Un grupo por TIPO de objeto: `(object_type = ? AND object_uuid IN (…) AND relation IN (<
|
|
559
|
+
// Un grupo por TIPO de objeto: `(object_type = ? AND object_uuid IN (…) AND relation IN (<grants y denies del tipo>))`.
|
|
477
560
|
const byType = new Map();
|
|
478
561
|
for (const object of distinct) {
|
|
479
562
|
const ids = byType.get(object.type) ?? [];
|
|
@@ -483,7 +566,7 @@ export class DatabaseRelationsDriver {
|
|
|
483
566
|
const groups = [];
|
|
484
567
|
const groupBindings = [];
|
|
485
568
|
for (const [type, ids] of byType) {
|
|
486
|
-
const relations = this.#
|
|
569
|
+
const relations = this.#readRelations(type, relation);
|
|
487
570
|
groups.push(`(r.${q('object_type')} = ? AND r.${q('object_uuid')} IN (${ids.map(() => '?').join(', ')}) ` +
|
|
488
571
|
`AND r.${q('relation')} IN (${relations.map(() => '?').join(', ')}))`);
|
|
489
572
|
groupBindings.push(type, ...ids, ...relations);
|
|
@@ -492,16 +575,22 @@ export class DatabaseRelationsDriver {
|
|
|
492
575
|
// ⚪ A8 (auditor del lote A): el hint de MySQL va ANTES de DISTINCT (como en
|
|
493
576
|
// `listObjects`); detrás, el optimizador lo ignora y a > 1000 niveles de
|
|
494
577
|
// anidación `checkMany` era `ERROR 3636` (503) donde `check` respondía.
|
|
495
|
-
` SELECT ${meta.hint}DISTINCT r.${q('object_type')} AS object_type, r.${q('object_uuid')} AS object_uuid ` +
|
|
578
|
+
` SELECT ${meta.hint}DISTINCT r.${q('object_type')} AS object_type, r.${q('object_uuid')} AS object_uuid, ` +
|
|
579
|
+
`r.${q('relation')} AS relation ` +
|
|
496
580
|
`FROM ${q(RELATIONS_TABLE)} r ` +
|
|
497
581
|
`JOIN principal p ON r.${q('subject_type')} = p.p_type AND r.${q('subject_uuid')} = p.p_uuid ` +
|
|
498
582
|
`AND COALESCE(r.${q('subject_relation')}, '') = p.p_rel ` +
|
|
499
583
|
`WHERE r.${q('partition_key')} = ? AND (${groups.join(' OR ')}) AND ${this.#activeSql(q, 'r')}`;
|
|
500
584
|
const bindings = [...cteBindings, partitionKey, ...groupBindings, at];
|
|
501
|
-
const rows = rowsOf(await this.#raw(
|
|
502
|
-
const
|
|
503
|
-
const
|
|
504
|
-
|
|
585
|
+
const rows = rowsOf(await this.#raw(operation, sql, bindings));
|
|
586
|
+
const facts = new Map();
|
|
587
|
+
for (const row of rows) {
|
|
588
|
+
const key = `${row.object_type}:${row.object_uuid}`;
|
|
589
|
+
const list = facts.get(key) ?? [];
|
|
590
|
+
list.push(String(row.relation));
|
|
591
|
+
facts.set(key, list);
|
|
592
|
+
}
|
|
593
|
+
return { distinct, index, facts };
|
|
505
594
|
}
|
|
506
595
|
async listObjects(subject, relation, objectType, partition, _page) {
|
|
507
596
|
assertRelationDeclared(this.#config, { type: objectType }, relation);
|
|
@@ -509,22 +598,35 @@ export class DatabaseRelationsDriver {
|
|
|
509
598
|
this.#assertId('el tipo de objeto', objectType, RELATION_ID_MAX);
|
|
510
599
|
const partitionKey = this.#keyOf(partition);
|
|
511
600
|
const s = this.#subjectColumns(subject, partitionKey);
|
|
512
|
-
|
|
601
|
+
// Lote D · D-15: `listObjects` RESTA (la misma regla de corte que `check`, objeto a objeto).
|
|
602
|
+
const relations = this.#readRelations(objectType, relation);
|
|
513
603
|
const meta = this.#dialectMeta();
|
|
514
604
|
const q = (name) => `${meta.quote}${name}${meta.quote}`;
|
|
515
605
|
const at = this.#expiry.bind(this.#now());
|
|
516
606
|
const { cte, bindings: cteBindings } = this.#principalCte(meta, q, s, partitionKey, at);
|
|
517
607
|
const relPlaceholders = relations.map(() => '?').join(', ');
|
|
518
608
|
const sql = cte +
|
|
519
|
-
` SELECT ${meta.hint}DISTINCT r.${q('object_uuid')} AS ${q('object_uuid')}
|
|
609
|
+
` SELECT ${meta.hint}DISTINCT r.${q('object_uuid')} AS ${q('object_uuid')}, r.${q('relation')} AS ${q('relation')} ` +
|
|
610
|
+
`FROM ${q(RELATIONS_TABLE)} r ` +
|
|
520
611
|
`JOIN principal p ON r.${q('subject_type')} = p.p_type AND r.${q('subject_uuid')} = p.p_uuid ` +
|
|
521
612
|
`AND COALESCE(r.${q('subject_relation')}, '') = p.p_rel ` +
|
|
522
613
|
`WHERE r.${q('partition_key')} = ? AND r.${q('object_type')} = ? ` +
|
|
523
614
|
`AND r.${q('relation')} IN (${relPlaceholders}) AND ${this.#activeSql(q, 'r')}`;
|
|
524
615
|
const bindings = [...cteBindings, partitionKey, objectType, ...relations, at];
|
|
525
616
|
const rows = rowsOf(await this.#raw('listObjects', sql, bindings));
|
|
526
|
-
const
|
|
527
|
-
|
|
617
|
+
const byObject = new Map();
|
|
618
|
+
for (const row of rows) {
|
|
619
|
+
const id = String(row.object_uuid);
|
|
620
|
+
const list = byObject.get(id) ?? [];
|
|
621
|
+
list.push(String(row.relation));
|
|
622
|
+
byObject.set(id, list);
|
|
623
|
+
}
|
|
624
|
+
const objects = [...byObject]
|
|
625
|
+
.filter(([, rels]) => {
|
|
626
|
+
const { allowed, denied } = this.#split(rels);
|
|
627
|
+
return cutPathAllows(this.#config, objectType, relation, allowed, denied);
|
|
628
|
+
})
|
|
629
|
+
.map(([id]) => ({ type: objectType, id }))
|
|
528
630
|
.sort((a, b) => (a.id < b.id ? -1 : a.id > b.id ? 1 : 0));
|
|
529
631
|
return { objects };
|
|
530
632
|
}
|
|
@@ -532,12 +634,16 @@ export class DatabaseRelationsDriver {
|
|
|
532
634
|
assertRelationDeclared(this.#config, object, relation);
|
|
533
635
|
assertPartition(partition);
|
|
534
636
|
this.#assertObject(object);
|
|
637
|
+
return this.#directSubjects('listSubjects', relation, object, partition, _page);
|
|
638
|
+
}
|
|
639
|
+
/** Los sujetos DIRECTOS vigentes de UNA relación almacenada (`listSubjects`; `listDenies` con `denied_<rel>`). */
|
|
640
|
+
async #directSubjects(operation, relation, object, partition, _page) {
|
|
535
641
|
const partitionKey = this.#keyOf(partition);
|
|
536
642
|
// DIRECTOS del relation EXACTO (invariante 7): ni transitivo (eso es
|
|
537
643
|
// `membersOf`) ni derivado por includes. `usersetSubjects: true` ⇒ los
|
|
538
644
|
// usersets (`group#member`) salen junto con los holders. Solo VIGENTES (R-15).
|
|
539
645
|
const now = this.#now();
|
|
540
|
-
const rows = await this.#sql(
|
|
646
|
+
const rows = await this.#sql(operation, () => this.#whereActive(this.#connection()
|
|
541
647
|
.from(RELATIONS_TABLE)
|
|
542
648
|
.where('partition_key', partitionKey)
|
|
543
649
|
.where('object_type', object.type)
|
|
@@ -546,6 +652,26 @@ export class DatabaseRelationsDriver {
|
|
|
546
652
|
const subjects = rows.map((row) => this.#rowToSubject(row));
|
|
547
653
|
return { subjects };
|
|
548
654
|
}
|
|
655
|
+
/**
|
|
656
|
+
* **`listDenies`** (lote D · D1): los sujetos con deny DIRECTO de `relation` sobre `object` —hechos, como
|
|
657
|
+
* `listSubjects` sobre la relación almacenada `denied_<rel>`; no resta ni deriva—. Sobre CUALQUIER tipo declarado
|
|
658
|
+
* (D8/R2-4 b: con el opt-in retirado, los denies vivos se siguen pudiendo listar y borrar).
|
|
659
|
+
*/
|
|
660
|
+
async listDenies(relation, object, partition, page) {
|
|
661
|
+
assertRelationDeclared(this.#config, object, relation);
|
|
662
|
+
assertPartition(partition);
|
|
663
|
+
this.#assertObject(object);
|
|
664
|
+
return this.#directSubjects('listDenies', deniedRelationOf(relation), object, partition, page);
|
|
665
|
+
}
|
|
666
|
+
/**
|
|
667
|
+
* **`denyPhase` — ¿admite este driver escrituras de deny en el tipo?** (lote D · D2, R2-5): la fase del opt-in EN
|
|
668
|
+
* LA CONFIG DE ESTE DRIVER (`'write'`, `'read'` o `null`). F-05 estricto del par (422), cero sentencias: es
|
|
669
|
+
* configuración. La llama `reconcileRelations` en la fase de plan cuando el origen trae denies.
|
|
670
|
+
*/
|
|
671
|
+
async denyPhase(object, relation) {
|
|
672
|
+
assertRelationDeclared(this.#config, object, relation);
|
|
673
|
+
return denyPhaseOf(this.#config, object.type) ?? null;
|
|
674
|
+
}
|
|
549
675
|
/**
|
|
550
676
|
* Membresía TRANSITIVA de un objeto-grupo: todos los HOLDERS que son `member`
|
|
551
677
|
* directa o a través de grupos anidados (usersets `group#member`). CTE
|
|
@@ -604,7 +730,45 @@ export class DatabaseRelationsDriver {
|
|
|
604
730
|
partitionKey, at,
|
|
605
731
|
];
|
|
606
732
|
const rows = rowsOf(await this.#raw('membersOf', sql, bindings));
|
|
607
|
-
const
|
|
733
|
+
const candidates = rows.map((row) => ({ type: String(row.subject_type), uuid: String(row.subject_uuid) }));
|
|
734
|
+
// **Lote D · `membersOf` RESTA** (juez ronda 2: «listObjects y membersOf restan»; D8: siempre, con o sin opt-in).
|
|
735
|
+
// Si el objeto tiene alguna fila `denied_*` vigente, cada candidato se juzga con `check` —el MISMO corte de camino
|
|
736
|
+
// que el resto de lecturas, un `check` por candidato—; sin filas deny, cero consultas de más (la respuesta y el coste
|
|
737
|
+
// de 2.4.0-alpha.10). Coste declarado: O(miembros) consultas cuando el objeto tiene denies.
|
|
738
|
+
const denied = await this.#sql('membersOf.denies', () => this.#whereActive(this.#connection()
|
|
739
|
+
.from(RELATIONS_TABLE)
|
|
740
|
+
.where('partition_key', partitionKey)
|
|
741
|
+
.where('object_type', object.type)
|
|
742
|
+
.where('object_uuid', object.id)
|
|
743
|
+
.whereIn('relation', deniableAbove(this.#config, object.type, relation).map(deniedRelationOf)), this.#now())
|
|
744
|
+
.select('uuid')
|
|
745
|
+
.limit(1));
|
|
746
|
+
if (denied.length === 0)
|
|
747
|
+
return { subjects: candidates };
|
|
748
|
+
// **Cierre 1 de D1 · 🟡 4 del auditor**: con deny, N `check` en serie sin cota ni deadline total era una
|
|
749
|
+
// amplificación barata para quien puede escribir un deny (disponibilidad, no concesión). Cota DECLARADA
|
|
750
|
+
// (`RELATIONS_MEMBERS_DENY_CHECK_MAX`, «Limits» del README) ⇒ 500 ANTES del primer `check`, nunca una lista parcial;
|
|
751
|
+
// y deadline TOTAL sobre el bucle (`timeoutMs` del driver) ⇒ 503 `E_AUTHZ_BACKEND_TIMEOUT`, el bucle se para.
|
|
752
|
+
if (candidates.length > RELATIONS_MEMBERS_DENY_CHECK_MAX) {
|
|
753
|
+
throw new MembersOfDenyLimitError(`membersOf(${object.type}, '${relation}'): el objeto tiene un deny vigente y ${candidates.length} candidatos; con deny ` +
|
|
754
|
+
`cada candidato se juzga con un check y la cota es ${RELATIONS_MEMBERS_DENY_CHECK_MAX} ` +
|
|
755
|
+
`(RELATIONS_MEMBERS_DENY_CHECK_MAX). No se devuelve una lista parcial: pregunta check por sujeto, o retira el deny.`);
|
|
756
|
+
}
|
|
757
|
+
let expired = false;
|
|
758
|
+
const loop = (async () => {
|
|
759
|
+
const subjects = [];
|
|
760
|
+
for (const candidate of candidates) {
|
|
761
|
+
if (expired)
|
|
762
|
+
break;
|
|
763
|
+
if (await this.check(candidate, relation, object, partition))
|
|
764
|
+
subjects.push(candidate);
|
|
765
|
+
}
|
|
766
|
+
return subjects;
|
|
767
|
+
})();
|
|
768
|
+
const subjects = await withDeadline(loop, this.#timeoutMs, () => {
|
|
769
|
+
expired = true;
|
|
770
|
+
return new AuthorizationBackendTimeoutError('database-relations', 'membersOf', this.#timeoutMs);
|
|
771
|
+
});
|
|
608
772
|
return { subjects };
|
|
609
773
|
}
|
|
610
774
|
/* ── Purga (invariante 11): el DELETE demuestra el cero ───────────────── */
|
|
@@ -740,7 +904,9 @@ export class DatabaseRelationsDriver {
|
|
|
740
904
|
const pageRows = hasMore ? rows.slice(0, limit) : rows;
|
|
741
905
|
const tuples = pageRows.map((row) => ({
|
|
742
906
|
subject: this.#rowToSubject(row),
|
|
743
|
-
relation:
|
|
907
|
+
// Lote D · D2: `denied_<rel>` sale como `{ relation: <rel>, kind: 'deny' }` (punto de paso único,
|
|
908
|
+
// `storedRelationKind`); hasta D2 salía la relación almacenada y el reconcile la contaba como no declarada.
|
|
909
|
+
...storedRelationKind(String(row.relation)),
|
|
744
910
|
object: { type: String(row.object_type), id: String(row.object_uuid) },
|
|
745
911
|
// La partición canónica PEDIDA: el barrido de ortografías ya la unificó.
|
|
746
912
|
partition: wanted.get(String(row.partition_key)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database_relations_driver.js","sourceRoot":"","sources":["../../../src/drivers/database_relations_driver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database_relations_driver.js","sourceRoot":"","sources":["../../../src/drivers/database_relations_driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openfga_driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/openfga_driver.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"openfga_driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/openfga_driver.ts"],"names":[],"mappings":"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"}
|