@prisma-next/target-postgres 0.14.0-dev.11 → 0.14.0-dev.12

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 (126) hide show
  1. package/dist/canonicalize-Bn3BM1Cn.mjs +46 -0
  2. package/dist/canonicalize-Bn3BM1Cn.mjs.map +1 -0
  3. package/dist/canonicalize-CAbXtVtB.d.mts +37 -0
  4. package/dist/canonicalize-CAbXtVtB.d.mts.map +1 -0
  5. package/dist/contract-free.d.mts +1 -1
  6. package/dist/contract-free.d.mts.map +1 -1
  7. package/dist/contract-free.mjs +2 -2
  8. package/dist/control.d.mts +1 -1
  9. package/dist/control.mjs +4 -4
  10. package/dist/{data-transform-DDgWdB5o.d.mts → data-transform-qKy1U5V9.d.mts} +2 -2
  11. package/dist/{data-transform-DDgWdB5o.d.mts.map → data-transform-qKy1U5V9.d.mts.map} +1 -1
  12. package/dist/data-transform.d.mts +1 -1
  13. package/dist/{ddl-QDyOSeLc.mjs → ddl-BlsTIBeP.mjs} +54 -4
  14. package/dist/ddl-BlsTIBeP.mjs.map +1 -0
  15. package/dist/ddl.d.mts +3 -2
  16. package/dist/ddl.mjs +2 -2
  17. package/dist/descriptor-meta-b_SzXwen.mjs +239 -0
  18. package/dist/descriptor-meta-b_SzXwen.mjs.map +1 -0
  19. package/dist/{issue-planner-DL6g3CmE.mjs → issue-planner-CwoeupPM.mjs} +9 -6
  20. package/dist/{issue-planner-DL6g3CmE.mjs.map → issue-planner-CwoeupPM.mjs.map} +1 -1
  21. package/dist/issue-planner.d.mts +3 -3
  22. package/dist/issue-planner.d.mts.map +1 -1
  23. package/dist/issue-planner.mjs +1 -1
  24. package/dist/migration.d.mts +3 -3
  25. package/dist/migration.mjs +2 -2
  26. package/dist/{nodes-Bbhs2rwj.mjs → nodes-DhDIIhBT.mjs} +44 -2
  27. package/dist/nodes-DhDIIhBT.mjs.map +1 -0
  28. package/dist/{nodes-pLeLgdis.d.mts → nodes-YvdohJ2X.d.mts} +40 -3
  29. package/dist/nodes-YvdohJ2X.d.mts.map +1 -0
  30. package/dist/{op-factory-call-DmQEc3XV.d.mts → op-factory-call-DXHAIisl.d.mts} +37 -4
  31. package/dist/op-factory-call-DXHAIisl.d.mts.map +1 -0
  32. package/dist/{op-factory-call-D_p5vxwt.mjs → op-factory-call-tMksrGIq.mjs} +146 -4
  33. package/dist/op-factory-call-tMksrGIq.mjs.map +1 -0
  34. package/dist/op-factory-call.d.mts +1 -1
  35. package/dist/op-factory-call.mjs +1 -1
  36. package/dist/pack.d.mts +74 -1
  37. package/dist/pack.d.mts.map +1 -1
  38. package/dist/pack.mjs +1 -1
  39. package/dist/{planner-Bs_baQax.mjs → planner-BbSZJVW7.mjs} +114 -22
  40. package/dist/planner-BbSZJVW7.mjs.map +1 -0
  41. package/dist/{planner-produced-postgres-migration-Cji5vxUf.mjs → planner-produced-postgres-migration-C0FHnEsV.mjs} +2 -2
  42. package/dist/{planner-produced-postgres-migration-Cji5vxUf.mjs.map → planner-produced-postgres-migration-C0FHnEsV.mjs.map} +1 -1
  43. package/dist/{planner-produced-postgres-migration-QqHa2C2l.d.mts → planner-produced-postgres-migration-DfM5lBv1.d.mts} +3 -3
  44. package/dist/{planner-produced-postgres-migration-QqHa2C2l.d.mts.map → planner-produced-postgres-migration-DfM5lBv1.d.mts.map} +1 -1
  45. package/dist/planner-produced-postgres-migration.d.mts +1 -1
  46. package/dist/planner-produced-postgres-migration.mjs +1 -1
  47. package/dist/{planner-sql-checks-jqUUGyQR.mjs → planner-sql-checks-CI6Z21mm.mjs} +2 -2
  48. package/dist/{planner-sql-checks-jqUUGyQR.mjs.map → planner-sql-checks-CI6Z21mm.mjs.map} +1 -1
  49. package/dist/planner-sql-checks.mjs +1 -1
  50. package/dist/{planner-target-details-CIY6tLeo.d.mts → planner-target-details-HkP4RrRO.d.mts} +2 -2
  51. package/dist/planner-target-details-HkP4RrRO.d.mts.map +1 -0
  52. package/dist/planner-target-details.d.mts +1 -1
  53. package/dist/planner.d.mts +35 -3
  54. package/dist/planner.d.mts.map +1 -1
  55. package/dist/planner.mjs +2 -2
  56. package/dist/{postgres-contract-serializer-k3TAcPMY.mjs → postgres-contract-serializer-k5eg5ZUZ.mjs} +29 -16
  57. package/dist/postgres-contract-serializer-k5eg5ZUZ.mjs.map +1 -0
  58. package/dist/{postgres-migration-B5jKrXv3.mjs → postgres-migration-BJWxullf.mjs} +2 -2
  59. package/dist/{postgres-migration-B5jKrXv3.mjs.map → postgres-migration-BJWxullf.mjs.map} +1 -1
  60. package/dist/{postgres-migration-Y4YBJqkS.d.mts → postgres-migration-D22a2y0l.d.mts} +4 -4
  61. package/dist/{postgres-migration-Y4YBJqkS.d.mts.map → postgres-migration-D22a2y0l.d.mts.map} +1 -1
  62. package/dist/postgres-rls-policy-D_z1osEq.d.mts +60 -0
  63. package/dist/postgres-rls-policy-D_z1osEq.d.mts.map +1 -0
  64. package/dist/postgres-role-_CCuyPCQ.d.mts +33 -0
  65. package/dist/postgres-role-_CCuyPCQ.d.mts.map +1 -0
  66. package/dist/{postgres-schema-COGZ1ark.mjs → postgres-schema-BVDr_61a.mjs} +139 -3
  67. package/dist/postgres-schema-BVDr_61a.mjs.map +1 -0
  68. package/dist/postgres-schema-D0h4lsw2.d.mts +158 -0
  69. package/dist/postgres-schema-D0h4lsw2.d.mts.map +1 -0
  70. package/dist/postgres-schema-ir-BF0X8jit.mjs +66 -0
  71. package/dist/postgres-schema-ir-BF0X8jit.mjs.map +1 -0
  72. package/dist/postgres-schema-ir-BQ3RpZMz.d.mts +60 -0
  73. package/dist/postgres-schema-ir-BQ3RpZMz.d.mts.map +1 -0
  74. package/dist/postgres-schema-ir-annotations-El62Sywa.mjs +14 -0
  75. package/dist/postgres-schema-ir-annotations-El62Sywa.mjs.map +1 -0
  76. package/dist/render-ops.d.mts +1 -1
  77. package/dist/rls-canonicalize.d.mts +2 -0
  78. package/dist/rls-canonicalize.mjs +2 -0
  79. package/dist/runtime.d.mts +3 -2
  80. package/dist/runtime.d.mts.map +1 -1
  81. package/dist/runtime.mjs +2 -2
  82. package/dist/schema-ir-annotations.d.mts +8 -0
  83. package/dist/schema-ir-annotations.d.mts.map +1 -0
  84. package/dist/schema-ir-annotations.mjs +2 -0
  85. package/dist/types.d.mts +5 -140
  86. package/dist/types.mjs +3 -2
  87. package/package.json +21 -17
  88. package/src/contract-free/checks.ts +73 -0
  89. package/src/contract-free/ddl.ts +35 -0
  90. package/src/core/authoring.ts +115 -1
  91. package/src/core/ddl/nodes.ts +68 -1
  92. package/src/core/descriptor-meta.ts +4 -0
  93. package/src/core/entity-kinds.ts +16 -0
  94. package/src/core/migrations/control-policy.ts +3 -0
  95. package/src/core/migrations/issue-planner.ts +8 -0
  96. package/src/core/migrations/op-factory-call.ts +96 -0
  97. package/src/core/migrations/operations/rls.ts +106 -0
  98. package/src/core/migrations/planner-target-details.ts +3 -1
  99. package/src/core/migrations/planner.ts +99 -1
  100. package/src/core/migrations/verify-postgres-namespaces.ts +12 -15
  101. package/src/core/migrations/verify-postgres-rls-policies.ts +62 -0
  102. package/src/core/postgres-contract-serializer.ts +43 -19
  103. package/src/core/postgres-rls-policy.ts +103 -0
  104. package/src/core/postgres-role.ts +53 -0
  105. package/src/core/postgres-schema-ir-annotations.ts +22 -0
  106. package/src/core/postgres-schema-ir.ts +101 -0
  107. package/src/core/postgres-schema.ts +24 -4
  108. package/src/core/postgres-validators.ts +20 -0
  109. package/src/core/rls/canonicalize.ts +48 -0
  110. package/src/exports/ddl.ts +3 -0
  111. package/src/exports/planner.ts +1 -0
  112. package/src/exports/rls-canonicalize.ts +6 -0
  113. package/src/exports/schema-ir-annotations.ts +1 -0
  114. package/src/exports/types.ts +12 -0
  115. package/dist/ddl-QDyOSeLc.mjs.map +0 -1
  116. package/dist/descriptor-meta-CpGygXpI.mjs +0 -140
  117. package/dist/descriptor-meta-CpGygXpI.mjs.map +0 -1
  118. package/dist/nodes-Bbhs2rwj.mjs.map +0 -1
  119. package/dist/nodes-pLeLgdis.d.mts.map +0 -1
  120. package/dist/op-factory-call-D_p5vxwt.mjs.map +0 -1
  121. package/dist/op-factory-call-DmQEc3XV.d.mts.map +0 -1
  122. package/dist/planner-Bs_baQax.mjs.map +0 -1
  123. package/dist/planner-target-details-CIY6tLeo.d.mts.map +0 -1
  124. package/dist/postgres-contract-serializer-k3TAcPMY.mjs.map +0 -1
  125. package/dist/postgres-schema-COGZ1ark.mjs.map +0 -1
  126. package/dist/types.d.mts.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { n as RlsPolicyOperation } from "./canonicalize-CAbXtVtB.mjs";
