@contember/engine-system-api 2.1.0-alpha.9 → 2.1.0-beta.1

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 (512) hide show
  1. package/CLAUDE.md +30 -0
  2. package/dist/development/src/SystemContainer.cjs +34 -1
  3. package/dist/development/src/SystemContainer.cjs.map +1 -1
  4. package/dist/development/src/SystemContainer.js +34 -1
  5. package/dist/development/src/SystemContainer.js.map +1 -1
  6. package/dist/development/src/migrations/2018-08-04-102200-init.cjs.map +1 -1
  7. package/dist/development/src/migrations/2018-08-04-102200-init.js.map +1 -1
  8. package/dist/development/src/migrations/2018-08-05-130501-trigger-event-function.cjs.map +1 -1
  9. package/dist/development/src/migrations/2018-08-05-130501-trigger-event-function.js.map +1 -1
  10. package/dist/development/src/migrations/2019-01-14-143432-event-trx-id.cjs.map +1 -1
  11. package/dist/development/src/migrations/2019-01-14-143432-event-trx-id.js.map +1 -1
  12. package/dist/development/src/migrations/2019-02-04-154500-event-rebase.cjs.map +1 -1
  13. package/dist/development/src/migrations/2019-02-04-154500-event-rebase.js.map +1 -1
  14. package/dist/development/src/migrations/2019-03-18-104147-event-run-migration-struct.cjs.map +1 -1
  15. package/dist/development/src/migrations/2019-03-18-104147-event-run-migration-struct.js.map +1 -1
  16. package/dist/development/src/migrations/2019-07-29-103000-trigger-event-function-fix.cjs.map +1 -1
  17. package/dist/development/src/migrations/2019-07-29-103000-trigger-event-function-fix.js.map +1 -1
  18. package/dist/development/src/migrations/2019-11-28-100000-missing-setting-fallback.cjs.map +1 -1
  19. package/dist/development/src/migrations/2019-11-28-100000-missing-setting-fallback.js.map +1 -1
  20. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
  21. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
  22. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
  23. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
  24. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
  25. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
  26. package/dist/development/src/migrations/2021-03-23-110000-timestamp-fix.cjs.map +1 -1
  27. package/dist/development/src/migrations/2021-03-23-110000-timestamp-fix.js.map +1 -1
  28. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
  29. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
  30. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
  31. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
  32. package/dist/development/src/migrations/2021-12-21-155500-events-up.cjs.map +1 -1
  33. package/dist/development/src/migrations/2021-12-21-155500-events-up.js.map +1 -1
  34. package/dist/development/src/migrations/2022-02-08-132600-fn-search-path.cjs.map +1 -1
  35. package/dist/development/src/migrations/2022-02-08-132600-fn-search-path.js.map +1 -1
  36. package/dist/development/src/migrations/2022-02-08-140500-drop-deadcode.cjs.map +1 -1
  37. package/dist/development/src/migrations/2022-02-08-140500-drop-deadcode.js.map +1 -1
  38. package/dist/development/src/migrations/2022-02-08-144400-dynamic-stage-schema.cjs.map +1 -1
  39. package/dist/development/src/migrations/2022-02-08-144400-dynamic-stage-schema.js.map +1 -1
  40. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
  41. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
  42. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.cjs +3 -1
  43. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
  44. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.js +3 -1
  45. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
  46. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.cjs +3 -1
  47. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
  48. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.js +3 -1
  49. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
  50. package/dist/development/src/migrations/2023-10-24-140000-schema-nullable-checksum.cjs.map +1 -1
  51. package/dist/development/src/migrations/2023-10-24-140000-schema-nullable-checksum.js.map +1 -1
  52. package/dist/development/src/migrations/2024-06-28-150000-migrations-drop-sequence.cjs.map +1 -1
  53. package/dist/development/src/migrations/2024-06-28-150000-migrations-drop-sequence.js.map +1 -1
  54. package/dist/development/src/migrations/2024-06-28-153000-schema.cjs.map +1 -1
  55. package/dist/development/src/migrations/2024-06-28-153000-schema.js.map +1 -1
  56. package/dist/development/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -1
  57. package/dist/development/src/migrations/2024-06-28-153001-schema-init.js.map +1 -1
  58. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.cjs.map +1 -1
  59. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.js.map +1 -1
  60. package/dist/development/src/migrations/2025-03-14-110000-fix-missing-index.cjs.map +1 -1
  61. package/dist/development/src/migrations/2025-03-14-110000-fix-missing-index.js.map +1 -1
  62. package/dist/development/src/migrations/runner.cjs.map +1 -1
  63. package/dist/development/src/migrations/runner.js.map +1 -1
  64. package/dist/development/src/migrations/snapshot-factory.cjs.map +1 -1
  65. package/dist/development/src/migrations/snapshot-factory.js.map +1 -1
  66. package/dist/development/src/model/ProjectInitializer.cjs +18 -14
  67. package/dist/development/src/model/ProjectInitializer.cjs.map +1 -1
  68. package/dist/development/src/model/ProjectInitializer.js +18 -14
  69. package/dist/development/src/model/ProjectInitializer.js.map +1 -1
  70. package/dist/development/src/model/ProjectTruncateExecutor.cjs.map +1 -1
  71. package/dist/development/src/model/ProjectTruncateExecutor.js.map +1 -1
  72. package/dist/development/src/model/authorization/AuthorizationActions.cjs.map +1 -1
  73. package/dist/development/src/model/authorization/AuthorizationActions.js.map +1 -1
  74. package/dist/development/src/model/authorization/Identity.cjs.map +1 -1
  75. package/dist/development/src/model/authorization/Identity.js.map +1 -1
  76. package/dist/development/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  77. package/dist/development/src/model/authorization/PermissionsFactory.js.map +1 -1
  78. package/dist/development/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
  79. package/dist/development/src/model/authorization/StagePermissionsFactory.js.map +1 -1
  80. package/dist/development/src/model/authorization/StageScope.cjs.map +1 -1
  81. package/dist/development/src/model/authorization/StageScope.js.map +1 -1
  82. package/dist/development/src/model/authorization/SwitchEvaluatorNode.cjs.map +1 -1
  83. package/dist/development/src/model/authorization/SwitchEvaluatorNode.js.map +1 -1
  84. package/dist/development/src/model/commands/CommandBus.cjs +1 -3
  85. package/dist/development/src/model/commands/CommandBus.cjs.map +1 -1
  86. package/dist/development/src/model/commands/CommandBus.js +1 -3
  87. package/dist/development/src/model/commands/CommandBus.js.map +1 -1
  88. package/dist/development/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
  89. package/dist/development/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
  90. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
  91. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
  92. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
  93. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
  94. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
  95. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
  96. package/dist/development/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -1
  97. package/dist/development/src/model/commands/schema/SaveSchemaCommand.js.map +1 -1
  98. package/dist/development/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
  99. package/dist/development/src/model/commands/stages/CreateStageCommand.js.map +1 -1
  100. package/dist/development/src/model/database/DatabaseContext.cjs.map +1 -1
  101. package/dist/development/src/model/database/DatabaseContext.js.map +1 -1
  102. package/dist/development/src/model/dtos/ExecutedMigration.cjs.map +1 -1
  103. package/dist/development/src/model/dtos/ExecutedMigration.js.map +1 -1
  104. package/dist/development/src/model/events/EventResponseBuilder.cjs.map +1 -1
  105. package/dist/development/src/model/events/EventResponseBuilder.js.map +1 -1
  106. package/dist/development/src/model/events/EventResponseHelper.cjs.map +1 -1
  107. package/dist/development/src/model/events/EventResponseHelper.js.map +1 -1
  108. package/dist/development/src/model/events/identityUtils.cjs.map +1 -1
  109. package/dist/development/src/model/events/identityUtils.js.map +1 -1
  110. package/dist/development/src/model/events/types.cjs.map +1 -1
  111. package/dist/development/src/model/events/types.js.map +1 -1
  112. package/dist/development/src/model/helpers/modelHelpers.cjs.map +1 -1
  113. package/dist/development/src/model/helpers/modelHelpers.js.map +1 -1
  114. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
  115. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
  116. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
  117. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
  118. package/dist/development/src/model/migrations/MigrationAlterer.cjs.map +1 -1
  119. package/dist/development/src/model/migrations/MigrationAlterer.js.map +1 -1
  120. package/dist/development/src/model/migrations/ProjectMigrator.cjs +25 -13
  121. package/dist/development/src/model/migrations/ProjectMigrator.cjs.map +1 -1
  122. package/dist/development/src/model/migrations/ProjectMigrator.js +25 -13
  123. package/dist/development/src/model/migrations/ProjectMigrator.js.map +1 -1
  124. package/dist/development/src/model/migrations/SchemaProvider.cjs +1 -4
  125. package/dist/development/src/model/migrations/SchemaProvider.cjs.map +1 -1
  126. package/dist/development/src/model/migrations/SchemaProvider.js +2 -5
  127. package/dist/development/src/model/migrations/SchemaProvider.js.map +1 -1
  128. package/dist/development/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
  129. package/dist/development/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  130. package/dist/development/src/model/queries/events/EventsQuery.cjs +1 -5
  131. package/dist/development/src/model/queries/events/EventsQuery.cjs.map +1 -1
  132. package/dist/development/src/model/queries/events/EventsQuery.js +1 -5
  133. package/dist/development/src/model/queries/events/EventsQuery.js.map +1 -1
  134. package/dist/development/src/model/queries/events/LatestTransactionIdByStageQuery.cjs.map +1 -1
  135. package/dist/development/src/model/queries/events/LatestTransactionIdByStageQuery.js.map +1 -1
  136. package/dist/development/src/model/queries/events/OldValuesQuery.cjs +1 -5
  137. package/dist/development/src/model/queries/events/OldValuesQuery.cjs.map +1 -1
  138. package/dist/development/src/model/queries/events/OldValuesQuery.js +1 -5
  139. package/dist/development/src/model/queries/events/OldValuesQuery.js.map +1 -1
  140. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
  141. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  142. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
  143. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  144. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs.map +1 -1
  145. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -1
  146. package/dist/development/src/model/queries/schema/SchemaQuery.cjs.map +1 -1
  147. package/dist/development/src/model/queries/schema/SchemaQuery.js.map +1 -1
  148. package/dist/development/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  149. package/dist/development/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  150. package/dist/development/src/model/queries/stages/StageQueryFactory.cjs.map +1 -1
  151. package/dist/development/src/model/queries/stages/StageQueryFactory.js.map +1 -1
  152. package/dist/development/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  153. package/dist/development/src/model/queries/stages/StagesQuery.js.map +1 -1
  154. package/dist/development/src/model/stages/StageCreator.cjs +0 -2
  155. package/dist/development/src/model/stages/StageCreator.cjs.map +1 -1
  156. package/dist/development/src/model/stages/StageCreator.js +0 -2
  157. package/dist/development/src/model/stages/StageCreator.js.map +1 -1
  158. package/dist/development/src/resolvers/ResolverFactory.cjs +1 -1
  159. package/dist/development/src/resolvers/ResolverFactory.cjs.map +1 -1
  160. package/dist/development/src/resolvers/ResolverFactory.js +2 -2
  161. package/dist/development/src/resolvers/ResolverFactory.js.map +1 -1
  162. package/dist/development/src/resolvers/SystemResolverContext.cjs.map +1 -1
  163. package/dist/development/src/resolvers/SystemResolverContext.js.map +1 -1
  164. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  165. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  166. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  167. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  168. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  169. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  170. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs +8 -6
  171. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  172. package/dist/development/src/resolvers/query/EventsQueryResolver.js +8 -6
  173. package/dist/development/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  174. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  175. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  176. package/dist/development/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -1
  177. package/dist/development/src/resolvers/query/SchemaQueryResolver.js.map +1 -1
  178. package/dist/development/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  179. package/dist/development/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  180. package/dist/development/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  181. package/dist/development/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  182. package/dist/development/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  183. package/dist/development/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  184. package/dist/development/src/schema/dev.graphql.cjs.map +1 -1
  185. package/dist/development/src/schema/system.graphql.cjs.map +1 -1
  186. package/dist/development/src/schema/types.cjs.map +1 -1
  187. package/dist/development/src/schema/types.js.map +1 -1
  188. package/dist/development/src/utils/MapSet.cjs.map +1 -1
  189. package/dist/development/src/utils/MapSet.js.map +1 -1
  190. package/dist/development/src/utils/Response.cjs.map +1 -1
  191. package/dist/development/src/utils/Response.js.map +1 -1
  192. package/dist/development/src/utils/assertNever.cjs.map +1 -1
  193. package/dist/development/src/utils/assertNever.js.map +1 -1
  194. package/dist/development/src/utils/batchQuery.cjs.map +1 -1
  195. package/dist/development/src/utils/batchQuery.js.map +1 -1
  196. package/dist/development/src/utils/tick.cjs.map +1 -1
  197. package/dist/development/src/utils/tick.js.map +1 -1
  198. package/dist/development/src/utils/tuple.cjs.map +1 -1
  199. package/dist/development/src/utils/tuple.js.map +1 -1
  200. package/dist/production/src/SystemContainer.cjs +34 -1
  201. package/dist/production/src/SystemContainer.cjs.map +1 -1
  202. package/dist/production/src/SystemContainer.js +34 -1
  203. package/dist/production/src/SystemContainer.js.map +1 -1
  204. package/dist/production/src/migrations/2018-08-04-102200-init.cjs.map +1 -1
  205. package/dist/production/src/migrations/2018-08-04-102200-init.js.map +1 -1
  206. package/dist/production/src/migrations/2018-08-05-130501-trigger-event-function.cjs.map +1 -1
  207. package/dist/production/src/migrations/2018-08-05-130501-trigger-event-function.js.map +1 -1
  208. package/dist/production/src/migrations/2019-01-14-143432-event-trx-id.cjs.map +1 -1
  209. package/dist/production/src/migrations/2019-01-14-143432-event-trx-id.js.map +1 -1
  210. package/dist/production/src/migrations/2019-02-04-154500-event-rebase.cjs.map +1 -1
  211. package/dist/production/src/migrations/2019-02-04-154500-event-rebase.js.map +1 -1
  212. package/dist/production/src/migrations/2019-03-18-104147-event-run-migration-struct.cjs.map +1 -1
  213. package/dist/production/src/migrations/2019-03-18-104147-event-run-migration-struct.js.map +1 -1
  214. package/dist/production/src/migrations/2019-07-29-103000-trigger-event-function-fix.cjs.map +1 -1
  215. package/dist/production/src/migrations/2019-07-29-103000-trigger-event-function-fix.js.map +1 -1
  216. package/dist/production/src/migrations/2019-11-28-100000-missing-setting-fallback.cjs.map +1 -1
  217. package/dist/production/src/migrations/2019-11-28-100000-missing-setting-fallback.js.map +1 -1
  218. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
  219. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
  220. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
  221. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
  222. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
  223. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
  224. package/dist/production/src/migrations/2021-03-23-110000-timestamp-fix.cjs.map +1 -1
  225. package/dist/production/src/migrations/2021-03-23-110000-timestamp-fix.js.map +1 -1
  226. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
  227. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
  228. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
  229. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
  230. package/dist/production/src/migrations/2021-12-21-155500-events-up.cjs.map +1 -1
  231. package/dist/production/src/migrations/2021-12-21-155500-events-up.js.map +1 -1
  232. package/dist/production/src/migrations/2022-02-08-132600-fn-search-path.cjs.map +1 -1
  233. package/dist/production/src/migrations/2022-02-08-132600-fn-search-path.js.map +1 -1
  234. package/dist/production/src/migrations/2022-02-08-140500-drop-deadcode.cjs.map +1 -1
  235. package/dist/production/src/migrations/2022-02-08-140500-drop-deadcode.js.map +1 -1
  236. package/dist/production/src/migrations/2022-02-08-144400-dynamic-stage-schema.cjs.map +1 -1
  237. package/dist/production/src/migrations/2022-02-08-144400-dynamic-stage-schema.js.map +1 -1
  238. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
  239. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
  240. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs +3 -1
  241. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
  242. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js +3 -1
  243. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
  244. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs +3 -1
  245. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
  246. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js +3 -1
  247. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
  248. package/dist/production/src/migrations/2023-10-24-140000-schema-nullable-checksum.cjs.map +1 -1
  249. package/dist/production/src/migrations/2023-10-24-140000-schema-nullable-checksum.js.map +1 -1
  250. package/dist/production/src/migrations/2024-06-28-150000-migrations-drop-sequence.cjs.map +1 -1
  251. package/dist/production/src/migrations/2024-06-28-150000-migrations-drop-sequence.js.map +1 -1
  252. package/dist/production/src/migrations/2024-06-28-153000-schema.cjs.map +1 -1
  253. package/dist/production/src/migrations/2024-06-28-153000-schema.js.map +1 -1
  254. package/dist/production/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -1
  255. package/dist/production/src/migrations/2024-06-28-153001-schema-init.js.map +1 -1
  256. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.cjs.map +1 -1
  257. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.js.map +1 -1
  258. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.cjs.map +1 -1
  259. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.js.map +1 -1
  260. package/dist/production/src/migrations/runner.cjs.map +1 -1
  261. package/dist/production/src/migrations/runner.js.map +1 -1
  262. package/dist/production/src/migrations/snapshot-factory.cjs.map +1 -1
  263. package/dist/production/src/migrations/snapshot-factory.js.map +1 -1
  264. package/dist/production/src/model/ProjectInitializer.cjs +18 -14
  265. package/dist/production/src/model/ProjectInitializer.cjs.map +1 -1
  266. package/dist/production/src/model/ProjectInitializer.js +18 -14
  267. package/dist/production/src/model/ProjectInitializer.js.map +1 -1
  268. package/dist/production/src/model/ProjectTruncateExecutor.cjs.map +1 -1
  269. package/dist/production/src/model/ProjectTruncateExecutor.js.map +1 -1
  270. package/dist/production/src/model/authorization/AuthorizationActions.cjs.map +1 -1
  271. package/dist/production/src/model/authorization/AuthorizationActions.js.map +1 -1
  272. package/dist/production/src/model/authorization/Identity.cjs.map +1 -1
  273. package/dist/production/src/model/authorization/Identity.js.map +1 -1
  274. package/dist/production/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  275. package/dist/production/src/model/authorization/PermissionsFactory.js.map +1 -1
  276. package/dist/production/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
  277. package/dist/production/src/model/authorization/StagePermissionsFactory.js.map +1 -1
  278. package/dist/production/src/model/authorization/StageScope.cjs.map +1 -1
  279. package/dist/production/src/model/authorization/StageScope.js.map +1 -1
  280. package/dist/production/src/model/authorization/SwitchEvaluatorNode.cjs.map +1 -1
  281. package/dist/production/src/model/authorization/SwitchEvaluatorNode.js.map +1 -1
  282. package/dist/production/src/model/commands/CommandBus.cjs +1 -3
  283. package/dist/production/src/model/commands/CommandBus.cjs.map +1 -1
  284. package/dist/production/src/model/commands/CommandBus.js +1 -3
  285. package/dist/production/src/model/commands/CommandBus.js.map +1 -1
  286. package/dist/production/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
  287. package/dist/production/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
  288. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
  289. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
  290. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
  291. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
  292. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
  293. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
  294. package/dist/production/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -1
  295. package/dist/production/src/model/commands/schema/SaveSchemaCommand.js.map +1 -1
  296. package/dist/production/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
  297. package/dist/production/src/model/commands/stages/CreateStageCommand.js.map +1 -1
  298. package/dist/production/src/model/database/DatabaseContext.cjs.map +1 -1
  299. package/dist/production/src/model/database/DatabaseContext.js.map +1 -1
  300. package/dist/production/src/model/dtos/ExecutedMigration.cjs.map +1 -1
  301. package/dist/production/src/model/dtos/ExecutedMigration.js.map +1 -1
  302. package/dist/production/src/model/events/EventResponseBuilder.cjs.map +1 -1
  303. package/dist/production/src/model/events/EventResponseBuilder.js.map +1 -1
  304. package/dist/production/src/model/events/EventResponseHelper.cjs.map +1 -1
  305. package/dist/production/src/model/events/EventResponseHelper.js.map +1 -1
  306. package/dist/production/src/model/events/identityUtils.cjs.map +1 -1
  307. package/dist/production/src/model/events/identityUtils.js.map +1 -1
  308. package/dist/production/src/model/events/types.cjs.map +1 -1
  309. package/dist/production/src/model/events/types.js.map +1 -1
  310. package/dist/production/src/model/helpers/modelHelpers.cjs.map +1 -1
  311. package/dist/production/src/model/helpers/modelHelpers.js.map +1 -1
  312. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
  313. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
  314. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
  315. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
  316. package/dist/production/src/model/migrations/MigrationAlterer.cjs.map +1 -1
  317. package/dist/production/src/model/migrations/MigrationAlterer.js.map +1 -1
  318. package/dist/production/src/model/migrations/ProjectMigrator.cjs +25 -13
  319. package/dist/production/src/model/migrations/ProjectMigrator.cjs.map +1 -1
  320. package/dist/production/src/model/migrations/ProjectMigrator.js +25 -13
  321. package/dist/production/src/model/migrations/ProjectMigrator.js.map +1 -1
  322. package/dist/production/src/model/migrations/SchemaProvider.cjs +1 -4
  323. package/dist/production/src/model/migrations/SchemaProvider.cjs.map +1 -1
  324. package/dist/production/src/model/migrations/SchemaProvider.js +2 -5
  325. package/dist/production/src/model/migrations/SchemaProvider.js.map +1 -1
  326. package/dist/production/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
  327. package/dist/production/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  328. package/dist/production/src/model/queries/events/EventsQuery.cjs +1 -5
  329. package/dist/production/src/model/queries/events/EventsQuery.cjs.map +1 -1
  330. package/dist/production/src/model/queries/events/EventsQuery.js +1 -5
  331. package/dist/production/src/model/queries/events/EventsQuery.js.map +1 -1
  332. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.cjs.map +1 -1
  333. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.js.map +1 -1
  334. package/dist/production/src/model/queries/events/OldValuesQuery.cjs +1 -5
  335. package/dist/production/src/model/queries/events/OldValuesQuery.cjs.map +1 -1
  336. package/dist/production/src/model/queries/events/OldValuesQuery.js +1 -5
  337. package/dist/production/src/model/queries/events/OldValuesQuery.js.map +1 -1
  338. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
  339. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  340. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
  341. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  342. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs.map +1 -1
  343. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -1
  344. package/dist/production/src/model/queries/schema/SchemaQuery.cjs.map +1 -1
  345. package/dist/production/src/model/queries/schema/SchemaQuery.js.map +1 -1
  346. package/dist/production/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  347. package/dist/production/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  348. package/dist/production/src/model/queries/stages/StageQueryFactory.cjs.map +1 -1
  349. package/dist/production/src/model/queries/stages/StageQueryFactory.js.map +1 -1
  350. package/dist/production/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  351. package/dist/production/src/model/queries/stages/StagesQuery.js.map +1 -1
  352. package/dist/production/src/model/stages/StageCreator.cjs +0 -2
  353. package/dist/production/src/model/stages/StageCreator.cjs.map +1 -1
  354. package/dist/production/src/model/stages/StageCreator.js +0 -2
  355. package/dist/production/src/model/stages/StageCreator.js.map +1 -1
  356. package/dist/production/src/resolvers/ResolverFactory.cjs +1 -1
  357. package/dist/production/src/resolvers/ResolverFactory.cjs.map +1 -1
  358. package/dist/production/src/resolvers/ResolverFactory.js +2 -2
  359. package/dist/production/src/resolvers/ResolverFactory.js.map +1 -1
  360. package/dist/production/src/resolvers/SystemResolverContext.cjs.map +1 -1
  361. package/dist/production/src/resolvers/SystemResolverContext.js.map +1 -1
  362. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  363. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  364. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  365. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  366. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  367. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  368. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs +8 -6
  369. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  370. package/dist/production/src/resolvers/query/EventsQueryResolver.js +8 -6
  371. package/dist/production/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  372. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  373. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  374. package/dist/production/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -1
  375. package/dist/production/src/resolvers/query/SchemaQueryResolver.js.map +1 -1
  376. package/dist/production/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  377. package/dist/production/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  378. package/dist/production/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  379. package/dist/production/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  380. package/dist/production/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  381. package/dist/production/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  382. package/dist/production/src/schema/dev.graphql.cjs.map +1 -1
  383. package/dist/production/src/schema/system.graphql.cjs.map +1 -1
  384. package/dist/production/src/schema/types.cjs.map +1 -1
  385. package/dist/production/src/schema/types.js.map +1 -1
  386. package/dist/production/src/utils/MapSet.cjs.map +1 -1
  387. package/dist/production/src/utils/MapSet.js.map +1 -1
  388. package/dist/production/src/utils/Response.cjs.map +1 -1
  389. package/dist/production/src/utils/Response.js.map +1 -1
  390. package/dist/production/src/utils/assertNever.cjs.map +1 -1
  391. package/dist/production/src/utils/assertNever.js.map +1 -1
  392. package/dist/production/src/utils/batchQuery.cjs.map +1 -1
  393. package/dist/production/src/utils/batchQuery.js.map +1 -1
  394. package/dist/production/src/utils/tick.cjs.map +1 -1
  395. package/dist/production/src/utils/tick.js.map +1 -1
  396. package/dist/production/src/utils/tuple.cjs.map +1 -1
  397. package/dist/production/src/utils/tuple.js.map +1 -1
  398. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  399. package/dist/types/SystemContainer.d.ts.map +1 -1
  400. package/dist/types/index.d.ts +2 -2
  401. package/dist/types/index.d.ts.map +1 -1
  402. package/dist/types/migrations/2018-08-04-102200-init.d.ts.map +1 -1
  403. package/dist/types/migrations/2018-08-05-130501-trigger-event-function.d.ts.map +1 -1
  404. package/dist/types/migrations/2019-01-14-143432-event-trx-id.d.ts.map +1 -1
  405. package/dist/types/migrations/2019-02-04-154500-event-rebase.d.ts.map +1 -1
  406. package/dist/types/migrations/2019-03-18-104147-event-run-migration-struct.d.ts.map +1 -1
  407. package/dist/types/migrations/2019-07-29-103000-trigger-event-function-fix.d.ts.map +1 -1
  408. package/dist/types/migrations/2019-11-28-100000-missing-setting-fallback.d.ts.map +1 -1
  409. package/dist/types/migrations/2020-03-27-130000-project-migrations.d.ts.map +1 -1
  410. package/dist/types/migrations/2020-05-06-150000-composed-primary.d.ts.map +1 -1
  411. package/dist/types/migrations/2020-06-01-103000-event-trigger-perf.d.ts.map +1 -1
  412. package/dist/types/migrations/2021-03-23-110000-timestamp-fix.d.ts.map +1 -1
  413. package/dist/types/migrations/2021-05-07-155800-event-log-rework.d.ts.map +1 -1
  414. package/dist/types/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts.map +1 -1
  415. package/dist/types/migrations/2021-12-21-155500-events-up.d.ts.map +1 -1
  416. package/dist/types/migrations/2022-02-08-132600-fn-search-path.d.ts.map +1 -1
  417. package/dist/types/migrations/2022-02-08-140500-drop-deadcode.d.ts.map +1 -1
  418. package/dist/types/migrations/2022-02-08-144400-dynamic-stage-schema.d.ts.map +1 -1
  419. package/dist/types/migrations/2022-10-03-110000-table-on-delete.d.ts.map +1 -1
  420. package/dist/types/migrations/2023-09-11-174000-fix-on-delete.d.ts.map +1 -1
  421. package/dist/types/migrations/2023-10-19-173000-fix-unique.d.ts.map +1 -1
  422. package/dist/types/migrations/2023-10-24-140000-schema-nullable-checksum.d.ts.map +1 -1
  423. package/dist/types/migrations/2024-06-28-150000-migrations-drop-sequence.d.ts.map +1 -1
  424. package/dist/types/migrations/2024-06-28-153000-schema.d.ts.map +1 -1
  425. package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts.map +1 -1
  426. package/dist/types/migrations/2024-07-29-150000-event-data-index.d.ts.map +1 -1
  427. package/dist/types/migrations/2025-03-14-110000-fix-missing-index.d.ts.map +1 -1
  428. package/dist/types/migrations/runner.d.ts.map +1 -1
  429. package/dist/types/migrations/snapshot-factory.d.ts.map +1 -1
  430. package/dist/types/model/ProjectInitializer.d.ts.map +1 -1
  431. package/dist/types/model/commands/Command.d.ts +1 -1
  432. package/dist/types/model/commands/Command.d.ts.map +1 -1
  433. package/dist/types/model/commands/CommandBus.d.ts.map +1 -1
  434. package/dist/types/model/commands/migrations/SaveMigrationCommand.d.ts.map +1 -1
  435. package/dist/types/model/dtos/ExecutedMigration.d.ts.map +1 -1
  436. package/dist/types/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts.map +1 -1
  437. package/dist/types/model/migrations/ProjectMigrator.d.ts +1 -0
  438. package/dist/types/model/migrations/ProjectMigrator.d.ts.map +1 -1
  439. package/dist/types/model/migrations/SchemaProvider.d.ts.map +1 -1
  440. package/dist/types/model/queries/events/EventsQuery.d.ts.map +1 -1
  441. package/dist/types/model/queries/schema/SchemaQuery.d.ts.map +1 -1
  442. package/dist/types/model/stages/StageCreator.d.ts +0 -1
  443. package/dist/types/model/stages/StageCreator.d.ts.map +1 -1
  444. package/dist/types/resolvers/ResolverFactory.d.ts.map +1 -1
  445. package/dist/types/resolvers/SystemResolverContext.d.ts.map +1 -1
  446. package/dist/types/resolvers/mutation/MigrateMutationResolver.d.ts.map +1 -1
  447. package/dist/types/resolvers/mutation/MigrationAlterMutationResolver.d.ts.map +1 -1
  448. package/dist/types/resolvers/query/EventsQueryResolver.d.ts.map +1 -1
  449. package/dist/types/schema/types.d.ts.map +1 -1
  450. package/dist/types/tsconfig.tsbuildinfo +1 -1
  451. package/graphql.codegen.yml +1 -1
  452. package/package.json +24 -19
  453. package/src/SystemContainer.ts +61 -56
  454. package/src/bin/runMigrations.ts +1 -5
  455. package/src/index.ts +5 -5
  456. package/src/migrations/2018-08-04-102200-init.ts +1 -1
  457. package/src/migrations/2018-08-05-130501-trigger-event-function.ts +1 -1
  458. package/src/migrations/2019-01-14-143432-event-trx-id.ts +1 -1
  459. package/src/migrations/2019-02-04-154500-event-rebase.ts +1 -1
  460. package/src/migrations/2019-03-18-104147-event-run-migration-struct.ts +1 -1
  461. package/src/migrations/2019-07-29-103000-trigger-event-function-fix.ts +1 -1
  462. package/src/migrations/2019-11-28-100000-missing-setting-fallback.ts +1 -1
  463. package/src/migrations/2020-03-27-130000-project-migrations.ts +1 -1
  464. package/src/migrations/2020-05-06-150000-composed-primary.ts +1 -1
  465. package/src/migrations/2020-06-01-103000-event-trigger-perf.ts +1 -1
  466. package/src/migrations/2021-03-23-110000-timestamp-fix.ts +1 -1
  467. package/src/migrations/2021-05-07-155800-event-log-rework.ts +1 -1
  468. package/src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts +1 -1
  469. package/src/migrations/2021-12-21-155500-events-up.ts +1 -1
  470. package/src/migrations/2022-02-08-132600-fn-search-path.ts +1 -1
  471. package/src/migrations/2022-02-08-140500-drop-deadcode.ts +1 -1
  472. package/src/migrations/2022-02-08-144400-dynamic-stage-schema.ts +1 -1
  473. package/src/migrations/2022-10-03-110000-table-on-delete.ts +11 -7
  474. package/src/migrations/2023-09-11-174000-fix-on-delete.ts +14 -8
  475. package/src/migrations/2023-10-19-173000-fix-unique.ts +5 -4
  476. package/src/migrations/2023-10-24-140000-schema-nullable-checksum.ts +1 -1
  477. package/src/migrations/2024-06-28-150000-migrations-drop-sequence.ts +1 -1
  478. package/src/migrations/2024-06-28-153000-schema.ts +1 -1
  479. package/src/migrations/2024-06-28-153001-schema-init.ts +1 -2
  480. package/src/migrations/2024-07-29-150000-event-data-index.ts +1 -1
  481. package/src/migrations/2025-03-14-110000-fix-missing-index.ts +2 -3
  482. package/src/migrations/runner.ts +12 -12
  483. package/src/migrations/snapshot-factory.ts +0 -1
  484. package/src/model/ProjectInitializer.ts +19 -14
  485. package/src/model/commands/Command.ts +1 -1
  486. package/src/model/commands/CommandBus.ts +1 -3
  487. package/src/model/commands/migrations/SaveMigrationCommand.ts +1 -2
  488. package/src/model/database/DatabaseContext.ts +1 -2
  489. package/src/model/dtos/ExecutedMigration.ts +0 -1
  490. package/src/model/dtos/Stage.ts +0 -1
  491. package/src/model/events/types.ts +0 -1
  492. package/src/model/metadata/SchemaDatabaseMetadataResolverStore.ts +0 -2
  493. package/src/model/migrations/ProjectMigrator.ts +36 -20
  494. package/src/model/migrations/SchemaProvider.ts +5 -6
  495. package/src/model/queries/events/EventsQuery.ts +3 -7
  496. package/src/model/queries/events/OldValuesQuery.ts +4 -4
  497. package/src/model/queries/schema/SchemaQuery.ts +1 -3
  498. package/src/model/stages/StageCreator.ts +0 -2
  499. package/src/resolvers/ResolverFactory.ts +3 -4
  500. package/src/resolvers/SystemResolverContext.ts +3 -1
  501. package/src/resolvers/mutation/MigrateMutationResolver.ts +38 -37
  502. package/src/resolvers/mutation/MigrationAlterMutationResolver.ts +0 -1
  503. package/src/resolvers/query/EventsQueryResolver.ts +8 -6
  504. package/src/schema/types.ts +69 -43
  505. package/tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts +10 -9
  506. package/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts +10 -10
  507. package/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts +32 -34
  508. package/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.ts +65 -67
  509. package/tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts +23 -25
  510. package/tests/cases/migrations/2025-03-14-110000-fix-missing-index.test.ts +18 -19
  511. package/tests/cases/unit/eventsQuery.test.ts +22 -15
  512. package/tests/.eslintrc.cjs +0 -5
