@nest-boot/row-level-security 7.2.2 → 7.2.4

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 (33) hide show
  1. package/dist/decorators/policy.decorator.d.ts +1 -1
  2. package/dist/decorators/policy.decorator.js +2 -2
  3. package/dist/decorators/policy.decorator.js.map +1 -1
  4. package/dist/decorators/policy.decorator.spec.js +18 -18
  5. package/dist/decorators/policy.decorator.spec.js.map +1 -1
  6. package/dist/index.spec.js +2 -2
  7. package/dist/index.spec.js.map +1 -1
  8. package/dist/interfaces/policy-options.interface.d.ts +1 -1
  9. package/dist/interfaces/row-level-security-migration-generator.interface.d.ts +3 -0
  10. package/dist/row-level-security-driver.js +1 -1
  11. package/dist/row-level-security-driver.js.map +1 -1
  12. package/dist/row-level-security-driver.spec.js +4 -4
  13. package/dist/row-level-security-driver.spec.js.map +1 -1
  14. package/dist/row-level-security-migration-generator.d.ts +1 -0
  15. package/dist/row-level-security-migration-generator.js +66 -15
  16. package/dist/row-level-security-migration-generator.js.map +1 -1
  17. package/dist/row-level-security-migration-generator.spec.js +121 -36
  18. package/dist/row-level-security-migration-generator.spec.js.map +1 -1
  19. package/dist/row-level-security-migration.d.ts +1 -1
  20. package/dist/row-level-security-migration.js +1 -1
  21. package/dist/row-level-security-migration.js.map +1 -1
  22. package/dist/row-level-security-migration.spec.js +6 -5
  23. package/dist/row-level-security-migration.spec.js.map +1 -1
  24. package/dist/tsconfig.build.tsbuildinfo +1 -1
  25. package/dist/utils/create-policy-bootstrap-sql-statements.d.ts +2 -2
  26. package/dist/utils/create-policy-bootstrap-sql-statements.js +2 -5
  27. package/dist/utils/create-policy-bootstrap-sql-statements.js.map +1 -1
  28. package/dist/utils/create-policy-role-sql-statements.d.ts +4 -4
  29. package/dist/utils/create-policy-role-sql-statements.js +6 -19
  30. package/dist/utils/create-policy-role-sql-statements.js.map +1 -1
  31. package/dist/utils/policy-migration-sql.spec.js +19 -33
  32. package/dist/utils/policy-migration-sql.spec.js.map +1 -1
  33. package/package.json +4 -4
@@ -7,7 +7,7 @@ export type { PolicyOptions } from "../interfaces/policy-options.interface";
7
7
  *
8
8
  * When `property` and `context` are provided, the decorator derives default
9
9
  * `USING` and `WITH CHECK` expressions that compare the mapped database column
10
- * against a PostgreSQL-deparsed `app.get_context(context::text, NULL::<column type>)`.
10
+ * against a transaction-local PostgreSQL setting read via `current_setting`.
11
11
  */
12
12
  export declare function Policy(options: PolicyOptions): ClassDecorator;
13
13
  /** Returns static policy metadata entries already attached to a class. */
@@ -17,7 +17,7 @@ const policyMetadata = new WeakMap();
17
17
  *
18
18
  * When `property` and `context` are provided, the decorator derives default
19
19
  * `USING` and `WITH CHECK` expressions that compare the mapped database column
20
- * against a PostgreSQL-deparsed `app.get_context(context::text, NULL::<column type>)`.
20
+ * against a transaction-local PostgreSQL setting read via `current_setting`.
21
21
  */
