@venizia/ignis 0.0.9-14 → 0.0.9-16

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 (87) hide show
  1. package/dist/base/repositories/core/readable.d.ts.map +1 -1
  2. package/dist/base/repositories/core/readable.js +16 -4
  3. package/dist/base/repositories/core/readable.js.map +1 -1
  4. package/dist/components/auth/authorize/adapters/base-filtered.d.ts +26 -56
  5. package/dist/components/auth/authorize/adapters/base-filtered.d.ts.map +1 -1
  6. package/dist/components/auth/authorize/adapters/base-filtered.js +23 -70
  7. package/dist/components/auth/authorize/adapters/base-filtered.js.map +1 -1
  8. package/dist/components/auth/authorize/adapters/index.d.ts +2 -1
  9. package/dist/components/auth/authorize/adapters/index.d.ts.map +1 -1
  10. package/dist/components/auth/authorize/adapters/index.js +2 -1
  11. package/dist/components/auth/authorize/adapters/index.js.map +1 -1
  12. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.d.ts +131 -0
  13. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.d.ts.map +1 -0
  14. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.js +293 -0
  15. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.js.map +1 -0
  16. package/dist/components/auth/authorize/adapters/types.d.ts +31 -0
  17. package/dist/components/auth/authorize/adapters/types.d.ts.map +1 -0
  18. package/dist/components/auth/authorize/adapters/types.js +3 -0
  19. package/dist/components/auth/authorize/adapters/types.js.map +1 -0
  20. package/dist/components/auth/authorize/common/constants.d.ts +127 -12
  21. package/dist/components/auth/authorize/common/constants.d.ts.map +1 -1
  22. package/dist/components/auth/authorize/common/constants.js +139 -16
  23. package/dist/components/auth/authorize/common/constants.js.map +1 -1
  24. package/dist/components/auth/authorize/common/index.d.ts +2 -0
  25. package/dist/components/auth/authorize/common/index.d.ts.map +1 -1
  26. package/dist/components/auth/authorize/common/index.js +2 -0
  27. package/dist/components/auth/authorize/common/index.js.map +1 -1
  28. package/dist/components/auth/authorize/common/object-match.d.ts +21 -0
  29. package/dist/components/auth/authorize/common/object-match.d.ts.map +1 -0
  30. package/dist/components/auth/authorize/common/object-match.js +33 -0
  31. package/dist/components/auth/authorize/common/object-match.js.map +1 -0
  32. package/dist/components/auth/authorize/common/resolve-request-domain.d.ts +20 -0
  33. package/dist/components/auth/authorize/common/resolve-request-domain.d.ts.map +1 -0
  34. package/dist/components/auth/authorize/common/resolve-request-domain.js +59 -0
  35. package/dist/components/auth/authorize/common/resolve-request-domain.js.map +1 -0
  36. package/dist/components/auth/authorize/common/types.d.ts +65 -22
  37. package/dist/components/auth/authorize/common/types.d.ts.map +1 -1
  38. package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts +119 -30
  39. package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts.map +1 -1
  40. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js +302 -168
  41. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js.map +1 -1
  42. package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts +19 -1
  43. package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts.map +1 -1
  44. package/dist/components/auth/authorize/enforcers/enforcer-registry.js +23 -0
  45. package/dist/components/auth/authorize/enforcers/enforcer-registry.js.map +1 -1
  46. package/dist/components/auth/authorize/enforcers/index.d.ts +1 -0
  47. package/dist/components/auth/authorize/enforcers/index.d.ts.map +1 -1
  48. package/dist/components/auth/authorize/enforcers/index.js +1 -0
  49. package/dist/components/auth/authorize/enforcers/index.js.map +1 -1
  50. package/dist/components/auth/authorize/enforcers/models/index.d.ts +2 -0
  51. package/dist/components/auth/authorize/enforcers/models/index.d.ts.map +1 -0
  52. package/dist/components/auth/authorize/{models/abilities → enforcers/models}/index.js +1 -2
  53. package/dist/components/auth/authorize/enforcers/models/index.js.map +1 -0
  54. package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.d.ts +32 -0
  55. package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.d.ts.map +1 -0
  56. package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.js +54 -0
  57. package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.js.map +1 -0
  58. package/dist/components/auth/authorize/models/index.d.ts +0 -1
  59. package/dist/components/auth/authorize/models/index.d.ts.map +1 -1
  60. package/dist/components/auth/authorize/models/index.js +0 -1
  61. package/dist/components/auth/authorize/models/index.js.map +1 -1
  62. package/dist/components/auth/authorize/providers/authorization.provider.d.ts.map +1 -1
  63. package/dist/components/auth/authorize/providers/authorization.provider.js +12 -0
  64. package/dist/components/auth/authorize/providers/authorization.provider.js.map +1 -1
  65. package/dist/components/auth/models/entities/permission.model.d.ts +1 -0
  66. package/dist/components/auth/models/entities/permission.model.d.ts.map +1 -1
  67. package/dist/components/auth/models/entities/permission.model.js +2 -0
  68. package/dist/components/auth/models/entities/permission.model.js.map +1 -1
  69. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts.map +1 -1
  70. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js +1 -1
  71. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js.map +1 -1
  72. package/package.json +3 -3
  73. package/dist/components/auth/authorize/adapters/drizzle-casbin.d.ts +0 -46
  74. package/dist/components/auth/authorize/adapters/drizzle-casbin.d.ts.map +0 -1
  75. package/dist/components/auth/authorize/adapters/drizzle-casbin.js +0 -104
  76. package/dist/components/auth/authorize/adapters/drizzle-casbin.js.map +0 -1
  77. package/dist/components/auth/authorize/models/abilities/index.d.ts +0 -3
  78. package/dist/components/auth/authorize/models/abilities/index.d.ts.map +0 -1
  79. package/dist/components/auth/authorize/models/abilities/index.js.map +0 -1
  80. package/dist/components/auth/authorize/models/abilities/string-action.model.d.ts +0 -14
  81. package/dist/components/auth/authorize/models/abilities/string-action.model.d.ts.map +0 -1
  82. package/dist/components/auth/authorize/models/abilities/string-action.model.js +0 -23
  83. package/dist/components/auth/authorize/models/abilities/string-action.model.js.map +0 -1
  84. package/dist/components/auth/authorize/models/abilities/string-resource.model.d.ts +0 -13
  85. package/dist/components/auth/authorize/models/abilities/string-resource.model.d.ts.map +0 -1
  86. package/dist/components/auth/authorize/models/abilities/string-resource.model.js +0 -19
  87. package/dist/components/auth/authorize/models/abilities/string-resource.model.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"readable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"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"}
