@jantstack/adonis-authz 2.0.0-alpha.1 → 2.4.0-alpha.10
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 +934 -40
- package/build/commands/authz_catalog_diff.d.ts.map +1 -1
- package/build/commands/authz_catalog_diff.js +1 -2
- package/build/commands/authz_catalog_diff.js.map +1 -1
- package/build/commands/authz_catalog_prune_orphans.d.ts +78 -0
- package/build/commands/authz_catalog_prune_orphans.d.ts.map +1 -0
- package/build/commands/authz_catalog_prune_orphans.js +135 -0
- package/build/commands/authz_catalog_prune_orphans.js.map +1 -0
- package/build/commands/authz_catalog_sync.d.ts +17 -0
- package/build/commands/authz_catalog_sync.d.ts.map +1 -1
- package/build/commands/authz_catalog_sync.js +27 -4
- package/build/commands/authz_catalog_sync.js.map +1 -1
- package/build/commands/authz_freeze.d.ts +44 -0
- package/build/commands/authz_freeze.d.ts.map +1 -0
- package/build/commands/authz_freeze.js +94 -0
- package/build/commands/authz_freeze.js.map +1 -0
- package/build/commands/authz_reconcile.d.ts +111 -0
- package/build/commands/authz_reconcile.d.ts.map +1 -0
- package/build/commands/authz_reconcile.js +417 -0
- package/build/commands/authz_reconcile.js.map +1 -0
- package/build/commands/authz_relations_reconcile.d.ts +144 -0
- package/build/commands/authz_relations_reconcile.d.ts.map +1 -0
- package/build/commands/authz_relations_reconcile.js +438 -0
- package/build/commands/authz_relations_reconcile.js.map +1 -0
- package/build/commands/authz_scopes_relay.d.ts +97 -0
- package/build/commands/authz_scopes_relay.d.ts.map +1 -0
- package/build/commands/authz_scopes_relay.js +344 -0
- package/build/commands/authz_scopes_relay.js.map +1 -0
- package/build/commands/authz_scopes_requeue.d.ts +80 -0
- package/build/commands/authz_scopes_requeue.d.ts.map +1 -0
- package/build/commands/authz_scopes_requeue.js +230 -0
- package/build/commands/authz_scopes_requeue.js.map +1 -0
- package/build/commands/authz_unfreeze.d.ts +45 -0
- package/build/commands/authz_unfreeze.d.ts.map +1 -0
- package/build/commands/authz_unfreeze.js +157 -0
- package/build/commands/authz_unfreeze.js.map +1 -0
- package/build/commands/main.d.ts +16 -8
- package/build/commands/main.d.ts.map +1 -1
- package/build/commands/main.js +59 -6
- package/build/commands/main.js.map +1 -1
- package/build/commands/openfga_provision.d.ts +92 -4
- package/build/commands/openfga_provision.d.ts.map +1 -1
- package/build/commands/openfga_provision.js +155 -7
- package/build/commands/openfga_provision.js.map +1 -1
- package/build/configure.d.ts +11 -0
- package/build/configure.d.ts.map +1 -1
- package/build/configure.js +37 -1
- package/build/configure.js.map +1 -1
- package/build/index.d.ts +50 -11
- package/build/index.d.ts.map +1 -1
- package/build/index.js +49 -7
- package/build/index.js.map +1 -1
- package/build/providers/authz_provider.d.ts +31 -2
- package/build/providers/authz_provider.d.ts.map +1 -1
- package/build/providers/authz_provider.js +65 -2
- package/build/providers/authz_provider.js.map +1 -1
- package/build/services/relations.d.ts +14 -0
- package/build/services/relations.d.ts.map +1 -0
- package/build/services/relations.js +17 -0
- package/build/services/relations.js.map +1 -0
- package/build/src/{catalog.d.ts → catalog/catalog.d.ts} +41 -2
- package/build/src/catalog/catalog.d.ts.map +1 -0
- package/build/src/{catalog.js → catalog/catalog.js} +120 -14
- package/build/src/catalog/catalog.js.map +1 -0
- package/build/src/{catalog_cache.d.ts → catalog/catalog_cache.d.ts} +46 -22
- package/build/src/catalog/catalog_cache.d.ts.map +1 -0
- package/build/src/{catalog_cache.js → catalog/catalog_cache.js} +53 -43
- package/build/src/catalog/catalog_cache.js.map +1 -0
- package/build/src/define_config.d.ts +206 -3
- package/build/src/define_config.d.ts.map +1 -1
- package/build/src/define_config.js +11 -0
- package/build/src/define_config.js.map +1 -1
- package/build/src/drivers/database_driver.d.ts +128 -7
- package/build/src/drivers/database_driver.d.ts.map +1 -1
- package/build/src/drivers/database_driver.js +510 -24
- package/build/src/drivers/database_driver.js.map +1 -1
- package/build/src/drivers/database_relations_driver.d.ts +140 -0
- package/build/src/drivers/database_relations_driver.d.ts.map +1 -0
- package/build/src/drivers/database_relations_driver.js +748 -0
- package/build/src/drivers/database_relations_driver.js.map +1 -0
- package/build/src/drivers/openfga_driver.d.ts +777 -122
- package/build/src/drivers/openfga_driver.d.ts.map +1 -1
- package/build/src/drivers/openfga_driver.js +2228 -477
- package/build/src/drivers/openfga_driver.js.map +1 -1
- package/build/src/drivers/openfga_facts.d.ts +384 -0
- package/build/src/drivers/openfga_facts.d.ts.map +1 -0
- package/build/src/drivers/openfga_facts.js +836 -0
- package/build/src/drivers/openfga_facts.js.map +1 -0
- package/build/src/drivers/openfga_relations_driver.d.ts +186 -0
- package/build/src/drivers/openfga_relations_driver.d.ts.map +1 -0
- package/build/src/drivers/openfga_relations_driver.js +724 -0
- package/build/src/drivers/openfga_relations_driver.js.map +1 -0
- package/build/src/errors.d.ts +430 -6
- package/build/src/errors.d.ts.map +1 -1
- package/build/src/errors.js +453 -6
- package/build/src/errors.js.map +1 -1
- package/build/src/freeze.d.ts +200 -0
- package/build/src/freeze.d.ts.map +1 -0
- package/build/src/freeze.js +306 -0
- package/build/src/freeze.js.map +1 -0
- package/build/src/http/app_access_middleware.d.ts.map +1 -0
- package/build/src/http/app_access_middleware.js.map +1 -0
- package/build/src/http/resource_access_middleware.d.ts +105 -0
- package/build/src/http/resource_access_middleware.d.ts.map +1 -0
- package/build/src/http/resource_access_middleware.js +81 -0
- package/build/src/http/resource_access_middleware.js.map +1 -0
- package/build/src/identity.d.ts +74 -1
- package/build/src/identity.d.ts.map +1 -1
- package/build/src/identity.js +100 -2
- package/build/src/identity.js.map +1 -1
- package/build/src/manager.d.ts +549 -6
- package/build/src/manager.d.ts.map +1 -1
- package/build/src/manager.js +2243 -193
- package/build/src/manager.js.map +1 -1
- package/build/src/models/authz_assignment.d.ts +7 -7
- package/build/src/models/authz_assignment.d.ts.map +1 -1
- package/build/src/models/authz_deny.d.ts +7 -7
- package/build/src/models/authz_deny.d.ts.map +1 -1
- package/build/src/models/authz_permission.d.ts +7 -7
- package/build/src/models/authz_permission.d.ts.map +1 -1
- package/build/src/models/authz_role.d.ts +7 -7
- package/build/src/models/authz_role.d.ts.map +1 -1
- package/build/src/models/authz_role_permission.d.ts +7 -7
- package/build/src/models/authz_role_permission.d.ts.map +1 -1
- package/build/src/openfga.d.ts +18 -2
- package/build/src/openfga.d.ts.map +1 -1
- package/build/src/openfga.js +15 -1
- package/build/src/openfga.js.map +1 -1
- package/build/src/reconcile.d.ts +37 -0
- package/build/src/reconcile.d.ts.map +1 -0
- package/build/src/reconcile.js +69 -0
- package/build/src/reconcile.js.map +1 -0
- package/build/src/relation_partition_trigger.d.ts +8 -0
- package/build/src/relation_partition_trigger.d.ts.map +1 -0
- package/build/src/relation_partition_trigger.js +93 -0
- package/build/src/relation_partition_trigger.js.map +1 -0
- package/build/src/relations/define_relations_config.d.ts +109 -0
- package/build/src/relations/define_relations_config.d.ts.map +1 -0
- package/build/src/relations/define_relations_config.js +211 -0
- package/build/src/relations/define_relations_config.js.map +1 -0
- package/build/src/relations/manager.d.ts +138 -0
- package/build/src/relations/manager.d.ts.map +1 -0
- package/build/src/relations/manager.js +494 -0
- package/build/src/relations/manager.js.map +1 -0
- package/build/src/relations/reconcile.d.ts +137 -0
- package/build/src/relations/reconcile.d.ts.map +1 -0
- package/build/src/relations/reconcile.js +294 -0
- package/build/src/relations/reconcile.js.map +1 -0
- package/build/src/relations_config_store.d.ts +22 -0
- package/build/src/relations_config_store.d.ts.map +1 -0
- package/build/src/relations_config_store.js +74 -0
- package/build/src/relations_config_store.js.map +1 -0
- package/build/src/scope_outbox.d.ts +123 -0
- package/build/src/scope_outbox.d.ts.map +1 -0
- package/build/src/scope_outbox.js +532 -0
- package/build/src/scope_outbox.js.map +1 -0
- package/build/src/{drivers → shared}/backend_guard.d.ts +42 -0
- package/build/src/shared/backend_guard.d.ts.map +1 -0
- package/build/src/{drivers → shared}/backend_guard.js +78 -1
- package/build/src/shared/backend_guard.js.map +1 -0
- package/build/src/{drivers → shared}/sql_expiry.d.ts +2 -0
- package/build/src/shared/sql_expiry.d.ts.map +1 -0
- package/build/src/{drivers → shared}/sql_expiry.js +4 -0
- package/build/src/shared/sql_expiry.js.map +1 -0
- package/build/src/shared/transaction_guard.d.ts +53 -0
- package/build/src/shared/transaction_guard.d.ts.map +1 -0
- package/build/src/shared/transaction_guard.js +74 -0
- package/build/src/shared/transaction_guard.js.map +1 -0
- package/build/src/sql_descendants.d.ts +55 -1
- package/build/src/sql_descendants.d.ts.map +1 -1
- package/build/src/sql_descendants.js +75 -1
- package/build/src/sql_descendants.js.map +1 -1
- package/build/src/testing/contract.d.ts +129 -4
- package/build/src/testing/contract.d.ts.map +1 -1
- package/build/src/testing/contract.js +915 -177
- package/build/src/testing/contract.js.map +1 -1
- package/build/src/testing/main.d.ts +10 -2
- package/build/src/testing/main.d.ts.map +1 -1
- package/build/src/testing/main.js +5 -1
- package/build/src/testing/main.js.map +1 -1
- package/build/src/testing/migration_contract.d.ts +293 -0
- package/build/src/testing/migration_contract.d.ts.map +1 -0
- package/build/src/testing/migration_contract.js +589 -0
- package/build/src/testing/migration_contract.js.map +1 -0
- package/build/src/testing/relations_contract.d.ts +73 -0
- package/build/src/testing/relations_contract.d.ts.map +1 -0
- package/build/src/testing/relations_contract.js +1238 -0
- package/build/src/testing/relations_contract.js.map +1 -0
- package/build/src/testing/relations_reconcile_contract.d.ts +24 -0
- package/build/src/testing/relations_reconcile_contract.d.ts.map +1 -0
- package/build/src/testing/relations_reconcile_contract.js +220 -0
- package/build/src/testing/relations_reconcile_contract.js.map +1 -0
- package/build/src/testing/scope_outbox_contract.d.ts +98 -0
- package/build/src/testing/scope_outbox_contract.d.ts.map +1 -0
- package/build/src/testing/scope_outbox_contract.js +677 -0
- package/build/src/testing/scope_outbox_contract.js.map +1 -0
- package/build/src/traits/authz_scopes.js +1 -1
- package/build/src/traits/authz_scopes.js.map +1 -1
- package/build/src/traits/has_uuid.d.ts +8 -8
- package/build/src/traits/has_uuid.d.ts.map +1 -1
- package/build/src/types.d.ts +1537 -84
- package/build/src/types.d.ts.map +1 -1
- package/build/src/types.js +65 -0
- package/build/src/types.js.map +1 -1
- package/build/stubs/config/authorization.stub +149 -5
- package/build/stubs/migration.stub +136 -0
- package/build/stubs/scopes_outbox_migration.stub +57 -0
- package/package.json +4 -2
- package/build/commands/openfga_import.d.ts +0 -34
- package/build/commands/openfga_import.d.ts.map +0 -1
- package/build/commands/openfga_import.js +0 -97
- package/build/commands/openfga_import.js.map +0 -1
- package/build/src/catalog.d.ts.map +0 -1
- package/build/src/catalog.js.map +0 -1
- package/build/src/catalog_cache.d.ts.map +0 -1
- package/build/src/catalog_cache.js.map +0 -1
- package/build/src/drivers/backend_guard.d.ts.map +0 -1
- package/build/src/drivers/backend_guard.js.map +0 -1
- package/build/src/drivers/sql_expiry.d.ts.map +0 -1
- package/build/src/drivers/sql_expiry.js.map +0 -1
- package/build/src/middleware/app_access_middleware.d.ts.map +0 -1
- package/build/src/middleware/app_access_middleware.js.map +0 -1
- /package/build/src/{middleware → http}/app_access_middleware.d.ts +0 -0
- /package/build/src/{middleware → http}/app_access_middleware.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openfga_facts.js","sourceRoot":"","sources":["../../../src/drivers/openfga_facts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import type { Clock } from '../clock.js';
|
|
2
|
+
import type { RelObject, RelSubject, RelationObjectsPage, RelationSubjectsPage, RelationPage, RelationTuplePage, RelationsDriver, RelationsDriverCapabilities, RelationTransactionOptions, RelationWriteOptions, ScopeRef } from '../types.js';
|
|
3
|
+
import type { HolderTypeMap } from './openfga_driver.js';
|
|
4
|
+
import type { RelationsConfig } from '../relations/define_relations_config.js';
|
|
5
|
+
export declare const DEFAULT_TIMEOUT_MS = 5000;
|
|
6
|
+
export interface OpenFgaRelationsDriverOptions {
|
|
7
|
+
apiUrl: string;
|
|
8
|
+
storeId: string;
|
|
9
|
+
/** Pin del model FUSIONADO; si se omite, FGA usa el último del store. */
|
|
10
|
+
modelId?: string;
|
|
11
|
+
/** Holders del consumidor: morph name → tipo FGA. El MISMO mapa del driver de roles. */
|
|
12
|
+
holderTypes: HolderTypeMap;
|
|
13
|
+
/** Deadline de cada llamada en ms (default 5000): vencido ⇒ 503. */
|
|
14
|
+
timeoutMs?: number;
|
|
15
|
+
/** Consistencia pedida al servidor (default `higher_consistency`, como el driver de roles). */
|
|
16
|
+
consistency?: 'higher_consistency' | 'minimize_latency';
|
|
17
|
+
/**
|
|
18
|
+
* El tope de `ListObjects` del servidor (`OPENFGA_LIST_OBJECTS_MAX_RESULTS`).
|
|
19
|
+
* Default 1000 (el default de OpenFGA). Cuando `listObjects` recibe `>= este`
|
|
20
|
+
* resultados, señala `truncated: true`. Ponlo igual que el del servidor.
|
|
21
|
+
*/
|
|
22
|
+
listObjectsMaxResults?: number;
|
|
23
|
+
/** Dónde avisar de tuplas del store que el driver no puede parsear. */
|
|
24
|
+
logger?: {
|
|
25
|
+
warn(message: string): void;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Reloj de pared que DECIDE la caducidad (R-15, 2.5 · J1): el `current_time`
|
|
29
|
+
* de cada `Check`/`ListObjects` (la condición `not_expired` se evalúa contra
|
|
30
|
+
* él), el filtro en cliente de `listSubjects` y los tres estados de
|
|
31
|
+
* `expiresAt` en `relate`. Default `systemClock`; en producción lo aplica el
|
|
32
|
+
* `RelationsManager` con `clock` (`withClock`).
|
|
33
|
+
*/
|
|
34
|
+
now?: Clock;
|
|
35
|
+
}
|
|
36
|
+
export declare class OpenFgaRelationsDriver implements RelationsDriver {
|
|
37
|
+
#private;
|
|
38
|
+
/**
|
|
39
|
+
* Lo que declara (cada valor tiene su cara en `runRelationsDriverContract`):
|
|
40
|
+
* - `singleCheckRelations: true`: `check` es UN solo `Check` (el modelo
|
|
41
|
+
* resuelve includes + usersets del lado del servidor).
|
|
42
|
+
* - `listObjectsInherited: false`: `list*` no abren el subárbol de
|
|
43
|
+
* particiones (invariante 7); `ListObjects` sí resuelve la derivación del
|
|
44
|
+
* modelo (includes/usersets), que es «directos + derivados», no herencia
|
|
45
|
+
* de scopes.
|
|
46
|
+
* - `usersetSubjects: true`: `listSubjects` (`Read`) trae los usersets
|
|
47
|
+
* directos (`group#member`) junto con los holders.
|
|
48
|
+
* - `membersOfNative: false`: la membresía TRANSITIVA sería `ListUsers`, que
|
|
49
|
+
* trunca al tope del servidor; se declara 500 `E_AUTHZ_UNSUPPORTED`, jamás
|
|
50
|
+
* un userset enumerado a medias (par de `purgeRole` de la 3b).
|
|
51
|
+
* - `enumerateRelations: true` (4-5): es ORIGEN de `authz:reconcile` de
|
|
52
|
+
* relaciones — lee el store ENTERO (`Read({})`, la única forma de ver todo
|
|
53
|
+
* sin filtro por user u objeto: un `Read` por tipo-solo sin user es un 400)
|
|
54
|
+
* y devuelve SOLO las tuplas de relación de la partición (tipo declarado o
|
|
55
|
+
* `group`), descartando las de `facts` (scope/role/role_binding).
|
|
56
|
+
* - `listObjectsTruncation: true`: `ListObjects` trunca al tope del servidor
|
|
57
|
+
* y este driver lo SEÑALA (medido contra el `:8103` de tope 3).
|
|
58
|
+
* - `injectableClock: true` (R-15): `withClock(now)` fija el reloj que viaja
|
|
59
|
+
* como `current_time` y filtra `listSubjects`, como el driver de roles.
|
|
60
|
+
*/
|
|
61
|
+
readonly capabilities: RelationsDriverCapabilities;
|
|
62
|
+
private readonly client;
|
|
63
|
+
readonly diagnostics: {
|
|
64
|
+
unparseableTuples: number;
|
|
65
|
+
};
|
|
66
|
+
constructor(config: RelationsConfig, options: OpenFgaRelationsDriverOptions);
|
|
67
|
+
/**
|
|
68
|
+
* Vista de este driver con OTRO reloj de pared (R-15, paridad con
|
|
69
|
+
* `AuthorizationDriver.withClock`): MISMO cliente (store, modelo, deadline),
|
|
70
|
+
* solo cambia el `now` que decide la caducidad. Se construye una instancia
|
|
71
|
+
* nueva y se le presta el cliente (el espía de «1 Check» envuelve
|
|
72
|
+
* `client.check` de la instancia base y tiene que seguir viéndolo).
|
|
73
|
+
*/
|
|
74
|
+
withClock(now: Clock): RelationsDriver;
|
|
75
|
+
relate(subject: RelSubject, relation: string, object: RelObject, partition: ScopeRef, options?: RelationWriteOptions): Promise<void>;
|
|
76
|
+
unrelate(subject: RelSubject, relation: string, object: RelObject, partition: ScopeRef, options?: RelationWriteOptions): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* **F-05 en las LECTURAS y las PURGAS del driver** (2.4.0-alpha.3, cierre
|
|
79
|
+
* del 🔴 1 / 🟠 2 del auditor; la MISMA función y la misma posición que
|
|
80
|
+
* L-0 en `relate`/`unrelate` y que L-5 con `{ transaction }`): PRIMERA
|
|
81
|
+
* línea (tras `#rejectTransaction` en las purgas), CERO llamadas al
|
|
82
|
+
* cliente. Reproducido contra el `:8101` en el store compartido:
|
|
83
|
+
* `purgeObject({ type: 'role_binding', id: R }, S)` componía
|
|
84
|
+
* `role_binding:<scopeKey>|<R>` —byte a byte el binding real— y
|
|
85
|
+
* `#purgeByFilter` lo borraba con demostración de cero (`authorize` de
|
|
86
|
+
* `true` a `false`); `listSubjects('assignee', role_binding)` enumeraba sus
|
|
87
|
+
* asignados. `check`/`listSubjects` validan el par; `listObjects`/
|
|
88
|
+
* `purgeObject` el tipo; `purgeSubject` el userset.
|
|
89
|
+
*/
|
|
90
|
+
/** `check` = UN solo `Check` (el modelo resuelve includes + usersets). */
|
|
91
|
+
check(subject: RelSubject, relation: string, object: RelObject, partition: ScopeRef): Promise<boolean>;
|
|
92
|
+
/**
|
|
93
|
+
* `listObjects` = `ListObjects` (resuelve includes + usersets del lado del
|
|
94
|
+
* servidor) + FILTRO por partición + señal de TRUNCADO. `ListObjects` corta
|
|
95
|
+
* al tope del servidor sin `continuation_token` ni bandera, así que el
|
|
96
|
+
* truncado se detecta comparando el número de resultados CRUDOS con el tope
|
|
97
|
+
* configurado (`listObjectsMaxResults`): `>= tope` ⇒ no se puede prometer la
|
|
98
|
+
* lista completa ⇒ `truncated: true`. El filtro por partición se aplica
|
|
99
|
+
* DESPUÉS (los ids llevan la partición), así que en un store con varias
|
|
100
|
+
* particiones el tope se consume entre todas — otra razón para señalar el
|
|
101
|
+
* truncado y no callar (documentado en el README).
|
|
102
|
+
*/
|
|
103
|
+
listObjects(subject: RelSubject, relation: string, objectType: string, partition: ScopeRef, _page?: RelationPage): Promise<RelationObjectsPage>;
|
|
104
|
+
/**
|
|
105
|
+
* `listSubjects` = `Read` por `(object, relation)` — hechos DIRECTOS del
|
|
106
|
+
* relation EXACTO (invariante 7): ni transitivo (eso es `membersOf`) ni
|
|
107
|
+
* derivado por includes. `usersetSubjects: true` ⇒ los usersets
|
|
108
|
+
* (`group#member`) salen junto con los holders.
|
|
109
|
+
*/
|
|
110
|
+
listSubjects(relation: string, object: RelObject, partition: ScopeRef, _page?: RelationPage): Promise<RelationSubjectsPage>;
|
|
111
|
+
/**
|
|
112
|
+
* **`membersOf` ⇒ 500 `E_AUTHZ_UNSUPPORTED`** (cara `whenFalse`): la
|
|
113
|
+
* membresía TRANSITIVA de un grupo sería `ListUsers`, que trunca al tope del
|
|
114
|
+
* servidor sin señal fiable. No hay userset transitivo enumerable aquí; se
|
|
115
|
+
* dice con 500 nombrándolo, jamás un userset a medias. Es el análogo del par
|
|
116
|
+
* `purgeRole` de la 3b. (El método existe en el prototipo para que el manager
|
|
117
|
+
* lo despache, pero la capacidad `membersOfNative: false` lo corta antes.)
|
|
118
|
+
*/
|
|
119
|
+
membersOf(): Promise<RelationSubjectsPage>;
|
|
120
|
+
/**
|
|
121
|
+
* **`enumerateRelations` — el ORIGEN de `authz:reconcile` de relaciones**
|
|
122
|
+
* (4-5). Lee el store ENTERO (`Read({})`) —la única forma de ver todo sin un
|
|
123
|
+
* filtro por `user` u `object`, que un `Read` por tipo-solo sin user
|
|
124
|
+
* rechazaría con 400— y devuelve SOLO las tuplas de relación de la partición
|
|
125
|
+
* pedida: tipo `group` o un tipo declarado en la config, DESCARTANDO las de
|
|
126
|
+
* `facts` (`scope`/`role`/`role_binding`, que no llevan la partición en el id
|
|
127
|
+
* con la forma `<key>|<uuid>` de relaciones —o cuyo tipo no está declarado—).
|
|
128
|
+
*
|
|
129
|
+
* `truncated`/paginación: `enumerateRelations` agota el `Read` (exhaustivo,
|
|
130
|
+
* como `listSubjects`/`purge*`), así que devuelve TODO en una página sin
|
|
131
|
+
* cursor —el reconcile itera hasta que no hay cursor—. Es el ORIGEN de una
|
|
132
|
+
* migración: una tupla que no llegara aquí desaparecería sin rastro — por eso
|
|
133
|
+
* la CADUCADA también llega, con su `expiresAt` (R-15), para que el destino
|
|
134
|
+
* la cuente en `skipped`.
|
|
135
|
+
*
|
|
136
|
+
* **Coste: O(tuplas del store) por PASADA** (2.4.0-alpha.6): es un barrido
|
|
137
|
+
* entero por llamada, sea cual sea el tamaño de la partición (medido: 5 000
|
|
138
|
+
* tuplas ⇒ 50 páginas ≈ 170 ms; 15 000 ⇒ 151 páginas ≈ 0,5 s). Para K
|
|
139
|
+
* particiones usa `enumerateRelationsMany`: UN barrido en vez de K.
|
|
140
|
+
*/
|
|
141
|
+
enumerateRelations(partition: ScopeRef, _page?: RelationPage): Promise<RelationTuplePage>;
|
|
142
|
+
/**
|
|
143
|
+
* **`enumerateRelationsMany` — K particiones en UN barrido** (2.4.0-alpha.6;
|
|
144
|
+
* panel relay, analista §3: con 3 particiones 1,4 s → 0,46 s). MISMA
|
|
145
|
+
* semántica que `enumerateRelations` por cada partición pedida —exhaustiva,
|
|
146
|
+
* sin filtrar la caducada, todo en una página sin cursor— y cada tupla
|
|
147
|
+
* viene con SU `partition` (la referencia que pasó el llamante, casada por
|
|
148
|
+
* `scopeKey` ENTERA), de modo que el llamante reparte por `partition`.
|
|
149
|
+
* Reparte un solo `Read({})` paginado del store entero.
|
|
150
|
+
*
|
|
151
|
+
* **Lo que este método NO hace, a propósito: un `Read` por PREFIJO de id.**
|
|
152
|
+
* OpenFGA no tiene prefix-match: `Read({ object: 'document:unit|<uuid>|' })`
|
|
153
|
+
* responde **200 con cero tuplas** (medido por el panel, auditor 🔴 3) — en
|
|
154
|
+
* el ORIGEN de una migración eso es «esta partición está vacía» en silencio,
|
|
155
|
+
* y en una purga, «demostrado cero» sin haber borrado nada. El único filtro
|
|
156
|
+
* legal es `{}`; la partición se decide comparando la CLAVE entera del id
|
|
157
|
+
* parseado desde la derecha (`#parseObjectId`), así que `app` no arrastra a
|
|
158
|
+
* `appliance|…`, `org|U` no arrastra a `organization|U` y cada ortografía del
|
|
159
|
+
* uuid es su propia partición. La suite espía el FILTRO de cada `read`.
|
|
160
|
+
*
|
|
161
|
+
* **Exhaustivo o ruidoso**: una página con cero tuplas y token de
|
|
162
|
+
* continuación NO es el fin; un token que se repite, más de
|
|
163
|
+
* `MAX_READ_PAGES` páginas o una respuesta sin `tuples` son 503
|
|
164
|
+
* `E_AUTHZ_BACKEND_UNAVAILABLE` (`#readAll`); una tupla que no se entiende
|
|
165
|
+
* se cuenta en `diagnostics.unparseableTuples` y se avisa. Sin particiones
|
|
166
|
+
* es 500 `E_AUTHZ_CONFIG` con cero lecturas: no hay «éxito vacío».
|
|
167
|
+
*/
|
|
168
|
+
enumerateRelationsMany(partitions: ScopeRef[], _page?: RelationPage): Promise<RelationTuplePage>;
|
|
169
|
+
/**
|
|
170
|
+
* Borra TODAS las tuplas del objeto (cualquier relación) y demuestra cero.
|
|
171
|
+
* Barre las DOS ortografías del uuid de partición (🟡2, paridad con
|
|
172
|
+
* `database`): un motor que funda `aaa…` con `aaa-…` dejaría la fila del
|
|
173
|
+
* alias concediendo tras una purga «exitosa». Si tras borrar quedan tuplas
|
|
174
|
+
* ⇒ 500 `E_AUTHZ_PURGE_INCOMPLETE`.
|
|
175
|
+
*/
|
|
176
|
+
purgeObject(object: RelObject, partition: ScopeRef, options?: RelationTransactionOptions): Promise<void>;
|
|
177
|
+
/**
|
|
178
|
+
* Borra TODAS las tuplas cuyo SUJETO es este subject en la partición, en
|
|
179
|
+
* cualquier tipo de objeto declarado, y demuestra cero. `Read` exige un
|
|
180
|
+
* filtro de objeto (un `Read` solo por `user` es un 400 del servidor), así
|
|
181
|
+
* que se recorre cada tipo declarado (`group` + los del consumidor) con
|
|
182
|
+
* `Read({ user, object: '<type>:' })`.
|
|
183
|
+
*/
|
|
184
|
+
purgeSubject(subject: RelSubject, partition: ScopeRef, options?: RelationTransactionOptions): Promise<void>;
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=openfga_relations_driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openfga_relations_driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/openfga_relations_driver.ts"],"names":[],"mappings":"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"}
|