@venizia/ignis 0.0.9-13 → 0.0.9-15

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.
Files changed (86) hide show
  1. package/dist/base/models/enrichers/tz.enricher.d.ts.map +1 -1
  2. package/dist/base/models/enrichers/tz.enricher.js +5 -2
  3. package/dist/base/models/enrichers/tz.enricher.js.map +1 -1
  4. package/dist/base/repositories/core/readable.d.ts.map +1 -1
  5. package/dist/base/repositories/core/readable.js +16 -4
  6. package/dist/base/repositories/core/readable.js.map +1 -1
  7. package/dist/components/auth/authorize/adapters/base-filtered.d.ts +26 -56
  8. package/dist/components/auth/authorize/adapters/base-filtered.d.ts.map +1 -1
  9. package/dist/components/auth/authorize/adapters/base-filtered.js +23 -70
  10. package/dist/components/auth/authorize/adapters/base-filtered.js.map +1 -1
  11. package/dist/components/auth/authorize/adapters/index.d.ts +2 -1
  12. package/dist/components/auth/authorize/adapters/index.d.ts.map +1 -1
  13. package/dist/components/auth/authorize/adapters/index.js +2 -1
  14. package/dist/components/auth/authorize/adapters/index.js.map +1 -1
  15. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.d.ts +131 -0
  16. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.d.ts.map +1 -0
  17. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.js +293 -0
  18. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.js.map +1 -0
  19. package/dist/components/auth/authorize/adapters/types.d.ts +31 -0
  20. package/dist/components/auth/authorize/adapters/types.d.ts.map +1 -0
  21. package/dist/components/auth/authorize/adapters/types.js +3 -0
  22. package/dist/components/auth/authorize/adapters/types.js.map +1 -0
  23. package/dist/components/auth/authorize/common/constants.d.ts +127 -12
  24. package/dist/components/auth/authorize/common/constants.d.ts.map +1 -1
  25. package/dist/components/auth/authorize/common/constants.js +139 -16
  26. package/dist/components/auth/authorize/common/constants.js.map +1 -1
  27. package/dist/components/auth/authorize/common/index.d.ts +2 -0
  28. package/dist/components/auth/authorize/common/index.d.ts.map +1 -1
  29. package/dist/components/auth/authorize/common/index.js +2 -0
  30. package/dist/components/auth/authorize/common/index.js.map +1 -1
  31. package/dist/components/auth/authorize/common/object-match.d.ts +21 -0
  32. package/dist/components/auth/authorize/common/object-match.d.ts.map +1 -0
  33. package/dist/components/auth/authorize/common/object-match.js +33 -0
  34. package/dist/components/auth/authorize/common/object-match.js.map +1 -0
  35. package/dist/components/auth/authorize/common/resolve-request-domain.d.ts +20 -0
  36. package/dist/components/auth/authorize/common/resolve-request-domain.d.ts.map +1 -0
  37. package/dist/components/auth/authorize/common/resolve-request-domain.js +59 -0
  38. package/dist/components/auth/authorize/common/resolve-request-domain.js.map +1 -0
  39. package/dist/components/auth/authorize/common/types.d.ts +65 -22
  40. package/dist/components/auth/authorize/common/types.d.ts.map +1 -1
  41. package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts +119 -30
  42. package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts.map +1 -1
  43. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js +302 -168
  44. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js.map +1 -1
  45. package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts +19 -1
  46. package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts.map +1 -1
  47. package/dist/components/auth/authorize/enforcers/enforcer-registry.js +23 -0
  48. package/dist/components/auth/authorize/enforcers/enforcer-registry.js.map +1 -1
  49. package/dist/components/auth/authorize/enforcers/index.d.ts +1 -0
  50. package/dist/components/auth/authorize/enforcers/index.d.ts.map +1 -1
  51. package/dist/components/auth/authorize/enforcers/index.js +1 -0
  52. package/dist/components/auth/authorize/enforcers/index.js.map +1 -1
  53. package/dist/components/auth/authorize/enforcers/models/index.d.ts +2 -0
  54. package/dist/components/auth/authorize/enforcers/models/index.d.ts.map +1 -0
  55. package/dist/components/auth/authorize/{models/abilities → enforcers/models}/index.js +1 -2
  56. package/dist/components/auth/authorize/enforcers/models/index.js.map +1 -0
  57. package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.d.ts +32 -0
  58. package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.d.ts.map +1 -0
  59. package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.js +54 -0
  60. package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.js.map +1 -0
  61. package/dist/components/auth/authorize/models/index.d.ts +0 -1
  62. package/dist/components/auth/authorize/models/index.d.ts.map +1 -1
  63. package/dist/components/auth/authorize/models/index.js +0 -1
  64. package/dist/components/auth/authorize/models/index.js.map +1 -1
  65. package/dist/components/auth/authorize/providers/authorization.provider.d.ts.map +1 -1
  66. package/dist/components/auth/authorize/providers/authorization.provider.js +12 -0
  67. package/dist/components/auth/authorize/providers/authorization.provider.js.map +1 -1
  68. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts.map +1 -1
  69. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js +1 -1
  70. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js.map +1 -1
  71. package/package.json +3 -3
  72. package/dist/components/auth/authorize/adapters/drizzle-casbin.d.ts +0 -46
  73. package/dist/components/auth/authorize/adapters/drizzle-casbin.d.ts.map +0 -1
  74. package/dist/components/auth/authorize/adapters/drizzle-casbin.js +0 -104
  75. package/dist/components/auth/authorize/adapters/drizzle-casbin.js.map +0 -1
  76. package/dist/components/auth/authorize/models/abilities/index.d.ts +0 -3
  77. package/dist/components/auth/authorize/models/abilities/index.d.ts.map +0 -1
  78. package/dist/components/auth/authorize/models/abilities/index.js.map +0 -1
  79. package/dist/components/auth/authorize/models/abilities/string-action.model.d.ts +0 -14
  80. package/dist/components/auth/authorize/models/abilities/string-action.model.d.ts.map +0 -1
  81. package/dist/components/auth/authorize/models/abilities/string-action.model.js +0 -23
  82. package/dist/components/auth/authorize/models/abilities/string-action.model.js.map +0 -1
  83. package/dist/components/auth/authorize/models/abilities/string-resource.model.d.ts +0 -13
  84. package/dist/components/auth/authorize/models/abilities/string-resource.model.d.ts.map +0 -1
  85. package/dist/components/auth/authorize/models/abilities/string-resource.model.js +0 -19
  86. package/dist/components/auth/authorize/models/abilities/string-resource.model.js.map +0 -1
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CasbinDomainMatchingFunctions = exports.CasbinRuleVariants = exports.CasbinEnforcerModelDrivers = exports.CasbinEnforcerCachedDrivers = exports.AuthorizationEnforcerTypes = exports.AuthorizationRoles = exports.AuthorizationDecisions = exports.AuthorizationActions = exports.Authorization = void 0;
3
+ exports.AuthorizationPolicyVariants = exports.CasbinRuleVariants = exports.AuthorizationDomainScopes = exports.CasbinDomainMatchingFunctions = exports.CasbinEnforcerModelDrivers = exports.CasbinEnforcerCachedDrivers = exports.AuthorizationEnforcerTypes = exports.AuthorizationRoles = exports.AuthorizationDecisions = exports.AuthorizationActions = exports.Authorization = void 0;
4
4
  const authorization_role_model_1 = require("../models/authorization-role.model");