@@ -101,10 +101,22 @@ class ReadableRepository extends abstract_1.AbstractRepository {
101
101
  if (!shouldQueryRange) {
102
102
  return dataPromise;
103
103
  }
104
- const [data, { count: total }] = await Promise.all([
105
- dataPromise,
106
- this.count({ where: mergedFilter.where ?? {}, options: effectiveOptions }),
107
- ]);
104
+ // Inside a transaction the connector wraps a single pg client; firing the
105
+ // data + count queries concurrently makes node-postgres call client.query()
106
+ // while the client is still busy, which triggers the pg deprecation warning
107
+ // ("Calling client.query() when the client is already executing a query").
108
+ // The pool-backed connector hands out a separate client per query, so only
109
+ // the non-transaction path is safe to parallelize.
110
+ const countPromise = () => this.count({ where: mergedFilter.where ?? {}, options: effectiveOptions });
111
+ let data;
112
+ let total;
113
+ if (effectiveOptions.transaction) {
114
+ data = await dataPromise;
115
+ ({ count: total } = await countPromise());
116
+ }
117
+ else {
118
+ [data, { count: total }] = await Promise.all([dataPromise, countPromise()]);
119
+ }
108
120
  // Build range following HTTP Content-Range standard (inclusive end index)
109
121
  const start = mergedFilter.skip ?? mergedFilter.offset ?? 0;
110
122
  const end = data.length > 0 ? start + data.length - 1 : start;
@@ -1 +1 @@
1
- {"version":3,"file":"readable.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readable.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"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"}
@@ -1,73 +1,43 @@
1
- import { BaseHelper, ValueOrPromise } from '@venizia/ignis-helpers';
1
+ import { IdType } from '../../../../base';
2
+ import { IDataSource, TAnyConnector } from '../../../../base/datasources';
3
+ import { BaseHelper } from '@venizia/ignis-helpers';
2
4
  import { type FilteredAdapter, type Model } from 'casbin';
3
- export interface IBaseFilteredAdapterEntities {
4
- role: {
5
- principalType: string;
6
- };
7
- domain?: {
8
- principalType: string;
9
- };
10
- }
5
+ /** Filter passed to loadFilteredPolicy: which principal's policies to load. */
11
6
  export interface ICasbinPolicyFilter {
12
- principalType: string;
13
- principalValue: string | number;
7
+ principal: {
8
+ type: string;
9
+ id: IdType;
10
+ };
14
11
  }
15
12
  /**
16
- * Base policy row shape.
13
+ * Read-only base for casbin FilteredAdapters backed by a datasource.
17
14
  *
18
- * Declared as `type` (not `interface`) so it carries an implicit index signature
19
- * required by Drizzle's `connector.execute<T>()` which constrains `T extends Record<string, unknown>`.
15
+ * It owns the boilerplate every filtered adapter repeats the datasource/connector plumbing, the
16
+ * `isFiltered() === true` flag, the no-op write methods (read-only), and a `loadLines` helper so a
17
+ * subclass only implements {@link loadFilteredPolicy}: query the store for ONE principal's policies
18
+ * and turn them into casbin lines.
19
+ *
20
+ * `TFilter` is the filter shape (defaults to {@link ICasbinPolicyFilter}); subclasses may narrow it.
20
21
  */
21
- export type TBasePolicyRow = {
22
- variant: string;
23
- code: string;
24
- action: string | null;
25
- subjectType: string;
26
- subjectId: string | number;
27
- effect: string | null;
28
- domain: string | null;
29
- };
30
- export declare abstract class BaseFilteredAdapter<TEntities extends IBaseFilteredAdapterEntities = IBaseFilteredAdapterEntities, TFilter = ICasbinPolicyFilter, TPolicyRow extends TBasePolicyRow = TBasePolicyRow> extends BaseHelper implements FilteredAdapter {
31
- protected readonly entities: TEntities;
22
+ export declare abstract class BaseFilteredAdapter<TFilter = ICasbinPolicyFilter> extends BaseHelper implements FilteredAdapter {
23
+ protected readonly dataSource: IDataSource;
32
24
  constructor(opts: {
33
25
  scope: string;
34
- entities: TEntities;
26
+ dataSource: IDataSource;
35
27
  });
36
- loadPolicy(): Promise<void>;
37
- loadFilteredPolicy(model: Model, filter: TFilter): Promise<void>;
28
+ protected get connector(): TAnyConnector;
29
+ /** Load ONLY the policies matching `filter` into `model` (the store is read for one principal). */
30
+ abstract loadFilteredPolicy(model: Model, filter: TFilter): Promise<void>;
38
31
  isFiltered(): boolean;
32
+ loadPolicy(): Promise<void>;
39
33
  savePolicy(): Promise<boolean>;
40
34
  addPolicy(): Promise<void>;
41
35
  removePolicy(): Promise<void>;
42
36
  removeFilteredPolicy(): Promise<void>;
43
- /** Query direct permission policies assigned to the principal. Return casbin `p` lines. */
44
- protected abstract buildDirectPolicies(opts: {
45
- filter: TFilter;
46
- rolePrincipal: string;
47
- }): ValueOrPromise<string[]>;
48
- /** Query role assignments for the principal. Return casbin `g` lines + role IDs. */
49
- protected abstract buildGroupPolicies(opts: {
50
- filter: TFilter;
51
- }): ValueOrPromise<{
37
+ /** Parse + load casbin policy lines into a model. Shared by subclasses' loadFilteredPolicy. */
38
+ protected loadLines(opts: {
39
+ model: Model;
52
40
  lines: string[];
53
- roleIds: (string | number)[];
54
- }>;
55
- /** Query permission policies inherited through roles. Return casbin `p` lines. */
56
- protected abstract buildRolePolicies(opts: {
57
- roleIds: (string | number)[];
58
- rolePrincipal: string;
59
- }): ValueOrPromise<string[]>;
60
- /** Format a domain value with optional entity prefix (e.g., `"Organization_<uuid>"`). */
61
- protected formatDomain(domain: string | null): string | null;
62
- /** Format a casbin grouping line: `g, <subject>, <role>[, <domain>]`. */
63
- protected toGroupLine(opts: {
64
- subject: string;
65
- role: string;
66
- domain: string | null;
67
- }): string;
68
- /** Format a casbin policy line: `p, <subject>, [<domain>,] <resource>, <action>, <effect>`. */
69
- protected toPolicyLine(opts: {
70
- row: TPolicyRow;
71
- }): string | null;
41
+ }): Promise<void>;
72
42
  }
73
43
  //# sourceMappingURL=base-filtered.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-filtered.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/base-filtered.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE1D,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,MAAM,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAYF,8BAAsB,mBAAmB,CACvC,SAAS,SAAS,4BAA4B,GAAG,4BAA4B,EAC7E,OAAO,GAAG,mBAAmB,EAC7B,UAAU,SAAS,cAAc,GAAG,cAAc,CAElD,SAAQ,UACR,YAAW,eAAe;IAE1B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAE3B,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,SAAS,CAAA;KAAE;IAOlD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBtE,UAAU,IAAI,OAAO;IAMf,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAI9B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3C,2FAA2F;IAC3F,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE;QAC3C,MAAM,EAAE,OAAO,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;IAE5B,oFAAoF;IACpF,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE;QAC1C,MAAM,EAAE,OAAO,CAAC;KACjB,GAAG,cAAc,CAAC;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,CAAC;IAErE,kFAAkF;IAClF,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE;QACzC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;IAI5B,yFAAyF;IACzF,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5C,yEAAyE;IACzE,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IASpF,+FAA+F;IAC/F,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,UAAU,CAAA;KAAE;CAkBjD"}
1
+ {"version":3,"file":"base-filtered.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/base-filtered.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE1D,+EAA+E;AAC/E,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED;;;;;;;;;GASG;AACH,8BAAsB,mBAAmB,CAAC,OAAO,GAAG,mBAAmB,CACrE,SAAQ,UACR,YAAW,eAAe;IAE1B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;gBAE/B,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,WAAW,CAAA;KAAE;IAK5D,SAAS,KAAK,SAAS,IAAI,aAAa,CAEvC;IAED,mGAAmG;IACnG,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzE,UAAU,IAAI,OAAO;IAKf,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAC3B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAG9B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAC1B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAC7B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAE3C,+FAA+F;cAC/E,SAAS,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAMlF"}
@@ -2,88 +2,41 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseFilteredAdapter = void 0;
4
4
  const ignis_helpers_1 = require("@venizia/ignis-helpers");
5
- const common_1 = require("../common");
6
- // Base Filtered Adapter — read-only template for casbin FilteredAdapter
7
- //
8
- // Generic parameters (ordered by likelihood of customization):
9
- // TEntities — entity configuration (subclass adds data-source-specific fields like tableName)
10
- // TFilter — filter shape passed to loadFilteredPolicy (opaque to the base)
11
- // TPolicyRow policy row shape consumed by toPolicyLine
12
- //
13
- // Subclasses implement the three query hooks; the base orchestrates loading,
14
- // provides shared formatters, and satisfies the no-op write contract.
5
+ /**
6
+ * Read-only base for casbin FilteredAdapters backed by a datasource.
7
+ *
8
+ * It owns the boilerplate every filtered adapter repeats — the datasource/connector plumbing, the
9
+ * `isFiltered() === true` flag, the no-op write methods (read-only), and a `loadLines` helper — so a
10
+ * subclass only implements {@link loadFilteredPolicy}: query the store for ONE principal's policies
11
+ * and turn them into casbin lines.
12
+ *
13
+ * `TFilter` is the filter shape (defaults to {@link ICasbinPolicyFilter}); subclasses may narrow it.
14
+ */
15
15
  class BaseFilteredAdapter extends ignis_helpers_1.BaseHelper {
16
16
  constructor(opts) {
17
17
  super({ scope: opts.scope });
18
- this.entities = opts.entities;
18
+ this.dataSource = opts.dataSource;
19
19
  }
20
- // FilteredAdapter — public API
21
- async loadPolicy() {
22
- return;
23
- }
24
- async loadFilteredPolicy(model, filter) {
25
- const { Helper } = await import('casbin');
26
- const rolePrincipal = this.entities.role.principalType;
27
- const loadLine = (line) => Helper.loadPolicyLine(line, model);
28
- // 1. Direct permissions assigned to the principal
29
- const directLines = await this.buildDirectPolicies({ filter, rolePrincipal });
30
- directLines.forEach(loadLine);
31
- // 2. Role assignments + group lines
32
- const { lines: groupLines, roleIds } = await this.buildGroupPolicies({ filter });
33
- groupLines.forEach(loadLine);
34
- // 3. Permissions inherited through roles
35
- if (roleIds.length) {
36
- const roleLines = await this.buildRolePolicies({ roleIds, rolePrincipal });
37
- roleLines.forEach(loadLine);
38
- }
20
+ get connector() {
21
+ return this.dataSource.connector;
39
22
  }
40
23
  isFiltered() {
41
24
  return true;
42
25
  }
43
- // FilteredAdapterno-op write methods (read-only adapter)
26
+ // Read-only adapter — write methods are intentional no-ops.
27
+ async loadPolicy() { }
44
28
  async savePolicy() {
45
29
  return true;
46
30
  }
47
- async addPolicy() {
48
- return;
49
- }
50
- async removePolicy() {
51
- return;
52
- }
53
- async removeFilteredPolicy() {
54
- return;
55
- }
56
- // Formatters — shared utilities for subclasses
57
- /** Format a domain value with optional entity prefix (e.g., `"Organization_<uuid>"`). */
58
- formatDomain(domain) {
59
- if (!domain) {
60
- return null;
61
- }
62
- const prefix = this.entities.domain?.principalType;
63
- return prefix ? `${prefix}_${domain}` : domain;
64
- }
65
- /** Format a casbin grouping line: `g, <subject>, <role>[, <domain>]`. */
66
- toGroupLine(opts) {
67
- const { subject, role, domain } = opts;
68
- if (domain) {
69
- return [common_1.CasbinRuleVariants.G, subject, role, domain].join(', ');
70
- }
71
- return [common_1.CasbinRuleVariants.G, subject, role].join(', ');
72
- }
73
- /** Format a casbin policy line: `p, <subject>, [<domain>,] <resource>, <action>, <effect>`. */
74
- toPolicyLine(opts) {
75
- const { row } = opts;
76
- const { code, action } = row;
77
- const effect = row.effect ?? 'allow';
78
- if (!action) {
79
- return null;
80
- }
81
- const subject = `${row.subjectType}_${row.subjectId}`;
82
- const domain = this.formatDomain(row.domain);
83
- if (domain) {
84
- return [common_1.CasbinRuleVariants.P, subject, domain, code, action, effect].join(', ');
31
+ async addPolicy() { }
32
+ async removePolicy() { }
33
+ async removeFilteredPolicy() { }
34
+ /** Parse + load casbin policy lines into a model. Shared by subclasses' loadFilteredPolicy. */
35
+ async loadLines(opts) {
36
+ const { Helper } = await import('casbin');
37
+ for (const line of opts.lines) {
38
+ Helper.loadPolicyLine(line, opts.model);
85
39
  }
86
- return [common_1.CasbinRuleVariants.P, subject, code, action, effect].join(', ');
87
40
  }
88
41
  }
89
42
  exports.BaseFilteredAdapter = BaseFilteredAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"base-filtered.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/base-filtered.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-filtered.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/base-filtered.ts"],"names":[],"mappings":";;;AAEA,0DAAoD;AAQpD;;;;;;;;;GASG;AACH,MAAsB,mBACpB,SAAQ,0BAAU;IAKlB,YAAY,IAAgD;QAC1D,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;IAED,IAAc,SAAS;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,CAAC;IAKD,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,UAAU,KAAmB,CAAC;IACpC,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,SAAS,KAAmB,CAAC;IACnC,KAAK,CAAC,YAAY,KAAmB,CAAC;IACtC,KAAK,CAAC,oBAAoB,KAAmB,CAAC;IAE9C,+FAA+F;IACrF,KAAK,CAAC,SAAS,CAAC,IAAuC;QAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF;AAtCD,kDAsCC"}
@@ -1,3 +1,4 @@
1
1
  export * from './base-filtered';
2
- export * from './drizzle-casbin';
2
+ export * from './scoped-casbin.adapter';
3
+ export * from './types';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC"}
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./base-filtered"), exports);
18
- __exportStar(require("./drizzle-casbin"), exports);
18
+ __exportStar(require("./scoped-casbin.adapter"), exports);
19
+ __exportStar(require("./types"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,0DAAwC;AACxC,0CAAwB"}
@@ -0,0 +1,131 @@
1
+ import { IdType } from '../../../../base';
2
+ import { IDataSource } from '../../../../base/datasources';
3
+ import { type Model } from 'casbin';
4
+ import { type SQL } from 'drizzle-orm';
5
+ import { BaseFilteredAdapter } from './base-filtered';
6
+ import { type IScopedCasbinEntities } from './types';
7
+ export type { IScopedCasbinEntities };
8
+ export interface IScopedCasbinPolicyFilter {
9
+ principal: {
10
+ type: string;
11
+ id: IdType;
12
+ };
13
+ }
14
+ /**
15
+ * Filtered casbin adapter for the scoped RBAC model: loads ONE principal's edges (role assignments,
16
+ * memberships, grants) plus the shared structural hierarchy trees as casbin lines. Read-only.
17
+ */
18
+ export declare class ScopedCasbinAdapter extends BaseFilteredAdapter<IScopedCasbinPolicyFilter> {
19
+ protected readonly entities: IScopedCasbinEntities;
20
+ constructor(opts: {
21
+ dataSource: IDataSource;
22
+ entities: IScopedCasbinEntities;
23
+ });
24
+ /**
25
+ * Casbin's filtered-load entry point: build the full line set for ONE principal and load it into
26
+ * the model. Runs in two waves —
27
+ * Wave 1 (parallel): the principal's own edges (role assignments → g, memberships → g2, direct
28
+ * grants → p) plus the shared structural trees (role/resource/action/domain inherits).
29
+ * Wave 2: expand the assigned roles to their transitive parents (role closure over role_inherits),
30
+ * then fetch the grants those roles carry — so a user inherits permissions from parent roles.
31
+ * The concatenated lines are handed to {@link loadLines}; the enforcer caches the result per user
32
+ * in Redis, so this only runs on a cache MISS.
33
+ */
34
+ loadFilteredPolicy(model: Model, filter: IScopedCasbinPolicyFilter): Promise<void>;
35
+ /** Schema for a table, defaulting to `public`. */
36
+ protected schemaOf(table: {
37
+ schemaName?: string;
38
+ }): string;
39
+ /** Schema-qualified table reference (`"<schema>"."<table>"`) for use after FROM/JOIN with an alias. */
40
+ protected qualifiedTable(opts: {
41
+ table: {
42
+ schemaName?: string;
43
+ tableName: string;
44
+ };
45
+ }): SQL;
46
+ /** `AND <alias>.<col> IS NULL` when soft-delete on; empty otherwise. Alias quoted to avoid injection. */
47
+ protected softDeleteClause(opts: {
48
+ alias: string;
49
+ }): SQL;
50
+ /**
51
+ * Fetch the principal's `assign_role` edges and emit them as casbin `g` lines (role membership).
52
+ * Returns both the lines AND the raw `roleIds`, which Wave 2 feeds into {@link expandRoleClosure}.
53
+ * A null domain widens the assignment to every domain (`*`).
54
+ * e.g. `g, User_u1, Role_r1, *` — "u1 holds Role r1 in any domain".
55
+ */
56
+ protected queryRoleAssignments(opts: {
57
+ principal: {
58
+ type: string;
59
+ id: IdType;
60
+ };
61
+ }): Promise<{
62
+ lines: string[];
63
+ roleIds: IdType[];
64
+ }>;
65
+ /**
66
+ * Fetch the principal's `join_domain` edges (restricted to the configured `domainTypes`) and emit
67
+ * them as casbin `g2` lines — the membership relation the matcher uses to scope `ANY_MEMBER` grants.
68
+ * e.g. `g2, User_u1, Merchant_7` — "u1 is a member of Merchant 7".
69
+ */
70
+ protected queryMemberships(opts: {
71
+ principal: {
72
+ type: string;
73
+ id: IdType;
74
+ };
75
+ }): Promise<string[]>;
76
+ /**
77
+ * Fetch `grant` edges for the given subjects (a User or a set of Roles) joined to `Permission` for
78
+ * the object code, and emit them as casbin `p` policy lines. Used twice per load: once for the
79
+ * user's direct grants, once for the grants of every role in the closure. Rows with no `action` are
80
+ * skipped; a null effect defaults to allow, a null domain to `ANY_MEMBER`. Empty `ids` short-circuits
81
+ * without touching the DB.
82
+ * e.g. `p, Role_5, ANY_MEMBER, Order, read, allow` — "Role 5 may read Order in any joined domain".
83
+ */
84
+ protected queryGrants(opts: {
85
+ subject: {
86
+ type: string;
87
+ ids: IdType[];
88
+ };
89
+ }): Promise<string[]>;
90
+ /**
91
+ * Load the system-wide hierarchy edges (role/resource/action/domain inherits) — read fresh on each
92
+ * call. These are the same for every user, but at this scale the four queries are cheap and run in
93
+ * the same parallel wave as the per-user queries; the per-user `lines` are themselves cached in Redis
94
+ * by the enforcer, so this only runs on a cache MISS. (No in-process cache → never goes stale.)
95
+ */
96
+ protected loadStructuralTrees(): Promise<string[]>;
97
+ /**
98
+ * Shared role hierarchy: every `role_inherits` edge as a casbin `g` line with a wildcard domain.
99
+ * These are the SAME for all users (org structure, not a user) and also seed {@link expandRoleClosure}.
100
+ * e.g. `g, Role_r2, Role_r1, *` — "Role r2 inherits Role r1 in any domain".
101
+ */
102
+ protected queryRoleInherits(): Promise<string[]>;
103
+ /**
104
+ * Shared resource hierarchy: every `resource_inherits` edge as a casbin `g4` line, joining
105
+ * `Permission` twice (child + parent) to emit the resource CODES the `objectMatch` g4-func traverses.
106
+ * The `obj` axis — a permission on a parent resource also covers its children.
107
+ * e.g. `g4, OrderItem, Order` — "OrderItem is a child resource of Order".
108
+ */
109
+ protected queryResourceInherits(): Promise<string[]>;
110
+ /**
111
+ * Shared action hierarchy: every `action_inherits` edge as a casbin `g5` line. Same shape as
112
+ * resource_inherits but a DIFFERENT axis — the `act` axis (e.g. `manage` covers `read`/`update`).
113
+ * Kept separate so resource × action stays factored instead of exploding to R×A combined edges.
114
+ * e.g. `g5, read, manage` — "the read action is implied by manage".
115
+ */
116
+ protected queryActionInherits(): Promise<string[]>;
117
+ /**
118
+ * Shared domain hierarchy: every `domain_inherits` edge as a casbin `g3` line, with typed
119
+ * `<type>_<id>` endpoints — lets a grant in a parent domain cascade to child domains.
120
+ * e.g. `g3, Branch_1, Company_2` — "Branch 1 sits under Company 2".
121
+ */
122
+ protected queryDomainInherits(): Promise<string[]>;
123
+ /** BFS over role_inherits edges to collect a role set + all transitive parents. Cycle-safe. */
124
+ protected expandRoleClosure(opts: {
125
+ role: {
126
+ ids: IdType[];
127
+ edges: string[];
128
+ };
129
+ }): IdType[];
130
+ }
131
+ //# sourceMappingURL=scoped-casbin.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoped-casbin.adapter.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/scoped-casbin.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAO,KAAK,GAAG,EAAE,MAAM,aAAa,CAAC;AAM5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGrD,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAEtC,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAID;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,mBAAmB,CAAC,yBAAyB,CAAC;IACrF,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;gBAEvC,IAAI,EAAE;QAAE,UAAU,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,qBAAqB,CAAA;KAAE;IAK9E;;;;;;;;;OASG;IACG,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCxF,kDAAkD;IAClD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAI1D,uGAAuG;IACvG,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE;YAAE,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,GAAG;IAK1F,yGAAyG;IACzG,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,GAAG;IASxD;;;;;OAKG;cACa,oBAAoB,CAAC,IAAI,EAAE;QACzC,SAAS,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;KACzC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAiCnD;;;;OAIG;cACa,gBAAgB,CAAC,IAAI,EAAE;QACrC,SAAS,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;KACzC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA4BrB;;;;;;;OAOG;cACa,WAAW,CAAC,IAAI,EAAE;QAChC,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KAC1C,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmDrB;;;;;OAKG;cACa,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAWxD;;;;OAIG;cACa,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAoBtD;;;;;OAKG;cACa,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAoB1D;;;;;OAKG;cACa,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAiBxD;;;;OAIG;cACa,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAyBxD,+FAA+F;IAC/F,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE;YAAE,GAAG,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,GAAG,MAAM,EAAE;CA2C1F"}