@@ -66,7 +66,6 @@ const migrations = {
66
66
  '2025-03-14-110000-fix-missing-index': _20250314110000fixmissingindex,
67
67
  }
68
68
 
69
-
70
69
  export class SystemMigrationsRunner {
71
70
  constructor(
72
71
  private readonly databaseContextFactory: DatabaseContextFactory,
@@ -86,16 +85,18 @@ export class SystemMigrationsRunner {
86
85
  }
87
86
  const migrationResolver = new GroupMigrationsResolver(
88
87
  new SnapshotMigrationResolver(snapshot, migrations),
89
- Object.fromEntries(Object.entries(this.migrationGroups).map(
90
- ([group, it]) => [
91
- group,
92
- new SnapshotMigrationResolver(
93
- it.snapshot,
94
- it.migrations,
95
- group.replace(/[^-_\w]+/g, '-'),
96
- migrations,
97
- ),
98
- ]),
88
+ Object.fromEntries(
89
+ Object.entries(this.migrationGroups).map(
90
+ ([group, it]) => [
91
+ group,
92
+ new SnapshotMigrationResolver(
93
+ it.snapshot,
94
+ it.migrations,
95
+ group.replace(/[^-_\w]+/g, '-'),
96
+ migrations,
97
+ ),
98
+ ],
99
+ ),
99
100
  ),
100
101
  )
101
102
  const migrationsRunner = new DbMigrationsRunner(connection, this.project.systemSchema, migrationResolver)
@@ -106,7 +107,6 @@ export class SystemMigrationsRunner {
106
107
  const dbContextMigrations = this.databaseContextFactory.create(connection)
107
108
  return this.databaseMetadataResolver.resolveMetadata(dbContextMigrations.client, schema)
108
109
  },
109
-
110
110
  })
111
111
  })