1
2
  import { DdlColumn, DdlNode, DdlTableConstraint } from "@prisma-next/sql-relational-core/ast";
2
3
 
3
4
  //#region src/core/ddl/nodes.d.ts
@@ -19,6 +20,8 @@ interface PostgresDdlVisitor<R> {
19
20
  createTable(node: PostgresCreateTable): R;
20
21
  createSchema(node: PostgresCreateSchema): R;
21
22
  alterTable(node: PostgresAlterTable): R;
23
+ createPolicy(node: PostgresCreatePolicy): R;
24
+ dropPolicy(node: PostgresDropPolicy): R;
22
25
  }
23
26
  declare abstract class PostgresDdlNode extends DdlNode {
24
27
  abstract accept<R>(visitor: PostgresDdlVisitor<R>): R;
@@ -61,7 +64,41 @@ declare class PostgresAlterTable extends PostgresDdlNode {
61
64
  });
62
65
  accept<R>(visitor: PostgresDdlVisitor<R>): R;
63
66
  }
64
- type AnyPostgresDdlNode = PostgresCreateTable | PostgresCreateSchema | PostgresAlterTable;
67
+ declare class PostgresCreatePolicy extends PostgresDdlNode {
68
+ readonly kind: "create-policy";
69
+ readonly schema: string;
70
+ readonly table: string;
71
+ readonly name: string;
72
+ readonly permissive: boolean;
73
+ readonly operation: RlsPolicyOperation;
74
+ readonly roles: ReadonlyArray<string>;
75
+ readonly using: string | undefined;
76
+ readonly withCheck: string | undefined;
77
+ constructor(options: {
78
+ readonly schema: string;
79
+ readonly table: string;
80
+ readonly name: string;
81
+ readonly permissive: boolean;
82
+ readonly operation: RlsPolicyOperation;
83
+ readonly roles: readonly string[];
84
+ readonly using?: string;
85
+ readonly withCheck?: string;
86
+ });
87
+ accept<R>(visitor: PostgresDdlVisitor<R>): R;
88
+ }
89
+ declare class PostgresDropPolicy extends PostgresDdlNode {
90
+ readonly kind: "drop-policy";
91
+ readonly schema: string;
92
+ readonly table: string;
93
+ readonly name: string;
94
+ constructor(options: {
95
+ readonly schema: string;
96
+ readonly table: string;
97
+ readonly name: string;
98
+ });
99
+ accept<R>(visitor: PostgresDdlVisitor<R>): R;
100
+ }
101
+ type AnyPostgresDdlNode = PostgresCreateTable | PostgresCreateSchema | PostgresAlterTable | PostgresCreatePolicy | PostgresDropPolicy;
65
102
  //#endregion
