@nest-boot/row-level-security 7.3.1 → 8.0.0-beta.0

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 (103) hide show
  1. package/dist/decorators/policy.decorator.d.ts +4 -4
  2. package/dist/decorators/policy.decorator.js +25 -31
  3. package/dist/decorators/policy.decorator.js.map +1 -1
  4. package/dist/enums/policy-command.enum.js +2 -5
  5. package/dist/enums/policy-command.enum.js.map +1 -1
  6. package/dist/enums/policy-mode.enum.js +2 -5
  7. package/dist/enums/policy-mode.enum.js.map +1 -1
  8. package/dist/enums/row-level-security-role.enum.js +2 -5
  9. package/dist/enums/row-level-security-role.enum.js.map +1 -1
  10. package/dist/index.d.ts +11 -11
  11. package/dist/index.js +11 -27
  12. package/dist/index.js.map +1 -1
  13. package/dist/interfaces/index.d.ts +4 -4
  14. package/dist/interfaces/index.js +3 -19
  15. package/dist/interfaces/index.js.map +1 -1
  16. package/dist/interfaces/policy-metadata.interface.d.ts +2 -2
  17. package/dist/interfaces/policy-metadata.interface.js +1 -2
  18. package/dist/interfaces/policy-options.interface.d.ts +2 -2
  19. package/dist/interfaces/policy-options.interface.js +1 -2
  20. package/dist/interfaces/policy-sql-options.interface.d.ts +2 -2
  21. package/dist/interfaces/policy-sql-options.interface.js +1 -2
  22. package/dist/interfaces/row-level-security-migration-generator.interface.d.ts +1 -1
  23. package/dist/interfaces/row-level-security-migration-generator.interface.js +1 -2
  24. package/dist/row-level-security-driver.d.ts +4 -3
  25. package/dist/row-level-security-driver.js +8 -19
  26. package/dist/row-level-security-driver.js.map +1 -1
  27. package/dist/row-level-security-migration-generator.d.ts +1 -1
  28. package/dist/row-level-security-migration-generator.js +40 -41
  29. package/dist/row-level-security-migration-generator.js.map +1 -1
  30. package/dist/row-level-security-migration.d.ts +1 -1
  31. package/dist/row-level-security-migration.js +9 -13
  32. package/dist/row-level-security-migration.js.map +1 -1
  33. package/dist/row-level-security-migrator.d.ts +2 -2
  34. package/dist/row-level-security-migrator.js +9 -13
  35. package/dist/row-level-security-migrator.js.map +1 -1
  36. package/dist/row-level-security.d.ts +1 -1
  37. package/dist/row-level-security.js +19 -23
  38. package/dist/row-level-security.js.map +1 -1
  39. package/dist/utils/assert-identifier.js +1 -4
  40. package/dist/utils/assert-identifier.js.map +1 -1
  41. package/dist/utils/assert-snake-case.js +1 -4
  42. package/dist/utils/assert-snake-case.js.map +1 -1
  43. package/dist/utils/create-policy-bootstrap-sql-statements.js +1 -4
  44. package/dist/utils/create-policy-bootstrap-sql-statements.js.map +1 -1
  45. package/dist/utils/create-policy-down-sql.d.ts +1 -1
  46. package/dist/utils/create-policy-down-sql.js +5 -8
  47. package/dist/utils/create-policy-down-sql.js.map +1 -1
  48. package/dist/utils/create-policy-privilege-down-sql-statements.d.ts +1 -1
  49. package/dist/utils/create-policy-privilege-down-sql-statements.js +19 -22
  50. package/dist/utils/create-policy-privilege-down-sql-statements.js.map +1 -1
  51. package/dist/utils/create-policy-role-sql-statements.js +8 -13
  52. package/dist/utils/create-policy-role-sql-statements.js.map +1 -1
  53. package/dist/utils/create-policy-up-sql-statements.d.ts +1 -1
  54. package/dist/utils/create-policy-up-sql-statements.js +26 -29
  55. package/dist/utils/create-policy-up-sql-statements.js.map +1 -1
  56. package/dist/utils/create-row-level-security-transaction-setup.js +15 -18
  57. package/dist/utils/create-row-level-security-transaction-setup.js.map +1 -1
  58. package/dist/utils/escape-sql-literal.js +1 -4
  59. package/dist/utils/escape-sql-literal.js.map +1 -1
  60. package/dist/utils/index.d.ts +12 -12
  61. package/dist/utils/index.js +11 -27
  62. package/dist/utils/index.js.map +1 -1
  63. package/dist/utils/is-postgres-keyword-requiring-quote.js +1 -4
  64. package/dist/utils/is-postgres-keyword-requiring-quote.js.map +1 -1
  65. package/dist/utils/normalize-postgres-type-alias.util.js +1 -4
  66. package/dist/utils/normalize-postgres-type-alias.util.js.map +1 -1
  67. package/dist/utils/quote-identifier.js +3 -6
  68. package/dist/utils/quote-identifier.js.map +1 -1
  69. package/dist/utils/quote-qualified-identifier.js +3 -6
  70. package/dist/utils/quote-qualified-identifier.js.map +1 -1
  71. package/dist/utils/row-level-security-context-builder.d.ts +1 -1
  72. package/dist/utils/row-level-security-context-builder.js +7 -13
  73. package/dist/utils/row-level-security-context-builder.js.map +1 -1
  74. package/dist/utils/row-level-security-context-builder.types.js +1 -2
  75. package/package.json +31 -31
  76. package/dist/decorators/policy.decorator.spec.d.ts +0 -1
  77. package/dist/decorators/policy.decorator.spec.js +0 -550
  78. package/dist/decorators/policy.decorator.spec.js.map +0 -1
  79. package/dist/index.spec.d.ts +0 -1
  80. package/dist/index.spec.js +0 -64
  81. package/dist/index.spec.js.map +0 -1
  82. package/dist/row-level-security-driver.spec.d.ts +0 -1
  83. package/dist/row-level-security-driver.spec.js +0 -267
  84. package/dist/row-level-security-driver.spec.js.map +0 -1
  85. package/dist/row-level-security-migration-generator.spec.d.ts +0 -1
  86. package/dist/row-level-security-migration-generator.spec.js +0 -1135
  87. package/dist/row-level-security-migration-generator.spec.js.map +0 -1
  88. package/dist/row-level-security-migration.spec.d.ts +0 -1
  89. package/dist/row-level-security-migration.spec.js +0 -32
  90. package/dist/row-level-security-migration.spec.js.map +0 -1
  91. package/dist/row-level-security.spec.d.ts +0 -1
  92. package/dist/row-level-security.spec.js +0 -52
  93. package/dist/row-level-security.spec.js.map +0 -1
  94. package/dist/tsconfig.build.tsbuildinfo +0 -1
  95. package/dist/utils/normalize-postgres-type-alias.spec.d.ts +0 -1
  96. package/dist/utils/normalize-postgres-type-alias.spec.js +0 -28
  97. package/dist/utils/normalize-postgres-type-alias.spec.js.map +0 -1
  98. package/dist/utils/policy-migration-sql.spec.d.ts +0 -1
  99. package/dist/utils/policy-migration-sql.spec.js +0 -273
  100. package/dist/utils/policy-migration-sql.spec.js.map +0 -1
  101. package/dist/utils/row-level-security-context-builder.spec.d.ts +0 -1
  102. package/dist/utils/row-level-security-context-builder.spec.js +0 -40
  103. package/dist/utils/row-level-security-context-builder.spec.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"create-policy-down-sql.js","sourceRoot":"","sources":["../../src/utils/create-policy-down-sql.ts"],"names":[],"mappings":";;AAKA,kDA0BC;AA9BD,2DAAuD;AACvD,6EAAwE;AAExE,2FAA2F;AAC3F,SAAgB,mBAAmB,CAAC,OAAyB;IAC3D,MAAM,eAAe,GAAG,IAAA,qDAAwB,EAC9C,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,SAAS,CAClB,CAAC;IACF,MAAM,UAAU,GAAG,IAAA,oCAAgB,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAExD,OAAO,SAAS,CAAC;;;;;oBAKC,eAAe;qCACE,UAAU,OAAO,eAAe;;;;0BAI3C,OAAO,CAAC,UAAU,sBAAsB,OAAO,CAAC,SAAS;;;6BAGtD,eAAe;;;;;CAK3C,CAAC,IAAI,EAAE,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"create-policy-down-sql.js","sourceRoot":"","sources":["../../src/utils/create-policy-down-sql.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,2FAA2F;AAC3F,MAAM,UAAU,mBAAmB,CAAC,OAAyB;IAC3D,MAAM,eAAe,GAAG,wBAAwB,CAC9C,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,SAAS,CAClB,CAAC;IACF,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAExD,OAAO,SAAS,CAAC;;;;;oBAKC,eAAe;qCACE,UAAU,OAAO,eAAe;;;;0BAI3C,OAAO,CAAC,UAAU,sBAAsB,OAAO,CAAC,SAAS;;;6BAGtD,eAAe;;;;;CAK3C,CAAC,IAAI,EAAE,CAAC;AACT,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { PolicySqlOptions } from "../interfaces/policy-sql-options.interface";