5
5
  class Authorization {
6
6
  static { this.RULES = 'authorization.rules'; }
7
7
  static { this.SKIP_AUTHORIZATION = 'authorization.skip'; }
8
8
  static { this.ENFORCER = 'authorization.enforcer'; }
9
+ static { this.DOMAIN = 'authorization.domain'; }
9
10
  }
10
11
  exports.Authorization = Authorization;
11
12
  class AuthorizationActions {
@@ -97,9 +98,8 @@ class AuthorizationEnforcerTypes {
97
98
  }
98
99
  exports.AuthorizationEnforcerTypes = AuthorizationEnforcerTypes;
99
100
  class CasbinEnforcerCachedDrivers {
100
- static { this.IN_MEMORY = 'in-memory'; }
101
101
  static { this.REDIS = 'redis'; }
102
- static { this.SCHEME_SET = new Set([this.IN_MEMORY, this.REDIS]); }
102
+ static { this.SCHEME_SET = new Set([this.REDIS]); }
103
103
  static isValid(input) {
104
104
  return this.SCHEME_SET.has(input);
105
105
  }
@@ -114,19 +114,6 @@ class CasbinEnforcerModelDrivers {
114
114
  }
115
115
  }
116
116
  exports.CasbinEnforcerModelDrivers = CasbinEnforcerModelDrivers;
117
- class CasbinRuleVariants {
118
- static { this.POLICY = 'policy'; }
119
- static { this.GROUP = 'group'; }
120
- /** Casbin line prefix for policy rules. */
121
- static { this.P = 'p'; }
122
- /** Casbin line prefix for grouping rules. */
123
- static { this.G = 'g'; }
124
- static { this.SCHEME_SET = new Set([this.POLICY, this.GROUP]); }
125
- static isValid(input) {
126
- return this.SCHEME_SET.has(input);
127
- }
128
- }
129
- exports.CasbinRuleVariants = CasbinRuleVariants;
130
117
  class CasbinDomainMatchingFunctions {
131
118
  /** `*` is the only wildcard; exact compare otherwise. Safest for `Merchant_<uuid>` domains. */
132
119
  static { this.KEY_MATCH = 'keyMatch'; }
@@ -150,4 +137,140 @@ class CasbinDomainMatchingFunctions {
150
137
  }
151
138
  }
152
139
  exports.CasbinDomainMatchingFunctions = CasbinDomainMatchingFunctions;
140
+ class AuthorizationDomainScopes {
141
+ /** Grant applies in EVERY domain the subject is a member of (checked via join_domain / g2). */
142
+ static { this.ANY_MEMBER = 'ANY_MEMBER'; }
143
+ /** Grant applies system-wide, bypassing membership — super-admin only. */
144
+ static { this.SYSTEM_WIDE = 'SYSTEM_WIDE'; }
145
+ static { this.SCHEME_SET = new Set([this.ANY_MEMBER, this.SYSTEM_WIDE]); }
146
+ static isValid(input) {
147
+ return this.SCHEME_SET.has(input);
148
+ }
149
+ }
150
+ exports.AuthorizationDomainScopes = AuthorizationDomainScopes;
151
+ /**
152
+ * Engine-level vocabulary: the relation prefixes the Casbin MODEL declares — `p` for permission
153
+ * policies and `g`/`g2`…`g5` for grouping relations. This is the low-level building block that
154
+ * {@link AuthorizationPolicyVariants} maps onto (many app edge-types → one rule, e.g. both
155
+ * `assign_role` and `role_inherits` use `g`). Keep these in sync with the model's `[role_definition]`.
156
+ */
157
+ class CasbinRuleVariants {
158
+ /** Permission policy line. */
159
+ static { this.P = 'p'; }
160
+ /**
161
+ * Numbered in request-tuple order (`sub → dom → obj → act`) so the matcher reads left-to-right:
162
+ * g (sub), g2/g3 (dom), g4 (obj), g5 (act).
163
+ */
164
+ /** Grouping #1 — role membership + role inheritance (user→role, role→role). The `sub` axis. */
165
+ static { this.G = 'g'; }
166
+ /** Grouping #2 — user→domain membership (join_domain). The `dom` axis (membership). */
167
+ static { this.G2 = 'g2'; }
168
+ /** Grouping #3 — domain hierarchy. The `dom` axis (nesting). */
169
+ static { this.G3 = 'g3'; }
170
+ /** Grouping #4 — resource hierarchy. The `obj` axis. */
171
+ static { this.G4 = 'g4'; }
172
+ /** Grouping #5 — action hierarchy. The `act` axis. */
173
+ static { this.G5 = 'g5'; }
174
+ }
175
+ exports.CasbinRuleVariants = CasbinRuleVariants;
176
+ /**
177
+ * The kinds of "edge" stored in the single `PolicyDefinition` table. Every row links a `subject`
178
+ * (type + id) to a `target` (type + id); the `variant` column says WHAT kind of link it is.
179
+ *
180
+ * Picture the whole RBAC state as a graph — nodes are User / Role / Permission / Domain, and each
181
+ * PolicyDefinition row is one edge. `ScopedCasbinAdapter` reads these rows and emits one casbin line
182
+ * per edge. Each entry below carries:
183
+ * - `action` — the value stored in the DB `variant` column (what the adapter filters on).
184
+ * - `rule` — the casbin grouping/policy prefix the adapter emits for that edge (`p`, `g`, `g2`…).
185
+ *
186
+ * Per-USER edges (differ per user): GRANT, ASSIGN_ROLE, JOIN_DOMAIN.
187
+ * Shared HIERARCHY edges (same for everyone — describe the org structure, not a user):
188
+ * ROLE_INHERITS, RESOURCE_INHERITS, ACTION_INHERITS, DOMAIN_INHERITS.
189
+ */
190
+ class AuthorizationPolicyVariants {
191
+ /**
192
+ * Give a Permission to a User or Role (the grant row also carries action / effect / domain).
193
+ * casbin `p`: `p, <Role|User>_<id>, <domain>, <permissionCode>, <action>, <allow|deny>`
194
+ * e.g. `p, Role_5, ANY_MEMBER, Order, read, allow` — "Role 5 may read Order in any joined domain".
195
+ */
196
+ static { this.GRANT = { action: 'grant', rule: CasbinRuleVariants.P }; }
197
+ /**
198
+ * Give a User a Role (optionally scoped to a domain; no domain → `*` = every domain).
199
+ * casbin `g`: `g, User_<id>, Role_<id>, <domain|*>`
200
+ * e.g. `g, User_42, Role_5, *` — "User 42 holds Role 5 everywhere".
201
+ */
202
+ static { this.ASSIGN_ROLE = { action: 'assign_role', rule: CasbinRuleVariants.G }; }
203
+ /**
204
+ * A Role inherits another Role (DAG). Shares the `g` relation with ASSIGN_ROLE so a
205
+ * user → role → parent-role chain resolves in one lookup. Emitted with domain `*`.
206
+ * casbin `g`: `g, Role_<child>, Role_<parent>, *`
207
+ * e.g. `g, Role_5, Role_9, *` — "Role 5 inherits everything Role 9 has".
208
+ */
209
+ static { this.ROLE_INHERITS = { action: 'role_inherits', rule: CasbinRuleVariants.G }; }
210
+ /**
211
+ * A User is a member of a Domain. Powers the `ANY_MEMBER` grant scope — a grant with domain
212
+ * `ANY_MEMBER` applies in every domain the user joined. Matcher uses `g2(r.sub, r.dom)`.
213
+ * casbin `g2`: `g2, User_<id>, <Type>_<domainId>`
214
+ * e.g. `g2, User_42, Merchant_7` — "User 42 is a member of Merchant 7".
215
+ */
216
+ static { this.JOIN_DOMAIN = { action: 'join_domain', rule: CasbinRuleVariants.G2 }; }
217
+ /**
218
+ * DOMAIN axis (the `dom` of a request). One domain is nested under a parent domain.
219
+ * Matcher: `g3(r.dom, p.dom)` (+ self-link, so an exact domain always matches itself).
220
+ * casbin `g3`: `g3, <Type>_<childId>, <Type>_<parentId>`
221
+ * e.g. `g3, Branch_1, Company_9` — "a grant scoped to Company 9 also applies in Branch 1".
222
+ */
223
+ static { this.DOMAIN_INHERITS = {
224
+ action: 'domain_inherits',
225
+ rule: CasbinRuleVariants.G3,
226
+ }; }
227
+ /**
228
+ * RESOURCE axis (the `obj` of a request). One resource is nested under a broader one — for
229
+ * NON-standard nesting only; dotted nesting (`Order.findById ⊂ Order`) is handled by `objectMatch`
230
+ * WITHOUT an edge. Matcher: `objectMatch(r.obj, p.obj) || g4(r.obj, p.obj)`.
231
+ * casbin `g4`: `g4, <childCode>, <parentCode>`
232
+ * e.g. `g4, OrderItem, Order` — "a grant on Order also covers OrderItem".
233
+ */
234
+ static { this.RESOURCE_INHERITS = {
235
+ action: 'resource_inherits',
236
+ rule: CasbinRuleVariants.G4,
237
+ }; }
238
+ /**
239
+ * ACTION axis (the `act` of a request) — SAME shape as RESOURCE_INHERITS but a DIFFERENT axis: a
240
+ * narrow action is covered by a broader one. No dotted shortcut — needs an explicit edge.
241
+ * Matcher: `g5(r.act, p.act)`.
242
+ * casbin `g5`: `g5, <childAction>, <parentAction>`
243
+ * e.g. `g5, read, manage` — "a grant of manage also allows read".
244
+ * (g4 + g5 combine multiplicatively: a `manage Order` grant covers a `read OrderItem` request.)
245
+ */
246
+ static { this.ACTION_INHERITS = {
247
+ action: 'action_inherits',
248
+ rule: CasbinRuleVariants.G5,
249
+ }; }
250
+ static { this.ACTION_SCHEME_SET = new Set([
251
+ this.GRANT.action.toString(),
252
+ this.ASSIGN_ROLE.action.toString(),
253
+ this.ROLE_INHERITS.action.toString(),
254
+ this.JOIN_DOMAIN.action.toString(),
255
+ this.DOMAIN_INHERITS.action.toString(),
256
+ this.RESOURCE_INHERITS.action.toString(),
257
+ this.ACTION_INHERITS.action.toString(),
258
+ ]); }
259
+ static { this.RULE_SCHEME_SET = new Set([
260
+ this.GRANT.rule.toString(),
261
+ this.ASSIGN_ROLE.rule.toString(),
262
+ this.ROLE_INHERITS.rule.toString(),
263
+ this.JOIN_DOMAIN.rule.toString(),
264
+ this.DOMAIN_INHERITS.rule.toString(),
265
+ this.RESOURCE_INHERITS.rule.toString(),
266
+ this.ACTION_INHERITS.rule.toString(),
267
+ ]); }
268
+ static isValidAction(input) {
269
+ return this.ACTION_SCHEME_SET.has(input);
270
+ }
271
+ static isValidRule(input) {
272
+ return this.RULE_SCHEME_SET.has(input);
273
+ }
274
+ }
275
+ exports.AuthorizationPolicyVariants = AuthorizationPolicyVariants;
153
276
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/common/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/common/constants.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export * from './constants';
2
2
  export * from './keys';
3
+ export * from './object-match';
4
+ export * from './resolve-request-domain';
3
5
  export * from './types';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC"}
@@ -16,5 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./constants"), exports);
18
18
  __exportStar(require("./keys"), exports);
19
+ __exportStar(require("./object-match"), exports);
20
+ __exportStar(require("./resolve-request-domain"), exports);
19
21
  __exportStar(require("./types"), exports);
20
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,yCAAuB;AACvB,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,yCAAuB;AACvB,iDAA+B;AAC/B,2DAAyC;AACzC,0CAAwB"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Resource-hierarchy matcher for casbin `g4`. Decides whether a requested resource node
3
+ * falls under a granted resource node WITHOUT storing the "standard" edges
4
+ * (endpoint ⊂ subject ⊂ *), which are derivable from the dotted `code`.
5
+ *
6
+ * Non-standard edges (e.g. `OrderItem ⊂ Order`) are NOT covered here — those are stored as
7
+ * explicit `resource_inherits` (g4) links and resolved by casbin's role manager.
8
+ *
9
+ * Registered in TWO ways by the enforcer (both required):
10
+ * 1. `enforcer.addFunction('objectMatch', objectMatch)` — lets the matcher call
11
+ * `objectMatch(r.obj, p.obj)` directly for "graph-free" prefix/wildcard matching. casbin's
12
+ * role-manager `hasLink` only traverses stored nodes, so a `g4(...)`-only call can't match
13
+ * `p.obj = '*'` or a subject that isn't a stored g4 vertex — the direct call covers those.
14
+ * 2. `enforcer.addNamedMatchingFunc('g4', objectMatch)` — applies the same semantics when
15
+ * traversing explicit stored `resource_inherits` (g4) edges.
16
+ *
17
+ * @param requested the resource on the request (r.obj), e.g. `Activation.findById`
18
+ * @param granted the resource on the policy (p.obj), e.g. `Activation` or `*`
19
+ */
20
+ export declare const objectMatch: (requested: string, granted: string) => boolean;
21
+ //# sourceMappingURL=object-match.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-match.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/common/object-match.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,WAAW,GAAI,WAAW,MAAM,EAAE,SAAS,MAAM,KAAG,OAUhE,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.objectMatch = void 0;
4
+ /**
5
+ * Resource-hierarchy matcher for casbin `g4`. Decides whether a requested resource node
6
+ * falls under a granted resource node WITHOUT storing the "standard" edges
7
+ * (endpoint ⊂ subject ⊂ *), which are derivable from the dotted `code`.
8
+ *
9
+ * Non-standard edges (e.g. `OrderItem ⊂ Order`) are NOT covered here — those are stored as
10
+ * explicit `resource_inherits` (g4) links and resolved by casbin's role manager.
11
+ *
12
+ * Registered in TWO ways by the enforcer (both required):
13
+ * 1. `enforcer.addFunction('objectMatch', objectMatch)` — lets the matcher call
14
+ * `objectMatch(r.obj, p.obj)` directly for "graph-free" prefix/wildcard matching. casbin's
15
+ * role-manager `hasLink` only traverses stored nodes, so a `g4(...)`-only call can't match
16
+ * `p.obj = '*'` or a subject that isn't a stored g4 vertex — the direct call covers those.
17
+ * 2. `enforcer.addNamedMatchingFunc('g4', objectMatch)` — applies the same semantics when
18
+ * traversing explicit stored `resource_inherits` (g4) edges.
19
+ *
20
+ * @param requested the resource on the request (r.obj), e.g. `Activation.findById`
21
+ * @param granted the resource on the policy (p.obj), e.g. `Activation` or `*`
22
+ */
23
+ const objectMatch = (requested, granted) => {
24
+ if (granted === '*') {
25
+ return true;
26
+ }
27
+ if (requested === granted) {
28
+ return true;
29
+ }
30
+ return requested.startsWith(`${granted}.`);
31
+ };
32
+ exports.objectMatch = objectMatch;
33
+ //# sourceMappingURL=object-match.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-match.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/common/object-match.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACI,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,OAAe,EAAW,EAAE;IACzE,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;AAC7C,CAAC,CAAC;AAVW,QAAA,WAAW,eAUtB"}
@@ -0,0 +1,20 @@
1
+ import { TContext } from '../../../../base/controllers/common/types';
2
+ import { TNullable } from '@venizia/ignis-helpers';
3
+ import { Env } from 'hono';
4
+ import { IAuthorizationDomainSource, IAuthorizationSpec, IAuthorizeOptions } from './types';
5
+ /** Read a domain value from a declarative source on the Hono context. */
6
+ export declare const readDeclarative: (opts: {
7
+ source: IAuthorizationDomainSource;
8
+ context: TContext<Env, string>;
9
+ }) => TNullable<string>;
10
+ /**
11
+ * Resolve the request domain scope with precedence:
12
+ * spec.domain (method | declarative) → options.domainResolver → SYSTEM_WIDE.
13
+ * Returns a casbin domain string ("<type>_<id>") or the SYSTEM_WIDE sentinel.
14
+ */
15
+ export declare const resolveRequestDomain: (opts: {
16
+ spec: IAuthorizationSpec;
17
+ context: TContext<Env, string>;
18
+ options: TNullable<IAuthorizeOptions>;
19
+ }) => Promise<string>;
20
+ //# sourceMappingURL=resolve-request-domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-request-domain.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/common/resolve-request-domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE3B,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5F,yEAAyE;AACzE,eAAO,MAAM,eAAe,GAAI,MAAM;IACpC,MAAM,EAAE,0BAA0B,CAAC;IACnC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;CAChC,KAAG,SAAS,CAAC,MAAM,CAoBnB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAU,MAAM;IAC/C,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;CACvC,KAAG,OAAO,CAAC,MAAM,CA4BjB,CAAC"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveRequestDomain = exports.readDeclarative = void 0;
4
+ const constants_1 = require("./constants");
5
+ /** Read a domain value from a declarative source on the Hono context. */
6
+ const readDeclarative = (opts) => {
7
+ const { source, context } = opts;
8
+ switch (source.from) {
9
+ case 'param': {
10
+ return context.req.param(source.key) ?? null;
11
+ }
12
+ case 'header': {
13
+ return context.req.header(source.key) ?? null;
14
+ }
15
+ case 'query': {
16
+ return context.req.query(source.key) ?? null;
17
+ }
18
+ case 'context': {
19
+ const value = context.get(source.key);
20
+ return value == null ? null : String(value);
21
+ }
22
+ default: {
23
+ return null;
24
+ }
25
+ }
26
+ };
27
+ exports.readDeclarative = readDeclarative;
28
+ /**
29
+ * Resolve the request domain scope with precedence:
30
+ * spec.domain (method | declarative) → options.domainResolver → SYSTEM_WIDE.
31
+ * Returns a casbin domain string ("<type>_<id>") or the SYSTEM_WIDE sentinel.
32
+ */
33
+ const resolveRequestDomain = async (opts) => {
34
+ const { spec, context, options } = opts;
35
+ // (1) spec.domain as a method
36
+ if (typeof spec.domain === 'function') {
37
+ const resolved = await spec.domain({ context });
38
+ return resolved
39
+ ? [resolved.type, resolved.id].join('_')
40
+ : constants_1.AuthorizationDomainScopes.SYSTEM_WIDE;
41
+ }
42
+ // (2) spec.domain as declarative
43
+ if (spec.domain) {
44
+ const id = (0, exports.readDeclarative)({ source: spec.domain, context });
45
+ return id ? [spec.domain.type, id].join('_') : constants_1.AuthorizationDomainScopes.SYSTEM_WIDE;
46
+ }
47
+ // (3) global resolver
48
+ const globalResolver = options?.domainResolver ?? null;
49
+ if (globalResolver) {
50
+ const resolved = await globalResolver({ context });
51
+ return resolved
52
+ ? [resolved.type, resolved.id].join('_')
53
+ : constants_1.AuthorizationDomainScopes.SYSTEM_WIDE;
54
+ }
55
+ // (4) nothing → SYSTEM_WIDE
56
+ return constants_1.AuthorizationDomainScopes.SYSTEM_WIDE;
57
+ };
58
+ exports.resolveRequestDomain = resolveRequestDomain;
59
+ //# sourceMappingURL=resolve-request-domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-request-domain.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/common/resolve-request-domain.ts"],"names":[],"mappings":";;;AAGA,2CAAwD;AAGxD,yEAAyE;AAClE,MAAM,eAAe,GAAG,CAAC,IAG/B,EAAqB,EAAE;IACtB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC/C,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAChD,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC/C,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAY,CAAC,CAAC;YAC/C,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAvBW,QAAA,eAAe,mBAuB1B;AAEF;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,KAAK,EAAE,IAI1C,EAAmB,EAAE;IACpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAExC,8BAA8B;IAC9B,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAChD,OAAO,QAAQ;YACb,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACxC,CAAC,CAAC,qCAAyB,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED,iCAAiC;IACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,GAAG,IAAA,uBAAe,EAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7D,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,qCAAyB,CAAC,WAAW,CAAC;IACvF,CAAC;IAED,sBAAsB;IACtB,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC;IACvD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACnD,OAAO,QAAQ;YACb,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACxC,CAAC,CAAC,qCAAyB,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED,4BAA4B;IAC5B,OAAO,qCAAyB,CAAC,WAAW,CAAC;AAC/C,CAAC,CAAC;AAhCW,QAAA,oBAAoB,wBAgC/B"}
@@ -1,5 +1,6 @@
1
+ import { IdType } from '../../../../base';
1
2
  import { TContext } from '../../../../base/controllers/common/types';
2
- import { type DefaultRedisHelper, type ValueOrPromise } from '@venizia/ignis-helpers';
3
+ import { type DefaultRedisHelper, type TNullable, type ValueOrPromise } from '@venizia/ignis-helpers';
3
4
  import { type Adapter } from 'casbin';
4
5
  import { Env, type MiddlewareHandler } from 'hono';
5
6
  import { IAuthUser } from '../../authenticate';
@@ -11,24 +12,49 @@ export interface IAuthorizationRole {
11
12
  }
12
13
  /** Key-value conditions for attribute-based access control. Values compared with strict equality. */
13
14
  export type TAuthorizationConditions<KeyType extends string | symbol = string | symbol, ValueType = string | number | boolean | null> = Record<KeyType, ValueType>;
14
- export interface IAuthorizationComparable<TElement = string, TCompareResult = number> {
15
- value: TElement;
16
- compare(other: TElement): TCompareResult;
17
- isEqual(other: TElement): boolean;
18
- }
19
15
  export interface IAuthorizationRequest<TAction = string, TResource = string> {
20
16
  action: TAction;
21
17
  resource: TResource;
22
18
  conditions?: TAuthorizationConditions;
19
+ /**
20
+ * Resolved domain scope for this request, as a casbin domain string `"<DomainType>_<id>"`
21
+ * (e.g. `"Merchant_7"`), or the `"SYSTEM_WIDE"` sentinel to enforce across all domains.
22
+ */
23
+ domain?: string;
24
+ }
25
+ export interface IAuthorizationUser extends IAuthUser {
26
+ principalType: string;
27
+ }
28
+ /** What CasbinAuthorizationEnforcer.buildRules returns and evaluate consumes. */
29
+ export interface ICasbinRules {
30
+ user: IAuthorizationUser;
31
+ lines: string[];
23
32
  }
24
- /** Authorization enforcer that builds rules and evaluates authorization requests. */
33
+ /** Declarative description of where to read the request domain from. */
34
+ export interface IAuthorizationDomainSource {
35
+ from: 'param' | 'header' | 'query' | 'context';
36
+ key: string;
37
+ type: string;
38
+ }
39
+ /** Returns the current request domain; null = no domain (→ SYSTEM_WIDE). */
40
+ export type TAuthorizationDomainResolver<E extends Env = Env> = (opts: {
41
+ context: TContext<E, string>;
42
+ }) => ValueOrPromise<TNullable<{
43
+ type: string;
44
+ id: IdType;
45
+ }>>;
46
+ /**
47
+ * Authorization enforcer: builds rules and evaluates requests.
48
+ *
49
+ * Cache management (`invalidateUserCache`/`rebuildUserCache`) is OPTIONAL — present only on enforcers
50
+ * that cache per-user policies (e.g. the Casbin enforcer with the Redis driver). The registry
51
+ * feature-detects them at runtime before invoking.
52
+ */
25
53
  export interface IAuthorizationEnforcer<E extends Env = Env, TAction = string, TResource = string, TRules = unknown, TBuildRulesReturn = ValueOrPromise<TRules>, TEvaluateReturn = ValueOrPromise<TAuthorizationDecision>> {
26
54
  name: string;
27
55
  configure(): ValueOrPromise<void>;
28
56
  buildRules(opts: {
29
- user: {
30
- principalType: string;
31
- } & IAuthUser;
57
+ user: IAuthorizationUser;
32
58
  context: TContext<E, string>;
33
59
  }): TBuildRulesReturn;
34
60
  evaluate(opts: {
@@ -36,6 +62,19 @@ export interface IAuthorizationEnforcer<E extends Env = Env, TAction = string, T
36
62
  request: IAuthorizationRequest<TAction, TResource>;
37
63
  context: TContext<E, string>;
38
64
  }): TEvaluateReturn;
65
+ /** Drop a user's cached policies. Implemented only by caching enforcers. */
66
+ invalidateUserCache?(opts: {
67
+ user: IAuthorizationUser;
68
+ }): Promise<{
69
+ invalidatedKeys: number;
70
+ }>;
71
+ /** Drop + rebuild a user's cached policies. Implemented only by caching enforcers. */
72
+ rebuildUserCache?(opts: {
73
+ user: IAuthorizationUser;
74
+ }): Promise<{
75
+ cacheKey: string;
76
+ lineCount: number;
77
+ }>;
39
78
  }
40
79
  export type TAuthorizationVoter<E extends Env = Env, TAction = string, TResource = string> = (opts: {
41
80
  user: IAuthUser;
@@ -49,26 +88,20 @@ export interface IAuthorizationSpec<E extends Env = Env, TAction = string, TReso
49
88
  conditions?: TAuthorizationConditions;
50
89
  allowedRoles?: string[];
51
90
  voters?: TAuthorizationVoter<E, TAction, TResource>[];
91
+ /** Optional per-route domain: declarative source OR a resolver method. Omitted → global resolver. */
92
+ domain?: IAuthorizationDomainSource | TAuthorizationDomainResolver<E>;
52
93
  }
53
94
  export type TAuthorizeFn<E extends Env = Env, TAction = string, TResource = string> = (opts: {
54
95
  spec: IAuthorizationSpec<E, TAction, TResource>;
55
96
  enforcerName?: string;
56
97
  }) => MiddlewareHandler;
57
- export interface ICasbinEnforcerCachedMemory {
58
- driver: typeof CasbinEnforcerCachedDrivers.IN_MEMORY;
59
- options: {
60
- expiresIn: number;
61
- };
62
- }
63
98
  export interface ICasbinEnforcerCachedRedis {
64
99
  driver: typeof CasbinEnforcerCachedDrivers.REDIS;
65
100
  options: {
66
101
  connection: DefaultRedisHelper;
67
102
  expiresIn: number;
68
103
  keyFn: (opts: {
69
- user: {
70
- principalType: string;
71
- } & IAuthUser;
104
+ user: IAuthorizationUser;
72
105
  }) => ValueOrPromise<string>;
73
106
  };
74
107
  }
@@ -82,9 +115,7 @@ export interface ICasbinEnforcerOptions<E extends Env = Env, TAction = string, T
82
115
  };
83
116
  cached: {
84
117
  use: false;
85
- } | (ICasbinEnforcerCachedMemory & {
86
- use: true;
87
- }) | (ICasbinEnforcerCachedRedis & {
118
+ } | (ICasbinEnforcerCachedRedis & {
88
119
  use: true;
89
120
  });
90
121
  adapter?: TAdapter;
@@ -103,9 +134,21 @@ export interface ICasbinEnforcerOptions<E extends Env = Env, TAction = string, T
103
134
  action: string;
104
135
  domain?: string;
105
136
  };
137
+ /**
138
+ * Turn on the domain-scoped RBAC model. Requests become 4-token `(subject, domain, object, action)`
139
+ * instead of 3-token, and the enforcer registers the domain matcher (`keyMatch` on `g`) and the
140
+ * resource matcher (`objectMatch`) needed by that model.
141
+ */
142
+ isScoped?: boolean;
143
+ /** Number of pooled enforcers (each request enforces on its own). Default 16. */
144
+ poolSize?: number;
145
+ /** Max ms to wait for a free pooled enforcer before failing closed. Default 5000. */
146
+ poolAcquireTimeoutMs?: number;
106
147
  }
107
148
  export interface IAuthorizeOptions {
108
149
  defaultDecision: TAuthorizationDecision;
109
150
  alwaysAllowRoles?: string[];
151
+ /** Fallback domain resolver used when a route's spec has no `domain`. */
152
+ domainResolver?: TAuthorizationDomainResolver;
110
153
  }
111
154
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/common/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/common/types.ts"],"names":[],"mappings":"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"}