66
- export { PostgresAlterTable as a, PostgresDdlNode as c, AnyPostgresDdlNode as i, PostgresDdlVisitor as l, AlterTableActionVisitor as n, PostgresCreateSchema as o, AnyAlterTableAction as r, PostgresCreateTable as s, AddColumnAction as t };
67
- //# sourceMappingURL=nodes-pLeLgdis.d.mts.map
103
+ export { PostgresAlterTable as a, PostgresCreateTable as c, PostgresDropPolicy as d, AnyPostgresDdlNode as i, PostgresDdlNode as l, AlterTableActionVisitor as n, PostgresCreatePolicy as o, AnyAlterTableAction as r, PostgresCreateSchema as s, AddColumnAction as t, PostgresDdlVisitor as u };
104
+ //# sourceMappingURL=nodes-YvdohJ2X.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes-YvdohJ2X.d.mts","names":[],"sources":["../src/core/ddl/nodes.ts"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { t as PostgresPlanTargetDetails } from "./planner-target-details-CIY6tLeo.mjs";
1
+ import { t as PostgresPlanTargetDetails } from "./planner-target-details-HkP4RrRO.mjs";
2
+ import { t as PostgresRlsPolicy } from "./postgres-rls-policy-D_z1osEq.mjs";
2
3
  import { DdlColumn, DdlTableConstraint } from "@prisma-next/sql-relational-core/ast";