1
+ import type { PolicySqlOptions } from "../interfaces/policy-sql-options.interface.js";
2
2
  /**
3
3
  * Creates SQL that revokes table and sequence privileges emitted for a policy.
4
4
  *
@@ -1,23 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPolicyPrivilegeDownSqlStatements = createPolicyPrivilegeDownSqlStatements;
4
- const policy_command_enum_1 = require("../enums/policy-command.enum");
5
- const assert_identifier_1 = require("./assert-identifier");
6
- const escape_sql_literal_1 = require("./escape-sql-literal");
7
- const quote_qualified_identifier_1 = require("./quote-qualified-identifier");
1
+ import { PolicyCommand } from "../enums/policy-command.enum.js";
2
+ import { assertIdentifier } from "./assert-identifier.js";
3
+ import { escapeSqlLiteral } from "./escape-sql-literal.js";
4
+ import { quoteQualifiedIdentifier } from "./quote-qualified-identifier.js";
8
5
  /**
9
6
  * Creates SQL that revokes table and sequence privileges emitted for a policy.
10
7
  *
11
8
  * Preserved policies keep overlapping privileges for the same schema, table,
12
9
  * and role from being revoked during rollback.
13
10
  */
14
- function createPolicyPrivilegeDownSqlStatements(options, preservedPolicies = []) {
11
+ export function createPolicyPrivilegeDownSqlStatements(options, preservedPolicies = []) {
15
12
  const roles = getPolicySqlRoleNames(options.roles);
16
13
  if (roles.length === 0) {
17
14
  return [];
18
15
  }
19
- const tableIdentifier = (0, quote_qualified_identifier_1.quoteQualifiedIdentifier)(options.schemaName, options.tableName);
20
- const command = options.command ?? policy_command_enum_1.PolicyCommand.ALL;
16
+ const tableIdentifier = quoteQualifiedIdentifier(options.schemaName, options.tableName);
17
+ const command = options.command ?? PolicyCommand.ALL;
21
18
  const statements = createTablePrivilegeRevokeSqlStatements(options, tableIdentifier, roles, preservedPolicies);
22
19
  if (requiresSequencePrivileges(command)) {
23
20
  const sequenceRevokeRoles = roles.filter((role) => !hasPreservedSequencePrivileges(options, role, preservedPolicies));
@@ -28,7 +25,7 @@ function createPolicyPrivilegeDownSqlStatements(options, preservedPolicies = [])
28
25
  return statements;
29
26
  }
30
27
  function createTablePrivilegeRevokeSqlStatements(options, tableIdentifier, roles, preservedPolicies) {
31
- const command = options.command ?? policy_command_enum_1.PolicyCommand.ALL;
28
+ const command = options.command ?? PolicyCommand.ALL;
32
29
  const privileges = getTablePrivileges(command);
33
30
  const rolesByPrivileges = new Map();
34
31
  for (const role of roles) {
@@ -45,49 +42,49 @@ function createTablePrivilegeRevokeSqlStatements(options, tableIdentifier, roles
45
42
  return [...rolesByPrivileges].map(([privilegeSql, groupedRoles]) => `revoke ${privilegeSql} on table ${tableIdentifier} from ${groupedRoles.join(", ")};`);
46
43
  }
47
44
  function getTablePrivileges(command) {
48
- if (command === policy_command_enum_1.PolicyCommand.SELECT) {
45
+ if (command === PolicyCommand.SELECT) {
49
46
  return ["select"];
50
47
  }
51
- if (command === policy_command_enum_1.PolicyCommand.INSERT) {
48
+ if (command === PolicyCommand.INSERT) {
52
49
  return ["insert"];
53
50
  }
54
- if (command === policy_command_enum_1.PolicyCommand.UPDATE) {
51
+ if (command === PolicyCommand.UPDATE) {
55
52
  return ["select", "update"];
56
53
  }
57
- if (command === policy_command_enum_1.PolicyCommand.DELETE) {
54
+ if (command === PolicyCommand.DELETE) {
58
55
  return ["select", "delete"];
59
56
  }
60
57
  return ["select", "insert", "update", "delete"];
61
58
  }
62
59
  function requiresSequencePrivileges(command) {
63
- return command === policy_command_enum_1.PolicyCommand.INSERT || command === policy_command_enum_1.PolicyCommand.ALL;
60
+ return command === PolicyCommand.INSERT || command === PolicyCommand.ALL;
64
61
  }
65
62
  function getPreservedTablePrivileges(options, role, preservedPolicies) {
66
63
  const privileges = new Set();
67
64
  for (const preservedPolicy of getPreservedPoliciesForRole(options, role, preservedPolicies)) {
68
- for (const privilege of getTablePrivileges(preservedPolicy.command ?? policy_command_enum_1.PolicyCommand.ALL)) {
65
+ for (const privilege of getTablePrivileges(preservedPolicy.command ?? PolicyCommand.ALL)) {
69
66
  privileges.add(privilege);
70
67
  }
71
68
  }
72
69
  return privileges;
73
70
  }
74
71
  function hasPreservedSequencePrivileges(options, role, preservedPolicies) {
75
- return getPreservedPoliciesForRole(options, role, preservedPolicies).some((preservedPolicy) => requiresSequencePrivileges(preservedPolicy.command ?? policy_command_enum_1.PolicyCommand.ALL));
72
+ return getPreservedPoliciesForRole(options, role, preservedPolicies).some((preservedPolicy) => requiresSequencePrivileges(preservedPolicy.command ?? PolicyCommand.ALL));
76
73
  }
77
74
  function getPreservedPoliciesForRole(options, role, preservedPolicies) {
78
75
  return preservedPolicies.filter((preservedPolicy) => isSamePolicyTarget(options, preservedPolicy) &&
79
76
  getPolicySqlRoleNames(preservedPolicy.roles).includes(role));
80
77
  }
81
78
  function getPolicySqlRoleNames(roles) {
82
- return [...new Set((roles ?? []).map((role) => (0, assert_identifier_1.assertIdentifier)(role)))];
79
+ return [...new Set((roles ?? []).map((role) => assertIdentifier(role)))];
83
80
  }
84
81
  function isSamePolicyTarget(left, right) {
85
82
  return (left.schemaName === right.schemaName && left.tableName === right.tableName);
86
83
  }
87
84
  function createSequenceRevokeSql(options, tableIdentifier, roleSql) {
88
- const tableLiteral = (0, escape_sql_literal_1.escapeSqlLiteral)(tableIdentifier);
89
- const schemaName = (0, escape_sql_literal_1.escapeSqlLiteral)(options.schemaName);
90
- const tableName = (0, escape_sql_literal_1.escapeSqlLiteral)(options.tableName);
85
+ const tableLiteral = escapeSqlLiteral(tableIdentifier);
86
+ const schemaName = escapeSqlLiteral(options.schemaName);
87
+ const tableName = escapeSqlLiteral(options.tableName);
91
88
  return /* SQL */ `do $$ declare sequence_identifier text; begin for sequence_identifier in select pg_get_serial_sequence('${tableLiteral}', columns.column_name) from information_schema.columns where columns.table_schema = '${schemaName}' and columns.table_name = '${tableName}' and pg_get_serial_sequence('${tableLiteral}', columns.column_name) is not null loop execute format('revoke usage, select on sequence %s from ${roleSql}', sequence_identifier); end loop; end $$;`;
92
89
  }
93
90
  //# sourceMappingURL=create-policy-privilege-down-sql-statements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-policy-privilege-down-sql-statements.js","sourceRoot":"","sources":["../../src/utils/create-policy-privilege-down-sql-statements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-policy-privilege-down-sql-statements.js","sourceRoot":"","sources":["../../src/utils/create-policy-privilege-down-sql-statements.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPolicyRoleUpSqlStatements = createPolicyRoleUpSqlStatements;
4
- exports.createPolicyRoleDownSqlStatements = createPolicyRoleDownSqlStatements;
5
- exports.getPolicyRoleNames = getPolicyRoleNames;
6
- const row_level_security_role_enum_1 = require("../enums/row-level-security-role.enum");
7
- const assert_identifier_1 = require("./assert-identifier");
1
+ import { RowLevelSecurityRole } from "../enums/row-level-security-role.enum.js";
2
+ import { assertIdentifier } from "./assert-identifier.js";
8
3
  /** Creates SQL for pre-created RLS roles. Roles are managed outside migrations. */
9
- function createPolicyRoleUpSqlStatements(roles = []) {
4
+ export function createPolicyRoleUpSqlStatements(roles = []) {
10
5
  getPolicyRoleNames(roles);
11
6
  return [];
12
7
  }
13
8
  /** Creates SQL for rolling back role bootstrap. Roles are managed outside migrations. */
14
- function createPolicyRoleDownSqlStatements(roles = []) {
9
+ export function createPolicyRoleDownSqlStatements(roles = []) {
15
10
  [...getExplicitPolicyRoleNames(roles)].sort();
16
11
  return [];
17
12
  }
18
13
  /** Returns unique policy roles, always including the anonymous fallback role. */
19
- function getPolicyRoleNames(roles = []) {
14
+ export function getPolicyRoleNames(roles = []) {
20
15
  const roleNames = getExplicitPolicyRoleNames(roles);
21
- roleNames.delete(row_level_security_role_enum_1.RowLevelSecurityRole.ANONYMOUS);
22
- return [row_level_security_role_enum_1.RowLevelSecurityRole.ANONYMOUS, ...[...roleNames].sort()];
16
+ roleNames.delete(RowLevelSecurityRole.ANONYMOUS);
17
+ return [RowLevelSecurityRole.ANONYMOUS, ...[...roleNames].sort()];
23
18
  }
24
19
  /** Returns unique explicit policy roles without adding fallback roles. */
25
20
  function getExplicitPolicyRoleNames(roles) {
@@ -28,7 +23,7 @@ function getExplicitPolicyRoleNames(roles) {
28
23
  if (role.toLowerCase() === "public") {
29
24
  continue;
30
25
  }
31
- roleNames.add((0, assert_identifier_1.assertIdentifier)(role));
26
+ roleNames.add(assertIdentifier(role));
32
27
  }
33
28
  return roleNames;
34
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-policy-role-sql-statements.js","sourceRoot":"","sources":["../../src/utils/create-policy-role-sql-statements.ts"],"names":[],"mappings":";;AAIA,0EAIC;AAGD,8EAMC;AAGD,gDAMC;AA1BD,wFAA6E;AAC7E,2DAAuD;AAEvD,mFAAmF;AACnF,SAAgB,+BAA+B,CAAC,QAA0B,EAAE;IAC1E,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE1B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,yFAAyF;AACzF,SAAgB,iCAAiC,CAC/C,QAA0B,EAAE;IAE5B,CAAC,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,iFAAiF;AACjF,SAAgB,kBAAkB,CAAC,QAA0B,EAAE;IAC7D,MAAM,SAAS,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,MAAM,CAAC,mDAAoB,CAAC,SAAS,CAAC,CAAC;IAEjD,OAAO,CAAC,mDAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,0EAA0E;AAC1E,SAAS,0BAA0B,CAAC,KAAuB;IACzD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAED,SAAS,CAAC,GAAG,CAAC,IAAA,oCAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"create-policy-role-sql-statements.js","sourceRoot":"","sources":["../../src/utils/create-policy-role-sql-statements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,mFAAmF;AACnF,MAAM,UAAU,+BAA+B,CAAC,QAA0B,EAAE;IAC1E,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE1B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,iCAAiC,CAC/C,QAA0B,EAAE;IAE5B,CAAC,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,kBAAkB,CAAC,QAA0B,EAAE;IAC7D,MAAM,SAAS,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEjD,OAAO,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,0EAA0E;AAC1E,SAAS,0BAA0B,CAAC,KAAuB;IACzD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAED,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { PolicySqlOptions } from "../interfaces/policy-sql-options.interface";
1
+ import type { PolicySqlOptions } from "../interfaces/policy-sql-options.interface.js";
2
2
  /** Creates SQL statements that enable RLS and recreate a PostgreSQL policy. */
3
3
  export declare function createPolicyUpSqlStatements(options: PolicySqlOptions): string[];
@@ -1,19 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPolicyUpSqlStatements = createPolicyUpSqlStatements;
4
- const policy_command_enum_1 = require("../enums/policy-command.enum");
5
- const policy_mode_enum_1 = require("../enums/policy-mode.enum");
6
- const assert_identifier_1 = require("./assert-identifier");
7
- const escape_sql_literal_1 = require("./escape-sql-literal");
8
- const quote_qualified_identifier_1 = require("./quote-qualified-identifier");
1
+ import { PolicyCommand } from "../enums/policy-command.enum.js";
2
+ import { PolicyMode } from "../enums/policy-mode.enum.js";
3
+ import { assertIdentifier } from "./assert-identifier.js";
4
+ import { escapeSqlLiteral } from "./escape-sql-literal.js";
5
+ import { quoteQualifiedIdentifier } from "./quote-qualified-identifier.js";
9
6
  /** Creates SQL statements that enable RLS and recreate a PostgreSQL policy. */
10
- function createPolicyUpSqlStatements(options) {
11
- const tableIdentifier = (0, quote_qualified_identifier_1.quoteQualifiedIdentifier)(options.schemaName, options.tableName);
12
- const policyName = (0, assert_identifier_1.assertIdentifier)(options.policyName);
13
- const mode = options.mode ?? policy_mode_enum_1.PolicyMode.PERMISSIVE;
14
- const command = options.command ?? policy_command_enum_1.PolicyCommand.ALL;
7
+ export function createPolicyUpSqlStatements(options) {
8
+ const tableIdentifier = quoteQualifiedIdentifier(options.schemaName, options.tableName);
9
+ const policyName = assertIdentifier(options.policyName);
10
+ const mode = options.mode ?? PolicyMode.PERMISSIVE;
11
+ const command = options.command ?? PolicyCommand.ALL;
15
12
  const roles = options.roles ?? [];
16
- const roleSql = roles.map((role) => (0, assert_identifier_1.assertIdentifier)(role)).join(", ");
13
+ const roleSql = roles.map((role) => assertIdentifier(role)).join(", ");
17
14
  const predicates = getPolicyPredicates(options);
18
15
  return [
19
16
  `alter table ${tableIdentifier} enable row level security;`,
@@ -26,7 +23,7 @@ function createPrivilegeGrantSqlStatements(options, tableIdentifier, roleSql) {
26
23
  if (!roleSql) {
27
24
  return [];
28
25
  }
29
- const command = options.command ?? policy_command_enum_1.PolicyCommand.ALL;
26
+ const command = options.command ?? PolicyCommand.ALL;
30
27
  const privileges = getTablePrivileges(command).join(", ");
31
28
  const statements = [
32
29
  `grant ${privileges} on table ${tableIdentifier} to ${roleSql};`,
@@ -37,31 +34,31 @@ function createPrivilegeGrantSqlStatements(options, tableIdentifier, roleSql) {
37
34
  return statements;
38
35
  }
39
36
  function getTablePrivileges(command) {
40
- if (command === policy_command_enum_1.PolicyCommand.SELECT) {
37
+ if (command === PolicyCommand.SELECT) {
41
38
  return ["select"];
42
39
  }
43
- if (command === policy_command_enum_1.PolicyCommand.INSERT) {
40
+ if (command === PolicyCommand.INSERT) {
44
41
  return ["insert"];
45
42
  }
46
- if (command === policy_command_enum_1.PolicyCommand.UPDATE) {
43
+ if (command === PolicyCommand.UPDATE) {
47
44
  return ["select", "update"];
48
45
  }
49
- if (command === policy_command_enum_1.PolicyCommand.DELETE) {
46
+ if (command === PolicyCommand.DELETE) {
50
47
  return ["select", "delete"];
51
48
  }
52
49
  return ["select", "insert", "update", "delete"];
53
50
  }
54
51
  function requiresSequencePrivileges(command) {
55
- return command === policy_command_enum_1.PolicyCommand.INSERT || command === policy_command_enum_1.PolicyCommand.ALL;
52
+ return command === PolicyCommand.INSERT || command === PolicyCommand.ALL;
56
53
  }
57
54
  function createSequenceGrantSql(options, tableIdentifier, roleSql) {
58
- const tableLiteral = (0, escape_sql_literal_1.escapeSqlLiteral)(tableIdentifier);
59
- const schemaName = (0, escape_sql_literal_1.escapeSqlLiteral)(options.schemaName);
60
- const tableName = (0, escape_sql_literal_1.escapeSqlLiteral)(options.tableName);
55
+ const tableLiteral = escapeSqlLiteral(tableIdentifier);
56
+ const schemaName = escapeSqlLiteral(options.schemaName);
57
+ const tableName = escapeSqlLiteral(options.tableName);
61
58
  return /* SQL */ `do $$ declare sequence_identifier text; begin for sequence_identifier in select pg_get_serial_sequence('${tableLiteral}', columns.column_name) from information_schema.columns where columns.table_schema = '${schemaName}' and columns.table_name = '${tableName}' and pg_get_serial_sequence('${tableLiteral}', columns.column_name) is not null loop execute format('grant usage, select on sequence %s to ${roleSql}', sequence_identifier); end loop; end $$;`;
62
59
  }
63
60
  function getPolicyPredicates(options) {
64
- const command = options.command ?? policy_command_enum_1.PolicyCommand.ALL;
61
+ const command = options.command ?? PolicyCommand.ALL;
65
62
  const predicates = {
66
63
  using: normalizeExpression(options.using),
67
64
  withCheck: normalizeExpression(options.withCheck),
@@ -77,7 +74,7 @@ function normalizeExpression(expression) {
77
74
  return normalized;
78
75
  }
79
76
  function assertPolicyPredicates(command, predicates) {
80
- if (command === policy_command_enum_1.PolicyCommand.SELECT || command === policy_command_enum_1.PolicyCommand.DELETE) {
77
+ if (command === PolicyCommand.SELECT || command === PolicyCommand.DELETE) {
81
78
  if (!predicates.using) {
82
79
  throw new Error("Policy using expression is required");
83
80
  }
@@ -86,7 +83,7 @@ function assertPolicyPredicates(command, predicates) {
86
83
  }
87
84
  return;
88
85
  }
89
- if (command === policy_command_enum_1.PolicyCommand.INSERT) {
86
+ if (command === PolicyCommand.INSERT) {
90
87
  if (predicates.using) {
91
88
  throw new Error("Policy using is not allowed for insert");
92
89
  }
@@ -101,11 +98,11 @@ function assertPolicyPredicates(command, predicates) {
101
98
  }
102
99
  function getPolicyPredicateSql(command, predicates) {
103
100
  const fragments = [];
104
- if (command !== policy_command_enum_1.PolicyCommand.INSERT && predicates.using) {
101
+ if (command !== PolicyCommand.INSERT && predicates.using) {
105
102
  fragments.push(`using ${createPredicateExpressionSql(predicates.using)}`);
106
103
  }
107
- if (command !== policy_command_enum_1.PolicyCommand.SELECT &&
108
- command !== policy_command_enum_1.PolicyCommand.DELETE &&
104
+ if (command !== PolicyCommand.SELECT &&
105
+ command !== PolicyCommand.DELETE &&
109
106
  predicates.withCheck) {
110
107
  fragments.push(`with check ${createPredicateExpressionSql(predicates.withCheck)}`);
111
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-policy-up-sql-statements.js","sourceRoot":"","sources":["../../src/utils/create-policy-up-sql-statements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-policy-up-sql-statements.js","sourceRoot":"","sources":["../../src/utils/create-policy-up-sql-statements.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createRowLevelSecurityTransactionSetup = createRowLevelSecurityTransactionSetup;
4
- const request_context_1 = require("@nest-boot/request-context");
5
- const row_level_security_role_enum_1 = require("../enums/row-level-security-role.enum");
6
- const row_level_security_1 = require("../row-level-security");
7
- const assert_snake_case_1 = require("./assert-snake-case");
8
- const row_level_security_context_builder_1 = require("./row-level-security-context-builder");
1
+ import { RequestContext } from "@nest-boot/request-context";
2
+ import { RowLevelSecurityRole } from "../enums/row-level-security-role.enum.js";
3
+ import { RowLevelSecurity, RowLevelSecurityMode, } from "../row-level-security.js";
4
+ import { assertSnakeCase } from "./assert-snake-case.js";
5
+ import { RowLevelSecurityContextBuilder } from "./row-level-security-context-builder.js";
9
6
  /** Creates transaction-local SQL for the current row level security context. */
10
- function createRowLevelSecurityTransactionSetup() {
11
- if (!request_context_1.RequestContext.isActive()) {
7
+ export function createRowLevelSecurityTransactionSetup() {
8
+ if (!RequestContext.isActive()) {
12
9
  return;
13
10
  }
14
- const builder = new row_level_security_context_builder_1.RowLevelSecurityContextBuilder();
15
- const mode = row_level_security_1.RowLevelSecurity.getMode();
16
- const contextEntries = row_level_security_1.RowLevelSecurity.entries();
17
- const role = row_level_security_1.RowLevelSecurity.getRole();
18
- if (mode === row_level_security_1.RowLevelSecurityMode.DISABLED) {
11
+ const builder = new RowLevelSecurityContextBuilder();
12
+ const mode = RowLevelSecurity.getMode();
13
+ const contextEntries = RowLevelSecurity.entries();
14
+ const role = RowLevelSecurity.getRole();
15
+ if (mode === RowLevelSecurityMode.DISABLED) {
19
16
  return {
20
17
  action: "clear",
21
18
  };
22
19
  }
23
- if (mode === row_level_security_1.RowLevelSecurityMode.AUTO &&
20
+ if (mode === RowLevelSecurityMode.AUTO &&
24
21
  !role &&
25
22
  contextEntries.length === 0) {
26
23
  return {
@@ -28,8 +25,8 @@ function createRowLevelSecurityTransactionSetup() {
28
25
  };
29
26
  }
30
27
  appendContext(builder, contextEntries);
31
- const databaseRole = role ?? row_level_security_role_enum_1.RowLevelSecurityRole.ANONYMOUS;
32
- (0, assert_snake_case_1.assertSnakeCase)(databaseRole, "Row level security database role");
28
+ const databaseRole = role ?? RowLevelSecurityRole.ANONYMOUS;
29
+ assertSnakeCase(databaseRole, "Row level security database role");
33
30
  const contextSql = builder.entries().length > 0 ? builder.toSQL() : "";
34
31
  const sql = [/* SQL */ `SET LOCAL ROLE ${databaseRole};`, contextSql]
35
32
  .filter(Boolean)
@@ -1 +1 @@
1
- {"version":3,"file":"create-row-level-security-transaction-setup.js","sourceRoot":"","sources":["../../src/utils/create-row-level-security-transaction-setup.ts"],"names":[],"mappings":";;AAgCA,wFA+CC;AA/ED,gEAA4D;AAE5D,wFAA6E;AAC7E,8DAA+E;AAC/E,2DAAsD;AACtD,6FAAsF;AA0BtF,gFAAgF;AAChF,SAAgB,sCAAsC;IAGpD,IAAI,CAAC,gCAAc,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,mEAA8B,EAAE,CAAC;IACrD,MAAM,IAAI,GAAG,qCAAgB,CAAC,OAAO,EAAE,CAAC;IACxC,MAAM,cAAc,GAAG,qCAAgB,CAAC,OAAO,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,qCAAgB,CAAC,OAAO,EAAE,CAAC;IAExC,IAAI,IAAI,KAAK,yCAAoB,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO;YACL,MAAM,EAAE,OAAO;SAChB,CAAC;IACJ,CAAC;IAED,IACE,IAAI,KAAK,yCAAoB,CAAC,IAAI;QAClC,CAAC,IAAI;QACL,cAAc,CAAC,MAAM,KAAK,CAAC,EAC3B,CAAC;QACD,OAAO;YACL,MAAM,EAAE,OAAO;SAChB,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,IAAI,mDAAoB,CAAC,SAAS,CAAC;IAC5D,IAAA,mCAAe,EAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;IAElE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,kBAAkB,YAAY,GAAG,EAAE,UAAU,CAAC;SAClE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;QAC1B,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;QAClD,SAAS;QACT,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,OAAuC,EACvC,OAEa;IAEb,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"create-row-level-security-transaction-setup.js","sourceRoot":"","sources":["../../src/utils/create-row-level-security-transaction-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EACL,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AA0BzF,gFAAgF;AAChF,MAAM,UAAU,sCAAsC;IAGpD,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,8BAA8B,EAAE,CAAC;IACrD,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC;IACxC,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAExC,IAAI,IAAI,KAAK,oBAAoB,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO;YACL,MAAM,EAAE,OAAO;SAChB,CAAC;IACJ,CAAC;IAED,IACE,IAAI,KAAK,oBAAoB,CAAC,IAAI;QAClC,CAAC,IAAI;QACL,cAAc,CAAC,MAAM,KAAK,CAAC,EAC3B,CAAC;QACD,OAAO;YACL,MAAM,EAAE,OAAO;SAChB,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,IAAI,oBAAoB,CAAC,SAAS,CAAC;IAC5D,eAAe,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;IAElE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,kBAAkB,YAAY,GAAG,EAAE,UAAU,CAAC;SAClE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;QAC1B,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;QAClD,SAAS;QACT,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,OAAuC,EACvC,OAEa;IAEb,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC"}
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.escapeSqlLiteral = escapeSqlLiteral;
4
1
  /** Escapes a string for use inside a single-quoted SQL literal. */
5
- function escapeSqlLiteral(value) {
2
+ export function escapeSqlLiteral(value) {
6
3
  return value.replace(/'/g, "''");
7
4
  }
8
5
  //# sourceMappingURL=escape-sql-literal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"escape-sql-literal.js","sourceRoot":"","sources":["../../src/utils/escape-sql-literal.ts"],"names":[],"mappings":";;AACA,4CAEC;AAHD,mEAAmE;AACnE,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"escape-sql-literal.js","sourceRoot":"","sources":["../../src/utils/escape-sql-literal.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC"}
@@ -1,12 +1,12 @@
1
- export * from "./assert-identifier";
2
- export * from "./assert-snake-case";
3
- export * from "./create-policy-bootstrap-sql-statements";
4
- export * from "./create-policy-down-sql";
5
- export * from "./create-policy-privilege-down-sql-statements";
6
- export * from "./create-policy-role-sql-statements";
7
- export * from "./create-policy-up-sql-statements";
8
- export * from "./escape-sql-literal";
9
- export * from "./quote-identifier";
10
- export * from "./quote-qualified-identifier";
11
- export * from "./row-level-security-context-builder";
12
- export type * from "./row-level-security-context-builder.types";
1
+ export * from "./assert-identifier.js";
2
+ export * from "./assert-snake-case.js";
3
+ export * from "./create-policy-bootstrap-sql-statements.js";
4
+ export * from "./create-policy-down-sql.js";
5
+ export * from "./create-policy-privilege-down-sql-statements.js";
6
+ export * from "./create-policy-role-sql-statements.js";
7
+ export * from "./create-policy-up-sql-statements.js";
8
+ export * from "./escape-sql-literal.js";
9
+ export * from "./quote-identifier.js";
10
+ export * from "./quote-qualified-identifier.js";
11
+ export * from "./row-level-security-context-builder.js";
12
+ export type * from "./row-level-security-context-builder.types.js";
@@ -1,28 +1,12 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./assert-identifier"), exports);
18
- __exportStar(require("./assert-snake-case"), exports);
19
- __exportStar(require("./create-policy-bootstrap-sql-statements"), exports);
20
- __exportStar(require("./create-policy-down-sql"), exports);
21
- __exportStar(require("./create-policy-privilege-down-sql-statements"), exports);
22
- __exportStar(require("./create-policy-role-sql-statements"), exports);
23
- __exportStar(require("./create-policy-up-sql-statements"), exports);
24
- __exportStar(require("./escape-sql-literal"), exports);
25
- __exportStar(require("./quote-identifier"), exports);
26
- __exportStar(require("./quote-qualified-identifier"), exports);
27
- __exportStar(require("./row-level-security-context-builder"), exports);
1
+ export * from "./assert-identifier.js";
2
+ export * from "./assert-snake-case.js";
3
+ export * from "./create-policy-bootstrap-sql-statements.js";
4
+ export * from "./create-policy-down-sql.js";
5
+ export * from "./create-policy-privilege-down-sql-statements.js";
6
+ export * from "./create-policy-role-sql-statements.js";
7
+ export * from "./create-policy-up-sql-statements.js";
8
+ export * from "./escape-sql-literal.js";
9
+ export * from "./quote-identifier.js";
10
+ export * from "./quote-qualified-identifier.js";
11
+ export * from "./row-level-security-context-builder.js";
28
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,sDAAoC;AACpC,2EAAyD;AACzD,2DAAyC;AACzC,gFAA8D;AAC9D,sEAAoD;AACpD,oEAAkD;AAClD,uDAAqC;AACrC,qDAAmC;AACnC,+DAA6C;AAC7C,uEAAqD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kDAAkD,CAAC;AACjE,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yCAAyC,CAAC"}
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPostgresKeywordRequiringQuote = isPostgresKeywordRequiringQuote;
4
1
  // PostgreSQL keywords where quote_ident(keyword) emits a quoted identifier.
5
2
  // Sourced from pg_get_keywords() entries with catcode <> 'U'.
6
3
  const postgresKeywordsRequiringQuote = new Set([
@@ -169,7 +166,7 @@ const postgresKeywordsRequiringQuote = new Set([
169
166
  "xmlserialize",
170
167
  "xmltable",
171
168
  ]);
172
- function isPostgresKeywordRequiringQuote(identifier) {
169
+ export function isPostgresKeywordRequiringQuote(identifier) {
173
170
  return postgresKeywordsRequiringQuote.has(identifier.toLowerCase());
174
171
  }
175
172
  //# sourceMappingURL=is-postgres-keyword-requiring-quote.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-postgres-keyword-requiring-quote.js","sourceRoot":"","sources":["../../src/utils/is-postgres-keyword-requiring-quote.ts"],"names":[],"mappings":";;AAyKA,0EAEC;AA3KD,4EAA4E;AAC5E,8DAA8D;AAC9D,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC;IAC7C,KAAK;IACL,SAAS;IACT,SAAS;IACT,KAAK;IACL,KAAK;IACL,OAAO;IACP,IAAI;IACJ,KAAK;IACL,YAAY;IACZ,eAAe;IACf,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,WAAW;IACX,OAAO;IACP,UAAU;IACV,SAAS;IACT,WAAW;IACX,QAAQ;IACR,cAAc;IACd,YAAY;IACZ,QAAQ;IACR,OAAO;IACP,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,mBAAmB;IACnB,cAAc;IACd,KAAK;IACL,SAAS;IACT,SAAS;IACT,YAAY;IACZ,MAAM;IACN,UAAU;IACV,IAAI;IACJ,MAAM;IACN,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,UAAU;IACV,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,IAAI;IACJ,WAAW;IACX,OAAO;IACP,OAAO;IACP,KAAK;IACL,SAAS;IACT,WAAW;IACX,UAAU;IACV,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,MAAM;IACN,YAAY;IACZ,eAAe;IACf,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,WAAW;IACX,gBAAgB;IAChB,cAAc;IACd,UAAU;IACV,SAAS;IACT,OAAO;IACP,MAAM;IACN,WAAW;IACX,KAAK;IACL,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,OAAO;IACP,KAAK;IACL,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,WAAW;IACX,SAAS;IACT,MAAM;IACN,YAAY;IACZ,WAAW;IACX,OAAO;IACP,KAAK;IACL,QAAQ;IACR,cAAc;IACd,OAAO;IACP,SAAS;IACT,UAAU;IACV,MAAM;IACN,WAAW;IACX,WAAW;IACX,aAAa;IACb,OAAO;IACP,aAAa;IACb,MAAM;IACN,MAAM;IACN,WAAW;IACX,IAAI;IACJ,UAAU;IACV,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,eAAe;IACf,WAAW;IACX,YAAY;IACZ,WAAW;IACX,WAAW;IACX,eAAe;IACf,UAAU;IACV,OAAO;IACP,SAAS;IACT,cAAc;IACd,UAAU;CACX,CAAC,CAAC;AAEH,SAAgB,+BAA+B,CAAC,UAAkB;IAChE,OAAO,8BAA8B,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"is-postgres-keyword-requiring-quote.js","sourceRoot":"","sources":["../../src/utils/is-postgres-keyword-requiring-quote.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,8DAA8D;AAC9D,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC;IAC7C,KAAK;IACL,SAAS;IACT,SAAS;IACT,KAAK;IACL,KAAK;IACL,OAAO;IACP,IAAI;IACJ,KAAK;IACL,YAAY;IACZ,eAAe;IACf,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,WAAW;IACX,OAAO;IACP,UAAU;IACV,SAAS;IACT,WAAW;IACX,QAAQ;IACR,cAAc;IACd,YAAY;IACZ,QAAQ;IACR,OAAO;IACP,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,mBAAmB;IACnB,cAAc;IACd,KAAK;IACL,SAAS;IACT,SAAS;IACT,YAAY;IACZ,MAAM;IACN,UAAU;IACV,IAAI;IACJ,MAAM;IACN,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,UAAU;IACV,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,IAAI;IACJ,WAAW;IACX,OAAO;IACP,OAAO;IACP,KAAK;IACL,SAAS;IACT,WAAW;IACX,UAAU;IACV,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,MAAM;IACN,YAAY;IACZ,eAAe;IACf,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,WAAW;IACX,gBAAgB;IAChB,cAAc;IACd,UAAU;IACV,SAAS;IACT,OAAO;IACP,MAAM;IACN,WAAW;IACX,KAAK;IACL,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,OAAO;IACP,KAAK;IACL,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,WAAW;IACX,SAAS;IACT,MAAM;IACN,YAAY;IACZ,WAAW;IACX,OAAO;IACP,KAAK;IACL,QAAQ;IACR,cAAc;IACd,OAAO;IACP,SAAS;IACT,UAAU;IACV,MAAM;IACN,WAAW;IACX,WAAW;IACX,aAAa;IACb,OAAO;IACP,aAAa;IACb,MAAM;IACN,MAAM;IACN,WAAW;IACX,IAAI;IACJ,UAAU;IACV,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,eAAe;IACf,WAAW;IACX,YAAY;IACZ,WAAW;IACX,WAAW;IACX,eAAe;IACf,UAAU;IACV,OAAO;IACP,SAAS;IACT,cAAc;IACd,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,UAAU,+BAA+B,CAAC,UAAkB;IAChE,OAAO,8BAA8B,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AACtE,CAAC"}
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalizePostgresTypeAlias = normalizePostgresTypeAlias;
4
- function normalizePostgresTypeAlias(postgresType) {
1
+ export function normalizePostgresTypeAlias(postgresType) {
5
2
  const normalized = postgresType.trim().toLowerCase().replace(/\s+/g, " ");
6
3
  const baseType = normalized.replace(/\s*\([^)]*\)\s*$/, "");
7
4
  switch (baseType) {
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-postgres-type-alias.util.js","sourceRoot":"","sources":["../../src/utils/normalize-postgres-type-alias.util.ts"],"names":[],"mappings":";;AAAA,gEAkCC;AAlCD,SAAgB,0BAA0B,CAAC,YAAoB;IAC7D,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAE5D,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM;YACT,OAAO,WAAW,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,kBAAkB,CAAC;QAC5B,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACT,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,UAAU,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,qBAAqB,CAAC;QAC/B,KAAK,aAAa;YAChB,OAAO,0BAA0B,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO,mBAAmB,CAAC;QAC7B;YACE,OAAO,YAAY,CAAC;IACxB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"normalize-postgres-type-alias.util.js","sourceRoot":"","sources":["../../src/utils/normalize-postgres-type-alias.util.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,0BAA0B,CAAC,YAAoB;IAC7D,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAE5D,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM;YACT,OAAO,WAAW,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,kBAAkB,CAAC;QAC5B,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACT,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,UAAU,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,qBAAqB,CAAC;QAC/B,KAAK,aAAa;YAChB,OAAO,0BAA0B,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO,mBAAmB,CAAC;QAC7B;YACE,OAAO,YAAY,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.quoteIdentifier = quoteIdentifier;
4
- const assert_identifier_1 = require("./assert-identifier");
1
+ import { assertIdentifier } from "./assert-identifier.js";
5
2
  /** Quotes a validated PostgreSQL identifier. */
6
- function quoteIdentifier(identifier) {
7
- (0, assert_identifier_1.assertIdentifier)(identifier);
3
+ export function quoteIdentifier(identifier) {
4
+ assertIdentifier(identifier);
8
5
  return `"${identifier}"`;
9
6
  }
10
7
  //# sourceMappingURL=quote-identifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quote-identifier.js","sourceRoot":"","sources":["../../src/utils/quote-identifier.ts"],"names":[],"mappings":";;AAGA,0CAIC;AAPD,2DAAuD;AAEvD,gDAAgD;AAChD,SAAgB,eAAe,CAAC,UAAkB;IAChD,IAAA,oCAAgB,EAAC,UAAU,CAAC,CAAC;IAE7B,OAAO,IAAI,UAAU,GAAG,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"quote-identifier.js","sourceRoot":"","sources":["../../src/utils/quote-identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,gDAAgD;AAChD,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAE7B,OAAO,IAAI,UAAU,GAAG,CAAC;AAC3B,CAAC"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.quoteQualifiedIdentifier = quoteQualifiedIdentifier;
4
- const quote_identifier_1 = require("./quote-identifier");
1
+ import { quoteIdentifier } from "./quote-identifier.js";
5
2
  /** Quotes a schema-qualified PostgreSQL table identifier. */
6
- function quoteQualifiedIdentifier(schemaName, tableName) {
7
- return `${(0, quote_identifier_1.quoteIdentifier)(schemaName)}.${(0, quote_identifier_1.quoteIdentifier)(tableName)}`;
3
+ export function quoteQualifiedIdentifier(schemaName, tableName) {
4
+ return `${quoteIdentifier(schemaName)}.${quoteIdentifier(tableName)}`;
8
5
  }
9
6
  //# sourceMappingURL=quote-qualified-identifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quote-qualified-identifier.js","sourceRoot":"","sources":["../../src/utils/quote-qualified-identifier.ts"],"names":[],"mappings":";;AAGA,4DAKC;AARD,yDAAqD;AAErD,6DAA6D;AAC7D,SAAgB,wBAAwB,CACtC,UAAkB,EAClB,SAAiB;IAEjB,OAAO,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,IAAI,IAAA,kCAAe,EAAC,SAAS,CAAC,EAAE,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"quote-qualified-identifier.js","sourceRoot":"","sources":["../../src/utils/quote-qualified-identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,6DAA6D;AAC7D,MAAM,UAAU,wBAAwB,CACtC,UAAkB,EAClB,SAAiB;IAEjB,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;AACxE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { RowLevelSecurityContextValue, SnakeCase } from "./row-level-security-context-builder.types";
1
+ import { RowLevelSecurityContextValue, SnakeCase } from "./row-level-security-context-builder.types.js";
2
2
  /** Builds SQL that writes RLS context values into PostgreSQL transaction settings. */
3
3
  export declare class RowLevelSecurityContextBuilder {
4
4
  private readonly ctx;