@jantstack/adonis-authz 2.4.0-alpha.9 → 2.5.0-alpha.2
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 +468 -30
- package/build/commands/authz_freeze.js +1 -1
- package/build/commands/authz_freeze.js.map +1 -1
- package/build/commands/authz_reconcile.d.ts +6 -2
- package/build/commands/authz_reconcile.d.ts.map +1 -1
- package/build/commands/authz_reconcile.js +129 -13
- package/build/commands/authz_reconcile.js.map +1 -1
- package/build/commands/authz_relations_reconcile.d.ts +16 -24
- package/build/commands/authz_relations_reconcile.d.ts.map +1 -1
- package/build/commands/authz_relations_reconcile.js +198 -49
- package/build/commands/authz_relations_reconcile.js.map +1 -1
- package/build/commands/authz_scopes_relay.d.ts.map +1 -1
- package/build/commands/authz_scopes_relay.js +81 -1
- package/build/commands/authz_scopes_relay.js.map +1 -1
- package/build/commands/authz_unfreeze.d.ts +12 -4
- package/build/commands/authz_unfreeze.d.ts.map +1 -1
- package/build/commands/authz_unfreeze.js +74 -9
- package/build/commands/authz_unfreeze.js.map +1 -1
- package/build/index.d.ts +6 -4
- package/build/index.d.ts.map +1 -1
- package/build/index.js +5 -3
- package/build/index.js.map +1 -1
- package/build/providers/authz_provider.d.ts +1 -1
- package/build/providers/authz_provider.d.ts.map +1 -1
- package/build/providers/authz_provider.js +5 -1
- package/build/providers/authz_provider.js.map +1 -1
- package/build/src/define_config.d.ts +41 -0
- package/build/src/define_config.d.ts.map +1 -1
- package/build/src/define_config.js +120 -0
- package/build/src/define_config.js.map +1 -1
- package/build/src/drivers/database_driver.d.ts.map +1 -1
- package/build/src/drivers/database_driver.js +1 -0
- package/build/src/drivers/database_driver.js.map +1 -1
- package/build/src/drivers/database_relations_driver.d.ts +18 -6
- package/build/src/drivers/database_relations_driver.d.ts.map +1 -1
- package/build/src/drivers/database_relations_driver.js +94 -46
- package/build/src/drivers/database_relations_driver.js.map +1 -1
- package/build/src/drivers/openfga_driver.d.ts +46 -5
- package/build/src/drivers/openfga_driver.d.ts.map +1 -1
- package/build/src/drivers/openfga_driver.js +115 -29
- package/build/src/drivers/openfga_driver.js.map +1 -1
- package/build/src/drivers/openfga_relations_driver.d.ts +82 -13
- package/build/src/drivers/openfga_relations_driver.d.ts.map +1 -1
- package/build/src/drivers/openfga_relations_driver.js +216 -55
- package/build/src/drivers/openfga_relations_driver.js.map +1 -1
- package/build/src/errors.d.ts +86 -0
- package/build/src/errors.d.ts.map +1 -1
- package/build/src/errors.js +86 -0
- package/build/src/errors.js.map +1 -1
- package/build/src/freeze.d.ts +63 -4
- package/build/src/freeze.d.ts.map +1 -1
- package/build/src/freeze.js +107 -18
- package/build/src/freeze.js.map +1 -1
- package/build/src/identity.d.ts +120 -9
- package/build/src/identity.d.ts.map +1 -1
- package/build/src/identity.js +164 -12
- package/build/src/identity.js.map +1 -1
- package/build/src/manager.d.ts +64 -2
- package/build/src/manager.d.ts.map +1 -1
- package/build/src/manager.js +267 -35
- package/build/src/manager.js.map +1 -1
- package/build/src/openfga.d.ts +2 -2
- package/build/src/openfga.d.ts.map +1 -1
- package/build/src/openfga.js +2 -2
- package/build/src/openfga.js.map +1 -1
- package/build/src/relations/check_many.d.ts +17 -0
- package/build/src/relations/check_many.d.ts.map +1 -0
- package/build/src/relations/check_many.js +57 -0
- package/build/src/relations/check_many.js.map +1 -0
- package/build/src/relations/define_relations_config.d.ts +74 -1
- package/build/src/relations/define_relations_config.d.ts.map +1 -1
- package/build/src/relations/define_relations_config.js +201 -7
- package/build/src/relations/define_relations_config.js.map +1 -1
- package/build/src/relations/manager.d.ts +20 -0
- package/build/src/relations/manager.d.ts.map +1 -1
- package/build/src/relations/manager.js +88 -15
- package/build/src/relations/manager.js.map +1 -1
- package/build/src/relations/reconcile.d.ts +134 -3
- package/build/src/relations/reconcile.d.ts.map +1 -1
- package/build/src/relations/reconcile.js +340 -36
- package/build/src/relations/reconcile.js.map +1 -1
- package/build/src/relations/tuple_key.d.ts +25 -0
- package/build/src/relations/tuple_key.d.ts.map +1 -0
- package/build/src/relations/tuple_key.js +60 -0
- package/build/src/relations/tuple_key.js.map +1 -0
- package/build/src/relations_config_store.d.ts.map +1 -1
- package/build/src/relations_config_store.js +29 -7
- package/build/src/relations_config_store.js.map +1 -1
- package/build/src/relations_reconcile.d.ts +79 -0
- package/build/src/relations_reconcile.d.ts.map +1 -0
- package/build/src/relations_reconcile.js +85 -0
- package/build/src/relations_reconcile.js.map +1 -0
- package/build/src/scope_outbox.d.ts +9 -5
- package/build/src/scope_outbox.d.ts.map +1 -1
- package/build/src/scope_outbox.js +7 -4
- package/build/src/scope_outbox.js.map +1 -1
- package/build/src/shared/backend_guard.d.ts +30 -11
- package/build/src/shared/backend_guard.d.ts.map +1 -1
- package/build/src/shared/backend_guard.js +45 -15
- package/build/src/shared/backend_guard.js.map +1 -1
- package/build/src/shared/sql_expiry.d.ts +2 -0
- package/build/src/shared/sql_expiry.d.ts.map +1 -1
- package/build/src/shared/sql_expiry.js +4 -0
- package/build/src/shared/sql_expiry.js.map +1 -1
- package/build/src/testing/main.d.ts +3 -1
- 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/migration_contract.d.ts +9 -0
- package/build/src/testing/migration_contract.d.ts.map +1 -1
- package/build/src/testing/migration_contract.js +5 -2
- package/build/src/testing/migration_contract.js.map +1 -1
- package/build/src/testing/relations_contract.d.ts +14 -0
- package/build/src/testing/relations_contract.d.ts.map +1 -1
- package/build/src/testing/relations_contract.js +367 -21
- package/build/src/testing/relations_contract.js.map +1 -1
- package/build/src/testing/scope_outbox_contract.d.ts +14 -1
- package/build/src/testing/scope_outbox_contract.d.ts.map +1 -1
- package/build/src/testing/scope_outbox_contract.js +126 -48
- package/build/src/testing/scope_outbox_contract.js.map +1 -1
- package/build/src/testing/test_clock.d.ts +15 -0
- package/build/src/testing/test_clock.d.ts.map +1 -0
- package/build/src/testing/test_clock.js +65 -0
- package/build/src/testing/test_clock.js.map +1 -0
- package/build/src/types.d.ts +115 -12
- package/build/src/types.d.ts.map +1 -1
- package/build/src/types.js.map +1 -1
- package/package.json +6 -1
|
@@ -14,8 +14,13 @@ import { BaseCommand, flags } from '@adonisjs/core/ace';
|
|
|
14
14
|
* sin montar un ace.
|
|
15
15
|
*
|
|
16
16
|
* Reglas:
|
|
17
|
-
* - Sin freeze
|
|
18
|
-
* descongelado no es un incidente).
|
|
17
|
+
* - Sin freeze (nunca hubo, o ya levantado: motivo `null`) ⇒ no-op en verde
|
|
18
|
+
* (idempotente: descongelar lo descongelado no es un incidente).
|
|
19
|
+
* - Ventana CADUCADA (2.4.0-alpha.10: motivo puesto y `untilMs` en el pasado,
|
|
20
|
+
* `lastFreezeStatus().expired`) ⇒ `expired`: ERROR con cuándo venció, exit
|
|
21
|
+
* ≠ 0, y el comando limpia la fila para que el segundo `unfreeze` sea
|
|
22
|
+
* no-op. No es «nada que levantar»: es un intervalo en el que la flota
|
|
23
|
+
* escribió — en un cutover, escrituras que el motor nuevo no vio.
|
|
19
24
|
* - Freeze de OPERADOR ⇒ se levanta (este comando es su otra mitad).
|
|
20
25
|
* - Freeze de OTRO dueño (`reconcile`, `platform`) ⇒ NO se levanta sin
|
|
21
26
|
* `--fence`: levantar la barrera de una pasada viva es exactamente el
|
|
@@ -23,10 +28,26 @@ import { BaseCommand, flags } from '@adonisjs/core/ace';
|
|
|
23
28
|
* («ese proceso murió sin lease»), y tiene que coincidir con el fence
|
|
24
29
|
* vivo — un fence viejo no levanta la ventana de otro.
|
|
25
30
|
*/
|
|
26
|
-
export function unfreezePlan(status, fence) {
|
|
31
|
+
export function unfreezePlan(status, fence, nowMs) {
|
|
27
32
|
if (status === null) {
|
|
28
33
|
return { action: 'noop', message: 'No hay ningún freeze vivo: nada que levantar.' };
|
|
29
34
|
}
|
|
35
|
+
// **La ventana CADUCADA** (2.4.0-alpha.10): va antes que `--fence` porque el
|
|
36
|
+
// incidente es el mismo lo pida quien lo pida — no queda barrera que
|
|
37
|
+
// levantar, queda un intervalo en el que la flota ESCRIBIÓ.
|
|
38
|
+
if (status.expired === true) {
|
|
39
|
+
const when = status.untilMs === null ? '?' : new Date(status.untilMs).toISOString();
|
|
40
|
+
const at = nowMs ?? status.checkedAtMs;
|
|
41
|
+
const since = status.untilMs !== null && at !== undefined ? ` (hace ${Math.max(0, at - status.untilMs)} ms)` : '';
|
|
42
|
+
return {
|
|
43
|
+
action: 'expired',
|
|
44
|
+
message: `La ventana de ${status.holder} (${status.reason}, fence ${status.fence}) CADUCÓ el ${when}${since} y nadie ` +
|
|
45
|
+
`la cerró: desde entonces las escrituras volvieron a entrar en toda la flota. En un cutover eso son ` +
|
|
46
|
+
`escrituras que el motor nuevo no vio si la migración ya había corrido: no des el cutover por cerrado — ` +
|
|
47
|
+
`repite la migración (authz:reconcile) dentro de una ventana sin caducidad (authz:freeze sin --lease-ms) ` +
|
|
48
|
+
`antes de cambiar de driver.`,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
30
51
|
if (fence !== undefined && fence !== status.fence) {
|
|
31
52
|
return {
|
|
32
53
|
action: 'refuse',
|
|
@@ -63,7 +84,9 @@ export default class AuthzUnfreeze extends BaseCommand {
|
|
|
63
84
|
};
|
|
64
85
|
async run() {
|
|
65
86
|
const { default: authorization } = await import('../services/main.js');
|
|
66
|
-
|
|
87
|
+
// `lastFreezeStatus()` y no `freezeStatus()` (2.4.0-alpha.10): este es el
|
|
88
|
+
// único lector que tiene que ver también la ventana CADUCADA.
|
|
89
|
+
const status = await authorization.lastFreezeStatus();
|
|
67
90
|
const plan = unfreezePlan(status, this.fence);
|
|
68
91
|
if (plan.action === 'noop') {
|
|
69
92
|
this.logger.success(plan.message);
|
|
@@ -74,13 +97,55 @@ export default class AuthzUnfreeze extends BaseCommand {
|
|
|
74
97
|
this.exitCode = 1;
|
|
75
98
|
return;
|
|
76
99
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
100
|
+
// Levantar (o limpiar la caducada) es CONDICIONAL por token: si otro proceso
|
|
101
|
+
// cambió la fila entre la lectura y el UPDATE no se toca nada. Cierre del
|
|
102
|
+
// auditor de alpha.10 (⚪ 4): la letra la decide el RESULTADO, releyendo la
|
|
103
|
+
// fila — hasta el cierre la rama caducada afirmaba «la fila queda limpia»
|
|
104
|
+
// sin mirar el booleano, y la de levantar decía «o venció su lease» en verde
|
|
105
|
+
// (vencer no hace fallar el UPDATE: `releaseFreeze` no mira `untilMs`).
|
|
106
|
+
const done = await authorization.unfreeze({ fence: status.fence, holder: status.holder });
|
|
107
|
+
const after = done ? null : await authorization.lastFreezeStatus();
|
|
108
|
+
const ahora = (s) => `${s.holder} (${s.reason}, fence ${s.fence}, ${s.expired ? 'CADUCADA' : 'viva'})`;
|
|
109
|
+
// Cierre-2 · C4: si el UPDATE no casó pero la fila releída es LA MISMA (holder,
|
|
110
|
+
// fence y motivo), nadie la cambió: la letra no puede afirmar «otro proceso».
|
|
111
|
+
const unchanged = after !== null && after.fence === status.fence && after.holder === status.holder && after.reason === status.reason;
|
|
112
|
+
if (plan.action === 'expired') {
|
|
113
|
+
this.logger.error(plan.message);
|
|
114
|
+
if (done) {
|
|
115
|
+
this.logger.info('La fila queda limpia: un segundo authz:unfreeze ya no repite este error.');
|
|
116
|
+
}
|
|
117
|
+
else if (after === null) {
|
|
118
|
+
this.logger.warning('La fila ya la había limpiado otro proceso entre la lectura y la limpieza: no se ha tocado nada.');
|
|
119
|
+
}
|
|
120
|
+
else if (unchanged) {
|
|
121
|
+
this.logger.error(`La fila NO se ha limpiado y la fila NO cambió: sigue siendo ${ahora(after)}, pero el UPDATE condicional por ` +
|
|
122
|
+
'su token no casó (rama «token no casa»). Es un defecto del paquete, no una carrera: repórtalo con esta línea.');
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
this.logger.error(`La fila NO se ha limpiado: entre la lectura y la limpieza otro proceso la cambió y ahora es ${ahora(after)}. ` +
|
|
126
|
+
'Vuelve a ejecutar authz:unfreeze para ver su estado.');
|
|
127
|
+
}
|
|
128
|
+
this.exitCode = 1;
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (done) {
|
|
132
|
+
this.logger.success(plan.message);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (after === null) {
|
|
136
|
+
// Nadie lo sostiene ya: otro lo levantó entre medias. El objetivo del operador se cumple.
|
|
137
|
+
this.logger.success('El freeze ya no estaba: otro proceso lo levantó entre la lectura y el levantamiento. Nada que hacer.');
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
if (unchanged) {
|
|
141
|
+
this.logger.error(`No se ha levantado nada y la fila NO cambió: sigue siendo ${ahora(after)}, pero el UPDATE condicional por su ` +
|
|
142
|
+
'token no casó (rama «token no casa»). Es un defecto del paquete, no una carrera: repórtalo con esta línea.');
|
|
143
|
+
this.exitCode = 1;
|
|
81
144
|
return;
|
|
82
145
|
}
|
|
83
|
-
this.logger.
|
|
146
|
+
this.logger.error(`No se ha levantado nada: entre la lectura y el levantamiento la fila cambió y ahora es ${ahora(after)}. ` +
|
|
147
|
+
'Vuelve a ejecutar authz:unfreeze para decidir sobre ese freeze.');
|
|
148
|
+
this.exitCode = 1;
|
|
84
149
|
}
|
|
85
150
|
}
|
|
86
151
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authz_unfreeze.js","sourceRoot":"","sources":["../../commands/authz_unfreeze.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAIvD
|
|
1
|
+
{"version":3,"file":"authz_unfreeze.js","sourceRoot":"","sources":["../../commands/authz_unfreeze.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
|
@@ -50,14 +50,14 @@ export type { SqlScopeOutboxOptions } from './src/scope_outbox.js';
|
|
|
50
50
|
* obligaría a importar ese SDK — acoplando el call-site al backend que este
|
|
51
51
|
* paquete existe para abstraer.
|
|
52
52
|
*/
|
|
53
|
-
export { AuthorizationBackendError, AuthorizationBackendTimeoutError, ScopeResolverError, InvalidIdentityError, InvalidSlugError, AuthorizationConfigError, AuthorizationInternalError, UnknownScopeError, NoScopeResolverError, UnknownRoleError, UnknownPermissionError, CatalogConflictError, RoleIsNotAccessError, ScopeCycleError, PurgeIncompleteError, WriteConflictError, ActorRequiredError, NotWithinError, WithinRequiredError, WithinRootForbiddenError, TooManyScopesError, TooManyLocalRolesError, MassPurgeRefusedError, PruneInterruptedError, UnsupportedDialectError, ScopeTooDeepError, ScopeDepthLimitError, ScopeRequeueRefusedError, UnsupportedOperationError, NoDescendantsResolverError, ViewExpiredError, RoleNotVisibleError, AmbiguousRoleError, RoleImmutableError, RoleLevelAboveOwnerError, RoleNotAssignableAtError, PermissionNotDelegableError, RankExceededError, ModelTooLargeError, RelationConfigError, RelationTypeUnknownError, RelationUnknownError, ScopeTreeDriftError, ScopeDriftUnguardedError, AuthorizationFrozenError, FreezeHeldError, MassReconcileRefusedError, ReconcileTooLargeError, markPartialWrite, isPartialWrite, } from './src/errors.js';
|
|
53
|
+
export { AuthorizationBackendError, AuthorizationBackendTimeoutError, ScopeResolverError, InvalidIdentityError, InvalidSlugError, AuthorizationConfigError, AuthorizationInternalError, UnknownScopeError, NoScopeResolverError, UnknownRoleError, UnknownPermissionError, CatalogConflictError, RoleIsNotAccessError, ScopeCycleError, PurgeIncompleteError, WriteConflictError, ActorRequiredError, CheckManyBatchError, NotWithinError, WithinRequiredError, WithinRootForbiddenError, TooManyScopesError, TooManyLocalRolesError, MassPurgeRefusedError, PruneInterruptedError, UnsupportedDialectError, ScopeTooDeepError, ScopeDepthLimitError, ScopeRequeueRefusedError, UnsupportedOperationError, NoDescendantsResolverError, ViewExpiredError, RoleNotVisibleError, AmbiguousRoleError, RoleImmutableError, RoleLevelAboveOwnerError, RoleNotAssignableAtError, PermissionNotDelegableError, RankExceededError, ModelTooLargeError, RelationConfigError, RelationConfigUnknownKeyError, RelationTypeUnknownError, RelationUnknownError, RelationUsersetUnsupportedError, ScopeTreeDriftError, ScopeDriftUnguardedError, AuthorizationFrozenError, FreezeHeldError, MassReconcileRefusedError, StaleSourceRefusedError, OperatorWindowExpiredError, ReconcileTooLargeError, markPartialWrite, isPartialWrite, } from './src/errors.js';
|
|
54
54
|
/**
|
|
55
55
|
* Validación de identidad y de slugs (422). La aplica el manager en cada
|
|
56
56
|
* llamada y los drivers por defensa en profundidad; se exporta para que un
|
|
57
57
|
* consumidor valide en su borde (un formulario, un importador) con la MISMA
|
|
58
58
|
* regla y no con una copia.
|
|
59
59
|
*/
|
|
60
|
-
export { assertIdentity, assertSubject, assertScope, assertValidSlug, assertExpiresAt, assertNoSlugCollisions, normalizeRoleQuery, scopeKey, scopeFromKey, IDENTITY_LIMITS, MAX_SLUG_LENGTH, RESERVED_SLUGS, RESERVED_SLUG_PREFIXES, RESERVED_FACTS_TYPES, } from './src/identity.js';
|
|
60
|
+
export { assertIdentity, assertSubject, assertScope, assertPartition, assertValidSlug, assertExpiresAt, assertNoSlugCollisions, normalizeRoleQuery, scopeKey, partitionKey, isDashlessUuid, isNonCanonicalUuid, pgFusedSpellings, dashedUuid, scopeFromKey, IDENTITY_LIMITS, MAX_SLUG_LENGTH, RESERVED_SLUGS, RESERVED_SLUG_PREFIXES, RESERVED_FACTS_TYPES, } from './src/identity.js';
|
|
61
61
|
export type { IdentityParts, SlugKind } from './src/identity.js';
|
|
62
62
|
/**
|
|
63
63
|
* ReBAC genérico (Fase 4, `relations/`). El puerto `RelationsDriver` vive en
|
|
@@ -69,8 +69,10 @@ export { defineRelationsConfig } from './src/relations/define_relations_config.j
|
|
|
69
69
|
export type { RelationsConfig, RelationsConfigSpec, RelationsDatabaseOptions, RelationObjectTypeSpec, RelationObjectRelationSpec, } from './src/relations/define_relations_config.js';
|
|
70
70
|
export { RelationsManager } from './src/relations/manager.js';
|
|
71
71
|
export type { RelationsManagerOptions } from './src/relations/manager.js';
|
|
72
|
-
export {
|
|
73
|
-
export type {
|
|
72
|
+
export { relationTupleKey, relationSubjectKey } from './src/relations/tuple_key.js';
|
|
73
|
+
export type { RelationTupleKind, RelationTupleIdentity } from './src/relations/tuple_key.js';
|
|
74
|
+
export { RELATIONS_CHECK_MANY_MAX } from './src/relations/check_many.js';
|
|
75
|
+
export type { RelationsReconcileReport, RelationsReconcileDetail } from './src/relations/reconcile.js';
|
|
74
76
|
export { saveRelationsConfig, readRelationsConfig, readRelationsConfigSpec, } from './src/relations_config_store.js';
|
|
75
77
|
export type { RelationsConfigStoreOptions } from './src/relations_config_store.js';
|
|
76
78
|
export { DatabaseRelationsDriver } from './src/drivers/database_relations_driver.js';
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/build/index.js
CHANGED
|
@@ -43,7 +43,7 @@ export { sqlScopeOutbox } from './src/scope_outbox.js';
|
|
|
43
43
|
* obligaría a importar ese SDK — acoplando el call-site al backend que este
|
|
44
44
|
* paquete existe para abstraer.
|
|
45
45
|
*/
|
|
46
|
-
export { AuthorizationBackendError, AuthorizationBackendTimeoutError, ScopeResolverError, InvalidIdentityError, InvalidSlugError, AuthorizationConfigError, AuthorizationInternalError, UnknownScopeError, NoScopeResolverError, UnknownRoleError, UnknownPermissionError, CatalogConflictError, RoleIsNotAccessError, ScopeCycleError, PurgeIncompleteError, WriteConflictError, ActorRequiredError, NotWithinError, WithinRequiredError, WithinRootForbiddenError, TooManyScopesError, TooManyLocalRolesError, MassPurgeRefusedError, PruneInterruptedError, UnsupportedDialectError, ScopeTooDeepError, ScopeDepthLimitError, ScopeRequeueRefusedError, UnsupportedOperationError, NoDescendantsResolverError, ViewExpiredError, RoleNotVisibleError, AmbiguousRoleError, RoleImmutableError, RoleLevelAboveOwnerError, RoleNotAssignableAtError, PermissionNotDelegableError, RankExceededError, ModelTooLargeError, RelationConfigError, RelationTypeUnknownError, RelationUnknownError, ScopeTreeDriftError, ScopeDriftUnguardedError, AuthorizationFrozenError, FreezeHeldError, MassReconcileRefusedError, ReconcileTooLargeError,
|
|
46
|
+
export { AuthorizationBackendError, AuthorizationBackendTimeoutError, ScopeResolverError, InvalidIdentityError, InvalidSlugError, AuthorizationConfigError, AuthorizationInternalError, UnknownScopeError, NoScopeResolverError, UnknownRoleError, UnknownPermissionError, CatalogConflictError, RoleIsNotAccessError, ScopeCycleError, PurgeIncompleteError, WriteConflictError, ActorRequiredError, CheckManyBatchError, NotWithinError, WithinRequiredError, WithinRootForbiddenError, TooManyScopesError, TooManyLocalRolesError, MassPurgeRefusedError, PruneInterruptedError, UnsupportedDialectError, ScopeTooDeepError, ScopeDepthLimitError, ScopeRequeueRefusedError, UnsupportedOperationError, NoDescendantsResolverError, ViewExpiredError, RoleNotVisibleError, AmbiguousRoleError, RoleImmutableError, RoleLevelAboveOwnerError, RoleNotAssignableAtError, PermissionNotDelegableError, RankExceededError, ModelTooLargeError, RelationConfigError, RelationConfigUnknownKeyError, RelationTypeUnknownError, RelationUnknownError, RelationUsersetUnsupportedError, ScopeTreeDriftError, ScopeDriftUnguardedError, AuthorizationFrozenError, FreezeHeldError, MassReconcileRefusedError, StaleSourceRefusedError, OperatorWindowExpiredError, ReconcileTooLargeError,
|
|
47
47
|
// Cierre de alpha.3 (invariante 13 en purgas multi-request): un driver de
|
|
48
48
|
// relaciones de terceros marca con `markPartialWrite` el fallo que llega
|
|
49
49
|
// DESPUÉS de haber borrado parte; el manager notifica `indeterminate: true`.
|
|
@@ -54,7 +54,7 @@ markPartialWrite, isPartialWrite, } from './src/errors.js';
|
|
|
54
54
|
* consumidor valide en su borde (un formulario, un importador) con la MISMA
|
|
55
55
|
* regla y no con una copia.
|
|
56
56
|
*/
|
|
57
|
-
export { assertIdentity, assertSubject, assertScope, assertValidSlug, assertExpiresAt, assertNoSlugCollisions, normalizeRoleQuery, scopeKey, scopeFromKey, IDENTITY_LIMITS, MAX_SLUG_LENGTH, RESERVED_SLUGS, RESERVED_SLUG_PREFIXES, RESERVED_FACTS_TYPES, } from './src/identity.js';
|
|
57
|
+
export { assertIdentity, assertSubject, assertScope, assertPartition, assertValidSlug, assertExpiresAt, assertNoSlugCollisions, normalizeRoleQuery, scopeKey, partitionKey, isDashlessUuid, isNonCanonicalUuid, pgFusedSpellings, dashedUuid, scopeFromKey, IDENTITY_LIMITS, MAX_SLUG_LENGTH, RESERVED_SLUGS, RESERVED_SLUG_PREFIXES, RESERVED_FACTS_TYPES, } from './src/identity.js';
|
|
58
58
|
/**
|
|
59
59
|
* ReBAC genérico (Fase 4, `relations/`). El puerto `RelationsDriver` vive en
|
|
60
60
|
* `./src/types.js` (el contrato); aquí salen la API declarativa
|
|
@@ -63,7 +63,9 @@ export { assertIdentity, assertSubject, assertScope, assertValidSlug, assertExpi
|
|
|
63
63
|
*/
|
|
64
64
|
export { defineRelationsConfig } from './src/relations/define_relations_config.js';
|
|
65
65
|
export { RelationsManager } from './src/relations/manager.js';
|
|
66
|
-
|
|
66
|
+
// Plan 2.5 · lote A: la clave PURA de una tupla (P3, con `kind` desde el primer día) y el tope de `checkMany` (P4).
|
|
67
|
+
export { relationTupleKey, relationSubjectKey } from './src/relations/tuple_key.js';
|
|
68
|
+
export { RELATIONS_CHECK_MANY_MAX } from './src/relations/check_many.js';
|
|
67
69
|
// La config de relaciones PERSISTIDA (🟡3): API de PLATAFORMA (bajo el gate de
|
|
68
70
|
// versión, invariante 14). La CONSUME `authz:relations:reconcile` (config del
|
|
69
71
|
// destino, para la deriva del modelo fusionado en --dry-run).
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,eAAe,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAErO,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,YAAY,GACb,MAAM,0BAA0B,CAAA;AAGjC;;;;;;;GAOG;AACH,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,gCAAgC,CAAA;AAYvC;;;GAGG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D;;;;GAIG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAE1E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAG1E;;;;;;;;;GASG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD;;;;;GAKG;AACH,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,yBAAyB,EACzB,sBAAsB;AACtB,0EAA0E;AAC1E,yEAAyE;AACzE,6EAA6E;AAC7E,gBAAgB,EAChB,cAAc,GACf,MAAM,iBAAiB,CAAA;AAExB;;;;;GAKG;AACH,OAAO,EACL,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAG1B;;;;;GAKG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAA;AAQlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ApplicationService } from '@adonisjs/core/types';
|
|
2
2
|
import { AuthorizationManager } from '../src/manager.js';
|
|
3
3
|
import { RelationsManager } from '../src/relations/manager.js';
|
|
4
|
-
import type
|
|
4
|
+
import { type AuthorizationConfig } from '../src/define_config.js';
|
|
5
5
|
declare module '@adonisjs/core/types' {
|
|
6
6
|
interface ContainerBindings {
|
|
7
7
|
'authz.manager': AuthorizationManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authz_provider.d.ts","sourceRoot":"","sources":["../../providers/authz_provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"authz_provider.d.ts","sourceRoot":"","sources":["../../providers/authz_provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAA4D,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE5H,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAiB,iBAAiB;QAChC,eAAe,EAAE,oBAAoB,CAAA;QACrC,iBAAiB,EAAE,gBAAgB,CAAA;KACpC;CACF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmClG;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACpB,SAAS,CAAC,GAAG,EAAE,kBAAkB;gBAAvB,GAAG,EAAE,kBAAkB;IAE7C,QAAQ;CAqBT"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AuthorizationManager } from '../src/manager.js';
|
|
2
2
|
import { RelationsManager } from '../src/relations/manager.js';
|
|
3
|
+
import { activeRelationsDriverKey, assertAuthorizationConfigShape } from '../src/define_config.js';
|
|
3
4
|
/**
|
|
4
5
|
* **Construye el `RelationsManager` de servicio desde el config** (Fase 4-8) —
|
|
5
6
|
* el análogo de resolver el `AuthorizationManager` del provider, pero para el
|
|
@@ -22,13 +23,16 @@ import { RelationsManager } from '../src/relations/manager.js';
|
|
|
22
23
|
* declaró.
|
|
23
24
|
*/
|
|
24
25
|
export async function buildRelationsManager(config) {
|
|
26
|
+
// Cierre 1 del lote B · 🟡 6: la misma validación de forma que `defineConfig` y
|
|
27
|
+
// el constructor del manager de roles — este servicio puede resolverse sin él.
|
|
28
|
+
assertAuthorizationConfigShape(config);
|
|
25
29
|
const relations = config.relations;
|
|
26
30
|
if (!relations?.config) {
|
|
27
31
|
throw new Error('No hay `relations.config` en config/authorization.ts: declara `relations: { config: ' +
|
|
28
32
|
'defineRelationsConfig({...}), drivers: {...} }` para usar el servicio de relaciones ' +
|
|
29
33
|
'(@jantstack/adonis-authz/services/relations).');
|
|
30
34
|
}
|
|
31
|
-
const driverKey =
|
|
35
|
+
const driverKey = activeRelationsDriverKey(config);
|
|
32
36
|
const factory = relations.drivers?.[driverKey];
|
|
33
37
|
if (!factory) {
|
|
34
38
|
throw new Error(`No hay driver de relaciones '${driverKey}' en \`relations.drivers\` de config/authorization.ts ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authz_provider.js","sourceRoot":"","sources":["../../providers/authz_provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"authz_provider.js","sourceRoot":"","sources":["../../providers/authz_provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,8BAA8B,EAA4B,MAAM,yBAAyB,CAAA;AAS5H;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAA2B;IACrE,gFAAgF;IAChF,+EAA+E;IAC/E,8BAA8B,CAAC,MAAM,CAAC,CAAA;IACtC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IAClC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,sFAAsF;YACpF,sFAAsF;YACtF,+CAA+C,CAClD,CAAA;IACH,CAAC;IACD,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAA;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,gCAAgC,SAAS,wDAAwD;YAC/F,oEAAoE,CACvE,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAA;IAC9B,OAAO,IAAI,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE;QACpD,mHAAmH;QACnH,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY;QAC3D,wGAAwG;QACxG,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,yEAAyE;QACzE,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,+EAA+E;QAC/E,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,wEAAwE;QACxE,0BAA0B,EAAE,SAAS,CAAC,0BAA0B,IAAI,MAAM,CAAC,0BAA0B;QACrG,UAAU,EAAE,SAAS;KACtB,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACV;IAAtB,YAAsB,GAAuB;QAAvB,QAAG,GAAH,GAAG,CAAoB;IAAG,CAAC;IAEjD,QAAQ;QACN,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAQ,CAAA;YAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAA;YACH,CAAC;YACD,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAQ,CAAA;YAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAA;YACH,CAAC;YACD,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -339,5 +339,46 @@ export interface AuthorizationConfig {
|
|
|
339
339
|
onCatalogWrite?: (event: AuthzCatalogWriteEvent) => Promise<void>;
|
|
340
340
|
};
|
|
341
341
|
}
|
|
342
|
+
/**
|
|
343
|
+
* **La clave del driver de RELACIONES activo** (2.4.0-alpha.10): `relations.default`
|
|
344
|
+
* y, si falta, el `default` de roles — las relaciones cambian de driver con él.
|
|
345
|
+
* UN solo sitio para esta regla: la usan el provider (qué driver sirve
|
|
346
|
+
* `services/relations`) y el guard de la dirección rancia de
|
|
347
|
+
* `authz:relations:reconcile` (qué destino es el activo). Dos copias eran dos
|
|
348
|
+
* respuestas.
|
|
349
|
+
*/
|
|
350
|
+
export declare function activeRelationsDriverKey(config: Pick<AuthorizationConfig, 'default' | 'relations'>): string;
|
|
351
|
+
/**
|
|
352
|
+
* **Listas blancas por nivel de `AuthorizationConfig`** (plan 2.5 · lote B · B2,
|
|
353
|
+
* gemelo en roles de la propiedad universal del linaje L5: «ninguna clave de
|
|
354
|
+
* una spec de config se descarta»). Hasta `2.5.0-alpha.1` `defineConfig` era la
|
|
355
|
+
* identidad: `requireWithing: true` (typo) no exigía nada y nadie lo decía. Una
|
|
356
|
+
* clave nueva del paquete entra AQUÍ en el mismo commit que su efecto.
|
|
357
|
+
*/
|
|
358
|
+
export declare const AUTHORIZATION_CONFIG_KEYS: Readonly<{
|
|
359
|
+
root: readonly ["default", "drivers", "holderTypes", "openfga", "scopes", "catalogs", "clock", "freezeTimeoutMs", "requireActor", "requireTransactionalWrites", "requireWithin", "warnOnOptInSecurity", "delegablePermissions", "relations", "hooks"];
|
|
360
|
+
openfga: readonly ["url", "storeId", "modelId", "storeName"];
|
|
361
|
+
scopes: readonly ["resolveChain", "descendantsOf", "enumerateEdges", "maxScopes", "maxDescendants", "maxDepth", "outbox", "acceptScopeDriftRisk"];
|
|
362
|
+
relations: readonly ["config", "default", "drivers", "requireTransactionalWrites", "assertWrite", "onRelationWrite", "requireActor"];
|
|
363
|
+
hooks: readonly ["onWrite", "onCatalogWrite"];
|
|
364
|
+
}>;
|
|
365
|
+
/**
|
|
366
|
+
* Valida la FORMA del config (claves conocidas por nivel: la raíz y los
|
|
367
|
+
* bloques `openfga`/`scopes`/`relations`/`hooks`) y lo devuelve tal cual
|
|
368
|
+
* (misma referencia). Lo demás —drivers, catálogos, políticas— lo valida el
|
|
369
|
+
* manager al resolver.
|
|
370
|
+
*/
|
|
342
371
|
export declare function defineConfig<T extends AuthorizationConfig>(config: T): T;
|
|
372
|
+
/**
|
|
373
|
+
* **El punto de paso ÚNICO de la forma del config de roles** (cierre 1 del lote
|
|
374
|
+
* B · 🟡 6, auditor: «en roles el punto de paso NO es único»). Hasta el cierre
|
|
375
|
+
* solo `defineConfig` validaba las claves: un `config/authorization.ts` que
|
|
376
|
+
* exportara el objeto a pelo (`{ … } satisfies AuthorizationConfig`) o un
|
|
377
|
+
* `new AuthorizationManager({ requireWithing: true })` se tragaba el typo. La
|
|
378
|
+
* llaman `defineConfig`, el constructor de `AuthorizationManager` (que cubre el
|
|
379
|
+
* provider: `new AuthorizationManager(config)`) y `buildRelationsManager` (el
|
|
380
|
+
* servicio de relaciones, que no construye el manager de roles). Idempotente y
|
|
381
|
+
* barata (claves, no valores).
|
|
382
|
+
*/
|
|
383
|
+
export declare function assertAuthorizationConfigShape(config: unknown): void;
|
|
343
384
|
//# sourceMappingURL=define_config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACZ,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,124 @@
|
|
|
1
|
+
import { AuthorizationConfigError } from './errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* **La clave del driver de RELACIONES activo** (2.4.0-alpha.10): `relations.default`
|
|
4
|
+
* y, si falta, el `default` de roles — las relaciones cambian de driver con él.
|
|
5
|
+
* UN solo sitio para esta regla: la usan el provider (qué driver sirve
|
|
6
|
+
* `services/relations`) y el guard de la dirección rancia de
|
|
7
|
+
* `authz:relations:reconcile` (qué destino es el activo). Dos copias eran dos
|
|
8
|
+
* respuestas.
|
|
9
|
+
*/
|
|
10
|
+
export function activeRelationsDriverKey(config) {
|
|
11
|
+
return config.relations?.default ?? config.default;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* **Listas blancas por nivel de `AuthorizationConfig`** (plan 2.5 · lote B · B2,
|
|
15
|
+
* gemelo en roles de la propiedad universal del linaje L5: «ninguna clave de
|
|
16
|
+
* una spec de config se descarta»). Hasta `2.5.0-alpha.1` `defineConfig` era la
|
|
17
|
+
* identidad: `requireWithing: true` (typo) no exigía nada y nadie lo decía. Una
|
|
18
|
+
* clave nueva del paquete entra AQUÍ en el mismo commit que su efecto.
|
|
19
|
+
*/
|
|
20
|
+
export const AUTHORIZATION_CONFIG_KEYS = Object.freeze({
|
|
21
|
+
root: Object.freeze([
|
|
22
|
+
'default',
|
|
23
|
+
'drivers',
|
|
24
|
+
'holderTypes',
|
|
25
|
+
'openfga',
|
|
26
|
+
'scopes',
|
|
27
|
+
'catalogs',
|
|
28
|
+
'clock',
|
|
29
|
+
'freezeTimeoutMs',
|
|
30
|
+
'requireActor',
|
|
31
|
+
'requireTransactionalWrites',
|
|
32
|
+
'requireWithin',
|
|
33
|
+
'warnOnOptInSecurity',
|
|
34
|
+
'delegablePermissions',
|
|
35
|
+
'relations',
|
|
36
|
+
'hooks',
|
|
37
|
+
]),
|
|
38
|
+
openfga: Object.freeze(['url', 'storeId', 'modelId', 'storeName']),
|
|
39
|
+
scopes: Object.freeze([
|
|
40
|
+
'resolveChain',
|
|
41
|
+
'descendantsOf',
|
|
42
|
+
'enumerateEdges',
|
|
43
|
+
'maxScopes',
|
|
44
|
+
'maxDescendants',
|
|
45
|
+
'maxDepth',
|
|
46
|
+
'outbox',
|
|
47
|
+
'acceptScopeDriftRisk',
|
|
48
|
+
]),
|
|
49
|
+
relations: Object.freeze([
|
|
50
|
+
'config',
|
|
51
|
+
'default',
|
|
52
|
+
'drivers',
|
|
53
|
+
'requireTransactionalWrites',
|
|
54
|
+
'assertWrite',
|
|
55
|
+
'onRelationWrite',
|
|
56
|
+
'requireActor',
|
|
57
|
+
]),
|
|
58
|
+
hooks: Object.freeze(['onWrite', 'onCatalogWrite']),
|
|
59
|
+
});
|
|
60
|
+
const _exhaustiveRoot = {};
|
|
61
|
+
const _exhaustiveOpenFga = {};
|
|
62
|
+
const _exhaustiveScopes = {};
|
|
63
|
+
const _exhaustiveRelations = {};
|
|
64
|
+
const _exhaustiveHooks = {};
|
|
65
|
+
void _exhaustiveRoot, _exhaustiveOpenFga, _exhaustiveScopes, _exhaustiveRelations, _exhaustiveHooks;
|
|
66
|
+
AUTHORIZATION_CONFIG_KEYS.root;
|
|
67
|
+
AUTHORIZATION_CONFIG_KEYS.openfga;
|
|
68
|
+
AUTHORIZATION_CONFIG_KEYS.scopes;
|
|
69
|
+
AUTHORIZATION_CONFIG_KEYS.relations;
|
|
70
|
+
AUTHORIZATION_CONFIG_KEYS.hooks;
|
|
71
|
+
/** ⚪ 13 (gemelo roles): un BLOQUE conocido con un valor que no es un objeto plano (`scopes: true`) es 500, no silencio. */
|
|
72
|
+
function assertConfigBlock(value, path) {
|
|
73
|
+
if (value === undefined)
|
|
74
|
+
return;
|
|
75
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
76
|
+
throw new AuthorizationConfigError(`defineConfig: '${path}' tiene que ser un objeto (llegó ${JSON.stringify(value)}). Un valor que no es objeto en ` +
|
|
77
|
+
`una clave conocida no es «nada»: se ignoraría en silencio (plan 2.5 · B2).`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function assertKnownConfigKeys(value, known, path) {
|
|
81
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
82
|
+
return;
|
|
83
|
+
for (const key of Object.keys(value)) {
|
|
84
|
+
if (known.includes(key))
|
|
85
|
+
continue;
|
|
86
|
+
const where = path === '' ? `'${key}' en la raíz` : `'${path}.${key}'`;
|
|
87
|
+
throw new AuthorizationConfigError(`defineConfig: la clave ${where} no existe (claves válidas en ${path === '' ? 'la raíz' : path}: ${known.join(', ')}). ` +
|
|
88
|
+
`Ninguna clave del config se descarta en silencio (plan 2.5 · B2): un typo ('requireWithing') sería una ` +
|
|
89
|
+
`política que crees activa y no lo está. Quítala o corrige el nombre.`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Valida la FORMA del config (claves conocidas por nivel: la raíz y los
|
|
94
|
+
* bloques `openfga`/`scopes`/`relations`/`hooks`) y lo devuelve tal cual
|
|
95
|
+
* (misma referencia). Lo demás —drivers, catálogos, políticas— lo valida el
|
|
96
|
+
* manager al resolver.
|
|
97
|
+
*/
|
|
1
98
|
export function defineConfig(config) {
|
|
99
|
+
assertAuthorizationConfigShape(config);
|
|
2
100
|
return config;
|
|
3
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* **El punto de paso ÚNICO de la forma del config de roles** (cierre 1 del lote
|
|
104
|
+
* B · 🟡 6, auditor: «en roles el punto de paso NO es único»). Hasta el cierre
|
|
105
|
+
* solo `defineConfig` validaba las claves: un `config/authorization.ts` que
|
|
106
|
+
* exportara el objeto a pelo (`{ … } satisfies AuthorizationConfig`) o un
|
|
107
|
+
* `new AuthorizationManager({ requireWithing: true })` se tragaba el typo. La
|
|
108
|
+
* llaman `defineConfig`, el constructor de `AuthorizationManager` (que cubre el
|
|
109
|
+
* provider: `new AuthorizationManager(config)`) y `buildRelationsManager` (el
|
|
110
|
+
* servicio de relaciones, que no construye el manager de roles). Idempotente y
|
|
111
|
+
* barata (claves, no valores).
|
|
112
|
+
*/
|
|
113
|
+
export function assertAuthorizationConfigShape(config) {
|
|
114
|
+
if (!config || typeof config !== 'object') {
|
|
115
|
+
throw new AuthorizationConfigError(`defineConfig: se esperaba un objeto y llegó ${typeof config}.`);
|
|
116
|
+
}
|
|
117
|
+
const c = config;
|
|
118
|
+
assertKnownConfigKeys(c, AUTHORIZATION_CONFIG_KEYS.root, '');
|
|
119
|
+
for (const block of ['openfga', 'scopes', 'relations', 'hooks']) {
|
|
120
|
+
assertConfigBlock(c[block], block);
|
|
121
|
+
assertKnownConfigKeys(c[block], AUTHORIZATION_CONFIG_KEYS[block], block);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
4
124
|
//# sourceMappingURL=define_config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database_driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/database_driver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"database_driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/database_driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAE5C,OAAO,KAAK,EACV,mBAAmB,EACnB,+BAA+B,EAC/B,cAAc,EACd,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EAEf,eAAe,EACf,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,EACV,YAAY,EACb,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAmCrD,OAAO,EAAE,YAAY,EAAoF,MAAM,6BAA6B,CAAA;AAC5I,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE9F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAIxC,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;AAUrD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,yCAAyC,CAAA;AAUvE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE3D;AAoED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAgBhI;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CA0BlI;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,WAAW,GAAG,IAAI,CAQpB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAG,WAAW,EAAE,CAWnG;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,QAAQ,EAAE,GAChB,KAAK,CAAC;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAe9C;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAMpF;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,WAAW,GAAG,IAAI,CAIpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,QAAQ,EAAE,EAClB,MAAM,EAAE,OAAO,GACd,YAAY,CAAA;AACf,wBAAgB,YAAY,CAC1B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,QAAQ,EAAE,EAClB,MAAM,EAAE,MAAM,GACb,YAAY,GAAG,IAAI,CAAA;AAwBtB,MAAM,WAAW,qBAAqB;IACpC,6FAA6F;IAC7F,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,KAAK,CAAA;CACZ;AAED,eAAO,MAAM,kBAAkB,OAAQ,CAAA;AAEvC;;;;;;;;;;;;;GAaG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,+BAA+B,CAAC,CAAA;IAChE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,SAAS,CAAQ;IACzB,gHAAgH;IAChH,OAAO,CAAC,GAAG,CAAO;IAClB;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAA2B;IAC9C;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;gBAElB,OAAO,GAAE,qBAA0B;IAuC/C;;;;;;OAMG;IACH,iBAAiB,CAAC,YAAY,EAAE,kBAAkB,GAAG,mBAAmB;IAMxE;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,KAAK,GAAG,mBAAmB;IAS1C;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK;IAIb,gFAAgF;IAChF,OAAO,CAAC,UAAU;IAIlB,kEAAkE;IAClE,OAAO,CAAC,eAAe;IAIvB,gHAAgH;IAChH,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,GAAG;YAIG,KAAK;IAKnB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM;IAed;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,QAAQ;IAYhB,OAAO,KAAK,MAAM,GAMjB;IAED,8GAA8G;IAC9G,OAAO,CAAC,WAAW;YASL,cAAc;IAI5B;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAkB1B,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IA0CrF,KAAK,CACT,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,QAAQ,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,YAAY,CAAC;IAgFxB;;;;;;OAMG;YACW,iBAAiB;IAgBzB,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCpG,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BhF,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CrG,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB3G,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAiCrE,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA+BxE;;;;;;OAMG;IACG,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC;IAqC/G,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAiCpF,uGAAuG;IACvG,OAAO,CAAC,SAAS;IAIX,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAsD9E;;;;OAIG;IACG,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAuB3E;;;;;;OAMG;IACG,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BjD;;;;;;;;;OASG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBhD;;;;;;;;;;OAUG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAuSlG;;;;OAIG;YACW,gBAAgB;CAkB/B"}
|
|
@@ -1284,6 +1284,7 @@ export class DatabaseAuthorizationDriver {
|
|
|
1284
1284
|
cycles: [],
|
|
1285
1285
|
drift: { rootMarker: false, multiParent: [], roleVisibility: 0, pendingRelay: 0, deadRelay: 0 },
|
|
1286
1286
|
massDelete,
|
|
1287
|
+
allowMassDelete: options.allowMassDelete === true,
|
|
1287
1288
|
};
|
|
1288
1289
|
}
|
|
1289
1290
|
/**
|