@contember/engine-system-api 2.1.0-alpha.36 → 2.1.0-alpha.39

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 (1027) hide show
  1. package/dist/development/index.cjs +73 -0
  2. package/dist/development/index.cjs.map +1 -0
  3. package/dist/development/index.js +70 -0
  4. package/dist/development/index.js.map +1 -0
  5. package/dist/development/src/SystemContainer.cjs +82 -0
  6. package/dist/development/src/SystemContainer.cjs.map +1 -0
  7. package/dist/development/src/SystemContainer.js +82 -0
  8. package/dist/development/src/SystemContainer.js.map +1 -0
  9. package/dist/development/src/migrations/2018-08-04-102200-init.cjs +36 -0
  10. package/dist/development/src/migrations/2018-08-04-102200-init.cjs.map +1 -0
  11. package/dist/development/src/migrations/2018-08-04-102200-init.js +37 -0
  12. package/dist/development/src/migrations/2018-08-04-102200-init.js.map +1 -0
  13. package/dist/development/src/migrations/2018-08-05-130501-trigger-event-function.cjs +98 -0
  14. package/dist/development/src/migrations/2018-08-05-130501-trigger-event-function.cjs.map +1 -0
  15. package/dist/development/src/migrations/2018-08-05-130501-trigger-event-function.js +99 -0
  16. package/dist/development/src/migrations/2018-08-05-130501-trigger-event-function.js.map +1 -0
  17. package/dist/development/src/migrations/2019-01-14-143432-event-trx-id.cjs +16 -0
  18. package/dist/development/src/migrations/2019-01-14-143432-event-trx-id.cjs.map +1 -0
  19. package/dist/development/src/migrations/2019-01-14-143432-event-trx-id.js +17 -0
  20. package/dist/development/src/migrations/2019-01-14-143432-event-trx-id.js.map +1 -0
  21. package/dist/development/src/migrations/2019-02-04-154500-event-rebase.cjs +58 -0
  22. package/dist/development/src/migrations/2019-02-04-154500-event-rebase.cjs.map +1 -0
  23. package/dist/development/src/migrations/2019-02-04-154500-event-rebase.js +59 -0
  24. package/dist/development/src/migrations/2019-02-04-154500-event-rebase.js.map +1 -0
  25. package/dist/development/src/migrations/2019-03-18-104147-event-run-migration-struct.cjs +11 -0
  26. package/dist/development/src/migrations/2019-03-18-104147-event-run-migration-struct.cjs.map +1 -0
  27. package/dist/development/src/migrations/2019-03-18-104147-event-run-migration-struct.js +12 -0
  28. package/dist/development/src/migrations/2019-03-18-104147-event-run-migration-struct.js.map +1 -0
  29. package/dist/development/src/migrations/2019-07-29-103000-trigger-event-function-fix.cjs +65 -0
  30. package/dist/development/src/migrations/2019-07-29-103000-trigger-event-function-fix.cjs.map +1 -0
  31. package/dist/development/src/migrations/2019-07-29-103000-trigger-event-function-fix.js +66 -0
  32. package/dist/development/src/migrations/2019-07-29-103000-trigger-event-function-fix.js.map +1 -0
  33. package/dist/development/src/migrations/2019-11-28-100000-missing-setting-fallback.cjs +20 -0
  34. package/dist/development/src/migrations/2019-11-28-100000-missing-setting-fallback.cjs.map +1 -0
  35. package/dist/development/src/migrations/2019-11-28-100000-missing-setting-fallback.js +21 -0
  36. package/dist/development/src/migrations/2019-11-28-100000-missing-setting-fallback.js.map +1 -0
  37. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.cjs +21 -0
  38. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -0
  39. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.js +22 -0
  40. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -0
  41. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.cjs +188 -0
  42. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -0
  43. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.js +189 -0
  44. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -0
  45. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.cjs +128 -0
  46. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -0
  47. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.js +129 -0
  48. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -0
  49. package/dist/development/src/migrations/2021-03-23-110000-timestamp-fix.cjs +14 -0
  50. package/dist/development/src/migrations/2021-03-23-110000-timestamp-fix.cjs.map +1 -0
  51. package/dist/development/src/migrations/2021-03-23-110000-timestamp-fix.js +15 -0
  52. package/dist/development/src/migrations/2021-03-23-110000-timestamp-fix.js.map +1 -0
  53. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.cjs +286 -0
  54. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -0
  55. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.js +287 -0
  56. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -0
  57. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs +44 -0
  58. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -0
  59. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js +45 -0
  60. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -0
  61. package/dist/development/src/migrations/2021-12-21-155500-events-up.cjs +14 -0
  62. package/dist/development/src/migrations/2021-12-21-155500-events-up.cjs.map +1 -0
  63. package/dist/development/src/migrations/2021-12-21-155500-events-up.js +15 -0
  64. package/dist/development/src/migrations/2021-12-21-155500-events-up.js.map +1 -0
  65. package/dist/development/src/migrations/2022-02-08-132600-fn-search-path.cjs +15 -0
  66. package/dist/development/src/migrations/2022-02-08-132600-fn-search-path.cjs.map +1 -0
  67. package/dist/development/src/migrations/2022-02-08-132600-fn-search-path.js +16 -0
  68. package/dist/development/src/migrations/2022-02-08-132600-fn-search-path.js.map +1 -0
  69. package/dist/development/src/migrations/2022-02-08-140500-drop-deadcode.cjs +10 -0
  70. package/dist/development/src/migrations/2022-02-08-140500-drop-deadcode.cjs.map +1 -0
  71. package/dist/development/src/migrations/2022-02-08-140500-drop-deadcode.js +11 -0
  72. package/dist/development/src/migrations/2022-02-08-140500-drop-deadcode.js.map +1 -0
  73. package/dist/development/src/migrations/2022-02-08-144400-dynamic-stage-schema.cjs +49 -0
  74. package/dist/development/src/migrations/2022-02-08-144400-dynamic-stage-schema.cjs.map +1 -0
  75. package/dist/development/src/migrations/2022-02-08-144400-dynamic-stage-schema.js +50 -0
  76. package/dist/development/src/migrations/2022-02-08-144400-dynamic-stage-schema.js.map +1 -0
  77. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.cjs +59 -0
  78. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -0
  79. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.js +60 -0
  80. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -0
  81. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.cjs +67 -0
  82. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -0
  83. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.js +68 -0
  84. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -0
  85. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.cjs +45 -0
  86. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -0
  87. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.js +46 -0
  88. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -0
  89. package/dist/development/src/migrations/2023-10-24-140000-schema-nullable-checksum.cjs +11 -0
  90. package/dist/development/src/migrations/2023-10-24-140000-schema-nullable-checksum.cjs.map +1 -0
  91. package/dist/development/src/migrations/2023-10-24-140000-schema-nullable-checksum.js +12 -0
  92. package/dist/development/src/migrations/2023-10-24-140000-schema-nullable-checksum.js.map +1 -0
  93. package/dist/development/src/migrations/2024-06-28-150000-migrations-drop-sequence.cjs +15 -0
  94. package/dist/development/src/migrations/2024-06-28-150000-migrations-drop-sequence.cjs.map +1 -0
  95. package/dist/development/src/migrations/2024-06-28-150000-migrations-drop-sequence.js +16 -0
  96. package/dist/development/src/migrations/2024-06-28-150000-migrations-drop-sequence.js.map +1 -0
  97. package/dist/development/src/migrations/2024-06-28-153000-schema.cjs +18 -0
  98. package/dist/development/src/migrations/2024-06-28-153000-schema.cjs.map +1 -0
  99. package/dist/development/src/migrations/2024-06-28-153000-schema.js +19 -0
  100. package/dist/development/src/migrations/2024-06-28-153000-schema.js.map +1 -0
  101. package/dist/development/src/migrations/2024-06-28-153001-schema-init.cjs +12 -0
  102. package/dist/development/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -0
  103. package/dist/development/src/migrations/2024-06-28-153001-schema-init.js +13 -0
  104. package/dist/development/src/migrations/2024-06-28-153001-schema-init.js.map +1 -0
  105. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.cjs +11 -0
  106. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.cjs.map +1 -0
  107. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.js +12 -0
  108. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.js.map +1 -0
  109. package/dist/development/src/migrations/2025-03-14-110000-fix-missing-index.cjs +63 -0
  110. package/dist/development/src/migrations/2025-03-14-110000-fix-missing-index.cjs.map +1 -0
  111. package/dist/development/src/migrations/2025-03-14-110000-fix-missing-index.js +64 -0
  112. package/dist/development/src/migrations/2025-03-14-110000-fix-missing-index.js.map +1 -0
  113. package/dist/development/src/migrations/runner.cjs +106 -0
  114. package/dist/development/src/migrations/runner.cjs.map +1 -0
  115. package/dist/development/src/migrations/runner.js +106 -0
  116. package/dist/development/src/migrations/runner.js.map +1 -0
  117. package/dist/development/src/migrations/snapshot-factory.cjs +44 -0
  118. package/dist/development/src/migrations/snapshot-factory.cjs.map +1 -0
  119. package/dist/development/src/migrations/snapshot-factory.js +44 -0
  120. package/dist/development/src/migrations/snapshot-factory.js.map +1 -0
  121. package/dist/development/src/migrations/snapshot.cjs +184 -0
  122. package/dist/development/src/migrations/snapshot.cjs.map +1 -0
  123. package/dist/development/src/migrations/snapshot.js +185 -0
  124. package/dist/development/src/migrations/snapshot.js.map +1 -0
  125. package/dist/development/src/model/ProjectInitializer.cjs +45 -0
  126. package/dist/development/src/model/ProjectInitializer.cjs.map +1 -0
  127. package/dist/development/src/model/ProjectInitializer.js +45 -0
  128. package/dist/development/src/model/ProjectInitializer.js.map +1 -0
  129. package/dist/development/src/model/ProjectTruncateExecutor.cjs +31 -0
  130. package/dist/development/src/model/ProjectTruncateExecutor.cjs.map +1 -0
  131. package/dist/development/src/model/ProjectTruncateExecutor.js +31 -0
  132. package/dist/development/src/model/ProjectTruncateExecutor.js.map +1 -0
  133. package/dist/development/src/model/authorization/AuthorizationActions.cjs +14 -0
  134. package/dist/development/src/model/authorization/AuthorizationActions.cjs.map +1 -0
  135. package/dist/development/src/model/authorization/AuthorizationActions.js +15 -0
  136. package/dist/development/src/model/authorization/AuthorizationActions.js.map +1 -0
  137. package/dist/development/src/model/authorization/Identity.cjs +10 -0
  138. package/dist/development/src/model/authorization/Identity.cjs.map +1 -0
  139. package/dist/development/src/model/authorization/Identity.js +10 -0
  140. package/dist/development/src/model/authorization/Identity.js.map +1 -0
  141. package/dist/development/src/model/authorization/PermissionsFactory.cjs +17 -0
  142. package/dist/development/src/model/authorization/PermissionsFactory.cjs.map +1 -0
  143. package/dist/development/src/model/authorization/PermissionsFactory.js +17 -0
  144. package/dist/development/src/model/authorization/PermissionsFactory.js.map +1 -0
  145. package/dist/development/src/model/authorization/StagePermissionsFactory.cjs +56 -0
  146. package/dist/development/src/model/authorization/StagePermissionsFactory.cjs.map +1 -0
  147. package/dist/development/src/model/authorization/StagePermissionsFactory.js +56 -0
  148. package/dist/development/src/model/authorization/StagePermissionsFactory.js.map +1 -0
  149. package/dist/development/src/model/authorization/StageScope.cjs +19 -0
  150. package/dist/development/src/model/authorization/StageScope.cjs.map +1 -0
  151. package/dist/development/src/model/authorization/StageScope.js +19 -0
  152. package/dist/development/src/model/authorization/StageScope.js.map +1 -0
  153. package/dist/development/src/model/authorization/SwitchEvaluatorNode.cjs +14 -0
  154. package/dist/development/src/model/authorization/SwitchEvaluatorNode.cjs.map +1 -0
  155. package/dist/development/src/model/authorization/SwitchEvaluatorNode.js +14 -0
  156. package/dist/development/src/model/authorization/SwitchEvaluatorNode.js.map +1 -0
  157. package/dist/development/src/model/commands/CommandBus.cjs +16 -0
  158. package/dist/development/src/model/commands/CommandBus.cjs.map +1 -0
  159. package/dist/development/src/model/commands/CommandBus.js +16 -0
  160. package/dist/development/src/model/commands/CommandBus.js.map +1 -0
  161. package/dist/development/src/model/commands/events/TruncateEventsCommand.cjs +10 -0
  162. package/dist/development/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -0
  163. package/dist/development/src/model/commands/events/TruncateEventsCommand.js +10 -0
  164. package/dist/development/src/model/commands/events/TruncateEventsCommand.js.map +1 -0
  165. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.cjs +16 -0
  166. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -0
  167. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.js +16 -0
  168. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -0
  169. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.cjs +38 -0
  170. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -0
  171. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.js +38 -0
  172. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -0
  173. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.cjs +28 -0
  174. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -0
  175. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.js +28 -0
  176. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -0
  177. package/dist/development/src/model/commands/schema/SaveSchemaCommand.cjs +28 -0
  178. package/dist/development/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -0
  179. package/dist/development/src/model/commands/schema/SaveSchemaCommand.js +28 -0
  180. package/dist/development/src/model/commands/schema/SaveSchemaCommand.js.map +1 -0
  181. package/dist/development/src/model/commands/stages/CreateStageCommand.cjs +22 -0
  182. package/dist/development/src/model/commands/stages/CreateStageCommand.cjs.map +1 -0
  183. package/dist/development/src/model/commands/stages/CreateStageCommand.js +22 -0
  184. package/dist/development/src/model/commands/stages/CreateStageCommand.js.map +1 -0
  185. package/dist/development/src/model/database/DatabaseContext.cjs +29 -0
  186. package/dist/development/src/model/database/DatabaseContext.cjs.map +1 -0
  187. package/dist/development/src/model/database/DatabaseContext.js +29 -0
  188. package/dist/development/src/model/database/DatabaseContext.js.map +1 -0
  189. package/dist/development/src/model/dtos/ExecutedMigration.cjs +21 -0
  190. package/dist/development/src/model/dtos/ExecutedMigration.cjs.map +1 -0
  191. package/dist/development/src/model/dtos/ExecutedMigration.js +21 -0
  192. package/dist/development/src/model/dtos/ExecutedMigration.js.map +1 -0
  193. package/dist/development/src/model/events/EventResponseBuilder.cjs +59 -0
  194. package/dist/development/src/model/events/EventResponseBuilder.cjs.map +1 -0
  195. package/dist/development/src/model/events/EventResponseBuilder.js +59 -0
  196. package/dist/development/src/model/events/EventResponseBuilder.js.map +1 -0
  197. package/dist/development/src/model/events/EventResponseHelper.cjs +25 -0
  198. package/dist/development/src/model/events/EventResponseHelper.cjs.map +1 -0
  199. package/dist/development/src/model/events/EventResponseHelper.js +25 -0
  200. package/dist/development/src/model/events/EventResponseHelper.js.map +1 -0
  201. package/dist/development/src/model/events/identityUtils.cjs +16 -0
  202. package/dist/development/src/model/events/identityUtils.cjs.map +1 -0
  203. package/dist/development/src/model/events/identityUtils.js +16 -0
  204. package/dist/development/src/model/events/identityUtils.js.map +1 -0
  205. package/dist/development/src/model/events/types.cjs +69 -0
  206. package/dist/development/src/model/events/types.cjs.map +1 -0
  207. package/dist/development/src/model/events/types.js +69 -0
  208. package/dist/development/src/model/events/types.js.map +1 -0
  209. package/dist/development/src/model/helpers/modelHelpers.cjs +28 -0
  210. package/dist/development/src/model/helpers/modelHelpers.cjs.map +1 -0
  211. package/dist/development/src/model/helpers/modelHelpers.js +28 -0
  212. package/dist/development/src/model/helpers/modelHelpers.js.map +1 -0
  213. package/dist/development/src/model/helpers/stageHelpers.cjs +7 -0
  214. package/dist/development/src/model/helpers/stageHelpers.cjs.map +1 -0
  215. package/dist/development/src/model/helpers/stageHelpers.js +7 -0
  216. package/dist/development/src/model/helpers/stageHelpers.js.map +1 -0
  217. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs +35 -0
  218. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -0
  219. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.js +35 -0
  220. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -0
  221. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.cjs +17 -0
  222. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -0
  223. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.js +17 -0
  224. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -0
  225. package/dist/development/src/model/migrations/MigrationAlterer.cjs +52 -0
  226. package/dist/development/src/model/migrations/MigrationAlterer.cjs.map +1 -0
  227. package/dist/development/src/model/migrations/MigrationAlterer.js +52 -0
  228. package/dist/development/src/model/migrations/MigrationAlterer.js.map +1 -0
  229. package/dist/development/src/model/migrations/ProjectMigrator.cjs +245 -0
  230. package/dist/development/src/model/migrations/ProjectMigrator.cjs.map +1 -0
  231. package/dist/development/src/model/migrations/ProjectMigrator.js +245 -0
  232. package/dist/development/src/model/migrations/ProjectMigrator.js.map +1 -0
  233. package/dist/development/src/model/migrations/SchemaProvider.cjs +55 -0
  234. package/dist/development/src/model/migrations/SchemaProvider.cjs.map +1 -0
  235. package/dist/development/src/model/migrations/SchemaProvider.js +55 -0
  236. package/dist/development/src/model/migrations/SchemaProvider.js.map +1 -0
  237. package/dist/development/src/model/queries/events/EventQueryHelpers.cjs +48 -0
  238. package/dist/development/src/model/queries/events/EventQueryHelpers.cjs.map +1 -0
  239. package/dist/development/src/model/queries/events/EventQueryHelpers.js +48 -0
  240. package/dist/development/src/model/queries/events/EventQueryHelpers.js.map +1 -0
  241. package/dist/development/src/model/queries/events/EventsQuery.cjs +66 -0
  242. package/dist/development/src/model/queries/events/EventsQuery.cjs.map +1 -0
  243. package/dist/development/src/model/queries/events/EventsQuery.js +66 -0
  244. package/dist/development/src/model/queries/events/EventsQuery.js.map +1 -0
  245. package/dist/development/src/model/queries/events/LatestTransactionIdByStageQuery.cjs +15 -0
  246. package/dist/development/src/model/queries/events/LatestTransactionIdByStageQuery.cjs.map +1 -0
  247. package/dist/development/src/model/queries/events/LatestTransactionIdByStageQuery.js +15 -0
  248. package/dist/development/src/model/queries/events/LatestTransactionIdByStageQuery.js.map +1 -0
  249. package/dist/development/src/model/queries/events/OldValuesQuery.cjs +15 -0
  250. package/dist/development/src/model/queries/events/OldValuesQuery.cjs.map +1 -0
  251. package/dist/development/src/model/queries/events/OldValuesQuery.js +15 -0
  252. package/dist/development/src/model/queries/events/OldValuesQuery.js.map +1 -0
  253. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs +18 -0
  254. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -0
  255. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js +18 -0
  256. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -0
  257. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.cjs +19 -0
  258. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -0
  259. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.js +19 -0
  260. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -0
  261. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs +18 -0
  262. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs.map +1 -0
  263. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js +18 -0
  264. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -0
  265. package/dist/development/src/model/queries/schema/SchemaQuery.cjs +34 -0
  266. package/dist/development/src/model/queries/schema/SchemaQuery.cjs.map +1 -0
  267. package/dist/development/src/model/queries/schema/SchemaQuery.js +34 -0
  268. package/dist/development/src/model/queries/schema/SchemaQuery.js.map +1 -0
  269. package/dist/development/src/model/queries/stages/StageBySlugQuery.cjs +17 -0
  270. package/dist/development/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -0
  271. package/dist/development/src/model/queries/stages/StageBySlugQuery.js +17 -0
  272. package/dist/development/src/model/queries/stages/StageBySlugQuery.js.map +1 -0
  273. package/dist/development/src/model/queries/stages/StageQueryFactory.cjs +8 -0
  274. package/dist/development/src/model/queries/stages/StageQueryFactory.cjs.map +1 -0
  275. package/dist/development/src/model/queries/stages/StageQueryFactory.js +8 -0
  276. package/dist/development/src/model/queries/stages/StageQueryFactory.js.map +1 -0
  277. package/dist/development/src/model/queries/stages/StagesQuery.cjs +12 -0
  278. package/dist/development/src/model/queries/stages/StagesQuery.cjs.map +1 -0
  279. package/dist/development/src/model/queries/stages/StagesQuery.js +12 -0
  280. package/dist/development/src/model/queries/stages/StagesQuery.js.map +1 -0
  281. package/dist/development/src/model/stages/StageCreator.cjs +20 -0
  282. package/dist/development/src/model/stages/StageCreator.cjs.map +1 -0
  283. package/dist/development/src/model/stages/StageCreator.js +20 -0
  284. package/dist/development/src/model/stages/StageCreator.js.map +1 -0
  285. package/dist/development/src/resolvers/ResolverFactory.cjs +92 -0
  286. package/dist/development/src/resolvers/ResolverFactory.cjs.map +1 -0
  287. package/dist/development/src/resolvers/ResolverFactory.js +92 -0
  288. package/dist/development/src/resolvers/ResolverFactory.js.map +1 -0
  289. package/dist/development/src/resolvers/SystemResolverContext.cjs +37 -0
  290. package/dist/development/src/resolvers/SystemResolverContext.cjs.map +1 -0
  291. package/dist/development/src/resolvers/SystemResolverContext.js +37 -0
  292. package/dist/development/src/resolvers/SystemResolverContext.js.map +1 -0
  293. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs +113 -0
  294. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -0
  295. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js +113 -0
  296. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -0
  297. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.cjs +48 -0
  298. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -0
  299. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.js +48 -0
  300. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -0
  301. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs +15 -0
  302. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -0
  303. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js +15 -0
  304. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -0
  305. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs +45 -0
  306. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs.map +1 -0
  307. package/dist/development/src/resolvers/query/EventsQueryResolver.js +45 -0
  308. package/dist/development/src/resolvers/query/EventsQueryResolver.js.map +1 -0
  309. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs +29 -0
  310. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -0
  311. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.js +29 -0
  312. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -0
  313. package/dist/development/src/resolvers/query/SchemaQueryResolver.cjs +23 -0
  314. package/dist/development/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -0
  315. package/dist/development/src/resolvers/query/SchemaQueryResolver.js +23 -0
  316. package/dist/development/src/resolvers/query/SchemaQueryResolver.js.map +1 -0
  317. package/dist/development/src/resolvers/query/StagesQueryResolver.cjs +19 -0
  318. package/dist/development/src/resolvers/query/StagesQueryResolver.cjs.map +1 -0
  319. package/dist/development/src/resolvers/query/StagesQueryResolver.js +19 -0
  320. package/dist/development/src/resolvers/query/StagesQueryResolver.js.map +1 -0
  321. package/dist/development/src/resolvers/types/EventOldValuesResolver.cjs +10 -0
  322. package/dist/development/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -0
  323. package/dist/development/src/resolvers/types/EventOldValuesResolver.js +10 -0
  324. package/dist/development/src/resolvers/types/EventOldValuesResolver.js.map +1 -0
  325. package/dist/development/src/resolvers/types/OldValuesHelpers.cjs +21 -0
  326. package/dist/development/src/resolvers/types/OldValuesHelpers.cjs.map +1 -0
  327. package/dist/development/src/resolvers/types/OldValuesHelpers.js +21 -0
  328. package/dist/development/src/resolvers/types/OldValuesHelpers.js.map +1 -0
  329. package/dist/development/src/schema/dev.graphql.cjs +56 -0
  330. package/dist/development/src/schema/dev.graphql.cjs.map +1 -0
  331. package/dist/development/src/schema/dev.graphql.js +57 -0
  332. package/dist/development/src/schema/dev.graphql.js.map +1 -0
  333. package/dist/development/src/schema/system.graphql.cjs +211 -0
  334. package/dist/development/src/schema/system.graphql.cjs.map +1 -0
  335. package/dist/development/src/schema/system.graphql.js +212 -0
  336. package/dist/development/src/schema/system.graphql.js.map +1 -0
  337. package/dist/development/src/schema/types.cjs +46 -0
  338. package/dist/development/src/schema/types.cjs.map +1 -0
  339. package/dist/development/src/schema/types.js +46 -0
  340. package/dist/development/src/schema/types.js.map +1 -0
  341. package/dist/development/src/utils/MapSet.cjs +43 -0
  342. package/dist/development/src/utils/MapSet.cjs.map +1 -0
  343. package/dist/development/src/utils/MapSet.js +43 -0
  344. package/dist/development/src/utils/MapSet.js.map +1 -0
  345. package/dist/development/src/utils/Response.cjs +21 -0
  346. package/dist/development/src/utils/Response.cjs.map +1 -0
  347. package/dist/development/src/utils/Response.js +21 -0
  348. package/dist/development/src/utils/Response.js.map +1 -0
  349. package/dist/development/src/utils/assertNever.cjs +7 -0
  350. package/dist/development/src/utils/assertNever.cjs.map +1 -0
  351. package/dist/development/src/utils/assertNever.js +7 -0
  352. package/dist/development/src/utils/assertNever.js.map +1 -0
  353. package/dist/development/src/utils/batchQuery.cjs +22 -0
  354. package/dist/development/src/utils/batchQuery.cjs.map +1 -0
  355. package/dist/development/src/utils/batchQuery.js +22 -0
  356. package/dist/development/src/utils/batchQuery.js.map +1 -0
  357. package/dist/development/src/utils/exceptions.cjs +9 -0
  358. package/dist/development/src/utils/exceptions.cjs.map +1 -0
  359. package/dist/development/src/utils/exceptions.js +9 -0
  360. package/dist/development/src/utils/exceptions.js.map +1 -0
  361. package/dist/development/src/utils/tick.cjs +5 -0
  362. package/dist/development/src/utils/tick.cjs.map +1 -0
  363. package/dist/development/src/utils/tick.js +5 -0
  364. package/dist/development/src/utils/tick.js.map +1 -0
  365. package/dist/development/src/utils/tuple.cjs +5 -0
  366. package/dist/development/src/utils/tuple.cjs.map +1 -0
  367. package/dist/development/src/utils/tuple.js +5 -0
  368. package/dist/development/src/utils/tuple.js.map +1 -0
  369. package/dist/production/index.cjs +73 -0
  370. package/dist/production/index.cjs.map +1 -0
  371. package/dist/production/index.js +70 -0
  372. package/dist/production/index.js.map +1 -0
  373. package/dist/production/src/SystemContainer.cjs +82 -0
  374. package/dist/production/src/SystemContainer.cjs.map +1 -0
  375. package/dist/production/src/SystemContainer.js +82 -0
  376. package/dist/production/src/SystemContainer.js.map +1 -0
  377. package/dist/production/src/migrations/2018-08-04-102200-init.cjs +36 -0
  378. package/dist/production/src/migrations/2018-08-04-102200-init.cjs.map +1 -0
  379. package/dist/production/src/migrations/2018-08-04-102200-init.js +37 -0
  380. package/dist/production/src/migrations/2018-08-04-102200-init.js.map +1 -0
  381. package/dist/production/src/migrations/2018-08-05-130501-trigger-event-function.cjs +98 -0
  382. package/dist/production/src/migrations/2018-08-05-130501-trigger-event-function.cjs.map +1 -0
  383. package/dist/production/src/migrations/2018-08-05-130501-trigger-event-function.js +99 -0
  384. package/dist/production/src/migrations/2018-08-05-130501-trigger-event-function.js.map +1 -0
  385. package/dist/production/src/migrations/2019-01-14-143432-event-trx-id.cjs +16 -0
  386. package/dist/production/src/migrations/2019-01-14-143432-event-trx-id.cjs.map +1 -0
  387. package/dist/production/src/migrations/2019-01-14-143432-event-trx-id.js +17 -0
  388. package/dist/production/src/migrations/2019-01-14-143432-event-trx-id.js.map +1 -0
  389. package/dist/production/src/migrations/2019-02-04-154500-event-rebase.cjs +58 -0
  390. package/dist/production/src/migrations/2019-02-04-154500-event-rebase.cjs.map +1 -0
  391. package/dist/production/src/migrations/2019-02-04-154500-event-rebase.js +59 -0
  392. package/dist/production/src/migrations/2019-02-04-154500-event-rebase.js.map +1 -0
  393. package/dist/production/src/migrations/2019-03-18-104147-event-run-migration-struct.cjs +11 -0
  394. package/dist/production/src/migrations/2019-03-18-104147-event-run-migration-struct.cjs.map +1 -0
  395. package/dist/production/src/migrations/2019-03-18-104147-event-run-migration-struct.js +12 -0
  396. package/dist/production/src/migrations/2019-03-18-104147-event-run-migration-struct.js.map +1 -0
  397. package/dist/production/src/migrations/2019-07-29-103000-trigger-event-function-fix.cjs +65 -0
  398. package/dist/production/src/migrations/2019-07-29-103000-trigger-event-function-fix.cjs.map +1 -0
  399. package/dist/production/src/migrations/2019-07-29-103000-trigger-event-function-fix.js +66 -0
  400. package/dist/production/src/migrations/2019-07-29-103000-trigger-event-function-fix.js.map +1 -0
  401. package/dist/production/src/migrations/2019-11-28-100000-missing-setting-fallback.cjs +20 -0
  402. package/dist/production/src/migrations/2019-11-28-100000-missing-setting-fallback.cjs.map +1 -0
  403. package/dist/production/src/migrations/2019-11-28-100000-missing-setting-fallback.js +21 -0
  404. package/dist/production/src/migrations/2019-11-28-100000-missing-setting-fallback.js.map +1 -0
  405. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.cjs +21 -0
  406. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -0
  407. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.js +22 -0
  408. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -0
  409. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.cjs +188 -0
  410. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -0
  411. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.js +189 -0
  412. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -0
  413. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.cjs +128 -0
  414. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -0
  415. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.js +129 -0
  416. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -0
  417. package/dist/production/src/migrations/2021-03-23-110000-timestamp-fix.cjs +14 -0
  418. package/dist/production/src/migrations/2021-03-23-110000-timestamp-fix.cjs.map +1 -0
  419. package/dist/production/src/migrations/2021-03-23-110000-timestamp-fix.js +15 -0
  420. package/dist/production/src/migrations/2021-03-23-110000-timestamp-fix.js.map +1 -0
  421. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.cjs +286 -0
  422. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -0
  423. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.js +287 -0
  424. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -0
  425. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs +44 -0
  426. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -0
  427. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js +45 -0
  428. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -0
  429. package/dist/production/src/migrations/2021-12-21-155500-events-up.cjs +14 -0
  430. package/dist/production/src/migrations/2021-12-21-155500-events-up.cjs.map +1 -0
  431. package/dist/production/src/migrations/2021-12-21-155500-events-up.js +15 -0
  432. package/dist/production/src/migrations/2021-12-21-155500-events-up.js.map +1 -0
  433. package/dist/production/src/migrations/2022-02-08-132600-fn-search-path.cjs +15 -0
  434. package/dist/production/src/migrations/2022-02-08-132600-fn-search-path.cjs.map +1 -0
  435. package/dist/production/src/migrations/2022-02-08-132600-fn-search-path.js +16 -0
  436. package/dist/production/src/migrations/2022-02-08-132600-fn-search-path.js.map +1 -0
  437. package/dist/production/src/migrations/2022-02-08-140500-drop-deadcode.cjs +10 -0
  438. package/dist/production/src/migrations/2022-02-08-140500-drop-deadcode.cjs.map +1 -0
  439. package/dist/production/src/migrations/2022-02-08-140500-drop-deadcode.js +11 -0
  440. package/dist/production/src/migrations/2022-02-08-140500-drop-deadcode.js.map +1 -0
  441. package/dist/production/src/migrations/2022-02-08-144400-dynamic-stage-schema.cjs +49 -0
  442. package/dist/production/src/migrations/2022-02-08-144400-dynamic-stage-schema.cjs.map +1 -0
  443. package/dist/production/src/migrations/2022-02-08-144400-dynamic-stage-schema.js +50 -0
  444. package/dist/production/src/migrations/2022-02-08-144400-dynamic-stage-schema.js.map +1 -0
  445. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.cjs +59 -0
  446. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -0
  447. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.js +60 -0
  448. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -0
  449. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs +67 -0
  450. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -0
  451. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js +68 -0
  452. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -0
  453. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs +45 -0
  454. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -0
  455. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js +46 -0
  456. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -0
  457. package/dist/production/src/migrations/2023-10-24-140000-schema-nullable-checksum.cjs +11 -0
  458. package/dist/production/src/migrations/2023-10-24-140000-schema-nullable-checksum.cjs.map +1 -0
  459. package/dist/production/src/migrations/2023-10-24-140000-schema-nullable-checksum.js +12 -0
  460. package/dist/production/src/migrations/2023-10-24-140000-schema-nullable-checksum.js.map +1 -0
  461. package/dist/production/src/migrations/2024-06-28-150000-migrations-drop-sequence.cjs +15 -0
  462. package/dist/production/src/migrations/2024-06-28-150000-migrations-drop-sequence.cjs.map +1 -0
  463. package/dist/production/src/migrations/2024-06-28-150000-migrations-drop-sequence.js +16 -0
  464. package/dist/production/src/migrations/2024-06-28-150000-migrations-drop-sequence.js.map +1 -0
  465. package/dist/production/src/migrations/2024-06-28-153000-schema.cjs +18 -0
  466. package/dist/production/src/migrations/2024-06-28-153000-schema.cjs.map +1 -0
  467. package/dist/production/src/migrations/2024-06-28-153000-schema.js +19 -0
  468. package/dist/production/src/migrations/2024-06-28-153000-schema.js.map +1 -0
  469. package/dist/production/src/migrations/2024-06-28-153001-schema-init.cjs +12 -0
  470. package/dist/production/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -0
  471. package/dist/production/src/migrations/2024-06-28-153001-schema-init.js +13 -0
  472. package/dist/production/src/migrations/2024-06-28-153001-schema-init.js.map +1 -0
  473. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.cjs +11 -0
  474. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.cjs.map +1 -0
  475. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.js +12 -0
  476. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.js.map +1 -0
  477. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.cjs +63 -0
  478. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.cjs.map +1 -0
  479. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.js +64 -0
  480. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.js.map +1 -0
  481. package/dist/production/src/migrations/runner.cjs +106 -0
  482. package/dist/production/src/migrations/runner.cjs.map +1 -0
  483. package/dist/production/src/migrations/runner.js +106 -0
  484. package/dist/production/src/migrations/runner.js.map +1 -0
  485. package/dist/production/src/migrations/snapshot-factory.cjs +44 -0
  486. package/dist/production/src/migrations/snapshot-factory.cjs.map +1 -0
  487. package/dist/production/src/migrations/snapshot-factory.js +44 -0
  488. package/dist/production/src/migrations/snapshot-factory.js.map +1 -0
  489. package/dist/production/src/migrations/snapshot.cjs +184 -0
  490. package/dist/production/src/migrations/snapshot.cjs.map +1 -0
  491. package/dist/production/src/migrations/snapshot.js +185 -0
  492. package/dist/production/src/migrations/snapshot.js.map +1 -0
  493. package/dist/production/src/model/ProjectInitializer.cjs +45 -0
  494. package/dist/production/src/model/ProjectInitializer.cjs.map +1 -0
  495. package/dist/production/src/model/ProjectInitializer.js +45 -0
  496. package/dist/production/src/model/ProjectInitializer.js.map +1 -0
  497. package/dist/production/src/model/ProjectTruncateExecutor.cjs +31 -0
  498. package/dist/production/src/model/ProjectTruncateExecutor.cjs.map +1 -0
  499. package/dist/production/src/model/ProjectTruncateExecutor.js +31 -0
  500. package/dist/production/src/model/ProjectTruncateExecutor.js.map +1 -0
  501. package/dist/production/src/model/authorization/AuthorizationActions.cjs +14 -0
  502. package/dist/production/src/model/authorization/AuthorizationActions.cjs.map +1 -0
  503. package/dist/production/src/model/authorization/AuthorizationActions.js +15 -0
  504. package/dist/production/src/model/authorization/AuthorizationActions.js.map +1 -0
  505. package/dist/production/src/model/authorization/Identity.cjs +10 -0
  506. package/dist/production/src/model/authorization/Identity.cjs.map +1 -0
  507. package/dist/production/src/model/authorization/Identity.js +10 -0
  508. package/dist/production/src/model/authorization/Identity.js.map +1 -0
  509. package/dist/production/src/model/authorization/PermissionsFactory.cjs +17 -0
  510. package/dist/production/src/model/authorization/PermissionsFactory.cjs.map +1 -0
  511. package/dist/production/src/model/authorization/PermissionsFactory.js +17 -0
  512. package/dist/production/src/model/authorization/PermissionsFactory.js.map +1 -0
  513. package/dist/production/src/model/authorization/StagePermissionsFactory.cjs +56 -0
  514. package/dist/production/src/model/authorization/StagePermissionsFactory.cjs.map +1 -0
  515. package/dist/production/src/model/authorization/StagePermissionsFactory.js +56 -0
  516. package/dist/production/src/model/authorization/StagePermissionsFactory.js.map +1 -0
  517. package/dist/production/src/model/authorization/StageScope.cjs +19 -0
  518. package/dist/production/src/model/authorization/StageScope.cjs.map +1 -0
  519. package/dist/production/src/model/authorization/StageScope.js +19 -0
  520. package/dist/production/src/model/authorization/StageScope.js.map +1 -0
  521. package/dist/production/src/model/authorization/SwitchEvaluatorNode.cjs +14 -0
  522. package/dist/production/src/model/authorization/SwitchEvaluatorNode.cjs.map +1 -0
  523. package/dist/production/src/model/authorization/SwitchEvaluatorNode.js +14 -0
  524. package/dist/production/src/model/authorization/SwitchEvaluatorNode.js.map +1 -0
  525. package/dist/production/src/model/commands/CommandBus.cjs +16 -0
  526. package/dist/production/src/model/commands/CommandBus.cjs.map +1 -0
  527. package/dist/production/src/model/commands/CommandBus.js +16 -0
  528. package/dist/production/src/model/commands/CommandBus.js.map +1 -0
  529. package/dist/production/src/model/commands/events/TruncateEventsCommand.cjs +10 -0
  530. package/dist/production/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -0
  531. package/dist/production/src/model/commands/events/TruncateEventsCommand.js +10 -0
  532. package/dist/production/src/model/commands/events/TruncateEventsCommand.js.map +1 -0
  533. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.cjs +16 -0
  534. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -0
  535. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.js +16 -0
  536. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -0
  537. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.cjs +38 -0
  538. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -0
  539. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.js +38 -0
  540. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -0
  541. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.cjs +28 -0
  542. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -0
  543. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.js +28 -0
  544. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -0
  545. package/dist/production/src/model/commands/schema/SaveSchemaCommand.cjs +28 -0
  546. package/dist/production/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -0
  547. package/dist/production/src/model/commands/schema/SaveSchemaCommand.js +28 -0
  548. package/dist/production/src/model/commands/schema/SaveSchemaCommand.js.map +1 -0
  549. package/dist/production/src/model/commands/stages/CreateStageCommand.cjs +22 -0
  550. package/dist/production/src/model/commands/stages/CreateStageCommand.cjs.map +1 -0
  551. package/dist/production/src/model/commands/stages/CreateStageCommand.js +22 -0
  552. package/dist/production/src/model/commands/stages/CreateStageCommand.js.map +1 -0
  553. package/dist/production/src/model/database/DatabaseContext.cjs +29 -0
  554. package/dist/production/src/model/database/DatabaseContext.cjs.map +1 -0
  555. package/dist/production/src/model/database/DatabaseContext.js +29 -0
  556. package/dist/production/src/model/database/DatabaseContext.js.map +1 -0
  557. package/dist/production/src/model/dtos/ExecutedMigration.cjs +21 -0
  558. package/dist/production/src/model/dtos/ExecutedMigration.cjs.map +1 -0
  559. package/dist/production/src/model/dtos/ExecutedMigration.js +21 -0
  560. package/dist/production/src/model/dtos/ExecutedMigration.js.map +1 -0
  561. package/dist/production/src/model/events/EventResponseBuilder.cjs +59 -0
  562. package/dist/production/src/model/events/EventResponseBuilder.cjs.map +1 -0
  563. package/dist/production/src/model/events/EventResponseBuilder.js +59 -0
  564. package/dist/production/src/model/events/EventResponseBuilder.js.map +1 -0
  565. package/dist/production/src/model/events/EventResponseHelper.cjs +25 -0
  566. package/dist/production/src/model/events/EventResponseHelper.cjs.map +1 -0
  567. package/dist/production/src/model/events/EventResponseHelper.js +25 -0
  568. package/dist/production/src/model/events/EventResponseHelper.js.map +1 -0
  569. package/dist/production/src/model/events/identityUtils.cjs +16 -0
  570. package/dist/production/src/model/events/identityUtils.cjs.map +1 -0
  571. package/dist/production/src/model/events/identityUtils.js +16 -0
  572. package/dist/production/src/model/events/identityUtils.js.map +1 -0
  573. package/dist/production/src/model/events/types.cjs +69 -0
  574. package/dist/production/src/model/events/types.cjs.map +1 -0
  575. package/dist/production/src/model/events/types.js +69 -0
  576. package/dist/production/src/model/events/types.js.map +1 -0
  577. package/dist/production/src/model/helpers/modelHelpers.cjs +28 -0
  578. package/dist/production/src/model/helpers/modelHelpers.cjs.map +1 -0
  579. package/dist/production/src/model/helpers/modelHelpers.js +28 -0
  580. package/dist/production/src/model/helpers/modelHelpers.js.map +1 -0
  581. package/dist/production/src/model/helpers/stageHelpers.cjs +7 -0
  582. package/dist/production/src/model/helpers/stageHelpers.cjs.map +1 -0
  583. package/dist/production/src/model/helpers/stageHelpers.js +7 -0
  584. package/dist/production/src/model/helpers/stageHelpers.js.map +1 -0
  585. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs +35 -0
  586. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -0
  587. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.js +35 -0
  588. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -0
  589. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.cjs +17 -0
  590. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -0
  591. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.js +17 -0
  592. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -0
  593. package/dist/production/src/model/migrations/MigrationAlterer.cjs +52 -0
  594. package/dist/production/src/model/migrations/MigrationAlterer.cjs.map +1 -0
  595. package/dist/production/src/model/migrations/MigrationAlterer.js +52 -0
  596. package/dist/production/src/model/migrations/MigrationAlterer.js.map +1 -0
  597. package/dist/production/src/model/migrations/ProjectMigrator.cjs +245 -0
  598. package/dist/production/src/model/migrations/ProjectMigrator.cjs.map +1 -0
  599. package/dist/production/src/model/migrations/ProjectMigrator.js +245 -0
  600. package/dist/production/src/model/migrations/ProjectMigrator.js.map +1 -0
  601. package/dist/production/src/model/migrations/SchemaProvider.cjs +55 -0
  602. package/dist/production/src/model/migrations/SchemaProvider.cjs.map +1 -0
  603. package/dist/production/src/model/migrations/SchemaProvider.js +55 -0
  604. package/dist/production/src/model/migrations/SchemaProvider.js.map +1 -0
  605. package/dist/production/src/model/queries/events/EventQueryHelpers.cjs +48 -0
  606. package/dist/production/src/model/queries/events/EventQueryHelpers.cjs.map +1 -0
  607. package/dist/production/src/model/queries/events/EventQueryHelpers.js +48 -0
  608. package/dist/production/src/model/queries/events/EventQueryHelpers.js.map +1 -0
  609. package/dist/production/src/model/queries/events/EventsQuery.cjs +66 -0
  610. package/dist/production/src/model/queries/events/EventsQuery.cjs.map +1 -0
  611. package/dist/production/src/model/queries/events/EventsQuery.js +66 -0
  612. package/dist/production/src/model/queries/events/EventsQuery.js.map +1 -0
  613. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.cjs +15 -0
  614. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.cjs.map +1 -0
  615. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.js +15 -0
  616. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.js.map +1 -0
  617. package/dist/production/src/model/queries/events/OldValuesQuery.cjs +15 -0
  618. package/dist/production/src/model/queries/events/OldValuesQuery.cjs.map +1 -0
  619. package/dist/production/src/model/queries/events/OldValuesQuery.js +15 -0
  620. package/dist/production/src/model/queries/events/OldValuesQuery.js.map +1 -0
  621. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs +18 -0
  622. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -0
  623. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js +18 -0
  624. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -0
  625. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.cjs +19 -0
  626. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -0
  627. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.js +19 -0
  628. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -0
  629. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs +18 -0
  630. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs.map +1 -0
  631. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js +18 -0
  632. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -0
  633. package/dist/production/src/model/queries/schema/SchemaQuery.cjs +34 -0
  634. package/dist/production/src/model/queries/schema/SchemaQuery.cjs.map +1 -0
  635. package/dist/production/src/model/queries/schema/SchemaQuery.js +34 -0
  636. package/dist/production/src/model/queries/schema/SchemaQuery.js.map +1 -0
  637. package/dist/production/src/model/queries/stages/StageBySlugQuery.cjs +17 -0
  638. package/dist/production/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -0
  639. package/dist/production/src/model/queries/stages/StageBySlugQuery.js +17 -0
  640. package/dist/production/src/model/queries/stages/StageBySlugQuery.js.map +1 -0
  641. package/dist/production/src/model/queries/stages/StageQueryFactory.cjs +8 -0
  642. package/dist/production/src/model/queries/stages/StageQueryFactory.cjs.map +1 -0
  643. package/dist/production/src/model/queries/stages/StageQueryFactory.js +8 -0
  644. package/dist/production/src/model/queries/stages/StageQueryFactory.js.map +1 -0
  645. package/dist/production/src/model/queries/stages/StagesQuery.cjs +12 -0
  646. package/dist/production/src/model/queries/stages/StagesQuery.cjs.map +1 -0
  647. package/dist/production/src/model/queries/stages/StagesQuery.js +12 -0
  648. package/dist/production/src/model/queries/stages/StagesQuery.js.map +1 -0
  649. package/dist/production/src/model/stages/StageCreator.cjs +20 -0
  650. package/dist/production/src/model/stages/StageCreator.cjs.map +1 -0
  651. package/dist/production/src/model/stages/StageCreator.js +20 -0
  652. package/dist/production/src/model/stages/StageCreator.js.map +1 -0
  653. package/dist/production/src/resolvers/ResolverFactory.cjs +92 -0
  654. package/dist/production/src/resolvers/ResolverFactory.cjs.map +1 -0
  655. package/dist/production/src/resolvers/ResolverFactory.js +92 -0
  656. package/dist/production/src/resolvers/ResolverFactory.js.map +1 -0
  657. package/dist/production/src/resolvers/SystemResolverContext.cjs +37 -0
  658. package/dist/production/src/resolvers/SystemResolverContext.cjs.map +1 -0
  659. package/dist/production/src/resolvers/SystemResolverContext.js +37 -0
  660. package/dist/production/src/resolvers/SystemResolverContext.js.map +1 -0
  661. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs +113 -0
  662. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -0
  663. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js +113 -0
  664. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -0
  665. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.cjs +48 -0
  666. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -0
  667. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.js +48 -0
  668. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -0
  669. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs +15 -0
  670. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -0
  671. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js +15 -0
  672. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -0
  673. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs +45 -0
  674. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs.map +1 -0
  675. package/dist/production/src/resolvers/query/EventsQueryResolver.js +45 -0
  676. package/dist/production/src/resolvers/query/EventsQueryResolver.js.map +1 -0
  677. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs +29 -0
  678. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -0
  679. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.js +29 -0
  680. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -0
  681. package/dist/production/src/resolvers/query/SchemaQueryResolver.cjs +23 -0
  682. package/dist/production/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -0
  683. package/dist/production/src/resolvers/query/SchemaQueryResolver.js +23 -0
  684. package/dist/production/src/resolvers/query/SchemaQueryResolver.js.map +1 -0
  685. package/dist/production/src/resolvers/query/StagesQueryResolver.cjs +19 -0
  686. package/dist/production/src/resolvers/query/StagesQueryResolver.cjs.map +1 -0
  687. package/dist/production/src/resolvers/query/StagesQueryResolver.js +19 -0
  688. package/dist/production/src/resolvers/query/StagesQueryResolver.js.map +1 -0
  689. package/dist/production/src/resolvers/types/EventOldValuesResolver.cjs +10 -0
  690. package/dist/production/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -0
  691. package/dist/production/src/resolvers/types/EventOldValuesResolver.js +10 -0
  692. package/dist/production/src/resolvers/types/EventOldValuesResolver.js.map +1 -0
  693. package/dist/production/src/resolvers/types/OldValuesHelpers.cjs +21 -0
  694. package/dist/production/src/resolvers/types/OldValuesHelpers.cjs.map +1 -0
  695. package/dist/production/src/resolvers/types/OldValuesHelpers.js +21 -0
  696. package/dist/production/src/resolvers/types/OldValuesHelpers.js.map +1 -0
  697. package/dist/production/src/schema/dev.graphql.cjs +56 -0
  698. package/dist/production/src/schema/dev.graphql.cjs.map +1 -0
  699. package/dist/production/src/schema/dev.graphql.js +57 -0
  700. package/dist/production/src/schema/dev.graphql.js.map +1 -0
  701. package/dist/production/src/schema/system.graphql.cjs +211 -0
  702. package/dist/production/src/schema/system.graphql.cjs.map +1 -0
  703. package/dist/production/src/schema/system.graphql.js +212 -0
  704. package/dist/production/src/schema/system.graphql.js.map +1 -0
  705. package/dist/production/src/schema/types.cjs +46 -0
  706. package/dist/production/src/schema/types.cjs.map +1 -0
  707. package/dist/production/src/schema/types.js +46 -0
  708. package/dist/production/src/schema/types.js.map +1 -0
  709. package/dist/production/src/utils/MapSet.cjs +43 -0
  710. package/dist/production/src/utils/MapSet.cjs.map +1 -0
  711. package/dist/production/src/utils/MapSet.js +43 -0
  712. package/dist/production/src/utils/MapSet.js.map +1 -0
  713. package/dist/production/src/utils/Response.cjs +21 -0
  714. package/dist/production/src/utils/Response.cjs.map +1 -0
  715. package/dist/production/src/utils/Response.js +21 -0
  716. package/dist/production/src/utils/Response.js.map +1 -0
  717. package/dist/production/src/utils/assertNever.cjs +7 -0
  718. package/dist/production/src/utils/assertNever.cjs.map +1 -0
  719. package/dist/production/src/utils/assertNever.js +7 -0
  720. package/dist/production/src/utils/assertNever.js.map +1 -0
  721. package/dist/production/src/utils/batchQuery.cjs +22 -0
  722. package/dist/production/src/utils/batchQuery.cjs.map +1 -0
  723. package/dist/production/src/utils/batchQuery.js +22 -0
  724. package/dist/production/src/utils/batchQuery.js.map +1 -0
  725. package/dist/production/src/utils/exceptions.cjs +9 -0
  726. package/dist/production/src/utils/exceptions.cjs.map +1 -0
  727. package/dist/production/src/utils/exceptions.js +9 -0
  728. package/dist/production/src/utils/exceptions.js.map +1 -0
  729. package/dist/production/src/utils/tick.cjs +5 -0
  730. package/dist/production/src/utils/tick.cjs.map +1 -0
  731. package/dist/production/src/utils/tick.js +5 -0
  732. package/dist/production/src/utils/tick.js.map +1 -0
  733. package/dist/production/src/utils/tuple.cjs +5 -0
  734. package/dist/production/src/utils/tuple.cjs.map +1 -0
  735. package/dist/production/src/utils/tuple.js +5 -0
  736. package/dist/production/src/utils/tuple.js.map +1 -0
  737. package/dist/tests/cases/migrations/2020-05-06-150000-composed-primary.test.d.ts +2 -0
  738. package/dist/tests/cases/migrations/2020-05-06-150000-composed-primary.test.d.ts.map +1 -0
  739. package/dist/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.d.ts +2 -0
  740. package/dist/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.d.ts.map +1 -0
  741. package/dist/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.d.ts +2 -0
  742. package/dist/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.d.ts.map +1 -0
  743. package/dist/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.d.ts +2 -0
  744. package/dist/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.d.ts.map +1 -0
  745. package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.d.ts +2 -0
  746. package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.d.ts.map +1 -0
  747. package/dist/tests/cases/migrations/2025-03-14-110000-fix-missing-index.test.d.ts +2 -0
  748. package/dist/tests/cases/migrations/2025-03-14-110000-fix-missing-index.test.d.ts.map +1 -0
  749. package/dist/tests/cases/unit/eventsQuery.test.d.ts +2 -0
  750. package/dist/tests/cases/unit/eventsQuery.test.d.ts.map +1 -0
  751. package/dist/tests/src/constants.d.ts +2 -0
  752. package/dist/tests/src/constants.d.ts.map +1 -0
  753. package/dist/tests/src/utils.d.ts +6 -0
  754. package/dist/tests/src/utils.d.ts.map +1 -0
  755. package/dist/tests/src/uuid.d.ts +3 -0
  756. package/dist/tests/src/uuid.d.ts.map +1 -0
  757. package/dist/tests/tsconfig.tsbuildinfo +1 -0
  758. package/dist/types/StagingDisabledError.d.ts +3 -0
  759. package/dist/types/StagingDisabledError.d.ts.map +1 -0
  760. package/dist/types/SystemContainer.d.ts +79 -0
  761. package/dist/types/SystemContainer.d.ts.map +1 -0
  762. package/dist/types/bin/runMigrations.d.ts +2 -0
  763. package/dist/types/bin/runMigrations.d.ts.map +1 -0
  764. package/dist/types/index.d.ts +9 -0
  765. package/dist/types/index.d.ts.map +1 -0
  766. package/dist/types/migrations/2018-08-04-102200-init.d.ts +3 -0
  767. package/dist/types/migrations/2018-08-04-102200-init.d.ts.map +1 -0
  768. package/dist/types/migrations/2018-08-05-130501-trigger-event-function.d.ts +3 -0
  769. package/dist/types/migrations/2018-08-05-130501-trigger-event-function.d.ts.map +1 -0
  770. package/dist/types/migrations/2019-01-14-143432-event-trx-id.d.ts +3 -0
  771. package/dist/types/migrations/2019-01-14-143432-event-trx-id.d.ts.map +1 -0
  772. package/dist/types/migrations/2019-02-04-154500-event-rebase.d.ts +3 -0
  773. package/dist/types/migrations/2019-02-04-154500-event-rebase.d.ts.map +1 -0
  774. package/dist/types/migrations/2019-03-18-104147-event-run-migration-struct.d.ts +3 -0
  775. package/dist/types/migrations/2019-03-18-104147-event-run-migration-struct.d.ts.map +1 -0
  776. package/dist/types/migrations/2019-07-29-103000-trigger-event-function-fix.d.ts +3 -0
  777. package/dist/types/migrations/2019-07-29-103000-trigger-event-function-fix.d.ts.map +1 -0
  778. package/dist/types/migrations/2019-11-28-100000-missing-setting-fallback.d.ts +3 -0
  779. package/dist/types/migrations/2019-11-28-100000-missing-setting-fallback.d.ts.map +1 -0
  780. package/dist/types/migrations/2020-03-27-130000-project-migrations.d.ts +4 -0
  781. package/dist/types/migrations/2020-03-27-130000-project-migrations.d.ts.map +1 -0
  782. package/dist/types/migrations/2020-05-06-150000-composed-primary.d.ts +5 -0
  783. package/dist/types/migrations/2020-05-06-150000-composed-primary.d.ts.map +1 -0
  784. package/dist/types/migrations/2020-06-01-103000-event-trigger-perf.d.ts +5 -0
  785. package/dist/types/migrations/2020-06-01-103000-event-trigger-perf.d.ts.map +1 -0
  786. package/dist/types/migrations/2021-03-23-110000-timestamp-fix.d.ts +3 -0
  787. package/dist/types/migrations/2021-03-23-110000-timestamp-fix.d.ts.map +1 -0
  788. package/dist/types/migrations/2021-05-07-155800-event-log-rework.d.ts +5 -0
  789. package/dist/types/migrations/2021-05-07-155800-event-log-rework.d.ts.map +1 -0
  790. package/dist/types/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts +5 -0
  791. package/dist/types/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts.map +1 -0
  792. package/dist/types/migrations/2021-12-21-155500-events-up.d.ts +3 -0
  793. package/dist/types/migrations/2021-12-21-155500-events-up.d.ts.map +1 -0
  794. package/dist/types/migrations/2022-02-08-132600-fn-search-path.d.ts +3 -0
  795. package/dist/types/migrations/2022-02-08-132600-fn-search-path.d.ts.map +1 -0
  796. package/dist/types/migrations/2022-02-08-140500-drop-deadcode.d.ts +3 -0
  797. package/dist/types/migrations/2022-02-08-140500-drop-deadcode.d.ts.map +1 -0
  798. package/dist/types/migrations/2022-02-08-144400-dynamic-stage-schema.d.ts +3 -0
  799. package/dist/types/migrations/2022-02-08-144400-dynamic-stage-schema.d.ts.map +1 -0
  800. package/dist/types/migrations/2022-10-03-110000-table-on-delete.d.ts +4 -0
  801. package/dist/types/migrations/2022-10-03-110000-table-on-delete.d.ts.map +1 -0
  802. package/dist/types/migrations/2023-09-11-174000-fix-on-delete.d.ts +4 -0
  803. package/dist/types/migrations/2023-09-11-174000-fix-on-delete.d.ts.map +1 -0
  804. package/dist/types/migrations/2023-10-19-173000-fix-unique.d.ts +4 -0
  805. package/dist/types/migrations/2023-10-19-173000-fix-unique.d.ts.map +1 -0
  806. package/dist/types/migrations/2023-10-24-140000-schema-nullable-checksum.d.ts +3 -0
  807. package/dist/types/migrations/2023-10-24-140000-schema-nullable-checksum.d.ts.map +1 -0
  808. package/dist/types/migrations/2024-06-28-150000-migrations-drop-sequence.d.ts +3 -0
  809. package/dist/types/migrations/2024-06-28-150000-migrations-drop-sequence.d.ts.map +1 -0
  810. package/dist/types/migrations/2024-06-28-153000-schema.d.ts +3 -0
  811. package/dist/types/migrations/2024-06-28-153000-schema.d.ts.map +1 -0
  812. package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts +4 -0
  813. package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts.map +1 -0
  814. package/dist/types/migrations/2024-07-29-150000-event-data-index.d.ts +3 -0
  815. package/dist/types/migrations/2024-07-29-150000-event-data-index.d.ts.map +1 -0
  816. package/dist/types/migrations/2025-03-14-110000-fix-missing-index.d.ts +4 -0
  817. package/dist/types/migrations/2025-03-14-110000-fix-missing-index.d.ts.map +1 -0
  818. package/dist/types/migrations/index.d.ts +3 -0
  819. package/dist/types/migrations/index.d.ts.map +1 -0
  820. package/dist/types/migrations/runner.d.ts +17 -0
  821. package/dist/types/migrations/runner.d.ts.map +1 -0
  822. package/dist/types/migrations/snapshot-factory.d.ts +6 -0
  823. package/dist/types/migrations/snapshot-factory.d.ts.map +1 -0
  824. package/dist/types/migrations/snapshot.d.ts +3 -0
  825. package/dist/types/migrations/snapshot.d.ts.map +1 -0
  826. package/dist/types/migrations/types.d.ts +9 -0
  827. package/dist/types/migrations/types.d.ts.map +1 -0
  828. package/dist/types/model/ProjectInitializer.d.ts +15 -0
  829. package/dist/types/model/ProjectInitializer.d.ts.map +1 -0
  830. package/dist/types/model/ProjectTruncateExecutor.d.ts +7 -0
  831. package/dist/types/model/ProjectTruncateExecutor.d.ts.map +1 -0
  832. package/dist/types/model/SchemaGetter.d.ts +6 -0
  833. package/dist/types/model/SchemaGetter.d.ts.map +1 -0
  834. package/dist/types/model/authorization/AuthorizationActions.d.ts +27 -0
  835. package/dist/types/model/authorization/AuthorizationActions.d.ts.map +1 -0
  836. package/dist/types/model/authorization/Identity.d.ts +6 -0
  837. package/dist/types/model/authorization/Identity.d.ts.map +1 -0
  838. package/dist/types/model/authorization/PermissionsFactory.d.ts +5 -0
  839. package/dist/types/model/authorization/PermissionsFactory.d.ts.map +1 -0
  840. package/dist/types/model/authorization/StagePermissionsFactory.d.ts +9 -0
  841. package/dist/types/model/authorization/StagePermissionsFactory.d.ts.map +1 -0
  842. package/dist/types/model/authorization/StageScope.d.ts +10 -0
  843. package/dist/types/model/authorization/StageScope.d.ts.map +1 -0
  844. package/dist/types/model/authorization/SwitchEvaluatorNode.d.ts +8 -0
  845. package/dist/types/model/authorization/SwitchEvaluatorNode.d.ts.map +1 -0
  846. package/dist/types/model/authorization/index.d.ts +4 -0
  847. package/dist/types/model/authorization/index.d.ts.map +1 -0
  848. package/dist/types/model/commands/Command.d.ts +15 -0
  849. package/dist/types/model/commands/Command.d.ts.map +1 -0
  850. package/dist/types/model/commands/CommandBus.d.ts +11 -0
  851. package/dist/types/model/commands/CommandBus.d.ts.map +1 -0
  852. package/dist/types/model/commands/events/TruncateEventsCommand.d.ts +5 -0
  853. package/dist/types/model/commands/events/TruncateEventsCommand.d.ts.map +1 -0
  854. package/dist/types/model/commands/events/index.d.ts +2 -0
  855. package/dist/types/model/commands/events/index.d.ts.map +1 -0
  856. package/dist/types/model/commands/index.d.ts +6 -0
  857. package/dist/types/model/commands/index.d.ts.map +1 -0
  858. package/dist/types/model/commands/migrations/DeleteMigrationCommand.d.ts +7 -0
  859. package/dist/types/model/commands/migrations/DeleteMigrationCommand.d.ts.map +1 -0
  860. package/dist/types/model/commands/migrations/ModifyMigrationCommand.d.ts +9 -0
  861. package/dist/types/model/commands/migrations/ModifyMigrationCommand.d.ts.map +1 -0
  862. package/dist/types/model/commands/migrations/SaveMigrationCommand.d.ts +8 -0
  863. package/dist/types/model/commands/migrations/SaveMigrationCommand.d.ts.map +1 -0
  864. package/dist/types/model/commands/migrations/index.d.ts +3 -0
  865. package/dist/types/model/commands/migrations/index.d.ts.map +1 -0
  866. package/dist/types/model/commands/schema/SaveSchemaCommand.d.ts +8 -0
  867. package/dist/types/model/commands/schema/SaveSchemaCommand.d.ts.map +1 -0
  868. package/dist/types/model/commands/stages/CreateStageCommand.d.ts +8 -0
  869. package/dist/types/model/commands/stages/CreateStageCommand.d.ts.map +1 -0
  870. package/dist/types/model/commands/stages/TruncateStagesCommand.d.ts +5 -0
  871. package/dist/types/model/commands/stages/TruncateStagesCommand.d.ts.map +1 -0
  872. package/dist/types/model/commands/stages/index.d.ts +3 -0
  873. package/dist/types/model/commands/stages/index.d.ts.map +1 -0
  874. package/dist/types/model/database/DatabaseContext.d.ts +19 -0
  875. package/dist/types/model/database/DatabaseContext.d.ts.map +1 -0
  876. package/dist/types/model/database/index.d.ts +2 -0
  877. package/dist/types/model/database/index.d.ts.map +1 -0
  878. package/dist/types/model/dependencies/content/ContentQueryExecutor.d.ts +36 -0
  879. package/dist/types/model/dependencies/content/ContentQueryExecutor.d.ts.map +1 -0
  880. package/dist/types/model/dependencies/index.d.ts +3 -0
  881. package/dist/types/model/dependencies/index.d.ts.map +1 -0
  882. package/dist/types/model/dependencies/tenant/IdentityFetcher.d.ts +18 -0
  883. package/dist/types/model/dependencies/tenant/IdentityFetcher.d.ts.map +1 -0
  884. package/dist/types/model/dependencies/tenant/index.d.ts +2 -0
  885. package/dist/types/model/dependencies/tenant/index.d.ts.map +1 -0
  886. package/dist/types/model/dtos/ExecutedMigration.d.ts +13 -0
  887. package/dist/types/model/dtos/ExecutedMigration.d.ts.map +1 -0
  888. package/dist/types/model/dtos/Stage.d.ts +7 -0
  889. package/dist/types/model/dtos/Stage.d.ts.map +1 -0
  890. package/dist/types/model/dtos/index.d.ts +3 -0
  891. package/dist/types/model/dtos/index.d.ts.map +1 -0
  892. package/dist/types/model/events/EventResponseBuilder.d.ts +10 -0
  893. package/dist/types/model/events/EventResponseBuilder.d.ts.map +1 -0
  894. package/dist/types/model/events/EventResponseHelper.d.ts +22 -0
  895. package/dist/types/model/events/EventResponseHelper.d.ts.map +1 -0
  896. package/dist/types/model/events/identityUtils.d.ts +3 -0
  897. package/dist/types/model/events/identityUtils.d.ts.map +1 -0
  898. package/dist/types/model/events/index.d.ts +3 -0
  899. package/dist/types/model/events/index.d.ts.map +1 -0
  900. package/dist/types/model/events/types.d.ts +56 -0
  901. package/dist/types/model/events/types.d.ts.map +1 -0
  902. package/dist/types/model/helpers/index.d.ts +3 -0
  903. package/dist/types/model/helpers/index.d.ts.map +1 -0
  904. package/dist/types/model/helpers/modelHelpers.d.ts +3 -0
  905. package/dist/types/model/helpers/modelHelpers.d.ts.map +1 -0
  906. package/dist/types/model/helpers/stageHelpers.d.ts +3 -0
  907. package/dist/types/model/helpers/stageHelpers.d.ts.map +1 -0
  908. package/dist/types/model/index.d.ts +14 -0
  909. package/dist/types/model/index.d.ts.map +1 -0
  910. package/dist/types/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts +16 -0
  911. package/dist/types/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts.map +1 -0
  912. package/dist/types/model/metadata/index.d.ts +2 -0
  913. package/dist/types/model/metadata/index.d.ts.map +1 -0
  914. package/dist/types/model/migrations/ExecutedMigrationsResolver.d.ts +7 -0
  915. package/dist/types/model/migrations/ExecutedMigrationsResolver.d.ts.map +1 -0
  916. package/dist/types/model/migrations/MigrationAlterer.d.ts +18 -0
  917. package/dist/types/model/migrations/MigrationAlterer.d.ts.map +1 -0
  918. package/dist/types/model/migrations/MigrationInput.d.ts +18 -0
  919. package/dist/types/model/migrations/MigrationInput.d.ts.map +1 -0
  920. package/dist/types/model/migrations/ProjectMigrator.d.ts +63 -0
  921. package/dist/types/model/migrations/ProjectMigrator.d.ts.map +1 -0
  922. package/dist/types/model/migrations/SchemaProvider.d.ts +28 -0
  923. package/dist/types/model/migrations/SchemaProvider.d.ts.map +1 -0
  924. package/dist/types/model/migrations/index.d.ts +5 -0
  925. package/dist/types/model/migrations/index.d.ts.map +1 -0
  926. package/dist/types/model/queries/events/EventQueryHelpers.d.ts +14 -0
  927. package/dist/types/model/queries/events/EventQueryHelpers.d.ts.map +1 -0
  928. package/dist/types/model/queries/events/EventsQuery.d.ts +12 -0
  929. package/dist/types/model/queries/events/EventsQuery.d.ts.map +1 -0
  930. package/dist/types/model/queries/events/LatestTransactionIdByStageQuery.d.ts +7 -0
  931. package/dist/types/model/queries/events/LatestTransactionIdByStageQuery.d.ts.map +1 -0
  932. package/dist/types/model/queries/events/OldValuesQuery.d.ts +7 -0
  933. package/dist/types/model/queries/events/OldValuesQuery.d.ts.map +1 -0
  934. package/dist/types/model/queries/events/index.d.ts +4 -0
  935. package/dist/types/model/queries/events/index.d.ts.map +1 -0
  936. package/dist/types/model/queries/index.d.ts +5 -0
  937. package/dist/types/model/queries/index.d.ts.map +1 -0
  938. package/dist/types/model/queries/migrations/ExecutedMigrationByVersionQuery.d.ts +8 -0
  939. package/dist/types/model/queries/migrations/ExecutedMigrationByVersionQuery.d.ts.map +1 -0
  940. package/dist/types/model/queries/migrations/ExecutedMigrationsQuery.d.ts +8 -0
  941. package/dist/types/model/queries/migrations/ExecutedMigrationsQuery.d.ts.map +1 -0
  942. package/dist/types/model/queries/migrations/ExecutedMigrationsQueryHelper.d.ts +14 -0
  943. package/dist/types/model/queries/migrations/ExecutedMigrationsQueryHelper.d.ts.map +1 -0
  944. package/dist/types/model/queries/migrations/index.d.ts +4 -0
  945. package/dist/types/model/queries/migrations/index.d.ts.map +1 -0
  946. package/dist/types/model/queries/schema/SchemaQuery.d.ts +8 -0
  947. package/dist/types/model/queries/schema/SchemaQuery.d.ts.map +1 -0
  948. package/dist/types/model/queries/schema/index.d.ts +2 -0
  949. package/dist/types/model/queries/schema/index.d.ts.map +1 -0
  950. package/dist/types/model/queries/stages/StageBySlugQuery.d.ts +12 -0
  951. package/dist/types/model/queries/stages/StageBySlugQuery.d.ts.map +1 -0
  952. package/dist/types/model/queries/stages/StageQueryFactory.d.ts +4 -0
  953. package/dist/types/model/queries/stages/StageQueryFactory.d.ts.map +1 -0
  954. package/dist/types/model/queries/stages/StagesQuery.d.ts +7 -0
  955. package/dist/types/model/queries/stages/StagesQuery.d.ts.map +1 -0
  956. package/dist/types/model/queries/stages/index.d.ts +4 -0
  957. package/dist/types/model/queries/stages/index.d.ts.map +1 -0
  958. package/dist/types/model/stages/StageCreator.d.ts +7 -0
  959. package/dist/types/model/stages/StageCreator.d.ts.map +1 -0
  960. package/dist/types/model/stages/index.d.ts +2 -0
  961. package/dist/types/model/stages/index.d.ts.map +1 -0
  962. package/dist/types/resolvers/Resolver.d.ts +16 -0
  963. package/dist/types/resolvers/Resolver.d.ts.map +1 -0
  964. package/dist/types/resolvers/ResolverFactory.d.ts +20 -0
  965. package/dist/types/resolvers/ResolverFactory.d.ts.map +1 -0
  966. package/dist/types/resolvers/SystemResolverContext.d.ts +21 -0
  967. package/dist/types/resolvers/SystemResolverContext.d.ts.map +1 -0
  968. package/dist/types/resolvers/index.d.ts +6 -0
  969. package/dist/types/resolvers/index.d.ts.map +1 -0
  970. package/dist/types/resolvers/mutation/MigrateMutationResolver.d.ts +13 -0
  971. package/dist/types/resolvers/mutation/MigrateMutationResolver.d.ts.map +1 -0
  972. package/dist/types/resolvers/mutation/MigrationAlterMutationResolver.d.ts +12 -0
  973. package/dist/types/resolvers/mutation/MigrationAlterMutationResolver.d.ts.map +1 -0
  974. package/dist/types/resolvers/mutation/TruncateMutationResolver.d.ts +11 -0
  975. package/dist/types/resolvers/mutation/TruncateMutationResolver.d.ts.map +1 -0
  976. package/dist/types/resolvers/mutation/index.d.ts +4 -0
  977. package/dist/types/resolvers/mutation/index.d.ts.map +1 -0
  978. package/dist/types/resolvers/query/EventsQueryResolver.d.ts +11 -0
  979. package/dist/types/resolvers/query/EventsQueryResolver.d.ts.map +1 -0
  980. package/dist/types/resolvers/query/ExecutedMigrationsQueryResolver.d.ts +8 -0
  981. package/dist/types/resolvers/query/ExecutedMigrationsQueryResolver.d.ts.map +1 -0
  982. package/dist/types/resolvers/query/SchemaQueryResolver.d.ts +7 -0
  983. package/dist/types/resolvers/query/SchemaQueryResolver.d.ts.map +1 -0
  984. package/dist/types/resolvers/query/StagesQueryResolver.d.ts +8 -0
  985. package/dist/types/resolvers/query/StagesQueryResolver.d.ts.map +1 -0
  986. package/dist/types/resolvers/query/index.d.ts +4 -0
  987. package/dist/types/resolvers/query/index.d.ts.map +1 -0
  988. package/dist/types/resolvers/types/EventOldValuesResolver.d.ts +6 -0
  989. package/dist/types/resolvers/types/EventOldValuesResolver.d.ts.map +1 -0
  990. package/dist/types/resolvers/types/OldValuesHelpers.d.ts +3 -0
  991. package/dist/types/resolvers/types/OldValuesHelpers.d.ts.map +1 -0
  992. package/dist/types/resolvers/types/index.d.ts +2 -0
  993. package/dist/types/resolvers/types/index.d.ts.map +1 -0
  994. package/dist/types/schema/dev.graphql.d.ts +4 -0
  995. package/dist/types/schema/dev.graphql.d.ts.map +1 -0
  996. package/dist/types/schema/index.d.ts +6 -0
  997. package/dist/types/schema/index.d.ts.map +1 -0
  998. package/dist/types/schema/system.graphql.d.ts +4 -0
  999. package/dist/types/schema/system.graphql.d.ts.map +1 -0
  1000. package/dist/types/schema/types.d.ts +566 -0
  1001. package/dist/types/schema/types.d.ts.map +1 -0
  1002. package/dist/types/tsconfig.tsbuildinfo +1 -0
  1003. package/dist/types/types.d.ts +12 -0
  1004. package/dist/types/types.d.ts.map +1 -0
  1005. package/dist/types/utils/MapSet.d.ts +10 -0
  1006. package/dist/types/utils/MapSet.d.ts.map +1 -0
  1007. package/dist/types/utils/Response.d.ts +13 -0
  1008. package/dist/types/utils/Response.d.ts.map +1 -0
  1009. package/dist/types/utils/assertNever.d.ts +2 -0
  1010. package/dist/types/utils/assertNever.d.ts.map +1 -0
  1011. package/dist/types/utils/batchQuery.d.ts +3 -0
  1012. package/dist/types/utils/batchQuery.d.ts.map +1 -0
  1013. package/dist/types/utils/exceptions.d.ts +5 -0
  1014. package/dist/types/utils/exceptions.d.ts.map +1 -0
  1015. package/dist/types/utils/index.d.ts +8 -0
  1016. package/dist/types/utils/index.d.ts.map +1 -0
  1017. package/dist/types/utils/providers.d.ts +3 -0
  1018. package/dist/types/utils/providers.d.ts.map +1 -0
  1019. package/dist/types/utils/set.d.ts +3 -0
  1020. package/dist/types/utils/set.d.ts.map +1 -0
  1021. package/dist/types/utils/tick.d.ts +2 -0
  1022. package/dist/types/utils/tick.d.ts.map +1 -0
  1023. package/dist/types/utils/tuple.d.ts +2 -0
  1024. package/dist/types/utils/tuple.d.ts.map +1 -0
  1025. package/dist/types/utils/uuid.d.ts +4 -0
  1026. package/dist/types/utils/uuid.d.ts.map +1 -0
  1027. package/package.json +19 -19
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const schemaMigrations = require("@contember/schema-migrations");
4
+ const Database = require("@contember/database");
5
+ const SaveMigrationCommand = require("../commands/migrations/SaveMigrationCommand.cjs");
6
+ const schemaUtils = require("@contember/schema-utils");
7
+ const types = require("../../schema/types.cjs");
8
+ require("../../schema/dev.graphql.cjs");
9
+ require("../../schema/system.graphql.cjs");
10
+ const logger = require("@contember/logger");
11
+ const SaveSchemaCommand = require("../commands/schema/SaveSchemaCommand.cjs");
12
+ const exceptions = require("../../utils/exceptions.cjs");
13
+ var __defProp = Object.defineProperty;
14
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
16
+ class ProjectMigrator {
17
+ constructor(migrationDescriber, schemaProvider, executedMigrationsResolver, migrationsDatabaseMetadataResolverStoreFactory, contentQueryExecutor) {
18
+ this.migrationDescriber = migrationDescriber;
19
+ this.schemaProvider = schemaProvider;
20
+ this.executedMigrationsResolver = executedMigrationsResolver;
21
+ this.migrationsDatabaseMetadataResolverStoreFactory = migrationsDatabaseMetadataResolverStoreFactory;
22
+ this.contentQueryExecutor = contentQueryExecutor;
23
+ }
24
+ async migrate({ db, project, identity, options: { ignoreOrder = false, skipExecuted = false }, migrationsToExecute, stages }) {
25
+ if (migrationsToExecute.length === 0) {
26
+ return;
27
+ }
28
+ const schemaWithMeta = await this.schemaProvider.fetch({ db });
29
+ let schema = schemaWithMeta.schema;
30
+ let id = schemaWithMeta.meta.id;
31
+ const validated = await this.validateMigrations(db, schema, schemaWithMeta.meta.version ?? null, migrationsToExecute, { ignoreOrder, skipExecuted });
32
+ if (validated.length === 0) {
33
+ return;
34
+ }
35
+ const sorted = [...validated].sort((a, b) => a.version.localeCompare(b.version));
36
+ const metadataStore = this.migrationsDatabaseMetadataResolverStoreFactory.create(db);
37
+ for (const migration of sorted) {
38
+ if (migration.type === "schema") {
39
+ const formatVersion = migration.formatVersion;
40
+ for (const modification of migration.modifications) {
41
+ [schema] = await this.applyModification(
42
+ db.client,
43
+ stages,
44
+ schema,
45
+ modification,
46
+ formatVersion,
47
+ migration.version,
48
+ project,
49
+ metadataStore
50
+ );
51
+ }
52
+ } else if (migration.type === "content") {
53
+ if (!id) {
54
+ throw new FailedContentMigrationError(migration.version, `Cannot execute content migration without schema`);
55
+ }
56
+ for (const query of migration.queries) {
57
+ await this.executeContentMigration({
58
+ version: migration.version,
59
+ query,
60
+ db,
61
+ schema,
62
+ schemaMeta: { id },
63
+ stages,
64
+ databaseMetadata: await metadataStore.getMetadata(db.client.schema),
65
+ identity,
66
+ project
67
+ });
68
+ }
69
+ await db.client.query(`SET CONSTRAINTS ALL IMMEDIATE`);
70
+ await db.client.query(`SET CONSTRAINTS ALL DEFERRED`);
71
+ }
72
+ id = await db.commandBus.execute(new SaveMigrationCommand.SaveMigrationCommand(migration));
73
+ }
74
+ if (!id) {
75
+ throw new exceptions.ImplementationException();
76
+ }
77
+ await db.commandBus.execute(
78
+ new SaveSchemaCommand.SaveSchemaCommand({
79
+ schema,
80
+ meta: {
81
+ id,
82
+ updatedAt: /* @__PURE__ */ new Date(),
83
+ version: sorted[sorted.length - 1].version,
84
+ checksum: schemaUtils.calculateSchemaChecksum(schema)
85
+ }
86
+ })
87
+ );
88
+ }
89
+ async executeContentMigration({ query, stages, version, ...ctx }) {
90
+ const queryStages = query.stage ? stages.filter((it) => it.slug === query.stage) : stages;
91
+ for (const stage of queryStages) {
92
+ const response = await this.contentQueryExecutor.execute({
93
+ stage,
94
+ ...ctx
95
+ }, query);
96
+ if (!response.ok) {
97
+ throw new FailedContentMigrationError(version, response.errors.join(", "));
98
+ }
99
+ if (query.checkMutationResult !== false) {
100
+ for (const [key, value] of Object.entries(response.result.data ?? {})) {
101
+ if (typeof value === "object" && value !== null && "ok" in value && !value.ok) {
102
+ const errorDetails = "errorMessage" in value ? value.errorMessage : "No details available. Please fetch errorMessage field.";
103
+ throw new NotSuccessfulContentMigrationError(version, `Mutation ${key} failed: ${errorDetails}`);
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
109
+ async validateMigrations(db, schema, version, migrationsToExecute, { ignoreOrder, skipExecuted }) {
110
+ const executedMigrations = await this.executedMigrationsResolver.getMigrations(db);
111
+ const toExecute = [];
112
+ let skippedErrors = [];
113
+ for (const migration of migrationsToExecute) {
114
+ const executedMigration = executedMigrations.find((it) => it.version === migration.version);
115
+ if (executedMigration) {
116
+ if (skipExecuted && (migration.type !== "schema" || executedMigration.checksum === schemaMigrations.calculateMigrationChecksum(migration))) {
117
+ continue;
118
+ } else {
119
+ throw new AlreadyExecutedMigrationError(migration.version, `Migration is already executed`);
120
+ }
121
+ }
122
+ if (version && migration.version < version && !ignoreOrder) {
123
+ throw new MustFollowLatestMigrationError(migration.version, `Must follow latest executed migration ${version}`);
124
+ }
125
+ if (migration.type === "schema") {
126
+ const described = this.migrationDescriber.describeModifications(schema, migration);
127
+ if (described.length === 0) {
128
+ continue;
129
+ }
130
+ const latestModification = described[described.length - 1];
131
+ schema = latestModification.schema;
132
+ skippedErrors = [
133
+ ...skippedErrors.filter((it) => it.skipUntil && schemaMigrations.MigrationVersionHelper.extractVersion(it.skipUntil) >= migration.version),
134
+ ...migration.skippedErrors ?? []
135
+ ];
136
+ const errors2 = schemaUtils.SchemaValidator.validate(schema, skippedErrors);
137
+ if (errors2.length > 0) {
138
+ throw new InvalidSchemaError(
139
+ migration.version,
140
+ "Migration generates invalid schema: \n" + errors2.map((it) => `${it.path.join(".")}: [${it.code}] ${it.message}`).join("\n")
141
+ );
142
+ }
143
+ }
144
+ toExecute.push(migration);
145
+ }
146
+ const errors = schemaUtils.SchemaValidator.validate(schema);
147
+ if (errors.length > 0) {
148
+ throw new InvalidSchemaError(
149
+ toExecute[toExecute.length - 1].version,
150
+ "Migration generates invalid schema: \n" + errors.map((it) => it.path.join(".") + ": " + it.message).join("\n")
151
+ );
152
+ }
153
+ return toExecute;
154
+ }
155
+ sqlPreprocessor(text, variables) {
156
+ return Object.entries(variables).reduce(
157
+ (content, [key, value]) => content.replace(new RegExp(`\\{\\{${key}\\}\\}`, "g"), value),
158
+ text
159
+ );
160
+ }
161
+ async applyModification(db, stages, schema, modification, formatVersion, migrationVersion, project, metadataStore) {
162
+ const {
163
+ getSql,
164
+ schema: newSchema
165
+ } = this.migrationDescriber.describeModification(schema, modification, { formatVersion });
166
+ for (const stage of stages) {
167
+ const databaseMetadata = await metadataStore.getMetadata(stage.schema);
168
+ const sql = getSql({
169
+ systemSchema: project.systemSchema,
170
+ databaseMetadata,
171
+ invalidateDatabaseMetadata: () => metadataStore.invalidate(stage.schema)
172
+ });
173
+ const processedSql = this.sqlPreprocessor(sql, {
174
+ project_slug: project.slug,
175
+ system_schema: project.systemSchema
176
+ });
177
+ await this.executeOnStage(db, stage, processedSql, migrationVersion);
178
+ }
179
+ return [newSchema];
180
+ }
181
+ async executeOnStage(db, stage, sql, migrationVersion) {
182
+ await db.query("SET LOCAL search_path TO " + Database.wrapIdentifier(stage.schema));
183
+ try {
184
+ await db.query(sql);
185
+ } catch (e) {
186
+ if (e instanceof Database.QueryError) {
187
+ logger.logger.error(e, { message: "Migration failed" });
188
+ throw new MigrationFailedError(migrationVersion, e.message);
189
+ }
190
+ throw e;
191
+ }
192
+ }
193
+ }
194
+ class MigrationError extends Error {
195
+ constructor(version, migrationError) {
196
+ super(`${version}: ${migrationError}`);
197
+ this.version = version;
198
+ this.migrationError = migrationError;
199
+ }
200
+ }
201
+ class MustFollowLatestMigrationError extends MigrationError {
202
+ constructor() {
203
+ super(...arguments);
204
+ __publicField(this, "code", types.MigrateErrorCode.MustFollowLatest);
205
+ }
206
+ }
207
+ class AlreadyExecutedMigrationError extends MigrationError {
208
+ constructor() {
209
+ super(...arguments);
210
+ __publicField(this, "code", types.MigrateErrorCode.AlreadyExecuted);
211
+ }
212
+ }
213
+ class MigrationFailedError extends MigrationError {
214
+ constructor() {
215
+ super(...arguments);
216
+ __publicField(this, "code", types.MigrateErrorCode.MigrationFailed);
217
+ }
218
+ }
219
+ class InvalidSchemaError extends MigrationError {
220
+ constructor() {
221
+ super(...arguments);
222
+ __publicField(this, "code", types.MigrateErrorCode.InvalidSchema);
223
+ }
224
+ }
225
+ class FailedContentMigrationError extends MigrationError {
226
+ constructor() {
227
+ super(...arguments);
228
+ __publicField(this, "code", types.MigrateErrorCode.ContentMigrationFailed);
229
+ }
230
+ }
231
+ class NotSuccessfulContentMigrationError extends MigrationError {
232
+ constructor() {
233
+ super(...arguments);
234
+ __publicField(this, "code", types.MigrateErrorCode.ContentMigrationNotSuccessful);
235
+ }
236
+ }
237
+ exports.AlreadyExecutedMigrationError = AlreadyExecutedMigrationError;
238
+ exports.FailedContentMigrationError = FailedContentMigrationError;
239
+ exports.InvalidSchemaError = InvalidSchemaError;
240
+ exports.MigrationError = MigrationError;
241
+ exports.MigrationFailedError = MigrationFailedError;
242
+ exports.MustFollowLatestMigrationError = MustFollowLatestMigrationError;
243
+ exports.NotSuccessfulContentMigrationError = NotSuccessfulContentMigrationError;
244
+ exports.ProjectMigrator = ProjectMigrator;
245
+ //# sourceMappingURL=ProjectMigrator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectMigrator.cjs","sources":["../../../../../../packages/engine-system-api/src/model/migrations/ProjectMigrator.ts"],"sourcesContent":["import { calculateMigrationChecksum, Migration, MigrationDescriber, MigrationVersionHelper } from '@contember/schema-migrations'\nimport { Client, DatabaseMetadata, QueryError, wrapIdentifier } from '@contember/database'\nimport { Schema } from '@contember/schema'\nimport { SaveMigrationCommand } from '../commands'\nimport { Stage } from '../dtos'\nimport { DatabaseContext } from '../database'\nimport { ExecutedMigrationsResolver } from './ExecutedMigrationsResolver'\nimport { MigrateErrorCode } from '../../schema'\nimport { calculateSchemaChecksum, SchemaValidator, SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { logger } from '@contember/logger'\nimport { MigrationsDatabaseMetadataResolverStoreFactory, SchemaDatabaseMetadataResolverStore } from '../metadata'\nimport { ContentMigrationQuery, MigrationInput } from './MigrationInput'\nimport { ContentQueryExecutor } from '../dependencies'\nimport { SchemaProvider } from './SchemaProvider'\nimport { SaveSchemaCommand } from '../commands/schema/SaveSchemaCommand'\nimport { ImplementationException } from '../../utils'\n\ntype MigrationVariables = {\n\tsystem_schema: string\n\tproject_slug: string\n}\n\nexport class ProjectMigrator {\n\tconstructor(\n\t\tprivate readonly migrationDescriber: MigrationDescriber,\n\t\tprivate readonly schemaProvider: SchemaProvider,\n\t\tprivate readonly executedMigrationsResolver: ExecutedMigrationsResolver,\n\t\tprivate readonly migrationsDatabaseMetadataResolverStoreFactory: MigrationsDatabaseMetadataResolverStoreFactory,\n\t\tprivate readonly contentQueryExecutor: ContentQueryExecutor,\n\t) {}\n\n\tpublic async migrate({ db, project, identity, options: { ignoreOrder = false, skipExecuted = false }, migrationsToExecute, stages }: {\n\t\tdb: DatabaseContext\n\t\tproject: { slug: string; systemSchema: string }\n\t\tidentity: { id: string }\n\t\tstages: Stage[]\n\t\tmigrationsToExecute: readonly MigrationInput[]\n\t\toptions: {\n\t\t\tignoreOrder?: boolean\n\t\t\tskipExecuted?: boolean\n\t\t}\n\t}) {\n\t\tif (migrationsToExecute.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tconst schemaWithMeta = await this.schemaProvider.fetch({ db })\n\t\tlet schema = schemaWithMeta.schema\n\t\tlet id = schemaWithMeta.meta.id\n\n\t\tconst validated = await this.validateMigrations(db, schema, schemaWithMeta.meta.version ?? null, migrationsToExecute, { ignoreOrder, skipExecuted })\n\t\tif (validated.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst sorted = [...validated].sort((a, b) => a.version.localeCompare(b.version))\n\n\t\tconst metadataStore = this.migrationsDatabaseMetadataResolverStoreFactory.create(db)\n\n\t\tfor (const migration of sorted) {\n\t\t\tif (migration.type === 'schema') {\n\t\t\t\tconst formatVersion = migration.formatVersion\n\n\t\t\t\tfor (const modification of migration.modifications) {\n\t\t\t\t\t;[schema] = await this.applyModification(\n\t\t\t\t\t\tdb.client,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tschema,\n\t\t\t\t\t\tmodification,\n\t\t\t\t\t\tformatVersion,\n\t\t\t\t\t\tmigration.version,\n\t\t\t\t\t\tproject,\n\t\t\t\t\t\tmetadataStore,\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t} else if (migration.type === 'content') {\n\t\t\t\tif (!id) {\n\t\t\t\t\tthrow new FailedContentMigrationError(migration.version, `Cannot execute content migration without schema`)\n\t\t\t\t}\n\t\t\t\tfor (const query of migration.queries) {\n\t\t\t\t\tawait this.executeContentMigration({\n\t\t\t\t\t\tversion: migration.version,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\tdb,\n\t\t\t\t\t\tschema,\n\t\t\t\t\t\tschemaMeta: { id },\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tdatabaseMetadata: await metadataStore.getMetadata(db.client.schema),\n\t\t\t\t\t\tidentity,\n\t\t\t\t\t\tproject,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t// event log uses deferred constraint triggers, we need to fire them before ALTER\n\t\t\t\tawait db.client.query(`SET CONSTRAINTS ALL IMMEDIATE`)\n\t\t\t\tawait db.client.query(`SET CONSTRAINTS ALL DEFERRED`)\n\t\t\t}\n\t\t\tid = await db.commandBus.execute(new SaveMigrationCommand(migration))\n\t\t}\n\t\tif (!id) {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\n\t\tawait db.commandBus.execute(\n\t\t\tnew SaveSchemaCommand({\n\t\t\t\tschema,\n\t\t\t\tmeta: {\n\t\t\t\t\tid,\n\t\t\t\t\tupdatedAt: new Date(),\n\t\t\t\t\tversion: sorted[sorted.length - 1].version,\n\t\t\t\t\tchecksum: calculateSchemaChecksum(schema),\n\t\t\t\t},\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate async executeContentMigration({ query, stages, version, ...ctx }: {\n\t\tversion: string\n\t\tdb: DatabaseContext\n\t\tquery: ContentMigrationQuery\n\t\tstages: Stage[]\n\t\tschema: Schema\n\t\tschemaMeta: { id: number }\n\t\tproject: { slug: string; systemSchema: string }\n\t\tidentity: { id: string }\n\t\tdatabaseMetadata: DatabaseMetadata\n\t}) {\n\t\tconst queryStages = query.stage ? stages.filter(it => it.slug === query.stage) : stages\n\t\tfor (const stage of queryStages) {\n\t\t\tconst response = await this.contentQueryExecutor.execute({\n\t\t\t\tstage,\n\t\t\t\t...ctx,\n\t\t\t}, query)\n\n\t\t\tif (!response.ok) {\n\t\t\t\tthrow new FailedContentMigrationError(version, response.errors.join(', '))\n\t\t\t}\n\t\t\tif (query.checkMutationResult !== false) {\n\t\t\t\tfor (const [key, value] of Object.entries(response.result.data ?? {})) {\n\t\t\t\t\tif (typeof value === 'object' && value !== null && 'ok' in value && !value.ok) {\n\t\t\t\t\t\tconst errorDetails = 'errorMessage' in value ? value.errorMessage : 'No details available. Please fetch errorMessage field.'\n\t\t\t\t\t\tthrow new NotSuccessfulContentMigrationError(version, `Mutation ${key} failed: ${errorDetails}`)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async validateMigrations(\n\t\tdb: DatabaseContext,\n\t\tschema: Schema,\n\t\tversion: string | null,\n\t\tmigrationsToExecute: readonly MigrationInput[],\n\t\t{ ignoreOrder, skipExecuted }: {\n\t\t\tignoreOrder: boolean\n\t\t\tskipExecuted: boolean\n\t\t},\n\t): Promise<readonly MigrationInput[]> {\n\t\tconst executedMigrations = await this.executedMigrationsResolver.getMigrations(db)\n\t\tconst toExecute: MigrationInput[] = []\n\t\tlet skippedErrors: SchemaValidatorSkippedErrors[] = []\n\t\tfor (const migration of migrationsToExecute) {\n\t\t\tconst executedMigration = executedMigrations.find(it => it.version === migration.version)\n\t\t\tif (executedMigration) {\n\t\t\t\tif (skipExecuted && (migration.type !== 'schema' || executedMigration.checksum === calculateMigrationChecksum(migration))) {\n\t\t\t\t\tcontinue\n\t\t\t\t} else {\n\t\t\t\t\tthrow new AlreadyExecutedMigrationError(migration.version, `Migration is already executed`)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (version && migration.version < version && !ignoreOrder) {\n\t\t\t\tthrow new MustFollowLatestMigrationError(migration.version, `Must follow latest executed migration ${version}`)\n\t\t\t}\n\t\t\tif (migration.type === 'schema') {\n\t\t\t\tconst described = this.migrationDescriber.describeModifications(schema, migration)\n\t\t\t\tif (described.length === 0) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst latestModification = described[described.length - 1]\n\t\t\t\tschema = latestModification.schema\n\t\t\t\tskippedErrors = [\n\t\t\t\t\t...skippedErrors.filter(it => it.skipUntil && MigrationVersionHelper.extractVersion(it.skipUntil) >= migration.version),\n\t\t\t\t\t...migration.skippedErrors ?? [],\n\t\t\t\t]\n\t\t\t\tconst errors = SchemaValidator.validate(schema, skippedErrors)\n\t\t\t\tif (errors.length > 0) {\n\t\t\t\t\tthrow new InvalidSchemaError(\n\t\t\t\t\t\tmigration.version,\n\t\t\t\t\t\t'Migration generates invalid schema: \\n'\n\t\t\t\t\t\t\t+ errors.map(it => `${it.path.join('.')}: [${it.code}] ${it.message}`).join('\\n'),\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttoExecute.push(migration)\n\t\t}\n\t\t// intentionally not using skippedErrors here\n\t\tconst errors = SchemaValidator.validate(schema)\n\t\tif (errors.length > 0) {\n\t\t\tthrow new InvalidSchemaError(\n\t\t\t\ttoExecute[toExecute.length - 1].version,\n\t\t\t\t'Migration generates invalid schema: \\n'\n\t\t\t\t\t+ errors.map(it => it.path.join('.') + ': ' + it.message).join('\\n'),\n\t\t\t)\n\t\t}\n\t\treturn toExecute\n\t}\n\n\tprivate sqlPreprocessor(text: string, variables: MigrationVariables): string {\n\t\treturn Object.entries(variables).reduce(\n\t\t\t(content, [key, value]) => content.replace(new RegExp(`\\\\{\\\\{${key}\\\\}\\\\}`, 'g'), value),\n\t\t\ttext,\n\t\t)\n\t}\n\n\tprivate async applyModification(\n\t\tdb: Client,\n\t\tstages: Stage[],\n\t\tschema: Schema,\n\t\tmodification: Migration.Modification,\n\t\tformatVersion: number,\n\t\tmigrationVersion: string,\n\t\tproject: { slug: string; systemSchema: string },\n\t\tmetadataStore: SchemaDatabaseMetadataResolverStore,\n\t): Promise<[Schema]> {\n\t\tconst {\n\t\t\tgetSql,\n\t\t\tschema: newSchema,\n\t\t} = this.migrationDescriber.describeModification(schema, modification, { formatVersion })\n\t\tfor (const stage of stages) {\n\t\t\tconst databaseMetadata = await metadataStore.getMetadata(stage.schema)\n\t\t\tconst sql = getSql({\n\t\t\t\tsystemSchema: project.systemSchema,\n\t\t\t\tdatabaseMetadata,\n\t\t\t\tinvalidateDatabaseMetadata: () => metadataStore.invalidate(stage.schema),\n\t\t\t})\n\t\t\tconst processedSql = this.sqlPreprocessor(sql, {\n\t\t\t\tproject_slug: project.slug,\n\t\t\t\tsystem_schema: project.systemSchema,\n\t\t\t})\n\t\t\tawait this.executeOnStage(db, stage, processedSql, migrationVersion)\n\t\t}\n\t\treturn [newSchema]\n\t}\n\n\tprivate async executeOnStage(db: Client, stage: Stage, sql: string, migrationVersion: string) {\n\t\tawait db.query('SET LOCAL search_path TO ' + wrapIdentifier(stage.schema))\n\t\ttry {\n\t\t\tawait db.query(sql)\n\t\t} catch (e) {\n\t\t\tif (e instanceof QueryError) {\n\t\t\t\tlogger.error(e, { message: 'Migration failed' })\n\t\t\t\tthrow new MigrationFailedError(migrationVersion, e.message)\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n}\n\nexport abstract class MigrationError extends Error {\n\tpublic abstract code: MigrateErrorCode\n\n\tconstructor(public readonly version: string, public readonly migrationError: string) {\n\t\tsuper(`${version}: ${migrationError}`)\n\t}\n}\n\nexport class MustFollowLatestMigrationError extends MigrationError {\n\tcode = MigrateErrorCode.MustFollowLatest\n}\n\nexport class AlreadyExecutedMigrationError extends MigrationError {\n\tcode = MigrateErrorCode.AlreadyExecuted\n}\n\nexport class MigrationFailedError extends MigrationError {\n\tcode = MigrateErrorCode.MigrationFailed\n}\n\nexport class InvalidSchemaError extends MigrationError {\n\tcode = MigrateErrorCode.InvalidSchema\n}\n\nexport class FailedContentMigrationError extends MigrationError {\n\tcode = MigrateErrorCode.ContentMigrationFailed\n}\n\nexport class NotSuccessfulContentMigrationError extends MigrationError {\n\tcode = MigrateErrorCode.ContentMigrationNotSuccessful\n}\n"],"names":["SaveMigrationCommand","ImplementationException","SaveSchemaCommand","calculateSchemaChecksum","calculateMigrationChecksum","MigrationVersionHelper","errors","SchemaValidator","wrapIdentifier","QueryError","logger","MigrateErrorCode"],"mappings":";;;;;;;;;;;;;;;AAsBO,MAAM,gBAAgB;AAAA,EAC5B,YACkB,oBACA,gBACA,4BACA,gDACA,sBAChB;AALgB,SAAA,qBAAA;AACA,SAAA,iBAAA;AACA,SAAA,6BAAA;AACA,SAAA,iDAAA;AACA,SAAA,uBAAA;AAAA,EACf;AAAA,EAEH,MAAa,QAAQ,EAAE,IAAI,SAAS,UAAU,SAAS,EAAE,cAAc,OAAO,eAAe,MAAA,GAAS,qBAAqB,UAUxH;AACF,QAAI,oBAAoB,WAAW,GAAG;AACrC;AAAA,IACD;AACA,UAAM,iBAAiB,MAAM,KAAK,eAAe,MAAM,EAAE,IAAI;AAC7D,QAAI,SAAS,eAAe;AAC5B,QAAI,KAAK,eAAe,KAAK;AAE7B,UAAM,YAAY,MAAM,KAAK,mBAAmB,IAAI,QAAQ,eAAe,KAAK,WAAW,MAAM,qBAAqB,EAAE,aAAa,cAAc;AACnJ,QAAI,UAAU,WAAW,GAAG;AAC3B;AAAA,IACD;AAEA,UAAM,SAAS,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,cAAc,EAAE,OAAO,CAAC;AAE/E,UAAM,gBAAgB,KAAK,+CAA+C,OAAO,EAAE;AAEnF,eAAW,aAAa,QAAQ;AAC/B,UAAI,UAAU,SAAS,UAAU;AAChC,cAAM,gBAAgB,UAAU;AAEhC,mBAAW,gBAAgB,UAAU,eAAe;AAClD,WAAC,MAAM,IAAI,MAAM,KAAK;AAAA,YACtB,GAAG;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,UAAU;AAAA,YACV;AAAA,YACA;AAAA,UAAA;AAAA,QAEF;AAAA,MACD,WAAW,UAAU,SAAS,WAAW;AACxC,YAAI,CAAC,IAAI;AACR,gBAAM,IAAI,4BAA4B,UAAU,SAAS,iDAAiD;AAAA,QAC3G;AACA,mBAAW,SAAS,UAAU,SAAS;AACtC,gBAAM,KAAK,wBAAwB;AAAA,YAClC,SAAS,UAAU;AAAA,YACnB;AAAA,YACA;AAAA,YACA;AAAA,YACA,YAAY,EAAE,GAAA;AAAA,YACd;AAAA,YACA,kBAAkB,MAAM,cAAc,YAAY,GAAG,OAAO,MAAM;AAAA,YAClE;AAAA,YACA;AAAA,UAAA,CACA;AAAA,QACF;AAEA,cAAM,GAAG,OAAO,MAAM,+BAA+B;AACrD,cAAM,GAAG,OAAO,MAAM,8BAA8B;AAAA,MACrD;AACA,WAAK,MAAM,GAAG,WAAW,QAAQ,IAAIA,qBAAAA,qBAAqB,SAAS,CAAC;AAAA,IACrE;AACA,QAAI,CAAC,IAAI;AACR,YAAM,IAAIC,WAAAA,wBAAA;AAAA,IACX;AAEA,UAAM,GAAG,WAAW;AAAA,MACnB,IAAIC,oCAAkB;AAAA,QACrB;AAAA,QACA,MAAM;AAAA,UACL;AAAA,UACA,+BAAe,KAAA;AAAA,UACf,SAAS,OAAO,OAAO,SAAS,CAAC,EAAE;AAAA,UACnC,UAAUC,YAAAA,wBAAwB,MAAM;AAAA,QAAA;AAAA,MACzC,CACA;AAAA,IAAA;AAAA,EAEH;AAAA,EAEA,MAAc,wBAAwB,EAAE,OAAO,QAAQ,SAAS,GAAG,OAUhE;AACF,UAAM,cAAc,MAAM,QAAQ,OAAO,OAAO,QAAM,GAAG,SAAS,MAAM,KAAK,IAAI;AACjF,eAAW,SAAS,aAAa;AAChC,YAAM,WAAW,MAAM,KAAK,qBAAqB,QAAQ;AAAA,QACxD;AAAA,QACA,GAAG;AAAA,MAAA,GACD,KAAK;AAER,UAAI,CAAC,SAAS,IAAI;AACjB,cAAM,IAAI,4BAA4B,SAAS,SAAS,OAAO,KAAK,IAAI,CAAC;AAAA,MAC1E;AACA,UAAI,MAAM,wBAAwB,OAAO;AACxC,mBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,SAAS,OAAO,QAAQ,CAAA,CAAE,GAAG;AACtE,cAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,QAAQ,SAAS,CAAC,MAAM,IAAI;AAC9E,kBAAM,eAAe,kBAAkB,QAAQ,MAAM,eAAe;AACpE,kBAAM,IAAI,mCAAmC,SAAS,YAAY,GAAG,YAAY,YAAY,EAAE;AAAA,UAChG;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAc,mBACb,IACA,QACA,SACA,qBACA,EAAE,aAAa,gBAIsB;AACrC,UAAM,qBAAqB,MAAM,KAAK,2BAA2B,cAAc,EAAE;AACjF,UAAM,YAA8B,CAAA;AACpC,QAAI,gBAAgD,CAAA;AACpD,eAAW,aAAa,qBAAqB;AAC5C,YAAM,oBAAoB,mBAAmB,KAAK,QAAM,GAAG,YAAY,UAAU,OAAO;AACxF,UAAI,mBAAmB;AACtB,YAAI,iBAAiB,UAAU,SAAS,YAAY,kBAAkB,aAAaC,iBAAAA,2BAA2B,SAAS,IAAI;AAC1H;AAAA,QACD,OAAO;AACN,gBAAM,IAAI,8BAA8B,UAAU,SAAS,+BAA+B;AAAA,QAC3F;AAAA,MACD;AAEA,UAAI,WAAW,UAAU,UAAU,WAAW,CAAC,aAAa;AAC3D,cAAM,IAAI,+BAA+B,UAAU,SAAS,yCAAyC,OAAO,EAAE;AAAA,MAC/G;AACA,UAAI,UAAU,SAAS,UAAU;AAChC,cAAM,YAAY,KAAK,mBAAmB,sBAAsB,QAAQ,SAAS;AACjF,YAAI,UAAU,WAAW,GAAG;AAC3B;AAAA,QACD;AACA,cAAM,qBAAqB,UAAU,UAAU,SAAS,CAAC;AACzD,iBAAS,mBAAmB;AAC5B,wBAAgB;AAAA,UACf,GAAG,cAAc,OAAO,CAAA,OAAM,GAAG,aAAaC,wCAAuB,eAAe,GAAG,SAAS,KAAK,UAAU,OAAO;AAAA,UACtH,GAAG,UAAU,iBAAiB,CAAA;AAAA,QAAC;AAEhC,cAAMC,UAASC,YAAAA,gBAAgB,SAAS,QAAQ,aAAa;AAC7D,YAAID,QAAO,SAAS,GAAG;AACtB,gBAAM,IAAI;AAAA,YACT,UAAU;AAAA,YACV,2CACGA,QAAO,IAAI,QAAM,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC,MAAM,GAAG,IAAI,KAAK,GAAG,OAAO,EAAE,EAAE,KAAK,IAAI;AAAA,UAAA;AAAA,QAEnF;AAAA,MACD;AAEA,gBAAU,KAAK,SAAS;AAAA,IACzB;AAEA,UAAM,SAASC,YAAAA,gBAAgB,SAAS,MAAM;AAC9C,QAAI,OAAO,SAAS,GAAG;AACtB,YAAM,IAAI;AAAA,QACT,UAAU,UAAU,SAAS,CAAC,EAAE;AAAA,QAChC,2CACG,OAAO,IAAI,CAAA,OAAM,GAAG,KAAK,KAAK,GAAG,IAAI,OAAO,GAAG,OAAO,EAAE,KAAK,IAAI;AAAA,MAAA;AAAA,IAEtE;AACA,WAAO;AAAA,EACR;AAAA,EAEQ,gBAAgB,MAAc,WAAuC;AAC5E,WAAO,OAAO,QAAQ,SAAS,EAAE;AAAA,MAChC,CAAC,SAAS,CAAC,KAAK,KAAK,MAAM,QAAQ,QAAQ,IAAI,OAAO,SAAS,GAAG,UAAU,GAAG,GAAG,KAAK;AAAA,MACvF;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,MAAc,kBACb,IACA,QACA,QACA,cACA,eACA,kBACA,SACA,eACoB;AACpB,UAAM;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,IAAA,IACL,KAAK,mBAAmB,qBAAqB,QAAQ,cAAc,EAAE,eAAe;AACxF,eAAW,SAAS,QAAQ;AAC3B,YAAM,mBAAmB,MAAM,cAAc,YAAY,MAAM,MAAM;AACrE,YAAM,MAAM,OAAO;AAAA,QAClB,cAAc,QAAQ;AAAA,QACtB;AAAA,QACA,4BAA4B,MAAM,cAAc,WAAW,MAAM,MAAM;AAAA,MAAA,CACvE;AACD,YAAM,eAAe,KAAK,gBAAgB,KAAK;AAAA,QAC9C,cAAc,QAAQ;AAAA,QACtB,eAAe,QAAQ;AAAA,MAAA,CACvB;AACD,YAAM,KAAK,eAAe,IAAI,OAAO,cAAc,gBAAgB;AAAA,IACpE;AACA,WAAO,CAAC,SAAS;AAAA,EAClB;AAAA,EAEA,MAAc,eAAe,IAAY,OAAc,KAAa,kBAA0B;AAC7F,UAAM,GAAG,MAAM,8BAA8BC,SAAAA,eAAe,MAAM,MAAM,CAAC;AACzE,QAAI;AACH,YAAM,GAAG,MAAM,GAAG;AAAA,IACnB,SAAS,GAAG;AACX,UAAI,aAAaC,SAAAA,YAAY;AAC5BC,eAAAA,OAAO,MAAM,GAAG,EAAE,SAAS,oBAAoB;AAC/C,cAAM,IAAI,qBAAqB,kBAAkB,EAAE,OAAO;AAAA,MAC3D;AACA,YAAM;AAAA,IACP;AAAA,EACD;AACD;AAEO,MAAe,uBAAuB,MAAM;AAAA,EAGlD,YAA4B,SAAiC,gBAAwB;AACpF,UAAM,GAAG,OAAO,KAAK,cAAc,EAAE;AADV,SAAA,UAAA;AAAiC,SAAA,iBAAA;AAAA,EAE7D;AACD;AAEO,MAAM,uCAAuC,eAAe;AAAA,EAA5D,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAOC,MAAAA,iBAAiB,gBAAA;AAAA,EAAA;AACzB;AAEO,MAAM,sCAAsC,eAAe;AAAA,EAA3D,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAOA,MAAAA,iBAAiB,eAAA;AAAA,EAAA;AACzB;AAEO,MAAM,6BAA6B,eAAe;AAAA,EAAlD,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAOA,MAAAA,iBAAiB,eAAA;AAAA,EAAA;AACzB;AAEO,MAAM,2BAA2B,eAAe;AAAA,EAAhD,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAOA,MAAAA,iBAAiB,aAAA;AAAA,EAAA;AACzB;AAEO,MAAM,oCAAoC,eAAe;AAAA,EAAzD,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAOA,MAAAA,iBAAiB,sBAAA;AAAA,EAAA;AACzB;AAEO,MAAM,2CAA2C,eAAe;AAAA,EAAhE,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAOA,MAAAA,iBAAiB,6BAAA;AAAA,EAAA;AACzB;;;;;;;;;"}
@@ -0,0 +1,245 @@
1
+ import { calculateMigrationChecksum, MigrationVersionHelper } from "@contember/schema-migrations";
2
+ import { wrapIdentifier, QueryError } from "@contember/database";
3
+ import { SaveMigrationCommand } from "../commands/migrations/SaveMigrationCommand.js";
4
+ import { calculateSchemaChecksum, SchemaValidator } from "@contember/schema-utils";
5
+ import { MigrateErrorCode } from "../../schema/types.js";
6
+ import "../../schema/dev.graphql.js";
7
+ import "../../schema/system.graphql.js";
8
+ import { logger } from "@contember/logger";
9
+ import { SaveSchemaCommand } from "../commands/schema/SaveSchemaCommand.js";
10
+ import { ImplementationException } from "../../utils/exceptions.js";
11
+ var __defProp = Object.defineProperty;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
14
+ class ProjectMigrator {
15
+ constructor(migrationDescriber, schemaProvider, executedMigrationsResolver, migrationsDatabaseMetadataResolverStoreFactory, contentQueryExecutor) {
16
+ this.migrationDescriber = migrationDescriber;
17
+ this.schemaProvider = schemaProvider;
18
+ this.executedMigrationsResolver = executedMigrationsResolver;
19
+ this.migrationsDatabaseMetadataResolverStoreFactory = migrationsDatabaseMetadataResolverStoreFactory;
20
+ this.contentQueryExecutor = contentQueryExecutor;
21
+ }
22
+ async migrate({ db, project, identity, options: { ignoreOrder = false, skipExecuted = false }, migrationsToExecute, stages }) {
23
+ if (migrationsToExecute.length === 0) {
24
+ return;
25
+ }
26
+ const schemaWithMeta = await this.schemaProvider.fetch({ db });
27
+ let schema = schemaWithMeta.schema;
28
+ let id = schemaWithMeta.meta.id;
29
+ const validated = await this.validateMigrations(db, schema, schemaWithMeta.meta.version ?? null, migrationsToExecute, { ignoreOrder, skipExecuted });
30
+ if (validated.length === 0) {
31
+ return;
32
+ }
33
+ const sorted = [...validated].sort((a, b) => a.version.localeCompare(b.version));
34
+ const metadataStore = this.migrationsDatabaseMetadataResolverStoreFactory.create(db);
35
+ for (const migration of sorted) {
36
+ if (migration.type === "schema") {
37
+ const formatVersion = migration.formatVersion;
38
+ for (const modification of migration.modifications) {
39
+ [schema] = await this.applyModification(
40
+ db.client,
41
+ stages,
42
+ schema,
43
+ modification,
44
+ formatVersion,
45
+ migration.version,
46
+ project,
47
+ metadataStore
48
+ );
49
+ }
50
+ } else if (migration.type === "content") {
51
+ if (!id) {
52
+ throw new FailedContentMigrationError(migration.version, `Cannot execute content migration without schema`);
53
+ }
54
+ for (const query of migration.queries) {
55
+ await this.executeContentMigration({
56
+ version: migration.version,
57
+ query,
58
+ db,
59
+ schema,
60
+ schemaMeta: { id },
61
+ stages,
62
+ databaseMetadata: await metadataStore.getMetadata(db.client.schema),
63
+ identity,
64
+ project
65
+ });
66
+ }
67
+ await db.client.query(`SET CONSTRAINTS ALL IMMEDIATE`);
68
+ await db.client.query(`SET CONSTRAINTS ALL DEFERRED`);
69
+ }
70
+ id = await db.commandBus.execute(new SaveMigrationCommand(migration));
71
+ }
72
+ if (!id) {
73
+ throw new ImplementationException();
74
+ }
75
+ await db.commandBus.execute(
76
+ new SaveSchemaCommand({
77
+ schema,
78
+ meta: {
79
+ id,
80
+ updatedAt: /* @__PURE__ */ new Date(),
81
+ version: sorted[sorted.length - 1].version,
82
+ checksum: calculateSchemaChecksum(schema)
83
+ }
84
+ })
85
+ );
86
+ }
87
+ async executeContentMigration({ query, stages, version, ...ctx }) {
88
+ const queryStages = query.stage ? stages.filter((it) => it.slug === query.stage) : stages;
89
+ for (const stage of queryStages) {
90
+ const response = await this.contentQueryExecutor.execute({
91
+ stage,
92
+ ...ctx
93
+ }, query);
94
+ if (!response.ok) {
95
+ throw new FailedContentMigrationError(version, response.errors.join(", "));
96
+ }
97
+ if (query.checkMutationResult !== false) {
98
+ for (const [key, value] of Object.entries(response.result.data ?? {})) {
99
+ if (typeof value === "object" && value !== null && "ok" in value && !value.ok) {
100
+ const errorDetails = "errorMessage" in value ? value.errorMessage : "No details available. Please fetch errorMessage field.";
101
+ throw new NotSuccessfulContentMigrationError(version, `Mutation ${key} failed: ${errorDetails}`);
102
+ }
103
+ }
104
+ }
105
+ }
106
+ }
107
+ async validateMigrations(db, schema, version, migrationsToExecute, { ignoreOrder, skipExecuted }) {
108
+ const executedMigrations = await this.executedMigrationsResolver.getMigrations(db);
109
+ const toExecute = [];
110
+ let skippedErrors = [];
111
+ for (const migration of migrationsToExecute) {
112
+ const executedMigration = executedMigrations.find((it) => it.version === migration.version);
113
+ if (executedMigration) {
114
+ if (skipExecuted && (migration.type !== "schema" || executedMigration.checksum === calculateMigrationChecksum(migration))) {
115
+ continue;
116
+ } else {
117
+ throw new AlreadyExecutedMigrationError(migration.version, `Migration is already executed`);
118
+ }
119
+ }
120
+ if (version && migration.version < version && !ignoreOrder) {
121
+ throw new MustFollowLatestMigrationError(migration.version, `Must follow latest executed migration ${version}`);
122
+ }
123
+ if (migration.type === "schema") {
124
+ const described = this.migrationDescriber.describeModifications(schema, migration);
125
+ if (described.length === 0) {
126
+ continue;
127
+ }
128
+ const latestModification = described[described.length - 1];
129
+ schema = latestModification.schema;
130
+ skippedErrors = [
131
+ ...skippedErrors.filter((it) => it.skipUntil && MigrationVersionHelper.extractVersion(it.skipUntil) >= migration.version),
132
+ ...migration.skippedErrors ?? []
133
+ ];
134
+ const errors2 = SchemaValidator.validate(schema, skippedErrors);
135
+ if (errors2.length > 0) {
136
+ throw new InvalidSchemaError(
137
+ migration.version,
138
+ "Migration generates invalid schema: \n" + errors2.map((it) => `${it.path.join(".")}: [${it.code}] ${it.message}`).join("\n")
139
+ );
140
+ }
141
+ }
142
+ toExecute.push(migration);
143
+ }
144
+ const errors = SchemaValidator.validate(schema);
145
+ if (errors.length > 0) {
146
+ throw new InvalidSchemaError(
147
+ toExecute[toExecute.length - 1].version,
148
+ "Migration generates invalid schema: \n" + errors.map((it) => it.path.join(".") + ": " + it.message).join("\n")
149
+ );
150
+ }
151
+ return toExecute;
152
+ }
153
+ sqlPreprocessor(text, variables) {
154
+ return Object.entries(variables).reduce(
155
+ (content, [key, value]) => content.replace(new RegExp(`\\{\\{${key}\\}\\}`, "g"), value),
156
+ text
157
+ );
158
+ }
159
+ async applyModification(db, stages, schema, modification, formatVersion, migrationVersion, project, metadataStore) {
160
+ const {
161
+ getSql,
162
+ schema: newSchema
163
+ } = this.migrationDescriber.describeModification(schema, modification, { formatVersion });
164
+ for (const stage of stages) {
165
+ const databaseMetadata = await metadataStore.getMetadata(stage.schema);
166
+ const sql = getSql({
167
+ systemSchema: project.systemSchema,
168
+ databaseMetadata,
169
+ invalidateDatabaseMetadata: () => metadataStore.invalidate(stage.schema)
170
+ });
171
+ const processedSql = this.sqlPreprocessor(sql, {
172
+ project_slug: project.slug,
173
+ system_schema: project.systemSchema
174
+ });
175
+ await this.executeOnStage(db, stage, processedSql, migrationVersion);
176
+ }
177
+ return [newSchema];
178
+ }
179
+ async executeOnStage(db, stage, sql, migrationVersion) {
180
+ await db.query("SET LOCAL search_path TO " + wrapIdentifier(stage.schema));
181
+ try {
182
+ await db.query(sql);
183
+ } catch (e) {
184
+ if (e instanceof QueryError) {
185
+ logger.error(e, { message: "Migration failed" });
186
+ throw new MigrationFailedError(migrationVersion, e.message);
187
+ }
188
+ throw e;
189
+ }
190
+ }
191
+ }
192
+ class MigrationError extends Error {
193
+ constructor(version, migrationError) {
194
+ super(`${version}: ${migrationError}`);
195
+ this.version = version;
196
+ this.migrationError = migrationError;
197
+ }
198
+ }
199
+ class MustFollowLatestMigrationError extends MigrationError {
200
+ constructor() {
201
+ super(...arguments);
202
+ __publicField(this, "code", MigrateErrorCode.MustFollowLatest);
203
+ }
204
+ }
205
+ class AlreadyExecutedMigrationError extends MigrationError {
206
+ constructor() {
207
+ super(...arguments);
208
+ __publicField(this, "code", MigrateErrorCode.AlreadyExecuted);
209
+ }
210
+ }
211
+ class MigrationFailedError extends MigrationError {
212
+ constructor() {
213
+ super(...arguments);
214
+ __publicField(this, "code", MigrateErrorCode.MigrationFailed);
215
+ }
216
+ }
217
+ class InvalidSchemaError extends MigrationError {
218
+ constructor() {
219
+ super(...arguments);
220
+ __publicField(this, "code", MigrateErrorCode.InvalidSchema);
221
+ }
222
+ }
223
+ class FailedContentMigrationError extends MigrationError {
224
+ constructor() {
225
+ super(...arguments);
226
+ __publicField(this, "code", MigrateErrorCode.ContentMigrationFailed);
227
+ }
228
+ }
229
+ class NotSuccessfulContentMigrationError extends MigrationError {
230
+ constructor() {
231
+ super(...arguments);
232
+ __publicField(this, "code", MigrateErrorCode.ContentMigrationNotSuccessful);
233
+ }
234
+ }
235
+ export {
236
+ AlreadyExecutedMigrationError,
237
+ FailedContentMigrationError,
238
+ InvalidSchemaError,
239
+ MigrationError,
240
+ MigrationFailedError,
241
+ MustFollowLatestMigrationError,
242
+ NotSuccessfulContentMigrationError,
243
+ ProjectMigrator
244
+ };
245
+ //# sourceMappingURL=ProjectMigrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectMigrator.js","sources":["../../../../../../packages/engine-system-api/src/model/migrations/ProjectMigrator.ts"],"sourcesContent":["import { calculateMigrationChecksum, Migration, MigrationDescriber, MigrationVersionHelper } from '@contember/schema-migrations'\nimport { Client, DatabaseMetadata, QueryError, wrapIdentifier } from '@contember/database'\nimport { Schema } from '@contember/schema'\nimport { SaveMigrationCommand } from '../commands'\nimport { Stage } from '../dtos'\nimport { DatabaseContext } from '../database'\nimport { ExecutedMigrationsResolver } from './ExecutedMigrationsResolver'\nimport { MigrateErrorCode } from '../../schema'\nimport { calculateSchemaChecksum, SchemaValidator, SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { logger } from '@contember/logger'\nimport { MigrationsDatabaseMetadataResolverStoreFactory, SchemaDatabaseMetadataResolverStore } from '../metadata'\nimport { ContentMigrationQuery, MigrationInput } from './MigrationInput'\nimport { ContentQueryExecutor } from '../dependencies'\nimport { SchemaProvider } from './SchemaProvider'\nimport { SaveSchemaCommand } from '../commands/schema/SaveSchemaCommand'\nimport { ImplementationException } from '../../utils'\n\ntype MigrationVariables = {\n\tsystem_schema: string\n\tproject_slug: string\n}\n\nexport class ProjectMigrator {\n\tconstructor(\n\t\tprivate readonly migrationDescriber: MigrationDescriber,\n\t\tprivate readonly schemaProvider: SchemaProvider,\n\t\tprivate readonly executedMigrationsResolver: ExecutedMigrationsResolver,\n\t\tprivate readonly migrationsDatabaseMetadataResolverStoreFactory: MigrationsDatabaseMetadataResolverStoreFactory,\n\t\tprivate readonly contentQueryExecutor: ContentQueryExecutor,\n\t) {}\n\n\tpublic async migrate({ db, project, identity, options: { ignoreOrder = false, skipExecuted = false }, migrationsToExecute, stages }: {\n\t\tdb: DatabaseContext\n\t\tproject: { slug: string; systemSchema: string }\n\t\tidentity: { id: string }\n\t\tstages: Stage[]\n\t\tmigrationsToExecute: readonly MigrationInput[]\n\t\toptions: {\n\t\t\tignoreOrder?: boolean\n\t\t\tskipExecuted?: boolean\n\t\t}\n\t}) {\n\t\tif (migrationsToExecute.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tconst schemaWithMeta = await this.schemaProvider.fetch({ db })\n\t\tlet schema = schemaWithMeta.schema\n\t\tlet id = schemaWithMeta.meta.id\n\n\t\tconst validated = await this.validateMigrations(db, schema, schemaWithMeta.meta.version ?? null, migrationsToExecute, { ignoreOrder, skipExecuted })\n\t\tif (validated.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst sorted = [...validated].sort((a, b) => a.version.localeCompare(b.version))\n\n\t\tconst metadataStore = this.migrationsDatabaseMetadataResolverStoreFactory.create(db)\n\n\t\tfor (const migration of sorted) {\n\t\t\tif (migration.type === 'schema') {\n\t\t\t\tconst formatVersion = migration.formatVersion\n\n\t\t\t\tfor (const modification of migration.modifications) {\n\t\t\t\t\t;[schema] = await this.applyModification(\n\t\t\t\t\t\tdb.client,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tschema,\n\t\t\t\t\t\tmodification,\n\t\t\t\t\t\tformatVersion,\n\t\t\t\t\t\tmigration.version,\n\t\t\t\t\t\tproject,\n\t\t\t\t\t\tmetadataStore,\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t} else if (migration.type === 'content') {\n\t\t\t\tif (!id) {\n\t\t\t\t\tthrow new FailedContentMigrationError(migration.version, `Cannot execute content migration without schema`)\n\t\t\t\t}\n\t\t\t\tfor (const query of migration.queries) {\n\t\t\t\t\tawait this.executeContentMigration({\n\t\t\t\t\t\tversion: migration.version,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\tdb,\n\t\t\t\t\t\tschema,\n\t\t\t\t\t\tschemaMeta: { id },\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tdatabaseMetadata: await metadataStore.getMetadata(db.client.schema),\n\t\t\t\t\t\tidentity,\n\t\t\t\t\t\tproject,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t// event log uses deferred constraint triggers, we need to fire them before ALTER\n\t\t\t\tawait db.client.query(`SET CONSTRAINTS ALL IMMEDIATE`)\n\t\t\t\tawait db.client.query(`SET CONSTRAINTS ALL DEFERRED`)\n\t\t\t}\n\t\t\tid = await db.commandBus.execute(new SaveMigrationCommand(migration))\n\t\t}\n\t\tif (!id) {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\n\t\tawait db.commandBus.execute(\n\t\t\tnew SaveSchemaCommand({\n\t\t\t\tschema,\n\t\t\t\tmeta: {\n\t\t\t\t\tid,\n\t\t\t\t\tupdatedAt: new Date(),\n\t\t\t\t\tversion: sorted[sorted.length - 1].version,\n\t\t\t\t\tchecksum: calculateSchemaChecksum(schema),\n\t\t\t\t},\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate async executeContentMigration({ query, stages, version, ...ctx }: {\n\t\tversion: string\n\t\tdb: DatabaseContext\n\t\tquery: ContentMigrationQuery\n\t\tstages: Stage[]\n\t\tschema: Schema\n\t\tschemaMeta: { id: number }\n\t\tproject: { slug: string; systemSchema: string }\n\t\tidentity: { id: string }\n\t\tdatabaseMetadata: DatabaseMetadata\n\t}) {\n\t\tconst queryStages = query.stage ? stages.filter(it => it.slug === query.stage) : stages\n\t\tfor (const stage of queryStages) {\n\t\t\tconst response = await this.contentQueryExecutor.execute({\n\t\t\t\tstage,\n\t\t\t\t...ctx,\n\t\t\t}, query)\n\n\t\t\tif (!response.ok) {\n\t\t\t\tthrow new FailedContentMigrationError(version, response.errors.join(', '))\n\t\t\t}\n\t\t\tif (query.checkMutationResult !== false) {\n\t\t\t\tfor (const [key, value] of Object.entries(response.result.data ?? {})) {\n\t\t\t\t\tif (typeof value === 'object' && value !== null && 'ok' in value && !value.ok) {\n\t\t\t\t\t\tconst errorDetails = 'errorMessage' in value ? value.errorMessage : 'No details available. Please fetch errorMessage field.'\n\t\t\t\t\t\tthrow new NotSuccessfulContentMigrationError(version, `Mutation ${key} failed: ${errorDetails}`)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async validateMigrations(\n\t\tdb: DatabaseContext,\n\t\tschema: Schema,\n\t\tversion: string | null,\n\t\tmigrationsToExecute: readonly MigrationInput[],\n\t\t{ ignoreOrder, skipExecuted }: {\n\t\t\tignoreOrder: boolean\n\t\t\tskipExecuted: boolean\n\t\t},\n\t): Promise<readonly MigrationInput[]> {\n\t\tconst executedMigrations = await this.executedMigrationsResolver.getMigrations(db)\n\t\tconst toExecute: MigrationInput[] = []\n\t\tlet skippedErrors: SchemaValidatorSkippedErrors[] = []\n\t\tfor (const migration of migrationsToExecute) {\n\t\t\tconst executedMigration = executedMigrations.find(it => it.version === migration.version)\n\t\t\tif (executedMigration) {\n\t\t\t\tif (skipExecuted && (migration.type !== 'schema' || executedMigration.checksum === calculateMigrationChecksum(migration))) {\n\t\t\t\t\tcontinue\n\t\t\t\t} else {\n\t\t\t\t\tthrow new AlreadyExecutedMigrationError(migration.version, `Migration is already executed`)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (version && migration.version < version && !ignoreOrder) {\n\t\t\t\tthrow new MustFollowLatestMigrationError(migration.version, `Must follow latest executed migration ${version}`)\n\t\t\t}\n\t\t\tif (migration.type === 'schema') {\n\t\t\t\tconst described = this.migrationDescriber.describeModifications(schema, migration)\n\t\t\t\tif (described.length === 0) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst latestModification = described[described.length - 1]\n\t\t\t\tschema = latestModification.schema\n\t\t\t\tskippedErrors = [\n\t\t\t\t\t...skippedErrors.filter(it => it.skipUntil && MigrationVersionHelper.extractVersion(it.skipUntil) >= migration.version),\n\t\t\t\t\t...migration.skippedErrors ?? [],\n\t\t\t\t]\n\t\t\t\tconst errors = SchemaValidator.validate(schema, skippedErrors)\n\t\t\t\tif (errors.length > 0) {\n\t\t\t\t\tthrow new InvalidSchemaError(\n\t\t\t\t\t\tmigration.version,\n\t\t\t\t\t\t'Migration generates invalid schema: \\n'\n\t\t\t\t\t\t\t+ errors.map(it => `${it.path.join('.')}: [${it.code}] ${it.message}`).join('\\n'),\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttoExecute.push(migration)\n\t\t}\n\t\t// intentionally not using skippedErrors here\n\t\tconst errors = SchemaValidator.validate(schema)\n\t\tif (errors.length > 0) {\n\t\t\tthrow new InvalidSchemaError(\n\t\t\t\ttoExecute[toExecute.length - 1].version,\n\t\t\t\t'Migration generates invalid schema: \\n'\n\t\t\t\t\t+ errors.map(it => it.path.join('.') + ': ' + it.message).join('\\n'),\n\t\t\t)\n\t\t}\n\t\treturn toExecute\n\t}\n\n\tprivate sqlPreprocessor(text: string, variables: MigrationVariables): string {\n\t\treturn Object.entries(variables).reduce(\n\t\t\t(content, [key, value]) => content.replace(new RegExp(`\\\\{\\\\{${key}\\\\}\\\\}`, 'g'), value),\n\t\t\ttext,\n\t\t)\n\t}\n\n\tprivate async applyModification(\n\t\tdb: Client,\n\t\tstages: Stage[],\n\t\tschema: Schema,\n\t\tmodification: Migration.Modification,\n\t\tformatVersion: number,\n\t\tmigrationVersion: string,\n\t\tproject: { slug: string; systemSchema: string },\n\t\tmetadataStore: SchemaDatabaseMetadataResolverStore,\n\t): Promise<[Schema]> {\n\t\tconst {\n\t\t\tgetSql,\n\t\t\tschema: newSchema,\n\t\t} = this.migrationDescriber.describeModification(schema, modification, { formatVersion })\n\t\tfor (const stage of stages) {\n\t\t\tconst databaseMetadata = await metadataStore.getMetadata(stage.schema)\n\t\t\tconst sql = getSql({\n\t\t\t\tsystemSchema: project.systemSchema,\n\t\t\t\tdatabaseMetadata,\n\t\t\t\tinvalidateDatabaseMetadata: () => metadataStore.invalidate(stage.schema),\n\t\t\t})\n\t\t\tconst processedSql = this.sqlPreprocessor(sql, {\n\t\t\t\tproject_slug: project.slug,\n\t\t\t\tsystem_schema: project.systemSchema,\n\t\t\t})\n\t\t\tawait this.executeOnStage(db, stage, processedSql, migrationVersion)\n\t\t}\n\t\treturn [newSchema]\n\t}\n\n\tprivate async executeOnStage(db: Client, stage: Stage, sql: string, migrationVersion: string) {\n\t\tawait db.query('SET LOCAL search_path TO ' + wrapIdentifier(stage.schema))\n\t\ttry {\n\t\t\tawait db.query(sql)\n\t\t} catch (e) {\n\t\t\tif (e instanceof QueryError) {\n\t\t\t\tlogger.error(e, { message: 'Migration failed' })\n\t\t\t\tthrow new MigrationFailedError(migrationVersion, e.message)\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n}\n\nexport abstract class MigrationError extends Error {\n\tpublic abstract code: MigrateErrorCode\n\n\tconstructor(public readonly version: string, public readonly migrationError: string) {\n\t\tsuper(`${version}: ${migrationError}`)\n\t}\n}\n\nexport class MustFollowLatestMigrationError extends MigrationError {\n\tcode = MigrateErrorCode.MustFollowLatest\n}\n\nexport class AlreadyExecutedMigrationError extends MigrationError {\n\tcode = MigrateErrorCode.AlreadyExecuted\n}\n\nexport class MigrationFailedError extends MigrationError {\n\tcode = MigrateErrorCode.MigrationFailed\n}\n\nexport class InvalidSchemaError extends MigrationError {\n\tcode = MigrateErrorCode.InvalidSchema\n}\n\nexport class FailedContentMigrationError extends MigrationError {\n\tcode = MigrateErrorCode.ContentMigrationFailed\n}\n\nexport class NotSuccessfulContentMigrationError extends MigrationError {\n\tcode = MigrateErrorCode.ContentMigrationNotSuccessful\n}\n"],"names":["errors"],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("@contember/database");
4
+ require("@contember/schema-migrations");
5
+ require("../../schema/dev.graphql.cjs");
6
+ require("../../schema/system.graphql.cjs");
7
+ const SchemaQuery = require("../queries/schema/SchemaQuery.cjs");
8
+ const schemaUtils = require("@contember/schema-utils");
9
+ const emptyVersionedSchema = {
10
+ schema: schemaUtils.emptySchema,
11
+ meta: {}
12
+ };
13
+ class SchemaProvider {
14
+ constructor(executedMigrationsResolver, schemaMigrator) {
15
+ this.executedMigrationsResolver = executedMigrationsResolver;
16
+ this.schemaMigrator = schemaMigrator;
17
+ }
18
+ async buildSchemaFromMigrations(db) {
19
+ const newMigrations = await this.executedMigrationsResolver.getMigrations(db);
20
+ const partialResult = newMigrations.reduce(
21
+ (schema, migration) => {
22
+ return {
23
+ schema: migration.type !== "schema" ? schema.schema : this.schemaMigrator.applyModifications(schema.schema, migration.modifications, migration.formatVersion),
24
+ meta: {
25
+ version: migration.version,
26
+ id: migration.id,
27
+ updatedAt: migration.executedAt,
28
+ checksum: ""
29
+ }
30
+ };
31
+ },
32
+ emptyVersionedSchema
33
+ );
34
+ if (!partialResult.meta.version) {
35
+ return emptyVersionedSchema;
36
+ }
37
+ return {
38
+ schema: partialResult.schema,
39
+ meta: {
40
+ ...partialResult.meta,
41
+ checksum: schemaUtils.calculateSchemaChecksum(partialResult.schema)
42
+ }
43
+ };
44
+ }
45
+ async fetch({ db, currentSchema }) {
46
+ const newSchema = await db.queryHandler.fetch(new SchemaQuery.SchemaQuery(currentSchema?.meta.checksum));
47
+ if (!newSchema) {
48
+ return currentSchema ?? emptyVersionedSchema;
49
+ }
50
+ return newSchema;
51
+ }
52
+ }
53
+ exports.SchemaProvider = SchemaProvider;
54
+ exports.emptyVersionedSchema = emptyVersionedSchema;
55
+ //# sourceMappingURL=SchemaProvider.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaProvider.cjs","sources":["../../../../../../packages/engine-system-api/src/model/migrations/SchemaProvider.ts"],"sourcesContent":["import { SchemaQuery } from '../queries'\nimport { DatabaseContext } from '../database'\nimport { calculateSchemaChecksum, emptySchema, normalizeSchema } from '@contember/schema-utils'\nimport { ExecutedMigrationsResolver } from './ExecutedMigrationsResolver'\nimport { SchemaMigrator } from '@contember/schema-migrations'\nimport { Schema } from '@contember/schema'\n\nexport type SchemaMeta = {\n\tchecksum: string\n\tversion: string\n\tupdatedAt: Date\n\tid: number\n}\n\nexport const emptyVersionedSchema: SchemaWithMeta = {\n\tschema: emptySchema,\n\tmeta: {},\n}\n\nexport type SchemaWithMeta = {\n\tschema: Schema\n\tmeta: SchemaMeta | { [K in keyof SchemaMeta]?: undefined }\n}\n\nexport class SchemaProvider {\n\tconstructor(\n\t\tprivate readonly executedMigrationsResolver: ExecutedMigrationsResolver,\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t) {\n\t}\n\n\tasync buildSchemaFromMigrations(db: DatabaseContext): Promise<SchemaWithMeta> {\n\t\tconst newMigrations = await this.executedMigrationsResolver.getMigrations(db)\n\n\t\tconst partialResult = newMigrations.reduce<SchemaWithMeta>(\n\t\t\t(schema, migration) => {\n\t\t\t\treturn {\n\t\t\t\t\tschema: migration.type !== 'schema'\n\t\t\t\t\t\t? schema.schema\n\t\t\t\t\t\t: this.schemaMigrator.applyModifications(schema.schema, migration.modifications, migration.formatVersion),\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tversion: migration.version,\n\t\t\t\t\t\tid: migration.id,\n\t\t\t\t\t\tupdatedAt: migration.executedAt,\n\t\t\t\t\t\tchecksum: '',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t\temptyVersionedSchema,\n\t\t)\n\n\t\tif (!partialResult.meta.version) {\n\t\t\treturn emptyVersionedSchema\n\t\t}\n\n\t\treturn {\n\t\t\tschema: partialResult.schema,\n\t\t\tmeta: {\n\t\t\t\t...partialResult.meta,\n\t\t\t\tchecksum: calculateSchemaChecksum(partialResult.schema),\n\t\t\t},\n\t\t}\n\t}\n\n\tpublic async fetch({ db, currentSchema }: {\n\t\tdb: DatabaseContext\n\t\tcurrentSchema?: SchemaWithMeta | null\n\t}): Promise<SchemaWithMeta> {\n\t\tconst newSchema = await db.queryHandler.fetch(new SchemaQuery(currentSchema?.meta.checksum))\n\t\tif (!newSchema) {\n\t\t\treturn currentSchema ?? emptyVersionedSchema\n\t\t}\n\n\t\treturn newSchema\n\t}\n}\n"],"names":["emptySchema","calculateSchemaChecksum","SchemaQuery"],"mappings":";;;;;;;;AAcO,MAAM,uBAAuC;AAAA,EACnD,QAAQA,YAAAA;AAAAA,EACR,MAAM,CAAA;AACP;AAOO,MAAM,eAAe;AAAA,EAC3B,YACkB,4BACA,gBAChB;AAFgB,SAAA,6BAAA;AACA,SAAA,iBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,0BAA0B,IAA8C;AAC7E,UAAM,gBAAgB,MAAM,KAAK,2BAA2B,cAAc,EAAE;AAE5E,UAAM,gBAAgB,cAAc;AAAA,MACnC,CAAC,QAAQ,cAAc;AACtB,eAAO;AAAA,UACN,QAAQ,UAAU,SAAS,WACxB,OAAO,SACP,KAAK,eAAe,mBAAmB,OAAO,QAAQ,UAAU,eAAe,UAAU,aAAa;AAAA,UACzG,MAAM;AAAA,YACL,SAAS,UAAU;AAAA,YACnB,IAAI,UAAU;AAAA,YACd,WAAW,UAAU;AAAA,YACrB,UAAU;AAAA,UAAA;AAAA,QACX;AAAA,MAEF;AAAA,MACA;AAAA,IAAA;AAGD,QAAI,CAAC,cAAc,KAAK,SAAS;AAChC,aAAO;AAAA,IACR;AAEA,WAAO;AAAA,MACN,QAAQ,cAAc;AAAA,MACtB,MAAM;AAAA,QACL,GAAG,cAAc;AAAA,QACjB,UAAUC,YAAAA,wBAAwB,cAAc,MAAM;AAAA,MAAA;AAAA,IACvD;AAAA,EAEF;AAAA,EAEA,MAAa,MAAM,EAAE,IAAI,iBAGG;AAC3B,UAAM,YAAY,MAAM,GAAG,aAAa,MAAM,IAAIC,YAAAA,YAAY,eAAe,KAAK,QAAQ,CAAC;AAC3F,QAAI,CAAC,WAAW;AACf,aAAO,iBAAiB;AAAA,IACzB;AAEA,WAAO;AAAA,EACR;AACD;;;"}