22
22
  function Policy(options) {
23
23
  const name = normalizeOption(options.name, "Policy name is required");
@@ -156,7 +156,7 @@ function createPolicyContextExpression(entityMetadata, propertyName, contextName
156
156
  const property = getPropertyMetadata(entityMetadata, propertyName);
157
157
  const columnName = getPropertyColumnName(entityMetadata, propertyName, property);
158
158
  const contextType = getPropertyContextType(entityMetadata, propertyName, property);
159
- return `(( SELECT app.get_context('${(0, escape_sql_literal_1.escapeSqlLiteral)(contextName)}'::text, NULL::${contextType}) AS get_context) = ${formatDeparsedIdentifier(columnName)})`;
159
+ return `((select current_setting('app.${(0, escape_sql_literal_1.escapeSqlLiteral)(contextName)}', true)::${contextType}) = ${formatDeparsedIdentifier(columnName)})`;
160
160
  }
161
161
  function formatDeparsedIdentifier(identifier) {
162
162
  (0, assert_identifier_1.assertIdentifier)(identifier);
@@ -1 +1 @@
1
- {"version":3,"file":"policy.decorator.js","sourceRoot":"","sources":["../../src/decorators/policy.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.decorator.js","sourceRoot":"","sources":["../../src/decorators/policy.decorator.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ describe("Policy decorator", () => {
17
17
  (0, policy_decorator_1.Policy)({
18
18
  name: "workspace_member_user_select_policy",
19
19
  command: policy_command_enum_1.PolicyCommand.SELECT,
20
- using: `((select app.get_context('user_id', null::bigint)) = "user_id")`,
20
+ using: `((select current_setting('app.user_id', true)::bigint) = "user_id")`,
21
21
  })
22
22
  ], WorkspaceMember);
23
23
  expect((0, policy_decorator_1.getPolicyMetadata)(WorkspaceMember)).toEqual([
@@ -25,7 +25,7 @@ describe("Policy decorator", () => {
25
25
  name: "workspace_member_user_select_policy",
26
26
  mode: policy_mode_enum_1.PolicyMode.PERMISSIVE,
27
27
  command: policy_command_enum_1.PolicyCommand.SELECT,
28
- using: `((select app.get_context('user_id', null::bigint)) = "user_id")`,
28
+ using: `((select current_setting('app.user_id', true)::bigint) = "user_id")`,
29
29
  roles: [],
30
30
  },
31
31
  ]);
@@ -37,13 +37,13 @@ describe("Policy decorator", () => {
37
37
  (0, policy_decorator_1.Policy)({
38
38
  name: "workspace_member_user_select_policy",
39
39
  command: policy_command_enum_1.PolicyCommand.SELECT,
40
- using: `((select app.get_context('user_id', null::bigint)) = "user_id")`,
40
+ using: `((select current_setting('app.user_id', true)::bigint) = "user_id")`,
41
41
  }),
42
42
  (0, policy_decorator_1.Policy)({
43
43
  name: "tenant_access_policy",
44
44
  command: policy_command_enum_1.PolicyCommand.ALL,
45
- using: `((select app.get_context('tenant_id', null::bigint)) = "workspace_id")`,
46
- withCheck: `((select app.get_context('tenant_id', null::bigint)) = "workspace_id")`,
45
+ using: `((select current_setting('app.tenant_id', true)::bigint) = "workspace_id")`,
46
+ withCheck: `((select current_setting('app.tenant_id', true)::bigint) = "workspace_id")`,
47
47
  })
48
48
  ], WorkspaceMember);
49
49
  expect((0, policy_decorator_1.getPolicyMetadata)(WorkspaceMember).map((policy) => policy.name)).toEqual(["tenant_access_policy", "workspace_member_user_select_policy"]);
@@ -55,7 +55,7 @@ describe("Policy decorator", () => {
55
55
  (0, policy_decorator_1.Policy)({
56
56
  name: "tenant_required_policy",
57
57
  mode: policy_mode_enum_1.PolicyMode.RESTRICTIVE,
58
- using: `((select app.get_context('tenant_id', null::bigint)) is not null)`,
58
+ using: `((select current_setting('app.tenant_id', true)::bigint) is not null)`,
59
59
  })
60
60
  ], WorkspaceMember);
61
61
  expect((0, policy_decorator_1.getPolicyMetadata)(WorkspaceMember)[0]).toMatchObject({
@@ -98,7 +98,7 @@ describe("Policy decorator", () => {
98
98
  name: "workspace_member_user_select_policy",
99
99
  mode: policy_mode_enum_1.PolicyMode.PERMISSIVE,
100
100
  command: policy_command_enum_1.PolicyCommand.SELECT,
101
- using: `(( SELECT app.get_context('user_id'::text, NULL::bigint) AS get_context) = user_id)`,
101
+ using: `((select current_setting('app.user_id', true)::bigint) = user_id)`,
102
102
  roles: [],
103
103
  },
104
104
  ]);
@@ -128,7 +128,7 @@ describe("Policy decorator", () => {
128
128
  name: "workspace_member_user_select_policy",
129
129
  mode: policy_mode_enum_1.PolicyMode.PERMISSIVE,
130
130
  command: policy_command_enum_1.PolicyCommand.SELECT,
131
- using: `(( SELECT app.get_context('user_id'::text, NULL::bigint) AS get_context) = user_id)`,
131
+ using: `((select current_setting('app.user_id', true)::bigint) = user_id)`,
132
132
  roles: [],
133
133
  },
134
134
  ]);
@@ -240,7 +240,7 @@ describe("Policy decorator", () => {
240
240
  name: "workspace_member_user_insert_policy",
241
241
  mode: policy_mode_enum_1.PolicyMode.PERMISSIVE,
242
242
  command: policy_command_enum_1.PolicyCommand.INSERT,
243
- withCheck: `(( SELECT app.get_context('user_id'::text, NULL::bigint) AS get_context) = user_id)`,
243
+ withCheck: `((select current_setting('app.user_id', true)::bigint) = user_id)`,
244
244
  roles: [],
245
245
  },
246
246
  ]);
@@ -266,8 +266,8 @@ describe("Policy decorator", () => {
266
266
  },
267
267
  })[0]).toMatchObject({
268
268
  name: "workspace_member_workspace_all_policy",
269
- using: `(( SELECT app.get_context('tenant_id'::text, NULL::integer) AS get_context) = workspace_id)`,
270
- withCheck: `(( SELECT app.get_context('tenant_id'::text, NULL::integer) AS get_context) = workspace_id)`,
269
+ using: `((select current_setting('app.tenant_id', true)::integer) = workspace_id)`,
270
+ withCheck: `((select current_setting('app.tenant_id', true)::integer) = workspace_id)`,
271
271
  });
272
272
  });