3
4
  import { CodecControlHooks, SqlMigrationPlanOperation } from "@prisma-next/family-sql/control";
4
- import { ImportRequirement, TsExpression } from "@prisma-next/ts-render";
5
5
  import { ReferentialAction, StorageColumn, StorageTypeInstance } from "@prisma-next/sql-contract/types";
6
+ import { ImportRequirement, TsExpression } from "@prisma-next/ts-render";
6
7
  import { MigrationOperationClass, OpFactoryCall } from "@prisma-next/framework-components/control";
7
8
  import { ExecuteRequestLowerer, Lowerer } from "@prisma-next/family-sql/control-adapter";
8
9
 
@@ -374,7 +375,39 @@ declare class DataTransformCall extends PostgresOpFactoryCallNode {
374
375
  renderTypeScript(): string;
375
376
  importRequirements(): readonly ImportRequirement[];
376
377
  }
377
- type PostgresOpFactoryCall = CreateTableCall | DropTableCall | AddColumnCall | DropColumnCall | AlterColumnTypeCall | SetNotNullCall | DropNotNullCall | SetDefaultCall | DropDefaultCall | AddNotNullColumnDirectCall | AddNotNullColumnWithTempDefaultCall | AddPrimaryKeyCall | AddForeignKeyCall | AddUniqueCall | AddCheckConstraintCall | DropCheckConstraintCall | CreateIndexCall | DropIndexCall | DropConstraintCall | RawSqlCall | CreateExtensionCall | CreateSchemaCall | DataTransformCall;
378
+ declare class CreatePostgresRlsPolicyCall extends PostgresOpFactoryCallNode {
379
+ readonly factoryName: "createRlsPolicy";
380
+ readonly operationClass: "additive";
381
+ readonly schemaName: string;
382
+ readonly tableName: string;
383
+ readonly policy: PostgresRlsPolicy;
384
+ readonly label: string;
385
+ constructor(schemaName: string, tableName: string, policy: PostgresRlsPolicy);
386
+ toOp(lowerer?: ExecuteRequestLowerer): Promise<Op>;
387
+ renderTypeScript(): string;
388
+ }
389
+ declare class DropPostgresRlsPolicyCall extends PostgresOpFactoryCallNode {
390
+ readonly factoryName: "dropRlsPolicy";
391
+ readonly operationClass: "destructive";
392
+ readonly schemaName: string;
393
+ readonly tableName: string;
394
+ readonly policyName: string;
395
+ readonly label: string;
396
+ constructor(schemaName: string, tableName: string, policyName: string);
397
+ toOp(lowerer?: ExecuteRequestLowerer): Promise<Op>;
398
+ renderTypeScript(): string;
399
+ }
400
+ declare class EnableRowLevelSecurityCall extends PostgresOpFactoryCallNode {
401
+ readonly factoryName: "enableRowLevelSecurity";
402
+ readonly operationClass: "additive";
403
+ readonly schemaName: string;
404
+ readonly tableName: string;
405
+ readonly label: string;
406
+ constructor(schemaName: string, tableName: string);
407
+ toOp(lowerer?: ExecuteRequestLowerer): Promise<Op>;
408
+ renderTypeScript(): string;
409
+ }
410
+ type PostgresOpFactoryCall = CreateTableCall | DropTableCall | AddColumnCall | DropColumnCall | AlterColumnTypeCall | SetNotNullCall | DropNotNullCall | SetDefaultCall | DropDefaultCall | AddNotNullColumnDirectCall | AddNotNullColumnWithTempDefaultCall | AddPrimaryKeyCall | AddForeignKeyCall | AddUniqueCall | AddCheckConstraintCall | DropCheckConstraintCall | CreateIndexCall | DropIndexCall | DropConstraintCall | RawSqlCall | CreateExtensionCall | CreateSchemaCall | CreatePostgresRlsPolicyCall | DropPostgresRlsPolicyCall | EnableRowLevelSecurityCall | DataTransformCall;
378
411
  //#endregion