112
112
  await singleConnection.end()
@@ -40,6 +40,5 @@ $$
40
40
  EXECUTE FORMAT('ALTER FUNCTION trigger_event() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));
41
41
  END
42
42
  $$`)
43
-
44
43
  }
45
44
  }
@@ -14,20 +14,25 @@ export class ProjectInitializer {
14
14
  ) {}
15
15
 
16
16
  public async initialize(logger: Logger) {
17
- return await logger.scope(async initLogger => {
18
- initLogger.debug('Executing system schema migrations')
19
- await this.migrationsRunner.run(initLogger)
20
- const dbContext = this.databaseContext
21
- await retryTransaction(
22
- () => dbContext.transaction(async trx => {
23
- await this.initStages(trx, logger)
24
- }),
25
- message => initLogger.warn(message),
26
- )
27
- if (dbContext.client.connection instanceof Connection) {
28
- await dbContext.client.connection.clearPool()
29
- }
30
- }, {}, { handler: FingerCrossedLoggerHandler.factory() })
17
+ return await logger.scope(
18
+ async initLogger => {
19
+ initLogger.debug('Executing system schema migrations')
20
+ await this.migrationsRunner.run(initLogger)
21
+ const dbContext = this.databaseContext
22
+ await retryTransaction(
23
+ () =>
24
+ dbContext.transaction(async trx => {
25
+ await this.initStages(trx, logger)
26
+ }),
27
+ message => initLogger.warn(message),
28
+ )
29
+ if (dbContext.client.connection instanceof Connection) {
30
+ await dbContext.client.connection.clearPool()
31
+ }
32
+ },
33
+ {},
34
+ { handler: FingerCrossedLoggerHandler.factory() },
35
+ )
31
36
  }
32
37
 
33
38
  private async initStages(db: DatabaseContext<Connection.TransactionLike>, logger: Logger) {
@@ -13,4 +13,4 @@ namespace Command {
13
13
  bus: CommandBus
14
14
  }
15
15
  }
16
- export { type Command }
16
+ export type { Command }
@@ -12,8 +12,6 @@ export class CommandBus<ConnectionType extends Connection.ConnectionLike = Conne
12
12
  async transaction<T>(
13
13
  transactionScope: (wrapper: CommandBus<Connection.TransactionLike>) => Promise<T> | T,
14
14
  ): Promise<T> {
15
- return await this.client.transaction(client =>
16
- transactionScope(new CommandBus<Connection.TransactionLike>(client, this.providers)),
17
- )
15
+ return await this.client.transaction(client => transactionScope(new CommandBus<Connection.TransactionLike>(client, this.providers)))
18
16
  }
19
17
  }
@@ -25,8 +25,7 @@ export class SaveMigrationCommand implements Command<number> {
25
25
  const latestId = (await SelectBuilder.create<{ id: number }>()
26
26
  .from('schema_migration')
27
27
  .select(new Literal('max(id)'), 'id')
28
- .getResult(db)
29
- )[0]?.id ?? 0
28
+ .getResult(db))[0]?.id ?? 0
30
29
 
31
30
  const newId = latestId + 1
32
31
  const result = await InsertBuilder.create()
@@ -35,8 +35,7 @@ const createDatabaseContext = <ConnectionType extends Connection.ConnectionLike
35
35
  await client.query(Connection.REPEATABLE_READ)
36
36
  return cb(createDatabaseContext(client, providers))
37
37
  }),
38
- scope: cb =>
39
- client.scope(client => cb(createDatabaseContext(client, providers))),
38
+ scope: cb => client.scope(client => cb(createDatabaseContext(client, providers))),
40
39
  commandBus: new CommandBus(client, providers),
41
40
  locked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),
42
41
  })
@@ -11,7 +11,6 @@ export class ExecutedMigration implements Migration {
11
11
  public readonly executedAt: Date,
12
12
  public readonly checksum: string | null,
13
13
  public readonly type: 'schema' | 'content',
14
-
15
14
  ) {
16
15
  this.version = MigrationVersionHelper.extractVersion(name)
17
16
  }
@@ -4,4 +4,3 @@ export interface Stage {
4
4
  readonly slug: string
5
5
  readonly schema: string
6
6
  }
7
-
@@ -60,4 +60,3 @@ export class DeleteEvent implements Event {
60
60
  ) {
61
61
  }
62
62
  }
63
-
@@ -2,7 +2,6 @@ import { DatabaseContext } from '../database'
2
2
  import { DatabaseMetadata, DatabaseMetadataResolver } from '@contember/database'
3
3
 
4
4
  export class SchemaDatabaseMetadataResolverStore {
5
-
6
5
  private cache: Map<string, DatabaseMetadata> = new Map()
7
6
 
8
7
  constructor(
@@ -27,7 +26,6 @@ export class SchemaDatabaseMetadataResolverStore {
27
26
  }
28
27
  }
29
28
 
30
-
31
29
  export class MigrationsDatabaseMetadataResolverStoreFactory {
32
30
  constructor(
33
31
  private resolver: DatabaseMetadataResolver,
@@ -15,6 +15,11 @@ import { SchemaProvider } from './SchemaProvider'
15
15
  import { SaveSchemaCommand } from '../commands/schema/SaveSchemaCommand'
16
16
  import { ImplementationException } from '../../utils'
17
17
 
18
+ type MigrationVariables = {
19
+ system_schema: string
20
+ project_slug: string
21
+ }
22
+
18
23
  export class ProjectMigrator {
19
24
  constructor(
20
25
  private readonly migrationDescriber: MigrationDescriber,
@@ -52,19 +57,18 @@ export class ProjectMigrator {
52
57
  const metadataStore = this.migrationsDatabaseMetadataResolverStoreFactory.create(db)
53
58
 
54
59
  for (const migration of sorted) {
55
-
56
60
  if (migration.type === 'schema') {
57
61
  const formatVersion = migration.formatVersion
58
62
 
59
63
  for (const modification of migration.modifications) {
60
- [schema] = await this.applyModification(
64
+ ;[schema] = await this.applyModification(
61
65
  db.client,
62
66
  stages,
63
67
  schema,
64
68
  modification,
65
69
  formatVersion,
66
70
  migration.version,
67
- db.client.schema,
71
+ project,
68
72
  metadataStore,
69
73
  )
70
74
  }
@@ -88,7 +92,6 @@ export class ProjectMigrator {
88
92
  // event log uses deferred constraint triggers, we need to fire them before ALTER
89
93
  await db.client.query(`SET CONSTRAINTS ALL IMMEDIATE`)
90
94
  await db.client.query(`SET CONSTRAINTS ALL DEFERRED`)
91
-
92
95
  }
93
96
  id = await db.commandBus.execute(new SaveMigrationCommand(migration))
94
97
  }
@@ -96,15 +99,17 @@ export class ProjectMigrator {
96
99
  throw new ImplementationException()
97
100
  }
98
101
 
99
- await db.commandBus.execute(new SaveSchemaCommand({
100
- schema,
101
- meta: {
102
- id,
103
- updatedAt: new Date(),
104
- version: sorted[sorted.length - 1].version,
105
- checksum: calculateSchemaChecksum(schema),
106
- },
107
- }))
102
+ await db.commandBus.execute(
103
+ new SaveSchemaCommand({
104
+ schema,
105
+ meta: {
106
+ id,
107
+ updatedAt: new Date(),
108
+ version: sorted[sorted.length - 1].version,
109
+ checksum: calculateSchemaChecksum(schema),
110
+ },
111
+ }),
112
+ )
108
113
  }
109
114
 
110
115
  private async executeContentMigration({ query, stages, version, ...ctx }: {
@@ -180,8 +185,8 @@ export class ProjectMigrator {
180
185
  if (errors.length > 0) {
181
186
  throw new InvalidSchemaError(
182
187
  migration.version,
183
- 'Migration generates invalid schema: \n' +
184
- errors.map(it => `${it.path.join('.')}: [${it.code}] ${it.message}`).join('\n'),
188
+ 'Migration generates invalid schema: \n'
189
+ + errors.map(it => `${it.path.join('.')}: [${it.code}] ${it.message}`).join('\n'),
185
190
  )
186
191
  }
187
192
  }
@@ -193,13 +198,20 @@ export class ProjectMigrator {
193
198
  if (errors.length > 0) {
194
199
  throw new InvalidSchemaError(
195
200
  toExecute[toExecute.length - 1].version,
196
- 'Migration generates invalid schema: \n' +
197
- errors.map(it => it.path.join('.') + ': ' + it.message).join('\n'),
201
+ 'Migration generates invalid schema: \n'
202
+ + errors.map(it => it.path.join('.') + ': ' + it.message).join('\n'),
198
203
  )
199
204
  }
200
205
  return toExecute
201
206
  }
202
207
 
208
+ private sqlPreprocessor(text: string, variables: MigrationVariables): string {
209
+ return Object.entries(variables).reduce(
210
+ (content, [key, value]) => content.replace(new RegExp(`\\{\\{${key}\\}\\}`, 'g'), value),
211
+ text,
212
+ )
213
+ }
214
+
203
215
  private async applyModification(
204
216
  db: Client,
205
217
  stages: Stage[],
@@ -207,7 +219,7 @@ export class ProjectMigrator {
207
219
  modification: Migration.Modification,
208
220
  formatVersion: number,
209
221
  migrationVersion: string,
210
- systemSchema: string,
222
+ project: { slug: string; systemSchema: string },
211
223
  metadataStore: SchemaDatabaseMetadataResolverStore,
212
224
  ): Promise<[Schema]> {
213
225
  const {
@@ -217,11 +229,15 @@ export class ProjectMigrator {
217
229
  for (const stage of stages) {
218
230
  const databaseMetadata = await metadataStore.getMetadata(stage.schema)
219
231
  const sql = getSql({
220
- systemSchema,
232
+ systemSchema: project.systemSchema,
221
233
  databaseMetadata,
222
234
  invalidateDatabaseMetadata: () => metadataStore.invalidate(stage.schema),
223
235
  })
224
- await this.executeOnStage(db, stage, sql, migrationVersion)
236
+ const processedSql = this.sqlPreprocessor(sql, {
237
+ project_slug: project.slug,
238
+ system_schema: project.systemSchema,
239
+ })
240
+ await this.executeOnStage(db, stage, processedSql, migrationVersion)
225
241
  }
226
242
  return [newSchema]
227
243
  }
@@ -30,15 +30,14 @@ export class SchemaProvider {
30
30
  }
31
31
 
32
32
  async buildSchemaFromMigrations(db: DatabaseContext): Promise<SchemaWithMeta> {
33
- const newMigrations = (await this.executedMigrationsResolver.getMigrations(db))
33
+ const newMigrations = await this.executedMigrationsResolver.getMigrations(db)
34
34
 
35
35
  const partialResult = newMigrations.reduce<SchemaWithMeta>(
36
36
  (schema, migration) => {
37
- if (migration.type !== 'schema') {
38
- return schema
39
- }
40
37
  return {
41
- schema: this.schemaMigrator.applyModifications(schema.schema, migration.modifications, migration.formatVersion),
38
+ schema: migration.type !== 'schema'
39
+ ? schema.schema
40
+ : this.schemaMigrator.applyModifications(schema.schema, migration.modifications, migration.formatVersion),
42
41
  meta: {
43
42
  version: migration.version,
44
43
  id: migration.id,
@@ -63,7 +62,7 @@ export class SchemaProvider {
63
62
  }
64
63
  }
65
64
 
66
- public async fetch({ db, currentSchema }: {
65
+ public async fetch({ db, currentSchema }: {
67
66
  db: DatabaseContext
68
67
  currentSchema?: SchemaWithMeta | null
69
68
  }): Promise<SchemaWithMeta> {
@@ -5,7 +5,8 @@ import {
5
5
  Literal,
6
6
  Operator,
7
7
  SelectBuilder,
8
- SelectBuilderSpecification, Value,
8
+ SelectBuilderSpecification,
9
+ Value,
9
10
  } from '@contember/database'
10
11
  import { ContentEvent } from '../../events'
11
12
  import { EventsFilter, EventsFilterDate, EventsOrder } from '../../../schema'
@@ -52,11 +53,8 @@ export class EventsQuery extends DatabaseQuery<ContentEvent[]> {
52
53
  .select('applied_at')
53
54
  .select('identity_id')
54
55
  .select(['event_data', 'transaction_id'])
55
-
56
56
  .from('event_data')
57
- .join('stage_transaction', undefined, on =>
58
- on.columnsEq(['event_data', 'transaction_id'], ['stage_transaction', 'transaction_id']),
59
- )
57
+ .join('stage_transaction', undefined, on => on.columnsEq(['event_data', 'transaction_id'], ['stage_transaction', 'transaction_id']))
60
58
  .match(qb => {
61
59
  switch (this.order) {
62
60
  case EventsOrder.AppliedAtAsc:
@@ -94,10 +92,8 @@ export class EventsQuery extends DatabaseQuery<ContentEvent[]> {
94
92
 
95
93
  return qb.where(ConditionBuilder.create().or(ConditionBuilder.create(ors)))
96
94
  })
97
-
98
95
  .limit(this.limit, this.offset)
99
96
 
100
97
  return createEventsFromRows(await qb.getResult(db))
101
98
  }
102
-
103
99
  }
@@ -10,10 +10,10 @@ export class OldValuesQuery extends DatabaseQuery<Record<string, any>> {
10
10
  .select(expr => expr.raw('JSONB_OBJECT_AGG(values.key, values.value ORDER BY previous.created_at ASC)'), 'values')
11
11
  .select(['event_data', 'id'])
12
12
  .from('event_data')
13
- .join('event_data', 'previous', on => on
14
- .columnsEq(['event_data', 'row_ids'], ['previous', 'row_ids'])
15
- .compareColumns(['event_data', 'created_at'], Operator.gt, ['previous', 'created_at']),
16
- )
13
+ .join('event_data', 'previous', on =>
14
+ on
15
+ .columnsEq(['event_data', 'row_ids'], ['previous', 'row_ids'])
16
+ .compareColumns(['event_data', 'created_at'], Operator.gt, ['previous', 'created_at']))
17
17
  .join(new Literal('JSONB_EACH(previous.values)'), 'values')
18
18
  .where(where => where.in(['event_data', 'id'], this.ids))
19
19
  .groupBy(['event_data', 'id'])
@@ -3,14 +3,12 @@ import { Schema } from '@contember/schema'
3
3
  import { SchemaWithMeta } from '../../migrations'
4
4
 
5
5
  export class SchemaQuery extends DatabaseQuery<SchemaWithMeta | null> {
6
-
7
6
  constructor(
8
7
  private readonly currentHash?: string,
9
8
  ) {
10
9
  super()
11
10
  }
12
11
 
13
-
14
12
  async fetch(queryable: DatabaseQueryable): Promise<SchemaWithMeta | null> {
15
13
  const query = SelectBuilder.create<{
16
14
  schema: Schema
@@ -31,7 +29,7 @@ export class SchemaQuery extends DatabaseQuery<SchemaWithMeta | null> {
31
29
  return it.where(it => it.raw('checksum != ?', this.currentHash))
32
30
  })
33
31
 
34
- const row = this.fetchOneOrNull(await query.getResult(queryable.db))
32
+ const row = this.fetchOneOrNull(await query.getResult(queryable.db))
35
33
  if (!row) {
36
34
  return null
37
35
  }
@@ -4,8 +4,6 @@ import { StageConfig } from '../../types'
4
4
  import { DatabaseContext } from '../database'
5
5
 
6
6
  class StageCreator {
7
- constructor() {}
8
-
9
7
  public async createStage(
10
8
  db: DatabaseContext,
11
9
  stage: StageConfig,
@@ -2,7 +2,7 @@ import { EventsQueryResolver, ExecutedMigrationsQueryResolver, StagesQueryResolv
2
2
  import { Event, EventType, Resolvers } from '../schema'
3
3
  import { assertNever } from '../utils'
4
4
  import { MigrateMutationResolver, MigrationAlterMutationResolver, TruncateMutationResolver } from './mutation'
5
- import { DateTimeType, JSONType, createJsonLikeType } from '@contember/graphql-utils'
5
+ import { createJsonLikeType, DateTimeType, JSONType } from '@contember/graphql-utils'
6
6
  import { EventOldValuesResolver } from './types'
7
7
  import { GraphQLError, GraphQLScalarType, Kind } from 'graphql'
8
8
  import { SchemaQueryResolver } from './query/SchemaQueryResolver'
@@ -68,8 +68,8 @@ export class ResolverFactory {
68
68
  }
69
69
  }
70
70
 
71
- const parseValue = (value: any) => {
72
- if ((typeof value === 'string' && value !== '') || typeof value === 'number' && isFinite(value) && Math.floor(value) === value) {
71
+ const parseValue = (value: any) => {
72
+ if ((typeof value === 'string' && value !== '') || typeof value === 'number' && Number.isFinite(value) && Math.floor(value) === value) {
73
73
  return value
74
74
  }
75
75
  throw new GraphQLError('PrimaryKey cannot represent value: ' + JSON.stringify(value))
@@ -77,7 +77,6 @@ const parseValue = (value: any) => {
77
77
 
78
78
  const SchemaType = createJsonLikeType('Schema', 'Content schema custom scalar type')
79
79
 
80
-
81
80
  export const PrimaryKeyType = new GraphQLScalarType({
82
81
  name: 'PrimaryKey',
83
82
  description: 'PrimaryKey custom scalar type. Can be Int or String',
@@ -12,7 +12,9 @@ export class SystemResolverContextFactory {
12
12
  private readonly authorizator: Authorizator<Identity>,
13
13
  ) {}
14
14
 
15
- public async create({ getSchema, identity, project, db }: Pick<SystemResolverContext, 'getSchema' | 'db' | 'identity' | 'project'>): Promise<SystemResolverContext> {
15
+ public async create(
16
+ { getSchema, identity, project, db }: Pick<SystemResolverContext, 'getSchema' | 'db' | 'identity' | 'project'>,
17
+ ): Promise<SystemResolverContext> {
16
18
  const stagePermissionsFactory = new StagePermissionsFactory(getSchema)
17
19
  const loaders = new Map<LoaderFactory<any, any>, ItemLoader<any, any>>()
18
20
  return {
@@ -32,45 +32,46 @@ export class MigrateMutationResolver implements MutationResolver<'migrate'> {
32
32
  ): Promise<MigrateResponse> {
33
33
  const migrations = this.parseMigrationInput(args)
34
34
 
35
- return context.db.locked(pg_lock_id, db => db.transaction(async trx => {
36
- const stages = await trx.queryHandler.fetch(new StagesQuery())
37
- for (const stage of stages) {
38
- await context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)
39
- }
40
- try {
41
- await this.projectMigrator.migrate({
42
- db: trx,
43
- project: context.project,
44
- identity: context.identity,
45
- stages,
46
- migrationsToExecute: migrations,
47
- options: {
48
- ignoreOrder: force,
49
- skipExecuted: true,
50
- },
51
- })
52
- } catch (e) {
53
- if (e instanceof MigrationError) {
54
- await trx.client.connection.rollback()
55
- const error = {
56
- code: e.code,
57
- migration: e.version,
58
- developerMessage: e.message,
59
- }
60
- return {
61
- ok: false,
62
- errors: [error],
63
- error,
35
+ return context.db.locked(pg_lock_id, db =>
36
+ db.transaction(async trx => {
37
+ const stages = await trx.queryHandler.fetch(new StagesQuery())
38
+ for (const stage of stages) {
39
+ await context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)
40
+ }
41
+ try {
42
+ await this.projectMigrator.migrate({
43
+ db: trx,
44
+ project: context.project,
45
+ identity: context.identity,
46
+ stages,
47
+ migrationsToExecute: migrations,
48
+ options: {
49
+ ignoreOrder: force,
50
+ skipExecuted: true,
51
+ },
52
+ })
53
+ } catch (e) {
54
+ if (e instanceof MigrationError) {
55
+ await trx.client.connection.rollback()
56
+ const error = {
57
+ code: e.code,
58
+ migration: e.version,
59
+ developerMessage: e.message,
60
+ }
61
+ return {
62
+ ok: false,
63
+ errors: [error],
64
+ error,
65
+ }
66
+ } else {
67
+ throw e
64
68
  }
65
- } else {
66
- throw e
67
69
  }
68
- }
69
- return {
70
- ok: true,
71
- errors: [],
72
- }
73
- }))
70
+ return {
71
+ ok: true,
72
+ errors: [],
73
+ }
74
+ }))
74
75
  }
75
76
 
76
77
  private parseMigrationInput(args: MutationMigrateArgs): MigrationInput[] {
@@ -13,7 +13,6 @@ import { DeleteMigrationErrorCode, MigrationAlterer, UpdateMigrationErrorCode }
13
13
  import { Migration } from '@contember/schema-migrations'
14
14
 
15
15
  export class MigrationAlterMutationResolver implements MutationResolver<'migrationModify'>, MutationResolver<'migrationDelete'> {
16
-
17
16
  constructor(private readonly migrationAlterer: MigrationAlterer) {}
18
17
 
19
18
  async migrationModify(
@@ -29,12 +29,14 @@ export class EventsQueryResolver implements QueryResolver<'events'> {
29
29
  'You are not allowed to view a history.',
30
30
  )
31
31
 
32
- const history = await db.queryHandler.fetch(new EventsQuery(
33
- args?.filter ?? {},
34
- args?.order ?? EventsOrder.AppliedAtDesc,
35
- args?.offset ?? 0,
36
- Math.min(args?.limit ?? 1000, 10000),
37
- ))
32
+ const history = await db.queryHandler.fetch(
33
+ new EventsQuery(
34
+ args?.filter ?? {},
35
+ args?.order ?? EventsOrder.AppliedAtDesc,
36
+ args?.offset ?? 0,
37
+ Math.min(args?.limit ?? 1000, 10000),
38
+ ),
39
+ )
38
40
 
39
41
  return await this.eventResponseBuilder.buildResponse(history)
40
42
  })