273
273
  it.each([
@@ -297,7 +297,7 @@ describe("Policy decorator", () => {
297
297
  },
298
298
  },
299
299
  })[0]).toMatchObject({
300
- using: `(( SELECT app.get_context('context_value'::text, NULL::${postgresType}) AS get_context) = context_value)`,
300
+ using: `((select current_setting('app.context_value', true)::${postgresType}) = context_value)`,
301
301
  });
302
302
  });
303
303
  it.each([
@@ -325,7 +325,7 @@ describe("Policy decorator", () => {
325
325
  },
326
326
  },
327
327
  })[0]).toMatchObject({
328
- using: `(( SELECT app.get_context('workspace_id'::text, NULL::${postgresType}) AS get_context) = workspace_id)`,
328
+ using: `((select current_setting('app.workspace_id', true)::${postgresType}) = workspace_id)`,
329
329
  });
330
330
  });
331
331
  it.each(["authorization", "between", "binary", "order"])("preserves quotes for PostgreSQL keyword column name %s", (fieldName) => {
@@ -349,7 +349,7 @@ describe("Policy decorator", () => {
349
349
  },
350
350
  },
351
351
  })[0]).toMatchObject({
352
- using: `(( SELECT app.get_context('order_id'::text, NULL::integer) AS get_context) = "${fieldName}")`,
352
+ using: `((select current_setting('app.order_id', true)::integer) = "${fieldName}")`,
353
353
  });
354
354
  });
355
355
  it("infers target primary key metadata from a primary property marker", () => {
@@ -380,13 +380,13 @@ describe("Policy decorator", () => {
380
380
  },
381
381
  },
382
382
  })[0]).toMatchObject({
383
- using: `(( SELECT app.get_context('user_id'::text, NULL::uuid) AS get_context) = user_id)`,
383
+ using: `((select current_setting('app.user_id', true)::uuid) = user_id)`,
384
384
  });
385
385
  });
386
386
  it("rejects an empty policy name when provided", () => {
387
387
  expect(() => (0, policy_decorator_1.Policy)({
388
388
  name: "",
389
- using: `((select app.get_context('tenant_id', null::bigint)) = "workspace_id")`,
389
+ using: `((select current_setting('app.tenant_id', true)::bigint) = "workspace_id")`,
390
390
  })).toThrow("Policy name is required");
391
391
  });