379
412
  export { SetNotNullCall as C, SetDefaultCall as S, Op$1 as T, DropIndexCall as _, AddUniqueCall as a, PostgresOpFactoryCall as b, CreateExtensionCall as c, CreateTableCall as d, DataTransformCall as f, DropDefaultCall as g, DropConstraintCall as h, AddPrimaryKeyCall as i, CreateIndexCall as l, DropColumnCall as m, AddColumnCall as n, AlterColumnTypeCall as o, DropCheckConstraintCall as p, AddForeignKeyCall as r, AlterColumnTypeOptions as s, AddCheckConstraintCall as t, CreateSchemaCall as u, DropNotNullCall as v, ForeignKeySpec as w, RawSqlCall as x, DropTableCall as y };
380
- //# sourceMappingURL=op-factory-call-DmQEc3XV.d.mts.map
413
+ //# sourceMappingURL=op-factory-call-DXHAIisl.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"op-factory-call-DXHAIisl.d.mts","names":[],"sources":["../src/core/migrations/operations/shared.ts","../src/core/migrations/op-factory-call.ts"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { i as quoteIdentifier, n as escapeLiteral } from "./sql-utils-DcfMz4MQ.mjs";
2
- import { a as columnDefaultAst, c as columnTypeAst, d as indexExistsAst, f as noNullValuesAst, i as createTable, l as constraintExistsAst, m as tableIsEmptyAst, n as alterTable, o as columnExistsAst, p as tableExistsAst, r as createSchema, s as columnNullabilityAst, t as addColumnAction, u as extensionExistsAst } from "./ddl-QDyOSeLc.mjs";
3
- import { n as qualifyTableName } from "./planner-sql-checks-jqUUGyQR.mjs";
2
+ import { _ as tableExistsAst, a as createTable, c as columnExistsAst, d as constraintExistsAst, f as extensionExistsAst, g as rlsPolicyExistsAst, h as rlsEnabledAst, i as createSchema, l as columnNullabilityAst, m as noNullValuesAst, n as alterTable, o as dropPolicy, p as indexExistsAst, r as createPolicy, s as columnDefaultAst, t as addColumnAction, u as columnTypeAst, v as tableIsEmptyAst } from "./ddl-BlsTIBeP.mjs";
3
+ import { n as qualifyTableName } from "./planner-sql-checks-CI6Z21mm.mjs";
4
4
  import { t as buildAddColumnSql } from "./planner-ddl-builders-B2wOwLqI.mjs";