392
392
  it("rejects a select policy without using", () => {
@@ -405,8 +405,8 @@ describe("Policy decorator", () => {
405
405
  expect(() => (0, policy_decorator_1.Policy)({
406
406
  name: "tenant_access_policy",
407
407
  command: policy_command_enum_1.PolicyCommand.SELECT,
408
- using: `((select app.get_context('tenant_id', null::bigint)) = "workspace_id")`,
409
- withCheck: `((select app.get_context('tenant_id', null::bigint)) = "workspace_id")`,
408
+ using: `((select current_setting('app.tenant_id', true)::bigint) = "workspace_id")`,
409
+ withCheck: `((select current_setting('app.tenant_id', true)::bigint) = "workspace_id")`,
410
410
  })).toThrow("Policy withCheck is not allowed for select");
411
411
  });
412
412
  it.each([
@@ -1 +1 @@
1
- {"version":3,"file":"policy.decorator.spec.js","sourceRoot":"","sources":["../../src/decorators/policy.decorator.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.decorator.spec.js","sourceRoot":"","sources":["../../src/decorators/policy.decorator.spec.ts"],"names":[],"mappings":"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"}
@@ -52,8 +52,8 @@ describe("row level security package exports", () => {
52
52
  });
53
53
  it("exports utility helpers", () => {
54
54
  expect(rowLevelSecurityUtils.assertIdentifier("valid_identifier")).toBe("valid_identifier");
55
- expect(rowLevelSecurityUtils.createPolicyBootstrapSqlStatements()).toEqual(expect.arrayContaining(["create schema if not exists app;"]));
56
- expect(rowLevelSecurityUtils.createPolicyRoleUpSqlStatements()).toEqual(expect.arrayContaining(["grant anonymous to current_user;"]));
55
+ expect(rowLevelSecurityUtils.createPolicyBootstrapSqlStatements()).toEqual([]);
56
+ expect(rowLevelSecurityUtils.createPolicyRoleUpSqlStatements()).toEqual([]);
57
57
  });
58
58
  it("exports migration generator types", () => {
59
59
  const diff = { down: [], up: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAAsC;AACtC,+DAAiD;AAEjD,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClE,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1E,MAAM,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC,WAAW,EAAE,CAAC;QAClE,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1E,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,WAAW,EAAE,CAAC;QAChE,MAAM,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC,WAAW,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CACrE,kBAAkB,CACnB,CAAC;QACF,MAAM,CAAC,qBAAqB,CAAC,kCAAkC,EAAE,CAAC,CAAC,OAAO,CACxE,MAAM,CAAC,eAAe,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAC7D,CAAC;QACF,MAAM,CAAC,qBAAqB,CAAC,+BAA+B,EAAE,CAAC,CAAC,OAAO,CACrE,MAAM,CAAC,eAAe,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAC7D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,IAAI,GAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAAsC;AACtC,+DAAiD;AAEjD,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClE,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1E,MAAM,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC,WAAW,EAAE,CAAC;QAClE,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1E,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,WAAW,EAAE,CAAC;QAChE,MAAM,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC,WAAW,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CACrE,kBAAkB,CACnB,CAAC;QACF,MAAM,CAAC,qBAAqB,CAAC,kCAAkC,EAAE,CAAC,CAAC,OAAO,CACxE,EAAE,CACH,CAAC;QACF,MAAM,CAAC,qBAAqB,CAAC,+BAA+B,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,IAAI,GAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -10,7 +10,7 @@ export interface PolicyOptions {
10
10
  command?: PolicyCommand;
11
11
  /** Entity property used to generate the default policy predicate. */
12
12
  property?: string;
13
- /** Row-level security context key read through `app.get_context`. */
13
+ /** Row-level security context key read from the `app.<key>` transaction setting. */
14
14
  context?: string;
15
15
  /** Explicit `USING` expression. Overrides the generated predicate when provided. Raw expressions are parenthesized in generated SQL. */
16
16
  using?: string;
@@ -40,6 +40,7 @@ export interface DatabaseConnectionLike {
40
40
  }
41
41
  export interface RowLevelSecurityMigrationGeneratorDriverLike {
42
42
  config?: {
43
+ get?: (key: string) => unknown;
43
44
  getMetadata?: () => MetadataStorageLike;
44
45
  };
45
46
  getConnection?: () => DatabaseConnectionLike;
@@ -47,6 +48,8 @@ export interface RowLevelSecurityMigrationGeneratorDriverLike {
47
48
  }
48
49
  export interface RowLevelSecurityDefinition extends PolicySqlOptions {
49
50
  entityName: string;
51
+ /** Database policy names treated as equivalent when diffing existing policies. */
52
+ policyNameAliases?: string[];
50
53
  bootstrapSql?: string[];
51
54
  }
52
55
  export interface TableReference {
@@ -130,7 +130,7 @@ function createClearContextSql(contextKeys) {
130
130
  return "";
131
131
  }
132
132
  return `SELECT ${contextKeys
133
- .map((key) => `set_config('app.${key}', '', true)`)
133
+ .map((key) => `set_config('app.${key}', null, true)`)
134
134
  .join(",")};`;
135
135
  }
136
136
  //# sourceMappingURL=row-level-security-driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"row-level-security-driver.js","sourceRoot":"","sources":["../src/row-level-security-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"row-level-security-driver.js","sourceRoot":"","sources":["../src/row-level-security-driver.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ describe("RowLevelSecurityDriver", () => {
56
56
  row_level_security_1.RowLevelSecurity.setMode(row_level_security_1.RowLevelSecurityMode.DISABLED);
57
57
  await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select disabled", [], "all", transaction);
58
58
  });
59
- expect(executeSpy).toHaveBeenNthCalledWith(3, "SET LOCAL ROLE NONE;\nSELECT set_config('app.tenant_id', '', true),set_config('app.request_id', '', true);", [], "run", transaction, undefined);
59
+ expect(executeSpy).toHaveBeenNthCalledWith(3, "SET LOCAL ROLE NONE;\nSELECT set_config('app.tenant_id', null, true),set_config('app.request_id', null, true);", [], "run", transaction, undefined);
60
60
  expect(executeSpy).toHaveBeenNthCalledWith(4, "select disabled", [], "all", transaction, undefined);
61
61
  });
62
62
  it("clears transaction-local row level security before a query without RequestContext", async () => {
@@ -68,7 +68,7 @@ describe("RowLevelSecurityDriver", () => {
68
68
  await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select scoped", [], "all", transaction);
69
69
  });
70
70
  await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), "select unscoped", [], "all", transaction);
71
- expect(executeSpy).toHaveBeenNthCalledWith(3, "SET LOCAL ROLE NONE;\nSELECT set_config('app.tenant_id', '', true);", [], "run", transaction, undefined);
71
+ expect(executeSpy).toHaveBeenNthCalledWith(3, "SET LOCAL ROLE NONE;\nSELECT set_config('app.tenant_id', null, true);", [], "run", transaction, undefined);
72
72
  expect(executeSpy).toHaveBeenNthCalledWith(4, "select unscoped", [], "all", transaction, undefined);
73
73
  });
74
74
  it("applies anonymous row level security when mode is enabled without context values", async () => {
@@ -152,7 +152,7 @@ describe("RowLevelSecurityDriver", () => {
152
152
  await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), scopedQueryBuilder, [], "all");
153
153
  });
154
154
  await row_level_security_driver_1.RowLevelSecurityConnection.prototype.execute.call(createConnection(), unscopedQueryBuilder, [], "all");
155
- expect(executeSpy).toHaveBeenNthCalledWith(3, "SET LOCAL ROLE NONE;\nSELECT set_config('app.tenant_id', '', true);", [], "run", unscopedQueryBuilder, undefined);
155
+ expect(executeSpy).toHaveBeenNthCalledWith(3, "SET LOCAL ROLE NONE;\nSELECT set_config('app.tenant_id', null, true);", [], "run", unscopedQueryBuilder, undefined);
156
156
  });
157
157
  it("opens a short transaction for a Knex query builder without a transaction", async () => {
158
158
  const queryBuilder = {
@@ -209,7 +209,7 @@ describe("RowLevelSecurityDriver", () => {
209
209
  .filter((query) => typeof query === "string" && query.startsWith("SET LOCAL"));
210
210
  expect(setupQueries).toEqual([
211
211
  "SET LOCAL ROLE authenticated;\nSELECT set_config('app.tenant_id', '1', true),set_config('app.request_id', 'abc', true);",
212
- "SET LOCAL ROLE authenticated;\nSELECT set_config('app.tenant_id', '2', true);\nSELECT set_config('app.request_id', '', true);",
212
+ "SET LOCAL ROLE authenticated;\nSELECT set_config('app.tenant_id', '2', true);\nSELECT set_config('app.request_id', null, true);",
213
213
  ]);
214
214
  });
215
215
  it("serializes setup and query execution on the same transaction", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"row-level-security-driver.spec.js","sourceRoot":"","sources":["../src/row-level-security-driver.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"row-level-security-driver.spec.js","sourceRoot":"","sources":["../src/row-level-security-driver.spec.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export declare class RowLevelSecurityMigrationGenerator extends TSMigrationGener
13
13
  private getPolicyDefinitionChanges;
14
14
  private getRelevantPolicyDefinitions;
15
15
  private getPolicyDefinitions;
16
+ private getHashAlgorithm;
16
17
  private getEntityMetadata;
17
18
  private getExistingPolicyDefinitionsFromDatabase;
18
19
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RowLevelSecurityMigrationGenerator = void 0;
4
+ const node_crypto_1 = require("node:crypto");
4
5
  const migrations_1 = require("@mikro-orm/migrations");
5
6
  const policy_decorator_1 = require("./decorators/policy.decorator");
6
7
  const policy_command_enum_1 = require("./enums/policy-command.enum");
@@ -12,6 +13,8 @@ const create_policy_role_sql_statements_1 = require("./utils/create-policy-role-
12
13
  const create_policy_up_sql_statements_1 = require("./utils/create-policy-up-sql-statements");
13
14
  const is_postgres_keyword_requiring_quote_1 = require("./utils/is-postgres-keyword-requiring-quote");
14
15
  const normalize_postgres_type_alias_1 = require("./utils/normalize-postgres-type-alias");
16
+ const POSTGRES_IDENTIFIER_MAX_LENGTH = 63;
17
+ const POLICY_IDENTIFIER_TYPE = "policy";
15
18
  /** MikroORM TypeScript migration generator that injects generated RLS SQL. */
16
19
  class RowLevelSecurityMigrationGenerator extends migrations_1.TSMigrationGenerator {
17
20
  async generate(diff, path, name) {
@@ -105,6 +108,7 @@ class RowLevelSecurityMigrationGenerator extends migrations_1.TSMigrationGenerat
105
108
  return policyDefinitions.filter((definition) => isPolicyDefinitionIntroduced(definition, diff.up));
106
109
  }
107
110
  getPolicyDefinitions(metadata = this.getEntityMetadata()) {
111
+ const hashAlgorithm = this.getHashAlgorithm();
108
112
  return sortPolicyDefinitions(metadata.flatMap((entityMetadata) => {
109
113
  if (!entityMetadata.class) {
110
114
  return [];
@@ -118,20 +122,30 @@ class RowLevelSecurityMigrationGenerator extends migrations_1.TSMigrationGenerat
118
122
  tableName,
119
123
  properties: entityMetadata.properties,
120
124
  };
121
- return (0, policy_decorator_1.getPolicyDefinitions)(entityMetadata.class, policyEntityMetadata).map((policy) => ({
122
- entityName,
123
- schemaName,
124
- tableName,
125
- policyName: policy.name,
126
- mode: policy.mode,
127
- command: policy.command,
128
- using: policy.using,
129
- withCheck: policy.withCheck,
130
- roles: policy.roles,
131
- bootstrapSql: policy.bootstrapSql,
132
- }));
125
+ return (0, policy_decorator_1.getPolicyDefinitions)(entityMetadata.class, policyEntityMetadata).map((policy) => {
126
+ const policyName = normalizePostgresPolicyName(policy.name, hashAlgorithm);
127
+ return {
128
+ entityName,
129
+ schemaName,
130
+ tableName,
131
+ policyName,
132
+ policyNameAliases: createPolicyNameAliases(policy.name, policyName),
133
+ mode: policy.mode,
134
+ command: policy.command,
135
+ using: policy.using,
136
+ withCheck: policy.withCheck,
137
+ roles: policy.roles,
138
+ bootstrapSql: policy.bootstrapSql,
139
+ };
140
+ });
133
141
  }));
134
142
  }
143
+ getHashAlgorithm() {
144
+ const driver = this
145
+ .driver;
146
+ const hashAlgorithm = driver.config?.get?.("hashAlgorithm");
147
+ return hashAlgorithm === "md5" ? "md5" : "sha256";
148
+ }
135
149
  getEntityMetadata() {
136
150
  const driver = this
137
151
  .driver;
@@ -229,10 +243,21 @@ function isPolicyDefinitionIntroduced(definition, upSql) {
229
243
  return upSql.some((sql) => isCreateTableStatement(sql, definition));
230
244
  }
231
245
  function hasPolicyDefinitionWithSameContent(definitions, definition) {
232
- return definitions.some((candidate) => getPolicyDefinitionKey(candidate) ===
233
- getPolicyDefinitionKey(definition) &&
246
+ return definitions.some((candidate) => hasSamePolicyDefinitionIdentity(candidate, definition) &&
234
247
  hasSamePolicyDefinitionContent(candidate, definition));
235
248
  }
249
+ function hasSamePolicyDefinitionIdentity(left, right) {
250
+ return (left.schemaName === right.schemaName &&
251
+ left.tableName === right.tableName &&
252
+ hasOverlappingPolicyNames(left, right));
253
+ }
254
+ function hasOverlappingPolicyNames(left, right) {
255
+ const leftNames = new Set(getPolicyNameAliases(left));
256
+ return getPolicyNameAliases(right).some((name) => leftNames.has(name));
257
+ }
258
+ function getPolicyNameAliases(definition) {
259
+ return definition.policyNameAliases ?? [definition.policyName];
260
+ }
236
261
  function hasSamePolicyDefinitionContent(left, right) {
237
262
  return (normalizePolicyMode(left.mode) === normalizePolicyMode(right.mode) &&
238
263
  normalizePolicyCommand(left.command) ===
@@ -259,7 +284,10 @@ function normalizePolicyExpression(expression) {
259
284
  }
260
285
  function normalizePostgresExpression(expression) {
261
286
  const normalized = stripSelectProjectionAliases(mapSqlOutsideQuotedTokens(expression.replace(/'((?:''|[^'])*)'::text\b/gi, "'$1'"), normalizePostgresExpressionSegment).trim());
262
- return stripRedundantJsonOperandParentheses(stripRedundantOuterParentheses(normalized));
287
+ return stripRedundantJsonOperandParentheses(stripRedundantOuterParentheses(stripRedundantCurrentSettingCastParentheses(normalized)));
288
+ }
289
+ function stripRedundantCurrentSettingCastParentheses(expression) {
290
+ return expression.replace(/\((current_setting\('(?:''|[^'])*', true\))\)::/gi, "$1::");
263
291
  }
264
292
  function normalizePostgresExpressionSegment(segment) {
265
293
  return normalizeSqlOperatorSpacing(normalizeNullTypeCasts(segment
@@ -602,6 +630,29 @@ function getPolicyDefinitionKey(definition) {
602
630
  definition.policyName,
603
631
  ].join(".");
604
632
  }
633
+ function normalizePostgresPolicyName(policyName, hashAlgorithm) {
634
+ if (policyName.length <= POSTGRES_IDENTIFIER_MAX_LENGTH) {
635
+ return policyName;
636
+ }
637
+ return [
638
+ policyName.substring(0, 55 - POLICY_IDENTIFIER_TYPE.length),
639
+ hashValue(policyName, 5, hashAlgorithm),
640
+ POLICY_IDENTIFIER_TYPE,
641
+ ].join("_");
642
+ }
643
+ function createPolicyNameAliases(policyName, normalizedName) {
644
+ const aliases = new Set([normalizedName]);
645
+ if (policyName.length > POSTGRES_IDENTIFIER_MAX_LENGTH) {
646
+ aliases.add(policyName.substring(0, POSTGRES_IDENTIFIER_MAX_LENGTH));
647
+ }
648
+ return [...aliases];
649
+ }
650
+ function hashValue(value, length, hashAlgorithm) {
651
+ return (0, node_crypto_1.createHash)(hashAlgorithm)
652
+ .update(value)
653
+ .digest("hex")
654
+ .substring(0, length);
655
+ }
605
656
  function createPolicyDefinitionFromPolicyRow(row) {
606
657
  return {
607
658
  entityName: `${row.schema_name}.${row.table_name}`,