5
5
  import { FunctionColumnDefault, LiteralColumnDefault } from "@prisma-next/sql-relational-core/ast";
6
6
  import { blindCast } from "@prisma-next/utils/casts";
@@ -463,6 +463,81 @@ async function dropIndex(schemaName, tableName, indexName, lowerer) {
463
463
  };
464
464
  }
465
465
  //#endregion
466
+ //#region src/core/migrations/operations/rls.ts
467
+ const PLAIN_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_$]*$/;
468
+ function validateRoleName(role) {
469
+ if (!PLAIN_IDENTIFIER.test(role)) throw new Error(`Invalid role name ${JSON.stringify(role)}: role names must be plain SQL identifiers matching ^[A-Za-z_][A-Za-z0-9_$]*$`);
470
+ return role;
471
+ }
472
+ async function createRlsPolicy(schemaName, tableName, policy, lowerer) {
473
+ const validatedRoles = policy.roles.map(validateRoleName);
474
+ const ddlNode = createPolicy({
475
+ schema: schemaName,
476
+ table: tableName,
477
+ name: policy.name,
478
+ permissive: policy.permissive,
479
+ operation: policy.operation,
480
+ roles: validatedRoles,
481
+ ...ifDefined("using", policy.using),
482
+ ...ifDefined("withCheck", policy.withCheck)
483
+ });
484
+ const checks = rlsPolicyExistsAst({
485
+ schema: schemaName,
486
+ table: tableName,
487
+ policyName: policy.name
488
+ });
489
+ const absent = await lowerer.lowerToExecuteRequest(checks.policyAbsent());
490
+ const execute = await lowerer.lowerToExecuteRequest(ddlNode);
491
+ const present = await lowerer.lowerToExecuteRequest(checks.policyPresent());
492
+ return {
493
+ id: `rlsPolicy.${schemaName}.${tableName}.${policy.name}`,
494
+ label: `Create RLS policy "${policy.name}" on "${tableName}"`,
495
+ operationClass: "additive",
496
+ target: targetDetails("rlsPolicy", policy.name, schemaName, tableName),
497
+ precheck: [step(`ensure RLS policy "${policy.name}" does not exist`, absent.sql, absent.params)],
498
+ execute: [step(`create RLS policy "${policy.name}"`, execute.sql, execute.params)],
499
+ postcheck: [step(`verify RLS policy "${policy.name}" exists`, present.sql, present.params)]
500
+ };
501
+ }
502
+ async function dropRlsPolicy(schemaName, tableName, policyName, lowerer) {
503
+ const ddlNode = dropPolicy({
504
+ schema: schemaName,
505
+ table: tableName,
506
+ name: policyName
507
+ });
508
+ const checks = rlsPolicyExistsAst({
509
+ schema: schemaName,
510
+ table: tableName,
511
+ policyName
512
+ });
513
+ const present = await lowerer.lowerToExecuteRequest(checks.policyPresent());
514
+ const execute = await lowerer.lowerToExecuteRequest(ddlNode);
515
+ const absent = await lowerer.lowerToExecuteRequest(checks.policyAbsent());
516
+ return {
517
+ id: `rlsPolicy.${schemaName}.${tableName}.${policyName}.drop`,
518
+ label: `Drop RLS policy "${policyName}" on "${tableName}"`,
519
+ operationClass: "destructive",
520
+ target: targetDetails("rlsPolicy", policyName, schemaName, tableName),
521
+ precheck: [step(`ensure RLS policy "${policyName}" exists`, present.sql, present.params)],
522
+ execute: [step(`drop RLS policy "${policyName}"`, execute.sql, execute.params)],
523
+ postcheck: [step(`verify RLS policy "${policyName}" is absent`, absent.sql, absent.params)]
524
+ };
525
+ }
526
+ async function enableRowLevelSecurity(schemaName, tableName, lowerer) {
527
+ const checks = rlsEnabledAst(schemaName, tableName);
528
+ const disabled = await lowerer.lowerToExecuteRequest(checks.rlsDisabled());
529
+ const enabled = await lowerer.lowerToExecuteRequest(checks.rlsEnabled());
530
+ return {
531
+ id: `rowLevelSecurity.${schemaName}.${tableName}`,
532
+ label: `Enable row-level security on "${tableName}"`,
533
+ operationClass: "additive",
534
+ target: targetDetails("rowLevelSecurity", tableName, schemaName),
535
+ precheck: [step(`check RLS is not already enabled on "${tableName}"`, disabled.sql, disabled.params)],
536
+ execute: [step(`enable row-level security on "${tableName}"`, `ALTER TABLE ${qualifyTableName(schemaName, tableName)} ENABLE ROW LEVEL SECURITY`)],
537
+ postcheck: [step(`verify row-level security is enabled on "${tableName}"`, enabled.sql, enabled.params)]
538
+ };
539
+ }
540
+ //#endregion
466
541
  //#region src/core/migrations/operations/tables.ts
467
542
  async function dropTable(schemaName, tableName, lowerer) {
468
543
  const qualified = qualifyTableName(schemaName, tableName);
@@ -1484,7 +1559,74 @@ var DataTransformCall = class extends PostgresOpFactoryCallNode {
1484
1559
  }];
1485
1560
  }
1486
1561
  };
1562
+ var CreatePostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {
1563
+ factoryName = "createRlsPolicy";
1564
+ operationClass = "additive";
1565
+ schemaName;
1566
+ tableName;
1567
+ policy;
1568
+ label;
1569
+ constructor(schemaName, tableName, policy) {
1570
+ super();
1571
+ this.schemaName = schemaName;
1572
+ this.tableName = tableName;
1573
+ this.policy = policy;
1574
+ this.label = `Create RLS policy "${policy.name}" on "${tableName}"`;
1575
+ this.freeze();
1576
+ }
1577
+ async toOp(lowerer) {
1578
+ if (lowerer === void 0) throw new Error(`CreatePostgresRlsPolicyCall.toOp: a lowerer is required on the Postgres planner path (policy "${this.policy.name}" on table "${this.tableName}"). Pass the control adapter to createPostgresMigrationPlanner.`);
1579
+ return createRlsPolicy(this.schemaName, this.tableName, this.policy, lowerer);
1580
+ }
1581
+ renderTypeScript() {
1582
+ return `createRlsPolicy(${jsonToTsSource(this.schemaName)}, ${jsonToTsSource(this.tableName)}, ${jsonToTsSource(this.policy)})`;
1583
+ }
1584
+ };
1585
+ var DropPostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {
1586
+ factoryName = "dropRlsPolicy";
1587
+ operationClass = "destructive";
1588
+ schemaName;
1589
+ tableName;
1590
+ policyName;
1591
+ label;
1592
+ constructor(schemaName, tableName, policyName) {
1593
+ super();
1594
+ this.schemaName = schemaName;
1595
+ this.tableName = tableName;
1596
+ this.policyName = policyName;
1597
+ this.label = `Drop RLS policy "${policyName}" on "${tableName}"`;
1598
+ this.freeze();
1599
+ }
1600
+ async toOp(lowerer) {
1601
+ if (lowerer === void 0) throw new Error(`DropPostgresRlsPolicyCall.toOp: a lowerer is required on the Postgres planner path (policy "${this.policyName}" on table "${this.tableName}"). Pass the control adapter to createPostgresMigrationPlanner.`);
1602
+ return dropRlsPolicy(this.schemaName, this.tableName, this.policyName, lowerer);
1603
+ }
1604
+ renderTypeScript() {
1605
+ return `dropRlsPolicy(${jsonToTsSource(this.schemaName)}, ${jsonToTsSource(this.tableName)}, ${jsonToTsSource(this.policyName)})`;
1606
+ }
1607
+ };
1608
+ var EnableRowLevelSecurityCall = class extends PostgresOpFactoryCallNode {
1609
+ factoryName = "enableRowLevelSecurity";
1610
+ operationClass = "additive";
1611
+ schemaName;
1612
+ tableName;
1613
+ label;
1614
+ constructor(schemaName, tableName) {
1615
+ super();
1616
+ this.schemaName = schemaName;
1617
+ this.tableName = tableName;
1618
+ this.label = `Enable row-level security on "${tableName}"`;
1619
+ this.freeze();
1620
+ }
1621
+ async toOp(lowerer) {
1622
+ if (lowerer === void 0) throw new Error(`EnableRowLevelSecurityCall.toOp: a lowerer is required on the Postgres planner path (table "${this.tableName}"). Pass the control adapter to createPostgresMigrationPlanner.`);
1623
+ return enableRowLevelSecurity(this.schemaName, this.tableName, lowerer);
1624
+ }
1625
+ renderTypeScript() {
1626
+ return `enableRowLevelSecurity(${jsonToTsSource(this.schemaName)}, ${jsonToTsSource(this.tableName)})`;
1627
+ }
1628
+ };
1487
1629
  //#endregion
1488
- export { SetNotNullCall as C, installExtension as D, createExtension as E, SetDefaultCall as S, buildTargetDetails as T, DropDefaultCall as _, AddNotNullColumnWithTempDefaultCall as a, DropTableCall as b, AlterColumnTypeCall as c, CreateSchemaCall as d, CreateTableCall as f, DropConstraintCall as g, DropColumnCall as h, AddNotNullColumnDirectCall as i, CreateExtensionCall as l, DropCheckConstraintCall as m, AddColumnCall as n, AddPrimaryKeyCall as o, DataTransformCall as p, AddForeignKeyCall as r, AddUniqueCall as s, AddCheckConstraintCall as t, CreateIndexCall as u, DropIndexCall as v, postgresDefaultToDdlColumnDefault as w, RawSqlCall as x, DropNotNullCall as y };
1630
+ export { installExtension as A, EnableRowLevelSecurityCall as C, postgresDefaultToDdlColumnDefault as D, SetNotNullCall as E, buildTargetDetails as O, DropTableCall as S, SetDefaultCall as T, DropConstraintCall as _, AddNotNullColumnWithTempDefaultCall as a, DropNotNullCall as b, AlterColumnTypeCall as c, CreatePostgresRlsPolicyCall as d, CreateSchemaCall as f, DropColumnCall as g, DropCheckConstraintCall as h, AddNotNullColumnDirectCall as i, createExtension as k, CreateExtensionCall as l, DataTransformCall as m, AddColumnCall as n, AddPrimaryKeyCall as o, CreateTableCall as p, AddForeignKeyCall as r, AddUniqueCall as s, AddCheckConstraintCall as t, CreateIndexCall as u, DropDefaultCall as v, RawSqlCall as w, DropPostgresRlsPolicyCall as x, DropIndexCall as y };
1489
1631
 
1490
- //# sourceMappingURL=op-factory-call-D_p5vxwt.mjs.map
1632
+ //# sourceMappingURL=op-factory-call-tMksrGIq.mjs.map