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

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 (518) 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 +2 -5
  125. package/dist/development/src/model/migrations/SchemaProvider.cjs.map +1 -1
  126. package/dist/development/src/model/migrations/SchemaProvider.js +3 -6
  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 +5 -1
  147. package/dist/development/src/model/queries/schema/SchemaQuery.cjs.map +1 -1
  148. package/dist/development/src/model/queries/schema/SchemaQuery.js +5 -1
  149. package/dist/development/src/model/queries/schema/SchemaQuery.js.map +1 -1
  150. package/dist/development/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  151. package/dist/development/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  152. package/dist/development/src/model/queries/stages/StageQueryFactory.cjs.map +1 -1
  153. package/dist/development/src/model/queries/stages/StageQueryFactory.js.map +1 -1
  154. package/dist/development/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  155. package/dist/development/src/model/queries/stages/StagesQuery.js.map +1 -1
  156. package/dist/development/src/model/stages/StageCreator.cjs +0 -2
  157. package/dist/development/src/model/stages/StageCreator.cjs.map +1 -1
  158. package/dist/development/src/model/stages/StageCreator.js +0 -2
  159. package/dist/development/src/model/stages/StageCreator.js.map +1 -1
  160. package/dist/development/src/resolvers/ResolverFactory.cjs +1 -1
  161. package/dist/development/src/resolvers/ResolverFactory.cjs.map +1 -1
  162. package/dist/development/src/resolvers/ResolverFactory.js +2 -2
  163. package/dist/development/src/resolvers/ResolverFactory.js.map +1 -1
  164. package/dist/development/src/resolvers/SystemResolverContext.cjs.map +1 -1
  165. package/dist/development/src/resolvers/SystemResolverContext.js.map +1 -1
  166. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  167. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  168. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  169. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  170. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  171. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  172. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs +8 -6
  173. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  174. package/dist/development/src/resolvers/query/EventsQueryResolver.js +8 -6
  175. package/dist/development/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  176. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  177. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  178. package/dist/development/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -1
  179. package/dist/development/src/resolvers/query/SchemaQueryResolver.js.map +1 -1
  180. package/dist/development/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  181. package/dist/development/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  182. package/dist/development/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  183. package/dist/development/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  184. package/dist/development/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  185. package/dist/development/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  186. package/dist/development/src/schema/dev.graphql.cjs.map +1 -1
  187. package/dist/development/src/schema/system.graphql.cjs.map +1 -1
  188. package/dist/development/src/schema/types.cjs.map +1 -1
  189. package/dist/development/src/schema/types.js.map +1 -1
  190. package/dist/development/src/utils/MapSet.cjs.map +1 -1
  191. package/dist/development/src/utils/MapSet.js.map +1 -1
  192. package/dist/development/src/utils/Response.cjs.map +1 -1
  193. package/dist/development/src/utils/Response.js.map +1 -1
  194. package/dist/development/src/utils/assertNever.cjs.map +1 -1
  195. package/dist/development/src/utils/assertNever.js.map +1 -1
  196. package/dist/development/src/utils/batchQuery.cjs.map +1 -1
  197. package/dist/development/src/utils/batchQuery.js.map +1 -1
  198. package/dist/development/src/utils/tick.cjs.map +1 -1
  199. package/dist/development/src/utils/tick.js.map +1 -1
  200. package/dist/development/src/utils/tuple.cjs.map +1 -1
  201. package/dist/development/src/utils/tuple.js.map +1 -1
  202. package/dist/production/src/SystemContainer.cjs +34 -1
  203. package/dist/production/src/SystemContainer.cjs.map +1 -1
  204. package/dist/production/src/SystemContainer.js +34 -1
  205. package/dist/production/src/SystemContainer.js.map +1 -1
  206. package/dist/production/src/migrations/2018-08-04-102200-init.cjs.map +1 -1
  207. package/dist/production/src/migrations/2018-08-04-102200-init.js.map +1 -1
  208. package/dist/production/src/migrations/2018-08-05-130501-trigger-event-function.cjs.map +1 -1
  209. package/dist/production/src/migrations/2018-08-05-130501-trigger-event-function.js.map +1 -1
  210. package/dist/production/src/migrations/2019-01-14-143432-event-trx-id.cjs.map +1 -1
  211. package/dist/production/src/migrations/2019-01-14-143432-event-trx-id.js.map +1 -1
  212. package/dist/production/src/migrations/2019-02-04-154500-event-rebase.cjs.map +1 -1
  213. package/dist/production/src/migrations/2019-02-04-154500-event-rebase.js.map +1 -1
  214. package/dist/production/src/migrations/2019-03-18-104147-event-run-migration-struct.cjs.map +1 -1
  215. package/dist/production/src/migrations/2019-03-18-104147-event-run-migration-struct.js.map +1 -1
  216. package/dist/production/src/migrations/2019-07-29-103000-trigger-event-function-fix.cjs.map +1 -1
  217. package/dist/production/src/migrations/2019-07-29-103000-trigger-event-function-fix.js.map +1 -1
  218. package/dist/production/src/migrations/2019-11-28-100000-missing-setting-fallback.cjs.map +1 -1
  219. package/dist/production/src/migrations/2019-11-28-100000-missing-setting-fallback.js.map +1 -1
  220. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
  221. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
  222. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
  223. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
  224. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
  225. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
  226. package/dist/production/src/migrations/2021-03-23-110000-timestamp-fix.cjs.map +1 -1
  227. package/dist/production/src/migrations/2021-03-23-110000-timestamp-fix.js.map +1 -1
  228. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
  229. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
  230. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
  231. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
  232. package/dist/production/src/migrations/2021-12-21-155500-events-up.cjs.map +1 -1
  233. package/dist/production/src/migrations/2021-12-21-155500-events-up.js.map +1 -1
  234. package/dist/production/src/migrations/2022-02-08-132600-fn-search-path.cjs.map +1 -1
  235. package/dist/production/src/migrations/2022-02-08-132600-fn-search-path.js.map +1 -1
  236. package/dist/production/src/migrations/2022-02-08-140500-drop-deadcode.cjs.map +1 -1
  237. package/dist/production/src/migrations/2022-02-08-140500-drop-deadcode.js.map +1 -1
  238. package/dist/production/src/migrations/2022-02-08-144400-dynamic-stage-schema.cjs.map +1 -1
  239. package/dist/production/src/migrations/2022-02-08-144400-dynamic-stage-schema.js.map +1 -1
  240. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
  241. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
  242. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs +3 -1
  243. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
  244. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js +3 -1
  245. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
  246. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs +3 -1
  247. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
  248. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js +3 -1
  249. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
  250. package/dist/production/src/migrations/2023-10-24-140000-schema-nullable-checksum.cjs.map +1 -1
  251. package/dist/production/src/migrations/2023-10-24-140000-schema-nullable-checksum.js.map +1 -1
  252. package/dist/production/src/migrations/2024-06-28-150000-migrations-drop-sequence.cjs.map +1 -1
  253. package/dist/production/src/migrations/2024-06-28-150000-migrations-drop-sequence.js.map +1 -1
  254. package/dist/production/src/migrations/2024-06-28-153000-schema.cjs.map +1 -1
  255. package/dist/production/src/migrations/2024-06-28-153000-schema.js.map +1 -1
  256. package/dist/production/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -1
  257. package/dist/production/src/migrations/2024-06-28-153001-schema-init.js.map +1 -1
  258. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.cjs.map +1 -1
  259. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.js.map +1 -1
  260. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.cjs.map +1 -1
  261. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.js.map +1 -1
  262. package/dist/production/src/migrations/runner.cjs.map +1 -1
  263. package/dist/production/src/migrations/runner.js.map +1 -1
  264. package/dist/production/src/migrations/snapshot-factory.cjs.map +1 -1
  265. package/dist/production/src/migrations/snapshot-factory.js.map +1 -1
  266. package/dist/production/src/model/ProjectInitializer.cjs +18 -14
  267. package/dist/production/src/model/ProjectInitializer.cjs.map +1 -1
  268. package/dist/production/src/model/ProjectInitializer.js +18 -14
  269. package/dist/production/src/model/ProjectInitializer.js.map +1 -1
  270. package/dist/production/src/model/ProjectTruncateExecutor.cjs.map +1 -1
  271. package/dist/production/src/model/ProjectTruncateExecutor.js.map +1 -1
  272. package/dist/production/src/model/authorization/AuthorizationActions.cjs.map +1 -1
  273. package/dist/production/src/model/authorization/AuthorizationActions.js.map +1 -1
  274. package/dist/production/src/model/authorization/Identity.cjs.map +1 -1
  275. package/dist/production/src/model/authorization/Identity.js.map +1 -1
  276. package/dist/production/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  277. package/dist/production/src/model/authorization/PermissionsFactory.js.map +1 -1
  278. package/dist/production/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
  279. package/dist/production/src/model/authorization/StagePermissionsFactory.js.map +1 -1
  280. package/dist/production/src/model/authorization/StageScope.cjs.map +1 -1
  281. package/dist/production/src/model/authorization/StageScope.js.map +1 -1
  282. package/dist/production/src/model/authorization/SwitchEvaluatorNode.cjs.map +1 -1
  283. package/dist/production/src/model/authorization/SwitchEvaluatorNode.js.map +1 -1
  284. package/dist/production/src/model/commands/CommandBus.cjs +1 -3
  285. package/dist/production/src/model/commands/CommandBus.cjs.map +1 -1
  286. package/dist/production/src/model/commands/CommandBus.js +1 -3
  287. package/dist/production/src/model/commands/CommandBus.js.map +1 -1
  288. package/dist/production/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
  289. package/dist/production/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
  290. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
  291. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
  292. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
  293. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
  294. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
  295. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
  296. package/dist/production/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -1
  297. package/dist/production/src/model/commands/schema/SaveSchemaCommand.js.map +1 -1
  298. package/dist/production/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
  299. package/dist/production/src/model/commands/stages/CreateStageCommand.js.map +1 -1
  300. package/dist/production/src/model/database/DatabaseContext.cjs.map +1 -1
  301. package/dist/production/src/model/database/DatabaseContext.js.map +1 -1
  302. package/dist/production/src/model/dtos/ExecutedMigration.cjs.map +1 -1
  303. package/dist/production/src/model/dtos/ExecutedMigration.js.map +1 -1
  304. package/dist/production/src/model/events/EventResponseBuilder.cjs.map +1 -1
  305. package/dist/production/src/model/events/EventResponseBuilder.js.map +1 -1
  306. package/dist/production/src/model/events/EventResponseHelper.cjs.map +1 -1
  307. package/dist/production/src/model/events/EventResponseHelper.js.map +1 -1
  308. package/dist/production/src/model/events/identityUtils.cjs.map +1 -1
  309. package/dist/production/src/model/events/identityUtils.js.map +1 -1
  310. package/dist/production/src/model/events/types.cjs.map +1 -1
  311. package/dist/production/src/model/events/types.js.map +1 -1
  312. package/dist/production/src/model/helpers/modelHelpers.cjs.map +1 -1
  313. package/dist/production/src/model/helpers/modelHelpers.js.map +1 -1
  314. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
  315. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
  316. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
  317. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
  318. package/dist/production/src/model/migrations/MigrationAlterer.cjs.map +1 -1
  319. package/dist/production/src/model/migrations/MigrationAlterer.js.map +1 -1
  320. package/dist/production/src/model/migrations/ProjectMigrator.cjs +25 -13
  321. package/dist/production/src/model/migrations/ProjectMigrator.cjs.map +1 -1
  322. package/dist/production/src/model/migrations/ProjectMigrator.js +25 -13
  323. package/dist/production/src/model/migrations/ProjectMigrator.js.map +1 -1
  324. package/dist/production/src/model/migrations/SchemaProvider.cjs +2 -5
  325. package/dist/production/src/model/migrations/SchemaProvider.cjs.map +1 -1
  326. package/dist/production/src/model/migrations/SchemaProvider.js +3 -6
  327. package/dist/production/src/model/migrations/SchemaProvider.js.map +1 -1
  328. package/dist/production/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
  329. package/dist/production/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  330. package/dist/production/src/model/queries/events/EventsQuery.cjs +1 -5
  331. package/dist/production/src/model/queries/events/EventsQuery.cjs.map +1 -1
  332. package/dist/production/src/model/queries/events/EventsQuery.js +1 -5
  333. package/dist/production/src/model/queries/events/EventsQuery.js.map +1 -1
  334. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.cjs.map +1 -1
  335. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.js.map +1 -1
  336. package/dist/production/src/model/queries/events/OldValuesQuery.cjs +1 -5
  337. package/dist/production/src/model/queries/events/OldValuesQuery.cjs.map +1 -1
  338. package/dist/production/src/model/queries/events/OldValuesQuery.js +1 -5
  339. package/dist/production/src/model/queries/events/OldValuesQuery.js.map +1 -1
  340. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
  341. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  342. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
  343. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  344. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs.map +1 -1
  345. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -1
  346. package/dist/production/src/model/queries/schema/SchemaQuery.cjs +5 -1
  347. package/dist/production/src/model/queries/schema/SchemaQuery.cjs.map +1 -1
  348. package/dist/production/src/model/queries/schema/SchemaQuery.js +5 -1
  349. package/dist/production/src/model/queries/schema/SchemaQuery.js.map +1 -1
  350. package/dist/production/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  351. package/dist/production/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  352. package/dist/production/src/model/queries/stages/StageQueryFactory.cjs.map +1 -1
  353. package/dist/production/src/model/queries/stages/StageQueryFactory.js.map +1 -1
  354. package/dist/production/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  355. package/dist/production/src/model/queries/stages/StagesQuery.js.map +1 -1
  356. package/dist/production/src/model/stages/StageCreator.cjs +0 -2
  357. package/dist/production/src/model/stages/StageCreator.cjs.map +1 -1
  358. package/dist/production/src/model/stages/StageCreator.js +0 -2
  359. package/dist/production/src/model/stages/StageCreator.js.map +1 -1
  360. package/dist/production/src/resolvers/ResolverFactory.cjs +1 -1
  361. package/dist/production/src/resolvers/ResolverFactory.cjs.map +1 -1
  362. package/dist/production/src/resolvers/ResolverFactory.js +2 -2
  363. package/dist/production/src/resolvers/ResolverFactory.js.map +1 -1
  364. package/dist/production/src/resolvers/SystemResolverContext.cjs.map +1 -1
  365. package/dist/production/src/resolvers/SystemResolverContext.js.map +1 -1
  366. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  367. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  368. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  369. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  370. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  371. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  372. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs +8 -6
  373. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  374. package/dist/production/src/resolvers/query/EventsQueryResolver.js +8 -6
  375. package/dist/production/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  376. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  377. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  378. package/dist/production/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -1
  379. package/dist/production/src/resolvers/query/SchemaQueryResolver.js.map +1 -1
  380. package/dist/production/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  381. package/dist/production/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  382. package/dist/production/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  383. package/dist/production/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  384. package/dist/production/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  385. package/dist/production/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  386. package/dist/production/src/schema/dev.graphql.cjs.map +1 -1
  387. package/dist/production/src/schema/system.graphql.cjs.map +1 -1
  388. package/dist/production/src/schema/types.cjs.map +1 -1
  389. package/dist/production/src/schema/types.js.map +1 -1
  390. package/dist/production/src/utils/MapSet.cjs.map +1 -1
  391. package/dist/production/src/utils/MapSet.js.map +1 -1
  392. package/dist/production/src/utils/Response.cjs.map +1 -1
  393. package/dist/production/src/utils/Response.js.map +1 -1
  394. package/dist/production/src/utils/assertNever.cjs.map +1 -1
  395. package/dist/production/src/utils/assertNever.js.map +1 -1
  396. package/dist/production/src/utils/batchQuery.cjs.map +1 -1
  397. package/dist/production/src/utils/batchQuery.js.map +1 -1
  398. package/dist/production/src/utils/tick.cjs.map +1 -1
  399. package/dist/production/src/utils/tick.js.map +1 -1
  400. package/dist/production/src/utils/tuple.cjs.map +1 -1
  401. package/dist/production/src/utils/tuple.js.map +1 -1
  402. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  403. package/dist/types/SystemContainer.d.ts.map +1 -1
  404. package/dist/types/index.d.ts +2 -2
  405. package/dist/types/index.d.ts.map +1 -1
  406. package/dist/types/migrations/2018-08-04-102200-init.d.ts.map +1 -1
  407. package/dist/types/migrations/2018-08-05-130501-trigger-event-function.d.ts.map +1 -1
  408. package/dist/types/migrations/2019-01-14-143432-event-trx-id.d.ts.map +1 -1
  409. package/dist/types/migrations/2019-02-04-154500-event-rebase.d.ts.map +1 -1
  410. package/dist/types/migrations/2019-03-18-104147-event-run-migration-struct.d.ts.map +1 -1
  411. package/dist/types/migrations/2019-07-29-103000-trigger-event-function-fix.d.ts.map +1 -1
  412. package/dist/types/migrations/2019-11-28-100000-missing-setting-fallback.d.ts.map +1 -1
  413. package/dist/types/migrations/2020-03-27-130000-project-migrations.d.ts.map +1 -1
  414. package/dist/types/migrations/2020-05-06-150000-composed-primary.d.ts.map +1 -1
  415. package/dist/types/migrations/2020-06-01-103000-event-trigger-perf.d.ts.map +1 -1
  416. package/dist/types/migrations/2021-03-23-110000-timestamp-fix.d.ts.map +1 -1
  417. package/dist/types/migrations/2021-05-07-155800-event-log-rework.d.ts.map +1 -1
  418. package/dist/types/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts.map +1 -1
  419. package/dist/types/migrations/2021-12-21-155500-events-up.d.ts.map +1 -1
  420. package/dist/types/migrations/2022-02-08-132600-fn-search-path.d.ts.map +1 -1
  421. package/dist/types/migrations/2022-02-08-140500-drop-deadcode.d.ts.map +1 -1
  422. package/dist/types/migrations/2022-02-08-144400-dynamic-stage-schema.d.ts.map +1 -1
  423. package/dist/types/migrations/2022-10-03-110000-table-on-delete.d.ts.map +1 -1
  424. package/dist/types/migrations/2023-09-11-174000-fix-on-delete.d.ts.map +1 -1
  425. package/dist/types/migrations/2023-10-19-173000-fix-unique.d.ts.map +1 -1
  426. package/dist/types/migrations/2023-10-24-140000-schema-nullable-checksum.d.ts.map +1 -1
  427. package/dist/types/migrations/2024-06-28-150000-migrations-drop-sequence.d.ts.map +1 -1
  428. package/dist/types/migrations/2024-06-28-153000-schema.d.ts.map +1 -1
  429. package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts.map +1 -1
  430. package/dist/types/migrations/2024-07-29-150000-event-data-index.d.ts.map +1 -1
  431. package/dist/types/migrations/2025-03-14-110000-fix-missing-index.d.ts.map +1 -1
  432. package/dist/types/migrations/runner.d.ts.map +1 -1
  433. package/dist/types/migrations/snapshot-factory.d.ts.map +1 -1
  434. package/dist/types/model/ProjectInitializer.d.ts.map +1 -1
  435. package/dist/types/model/commands/Command.d.ts +1 -1
  436. package/dist/types/model/commands/Command.d.ts.map +1 -1
  437. package/dist/types/model/commands/CommandBus.d.ts.map +1 -1
  438. package/dist/types/model/commands/migrations/SaveMigrationCommand.d.ts.map +1 -1
  439. package/dist/types/model/dtos/ExecutedMigration.d.ts.map +1 -1
  440. package/dist/types/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts.map +1 -1
  441. package/dist/types/model/migrations/ProjectMigrator.d.ts +1 -0
  442. package/dist/types/model/migrations/ProjectMigrator.d.ts.map +1 -1
  443. package/dist/types/model/migrations/SchemaProvider.d.ts.map +1 -1
  444. package/dist/types/model/queries/events/EventsQuery.d.ts.map +1 -1
  445. package/dist/types/model/queries/schema/SchemaQuery.d.ts +2 -1
  446. package/dist/types/model/queries/schema/SchemaQuery.d.ts.map +1 -1
  447. package/dist/types/model/stages/StageCreator.d.ts +0 -1
  448. package/dist/types/model/stages/StageCreator.d.ts.map +1 -1
  449. package/dist/types/resolvers/ResolverFactory.d.ts.map +1 -1
  450. package/dist/types/resolvers/SystemResolverContext.d.ts.map +1 -1
  451. package/dist/types/resolvers/mutation/MigrateMutationResolver.d.ts.map +1 -1
  452. package/dist/types/resolvers/mutation/MigrationAlterMutationResolver.d.ts.map +1 -1
  453. package/dist/types/resolvers/query/EventsQueryResolver.d.ts.map +1 -1
  454. package/dist/types/schema/types.d.ts.map +1 -1
  455. package/dist/types/tsconfig.tsbuildinfo +1 -1
  456. package/graphql.codegen.yml +1 -1
  457. package/package.json +24 -19
  458. package/src/SystemContainer.ts +61 -56
  459. package/src/bin/runMigrations.ts +1 -5
  460. package/src/index.ts +5 -5
  461. package/src/migrations/2018-08-04-102200-init.ts +1 -1
  462. package/src/migrations/2018-08-05-130501-trigger-event-function.ts +1 -1
  463. package/src/migrations/2019-01-14-143432-event-trx-id.ts +1 -1
  464. package/src/migrations/2019-02-04-154500-event-rebase.ts +1 -1
  465. package/src/migrations/2019-03-18-104147-event-run-migration-struct.ts +1 -1
  466. package/src/migrations/2019-07-29-103000-trigger-event-function-fix.ts +1 -1
  467. package/src/migrations/2019-11-28-100000-missing-setting-fallback.ts +1 -1
  468. package/src/migrations/2020-03-27-130000-project-migrations.ts +1 -1
  469. package/src/migrations/2020-05-06-150000-composed-primary.ts +1 -1
  470. package/src/migrations/2020-06-01-103000-event-trigger-perf.ts +1 -1
  471. package/src/migrations/2021-03-23-110000-timestamp-fix.ts +1 -1
  472. package/src/migrations/2021-05-07-155800-event-log-rework.ts +1 -1
  473. package/src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts +1 -1
  474. package/src/migrations/2021-12-21-155500-events-up.ts +1 -1
  475. package/src/migrations/2022-02-08-132600-fn-search-path.ts +1 -1
  476. package/src/migrations/2022-02-08-140500-drop-deadcode.ts +1 -1
  477. package/src/migrations/2022-02-08-144400-dynamic-stage-schema.ts +1 -1
  478. package/src/migrations/2022-10-03-110000-table-on-delete.ts +11 -7
  479. package/src/migrations/2023-09-11-174000-fix-on-delete.ts +14 -8
  480. package/src/migrations/2023-10-19-173000-fix-unique.ts +5 -4
  481. package/src/migrations/2023-10-24-140000-schema-nullable-checksum.ts +1 -1
  482. package/src/migrations/2024-06-28-150000-migrations-drop-sequence.ts +1 -1
  483. package/src/migrations/2024-06-28-153000-schema.ts +1 -1
  484. package/src/migrations/2024-06-28-153001-schema-init.ts +1 -2
  485. package/src/migrations/2024-07-29-150000-event-data-index.ts +1 -1
  486. package/src/migrations/2025-03-14-110000-fix-missing-index.ts +2 -3
  487. package/src/migrations/runner.ts +12 -12
  488. package/src/migrations/snapshot-factory.ts +0 -1
  489. package/src/model/ProjectInitializer.ts +19 -14
  490. package/src/model/commands/Command.ts +1 -1
  491. package/src/model/commands/CommandBus.ts +1 -3
  492. package/src/model/commands/migrations/SaveMigrationCommand.ts +1 -2
  493. package/src/model/database/DatabaseContext.ts +1 -2
  494. package/src/model/dtos/ExecutedMigration.ts +0 -1
  495. package/src/model/dtos/Stage.ts +0 -1
  496. package/src/model/events/types.ts +0 -1
  497. package/src/model/metadata/SchemaDatabaseMetadataResolverStore.ts +0 -2
  498. package/src/model/migrations/ProjectMigrator.ts +36 -20
  499. package/src/model/migrations/SchemaProvider.ts +6 -7
  500. package/src/model/queries/events/EventsQuery.ts +3 -7
  501. package/src/model/queries/events/OldValuesQuery.ts +4 -4
  502. package/src/model/queries/schema/SchemaQuery.ts +5 -3
  503. package/src/model/stages/StageCreator.ts +0 -2
  504. package/src/resolvers/ResolverFactory.ts +3 -4
  505. package/src/resolvers/SystemResolverContext.ts +3 -1
  506. package/src/resolvers/mutation/MigrateMutationResolver.ts +38 -37
  507. package/src/resolvers/mutation/MigrationAlterMutationResolver.ts +0 -1
  508. package/src/resolvers/query/EventsQueryResolver.ts +8 -6
  509. package/src/schema/types.ts +69 -43
  510. package/tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts +10 -9
  511. package/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts +10 -10
  512. package/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts +32 -34
  513. package/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.ts +65 -67
  514. package/tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts +23 -25
  515. package/tests/cases/migrations/2025-03-14-110000-fix-missing-index.test.ts +18 -19
  516. package/tests/cases/unit/eventsQuery.test.ts +22 -15
  517. package/tests/.eslintrc.cjs +0 -5
  518. package/vitest.config.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"ModifyMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/ModifyMigrationCommand.ts"],"sourcesContent":["import { QueryBuilder, UpdateBuilder } from '@contember/database'\nimport { calculateMigrationChecksum, Migration } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { ExecutedMigrationByVersionQuery } from '../../queries'\n\nexport class ModifyMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string, private readonly migration: Partial<Migration>) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst current = await db.createQueryHandler().fetch(new ExecutedMigrationByVersionQuery(this.version))\n\t\tif (!current) {\n\t\t\treturn false\n\t\t}\n\t\tconst newMigration = {\n\t\t\tversion: current.version,\n\t\t\tname: current.name,\n\t\t\tformatVersion: current.formatVersion,\n\t\t\tmodifications: current.modifications,\n\t\t\t...this.migration,\n\t\t}\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: newMigration.version,\n\t\t\tname: newMigration.name,\n\t\t\tmigration: JSON.stringify(newMigration),\n\t\t\tchecksum: calculateMigrationChecksum(newMigration),\n\t\t}\n\t\tawait UpdateBuilder.create() //\n\t\t\t.table('schema_migration')\n\t\t\t.values(values)\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn true\n\t}\n}\n"],"names":["ExecutedMigrationByVersionQuery","calculateMigrationChecksum","UpdateBuilder"],"mappings":";;;;;;;AAKO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAkC,WAA+B;AAAjE,SAAA,UAAA;AAAkC,SAAA,YAAA;AAAA,EAAA;AAAA,EAE/D,MAAa,QAAQ,EAAE,MAAsC;AACtD,UAAA,UAAU,MAAM,GAAG,mBAAmB,EAAE,MAAM,IAAIA,gCAAA,gCAAgC,KAAK,OAAO,CAAC;AACrG,QAAI,CAAC,SAAS;AACN,aAAA;AAAA,IAAA;AAER,UAAM,eAAe;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,MACd,eAAe,QAAQ;AAAA,MACvB,eAAe,QAAQ;AAAA,MACvB,GAAG,KAAK;AAAA,IACT;AACA,UAAM,SAA8B;AAAA,MACnC,SAAS,aAAa;AAAA,MACtB,MAAM,aAAa;AAAA,MACnB,WAAW,KAAK,UAAU,YAAY;AAAA,MACtC,UAAUC,4CAA2B,YAAY;AAAA,IAClD;AACM,UAAAC,SAAA,cAAc,SAClB,MAAM,kBAAkB,EACxB,OAAO,MAAM,EACb,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACL,WAAA;AAAA,EAAA;AAET;;"}
1
+ {"version":3,"file":"ModifyMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/ModifyMigrationCommand.ts"],"sourcesContent":["import { QueryBuilder, UpdateBuilder } from '@contember/database'\nimport { calculateMigrationChecksum, Migration } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { ExecutedMigrationByVersionQuery } from '../../queries'\n\nexport class ModifyMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string, private readonly migration: Partial<Migration>) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst current = await db.createQueryHandler().fetch(new ExecutedMigrationByVersionQuery(this.version))\n\t\tif (!current) {\n\t\t\treturn false\n\t\t}\n\t\tconst newMigration = {\n\t\t\tversion: current.version,\n\t\t\tname: current.name,\n\t\t\tformatVersion: current.formatVersion,\n\t\t\tmodifications: current.modifications,\n\t\t\t...this.migration,\n\t\t}\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: newMigration.version,\n\t\t\tname: newMigration.name,\n\t\t\tmigration: JSON.stringify(newMigration),\n\t\t\tchecksum: calculateMigrationChecksum(newMigration),\n\t\t}\n\t\tawait UpdateBuilder.create() //\n\t\t\t.table('schema_migration')\n\t\t\t.values(values)\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn true\n\t}\n}\n"],"names":["ExecutedMigrationByVersionQuery","calculateMigrationChecksum","UpdateBuilder"],"mappings":";;;;;;;AAKO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAkC,WAA+B;AAAjE,SAAA,UAAA;AAAkC,SAAA,YAAA;AAAA,EAAgC;AAAA,EAE/F,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,UAAU,MAAM,GAAG,mBAAA,EAAqB,MAAM,IAAIA,gCAAAA,gCAAgC,KAAK,OAAO,CAAC;AACrG,QAAI,CAAC,SAAS;AACb,aAAO;AAAA,IACR;AACA,UAAM,eAAe;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,MACd,eAAe,QAAQ;AAAA,MACvB,eAAe,QAAQ;AAAA,MACvB,GAAG,KAAK;AAAA,IAAA;AAET,UAAM,SAA8B;AAAA,MACnC,SAAS,aAAa;AAAA,MACtB,MAAM,aAAa;AAAA,MACnB,WAAW,KAAK,UAAU,YAAY;AAAA,MACtC,UAAUC,iBAAAA,2BAA2B,YAAY;AAAA,IAAA;AAElD,UAAMC,SAAAA,cAAc,SAClB,MAAM,kBAAkB,EACxB,OAAO,MAAM,EACb,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO;AAAA,EACR;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModifyMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/ModifyMigrationCommand.ts"],"sourcesContent":["import { QueryBuilder, UpdateBuilder } from '@contember/database'\nimport { calculateMigrationChecksum, Migration } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { ExecutedMigrationByVersionQuery } from '../../queries'\n\nexport class ModifyMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string, private readonly migration: Partial<Migration>) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst current = await db.createQueryHandler().fetch(new ExecutedMigrationByVersionQuery(this.version))\n\t\tif (!current) {\n\t\t\treturn false\n\t\t}\n\t\tconst newMigration = {\n\t\t\tversion: current.version,\n\t\t\tname: current.name,\n\t\t\tformatVersion: current.formatVersion,\n\t\t\tmodifications: current.modifications,\n\t\t\t...this.migration,\n\t\t}\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: newMigration.version,\n\t\t\tname: newMigration.name,\n\t\t\tmigration: JSON.stringify(newMigration),\n\t\t\tchecksum: calculateMigrationChecksum(newMigration),\n\t\t}\n\t\tawait UpdateBuilder.create() //\n\t\t\t.table('schema_migration')\n\t\t\t.values(values)\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn true\n\t}\n}\n"],"names":["UpdateBuilder"],"mappings":";;;;;AAKO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAkC,WAA+B;AAAjE,SAAA,UAAA;AAAkC,SAAA,YAAA;AAAA,EAAA;AAAA,EAE/D,MAAa,QAAQ,EAAE,MAAsC;AACtD,UAAA,UAAU,MAAM,GAAG,mBAAmB,EAAE,MAAM,IAAI,gCAAgC,KAAK,OAAO,CAAC;AACrG,QAAI,CAAC,SAAS;AACN,aAAA;AAAA,IAAA;AAER,UAAM,eAAe;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,MACd,eAAe,QAAQ;AAAA,MACvB,eAAe,QAAQ;AAAA,MACvB,GAAG,KAAK;AAAA,IACT;AACA,UAAM,SAA8B;AAAA,MACnC,SAAS,aAAa;AAAA,MACtB,MAAM,aAAa;AAAA,MACnB,WAAW,KAAK,UAAU,YAAY;AAAA,MACtC,UAAU,2BAA2B,YAAY;AAAA,IAClD;AACM,UAAAA,gBAAc,SAClB,MAAM,kBAAkB,EACxB,OAAO,MAAM,EACb,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACL,WAAA;AAAA,EAAA;AAET;"}
1
+ {"version":3,"file":"ModifyMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/ModifyMigrationCommand.ts"],"sourcesContent":["import { QueryBuilder, UpdateBuilder } from '@contember/database'\nimport { calculateMigrationChecksum, Migration } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { ExecutedMigrationByVersionQuery } from '../../queries'\n\nexport class ModifyMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string, private readonly migration: Partial<Migration>) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst current = await db.createQueryHandler().fetch(new ExecutedMigrationByVersionQuery(this.version))\n\t\tif (!current) {\n\t\t\treturn false\n\t\t}\n\t\tconst newMigration = {\n\t\t\tversion: current.version,\n\t\t\tname: current.name,\n\t\t\tformatVersion: current.formatVersion,\n\t\t\tmodifications: current.modifications,\n\t\t\t...this.migration,\n\t\t}\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: newMigration.version,\n\t\t\tname: newMigration.name,\n\t\t\tmigration: JSON.stringify(newMigration),\n\t\t\tchecksum: calculateMigrationChecksum(newMigration),\n\t\t}\n\t\tawait UpdateBuilder.create() //\n\t\t\t.table('schema_migration')\n\t\t\t.values(values)\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn true\n\t}\n}\n"],"names":["UpdateBuilder"],"mappings":";;;;;AAKO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAkC,WAA+B;AAAjE,SAAA,UAAA;AAAkC,SAAA,YAAA;AAAA,EAAgC;AAAA,EAE/F,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,UAAU,MAAM,GAAG,mBAAA,EAAqB,MAAM,IAAI,gCAAgC,KAAK,OAAO,CAAC;AACrG,QAAI,CAAC,SAAS;AACb,aAAO;AAAA,IACR;AACA,UAAM,eAAe;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,MACd,eAAe,QAAQ;AAAA,MACvB,eAAe,QAAQ;AAAA,MACvB,GAAG,KAAK;AAAA,IAAA;AAET,UAAM,SAA8B;AAAA,MACnC,SAAS,aAAa;AAAA,MACtB,MAAM,aAAa;AAAA,MACnB,WAAW,KAAK,UAAU,YAAY;AAAA,MACtC,UAAU,2BAA2B,YAAY;AAAA,IAAA;AAElD,UAAMA,gBAAc,SAClB,MAAM,kBAAkB,EACxB,OAAO,MAAM,EACb,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO;AAAA,EACR;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SaveMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/SaveMigrationCommand.ts"],"sourcesContent":["import { InsertBuilder, Literal, QueryBuilder, SelectBuilder } from '@contember/database'\nimport { calculateMigrationChecksum } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { MigrationInput } from '../../migrations/MigrationInput'\n\nexport class SaveMigrationCommand implements Command<number> {\n\tconstructor(private readonly migration: MigrationInput) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\tconst { type, ...migrationData } = this.migration\n\n\t\tif ('queries' in migrationData) {\n\t\t\t// in case of content migration, we don't want to store the queries\n\t\t\tmigrationData.queries = []\n\t\t}\n\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: this.migration.version,\n\t\t\tname: this.migration.name,\n\t\t\ttype,\n\t\t\tmigration: JSON.stringify(migrationData),\n\t\t\tchecksum: this.migration.type === 'schema' ? calculateMigrationChecksum(this.migration) : null,\n\t\t}\n\n\t\tconst latestId = (await SelectBuilder.create<{ id: number }>()\n\t\t\t.from('schema_migration')\n\t\t\t.select(new Literal('max(id)'), 'id')\n\t\t\t.getResult(db)\n\t\t)[0]?.id ?? 0\n\n\t\tconst newId = latestId + 1\n\t\tconst result = await InsertBuilder.create()\n\t\t\t.into('schema_migration')\n\t\t\t.values({ id: newId, ...values })\n\t\t\t.execute(db)\n\n\t\treturn newId\n\t}\n}\n"],"names":["calculateMigrationChecksum","SelectBuilder","Literal","InsertBuilder"],"mappings":";;;;AAKO,MAAM,qBAAgD;AAAA,EAC5D,YAA6B,WAA2B;AAA3B,SAAA,YAAA;AAAA,EAAA;AAAA,EAE7B,MAAa,QAAQ,EAAE,MAAqC;AAC3D,UAAM,EAAE,MAAM,GAAG,kBAAkB,KAAK;AAExC,QAAI,aAAa,eAAe;AAE/B,oBAAc,UAAU,CAAC;AAAA,IAAA;AAG1B,UAAM,SAA8B;AAAA,MACnC,SAAS,KAAK,UAAU;AAAA,MACxB,MAAM,KAAK,UAAU;AAAA,MACrB;AAAA,MACA,WAAW,KAAK,UAAU,aAAa;AAAA,MACvC,UAAU,KAAK,UAAU,SAAS,WAAWA,4CAA2B,KAAK,SAAS,IAAI;AAAA,IAC3F;AAEM,UAAA,YAAY,MAAMC,uBAAc,SACpC,KAAK,kBAAkB,EACvB,OAAO,IAAIC,iBAAQ,SAAS,GAAG,IAAI,EACnC,UAAU,EAAE,GACZ,CAAC,GAAG,MAAM;AAEZ,UAAM,QAAQ,WAAW;AACV,UAAMC,SAAA,cAAc,OAAO,EACxC,KAAK,kBAAkB,EACvB,OAAO,EAAE,IAAI,OAAO,GAAG,QAAQ,EAC/B,QAAQ,EAAE;AAEL,WAAA;AAAA,EAAA;AAET;;"}
1
+ {"version":3,"file":"SaveMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/SaveMigrationCommand.ts"],"sourcesContent":["import { InsertBuilder, Literal, QueryBuilder, SelectBuilder } from '@contember/database'\nimport { calculateMigrationChecksum } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { MigrationInput } from '../../migrations/MigrationInput'\n\nexport class SaveMigrationCommand implements Command<number> {\n\tconstructor(private readonly migration: MigrationInput) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\tconst { type, ...migrationData } = this.migration\n\n\t\tif ('queries' in migrationData) {\n\t\t\t// in case of content migration, we don't want to store the queries\n\t\t\tmigrationData.queries = []\n\t\t}\n\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: this.migration.version,\n\t\t\tname: this.migration.name,\n\t\t\ttype,\n\t\t\tmigration: JSON.stringify(migrationData),\n\t\t\tchecksum: this.migration.type === 'schema' ? calculateMigrationChecksum(this.migration) : null,\n\t\t}\n\n\t\tconst latestId = (await SelectBuilder.create<{ id: number }>()\n\t\t\t.from('schema_migration')\n\t\t\t.select(new Literal('max(id)'), 'id')\n\t\t\t.getResult(db))[0]?.id ?? 0\n\n\t\tconst newId = latestId + 1\n\t\tconst result = await InsertBuilder.create()\n\t\t\t.into('schema_migration')\n\t\t\t.values({ id: newId, ...values })\n\t\t\t.execute(db)\n\n\t\treturn newId\n\t}\n}\n"],"names":["calculateMigrationChecksum","SelectBuilder","Literal","InsertBuilder"],"mappings":";;;;AAKO,MAAM,qBAAgD;AAAA,EAC5D,YAA6B,WAA2B;AAA3B,SAAA,YAAA;AAAA,EAA4B;AAAA,EAEzD,MAAa,QAAQ,EAAE,MAAqC;AAC3D,UAAM,EAAE,MAAM,GAAG,cAAA,IAAkB,KAAK;AAExC,QAAI,aAAa,eAAe;AAE/B,oBAAc,UAAU,CAAA;AAAA,IACzB;AAEA,UAAM,SAA8B;AAAA,MACnC,SAAS,KAAK,UAAU;AAAA,MACxB,MAAM,KAAK,UAAU;AAAA,MACrB;AAAA,MACA,WAAW,KAAK,UAAU,aAAa;AAAA,MACvC,UAAU,KAAK,UAAU,SAAS,WAAWA,4CAA2B,KAAK,SAAS,IAAI;AAAA,IAAA;AAG3F,UAAM,YAAY,MAAMC,uBAAc,OAAA,EACpC,KAAK,kBAAkB,EACvB,OAAO,IAAIC,SAAAA,QAAQ,SAAS,GAAG,IAAI,EACnC,UAAU,EAAE,GAAG,CAAC,GAAG,MAAM;AAE3B,UAAM,QAAQ,WAAW;AACV,UAAMC,SAAAA,cAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,OAAO,EAAE,IAAI,OAAO,GAAG,QAAQ,EAC/B,QAAQ,EAAE;AAEZ,WAAO;AAAA,EACR;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SaveMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/SaveMigrationCommand.ts"],"sourcesContent":["import { InsertBuilder, Literal, QueryBuilder, SelectBuilder } from '@contember/database'\nimport { calculateMigrationChecksum } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { MigrationInput } from '../../migrations/MigrationInput'\n\nexport class SaveMigrationCommand implements Command<number> {\n\tconstructor(private readonly migration: MigrationInput) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\tconst { type, ...migrationData } = this.migration\n\n\t\tif ('queries' in migrationData) {\n\t\t\t// in case of content migration, we don't want to store the queries\n\t\t\tmigrationData.queries = []\n\t\t}\n\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: this.migration.version,\n\t\t\tname: this.migration.name,\n\t\t\ttype,\n\t\t\tmigration: JSON.stringify(migrationData),\n\t\t\tchecksum: this.migration.type === 'schema' ? calculateMigrationChecksum(this.migration) : null,\n\t\t}\n\n\t\tconst latestId = (await SelectBuilder.create<{ id: number }>()\n\t\t\t.from('schema_migration')\n\t\t\t.select(new Literal('max(id)'), 'id')\n\t\t\t.getResult(db)\n\t\t)[0]?.id ?? 0\n\n\t\tconst newId = latestId + 1\n\t\tconst result = await InsertBuilder.create()\n\t\t\t.into('schema_migration')\n\t\t\t.values({ id: newId, ...values })\n\t\t\t.execute(db)\n\n\t\treturn newId\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";;AAKO,MAAM,qBAAgD;AAAA,EAC5D,YAA6B,WAA2B;AAA3B,SAAA,YAAA;AAAA,EAAA;AAAA,EAE7B,MAAa,QAAQ,EAAE,MAAqC;AAC3D,UAAM,EAAE,MAAM,GAAG,kBAAkB,KAAK;AAExC,QAAI,aAAa,eAAe;AAE/B,oBAAc,UAAU,CAAC;AAAA,IAAA;AAG1B,UAAM,SAA8B;AAAA,MACnC,SAAS,KAAK,UAAU;AAAA,MACxB,MAAM,KAAK,UAAU;AAAA,MACrB;AAAA,MACA,WAAW,KAAK,UAAU,aAAa;AAAA,MACvC,UAAU,KAAK,UAAU,SAAS,WAAW,2BAA2B,KAAK,SAAS,IAAI;AAAA,IAC3F;AAEM,UAAA,YAAY,MAAM,cAAc,SACpC,KAAK,kBAAkB,EACvB,OAAO,IAAI,QAAQ,SAAS,GAAG,IAAI,EACnC,UAAU,EAAE,GACZ,CAAC,GAAG,MAAM;AAEZ,UAAM,QAAQ,WAAW;AACV,UAAMA,gBAAc,OAAO,EACxC,KAAK,kBAAkB,EACvB,OAAO,EAAE,IAAI,OAAO,GAAG,QAAQ,EAC/B,QAAQ,EAAE;AAEL,WAAA;AAAA,EAAA;AAET;"}
1
+ {"version":3,"file":"SaveMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/SaveMigrationCommand.ts"],"sourcesContent":["import { InsertBuilder, Literal, QueryBuilder, SelectBuilder } from '@contember/database'\nimport { calculateMigrationChecksum } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { MigrationInput } from '../../migrations/MigrationInput'\n\nexport class SaveMigrationCommand implements Command<number> {\n\tconstructor(private readonly migration: MigrationInput) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\tconst { type, ...migrationData } = this.migration\n\n\t\tif ('queries' in migrationData) {\n\t\t\t// in case of content migration, we don't want to store the queries\n\t\t\tmigrationData.queries = []\n\t\t}\n\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: this.migration.version,\n\t\t\tname: this.migration.name,\n\t\t\ttype,\n\t\t\tmigration: JSON.stringify(migrationData),\n\t\t\tchecksum: this.migration.type === 'schema' ? calculateMigrationChecksum(this.migration) : null,\n\t\t}\n\n\t\tconst latestId = (await SelectBuilder.create<{ id: number }>()\n\t\t\t.from('schema_migration')\n\t\t\t.select(new Literal('max(id)'), 'id')\n\t\t\t.getResult(db))[0]?.id ?? 0\n\n\t\tconst newId = latestId + 1\n\t\tconst result = await InsertBuilder.create()\n\t\t\t.into('schema_migration')\n\t\t\t.values({ id: newId, ...values })\n\t\t\t.execute(db)\n\n\t\treturn newId\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";;AAKO,MAAM,qBAAgD;AAAA,EAC5D,YAA6B,WAA2B;AAA3B,SAAA,YAAA;AAAA,EAA4B;AAAA,EAEzD,MAAa,QAAQ,EAAE,MAAqC;AAC3D,UAAM,EAAE,MAAM,GAAG,cAAA,IAAkB,KAAK;AAExC,QAAI,aAAa,eAAe;AAE/B,oBAAc,UAAU,CAAA;AAAA,IACzB;AAEA,UAAM,SAA8B;AAAA,MACnC,SAAS,KAAK,UAAU;AAAA,MACxB,MAAM,KAAK,UAAU;AAAA,MACrB;AAAA,MACA,WAAW,KAAK,UAAU,aAAa;AAAA,MACvC,UAAU,KAAK,UAAU,SAAS,WAAW,2BAA2B,KAAK,SAAS,IAAI;AAAA,IAAA;AAG3F,UAAM,YAAY,MAAM,cAAc,OAAA,EACpC,KAAK,kBAAkB,EACvB,OAAO,IAAI,QAAQ,SAAS,GAAG,IAAI,EACnC,UAAU,EAAE,GAAG,CAAC,GAAG,MAAM;AAE3B,UAAM,QAAQ,WAAW;AACV,UAAMA,gBAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,OAAO,EAAE,IAAI,OAAO,GAAG,QAAQ,EAC/B,QAAQ,EAAE;AAEZ,WAAO;AAAA,EACR;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SaveSchemaCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/schema/SaveSchemaCommand.ts"],"sourcesContent":["import { ConflictActionType, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command'\nimport { SchemaWithMeta } from '../../migrations'\n\nexport class SaveSchemaCommand implements Command<void> {\n\tconstructor(private readonly input: SchemaWithMeta) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<void> {\n\t\tif (!this.input.meta.updatedAt) {\n\t\t\tthrow new Error('Cannot persist empty schema')\n\t\t}\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('schema')\n\t\t\t.values({\n\t\t\t\tschema: this.input.schema,\n\t\t\t\tupdated_at: this.input.meta.updatedAt.toISOString(),\n\t\t\t\tchecksum: this.input.meta.checksum,\n\t\t\t\tversion: this.input.meta.version,\n\t\t\t\tmigration_id: this.input.meta.id,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['id'], {\n\t\t\t\tschema: expr => expr.select(['excluded', 'schema']),\n\t\t\t\tupdated_at: expr => expr.select(['excluded', 'updated_at']),\n\t\t\t\tchecksum: expr => expr.select(['excluded', 'checksum']),\n\t\t\t\tversion: expr => expr.select(['excluded', 'version']),\n\t\t\t\tmigration_id: expr => expr.select(['excluded', 'migration_id']),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder","ConflictActionType"],"mappings":";;;AAIO,MAAM,kBAA2C;AAAA,EACvD,YAA6B,OAAuB;AAAvB,SAAA,QAAA;AAAA,EAAA;AAAA,EAE7B,MAAa,QAAQ,EAAE,MAAmC;AACzD,QAAI,CAAC,KAAK,MAAM,KAAK,WAAW;AACzB,YAAA,IAAI,MAAM,6BAA6B;AAAA,IAAA;AAG9C,UAAMA,SAAAA,cAAc,OAAO,EACzB,KAAK,QAAQ,EACb,OAAO;AAAA,MACP,QAAQ,KAAK,MAAM;AAAA,MACnB,YAAY,KAAK,MAAM,KAAK,UAAU,YAAY;AAAA,MAClD,UAAU,KAAK,MAAM,KAAK;AAAA,MAC1B,SAAS,KAAK,MAAM,KAAK;AAAA,MACzB,cAAc,KAAK,MAAM,KAAK;AAAA,IAC9B,CAAA,EACA,WAAWC,SAAAA,mBAAmB,QAAQ,CAAC,IAAI,GAAG;AAAA,MAC9C,QAAQ,CAAQ,SAAA,KAAK,OAAO,CAAC,YAAY,QAAQ,CAAC;AAAA,MAClD,YAAY,CAAQ,SAAA,KAAK,OAAO,CAAC,YAAY,YAAY,CAAC;AAAA,MAC1D,UAAU,CAAQ,SAAA,KAAK,OAAO,CAAC,YAAY,UAAU,CAAC;AAAA,MACtD,SAAS,CAAQ,SAAA,KAAK,OAAO,CAAC,YAAY,SAAS,CAAC;AAAA,MACpD,cAAc,CAAQ,SAAA,KAAK,OAAO,CAAC,YAAY,cAAc,CAAC;AAAA,IAAA,CAC9D,EACA,QAAQ,EAAE;AAAA,EAAA;AAEd;;"}
1
+ {"version":3,"file":"SaveSchemaCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/schema/SaveSchemaCommand.ts"],"sourcesContent":["import { ConflictActionType, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command'\nimport { SchemaWithMeta } from '../../migrations'\n\nexport class SaveSchemaCommand implements Command<void> {\n\tconstructor(private readonly input: SchemaWithMeta) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<void> {\n\t\tif (!this.input.meta.updatedAt) {\n\t\t\tthrow new Error('Cannot persist empty schema')\n\t\t}\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('schema')\n\t\t\t.values({\n\t\t\t\tschema: this.input.schema,\n\t\t\t\tupdated_at: this.input.meta.updatedAt.toISOString(),\n\t\t\t\tchecksum: this.input.meta.checksum,\n\t\t\t\tversion: this.input.meta.version,\n\t\t\t\tmigration_id: this.input.meta.id,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['id'], {\n\t\t\t\tschema: expr => expr.select(['excluded', 'schema']),\n\t\t\t\tupdated_at: expr => expr.select(['excluded', 'updated_at']),\n\t\t\t\tchecksum: expr => expr.select(['excluded', 'checksum']),\n\t\t\t\tversion: expr => expr.select(['excluded', 'version']),\n\t\t\t\tmigration_id: expr => expr.select(['excluded', 'migration_id']),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder","ConflictActionType"],"mappings":";;;AAIO,MAAM,kBAA2C;AAAA,EACvD,YAA6B,OAAuB;AAAvB,SAAA,QAAA;AAAA,EAAwB;AAAA,EAErD,MAAa,QAAQ,EAAE,MAAmC;AACzD,QAAI,CAAC,KAAK,MAAM,KAAK,WAAW;AAC/B,YAAM,IAAI,MAAM,6BAA6B;AAAA,IAC9C;AAEA,UAAMA,SAAAA,cAAc,OAAA,EAClB,KAAK,QAAQ,EACb,OAAO;AAAA,MACP,QAAQ,KAAK,MAAM;AAAA,MACnB,YAAY,KAAK,MAAM,KAAK,UAAU,YAAA;AAAA,MACtC,UAAU,KAAK,MAAM,KAAK;AAAA,MAC1B,SAAS,KAAK,MAAM,KAAK;AAAA,MACzB,cAAc,KAAK,MAAM,KAAK;AAAA,IAAA,CAC9B,EACA,WAAWC,SAAAA,mBAAmB,QAAQ,CAAC,IAAI,GAAG;AAAA,MAC9C,QAAQ,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,QAAQ,CAAC;AAAA,MAClD,YAAY,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,YAAY,CAAC;AAAA,MAC1D,UAAU,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,UAAU,CAAC;AAAA,MACtD,SAAS,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,SAAS,CAAC;AAAA,MACpD,cAAc,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,cAAc,CAAC;AAAA,IAAA,CAC9D,EACA,QAAQ,EAAE;AAAA,EACb;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SaveSchemaCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/schema/SaveSchemaCommand.ts"],"sourcesContent":["import { ConflictActionType, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command'\nimport { SchemaWithMeta } from '../../migrations'\n\nexport class SaveSchemaCommand implements Command<void> {\n\tconstructor(private readonly input: SchemaWithMeta) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<void> {\n\t\tif (!this.input.meta.updatedAt) {\n\t\t\tthrow new Error('Cannot persist empty schema')\n\t\t}\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('schema')\n\t\t\t.values({\n\t\t\t\tschema: this.input.schema,\n\t\t\t\tupdated_at: this.input.meta.updatedAt.toISOString(),\n\t\t\t\tchecksum: this.input.meta.checksum,\n\t\t\t\tversion: this.input.meta.version,\n\t\t\t\tmigration_id: this.input.meta.id,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['id'], {\n\t\t\t\tschema: expr => expr.select(['excluded', 'schema']),\n\t\t\t\tupdated_at: expr => expr.select(['excluded', 'updated_at']),\n\t\t\t\tchecksum: expr => expr.select(['excluded', 'checksum']),\n\t\t\t\tversion: expr => expr.select(['excluded', 'version']),\n\t\t\t\tmigration_id: expr => expr.select(['excluded', 'migration_id']),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";AAIO,MAAM,kBAA2C;AAAA,EACvD,YAA6B,OAAuB;AAAvB,SAAA,QAAA;AAAA,EAAA;AAAA,EAE7B,MAAa,QAAQ,EAAE,MAAmC;AACzD,QAAI,CAAC,KAAK,MAAM,KAAK,WAAW;AACzB,YAAA,IAAI,MAAM,6BAA6B;AAAA,IAAA;AAG9C,UAAMA,gBAAc,OAAO,EACzB,KAAK,QAAQ,EACb,OAAO;AAAA,MACP,QAAQ,KAAK,MAAM;AAAA,MACnB,YAAY,KAAK,MAAM,KAAK,UAAU,YAAY;AAAA,MAClD,UAAU,KAAK,MAAM,KAAK;AAAA,MAC1B,SAAS,KAAK,MAAM,KAAK;AAAA,MACzB,cAAc,KAAK,MAAM,KAAK;AAAA,IAC9B,CAAA,EACA,WAAW,mBAAmB,QAAQ,CAAC,IAAI,GAAG;AAAA,MAC9C,QAAQ,CAAQ,SAAA,KAAK,OAAO,CAAC,YAAY,QAAQ,CAAC;AAAA,MAClD,YAAY,CAAQ,SAAA,KAAK,OAAO,CAAC,YAAY,YAAY,CAAC;AAAA,MAC1D,UAAU,CAAQ,SAAA,KAAK,OAAO,CAAC,YAAY,UAAU,CAAC;AAAA,MACtD,SAAS,CAAQ,SAAA,KAAK,OAAO,CAAC,YAAY,SAAS,CAAC;AAAA,MACpD,cAAc,CAAQ,SAAA,KAAK,OAAO,CAAC,YAAY,cAAc,CAAC;AAAA,IAAA,CAC9D,EACA,QAAQ,EAAE;AAAA,EAAA;AAEd;"}
1
+ {"version":3,"file":"SaveSchemaCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/schema/SaveSchemaCommand.ts"],"sourcesContent":["import { ConflictActionType, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command'\nimport { SchemaWithMeta } from '../../migrations'\n\nexport class SaveSchemaCommand implements Command<void> {\n\tconstructor(private readonly input: SchemaWithMeta) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<void> {\n\t\tif (!this.input.meta.updatedAt) {\n\t\t\tthrow new Error('Cannot persist empty schema')\n\t\t}\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('schema')\n\t\t\t.values({\n\t\t\t\tschema: this.input.schema,\n\t\t\t\tupdated_at: this.input.meta.updatedAt.toISOString(),\n\t\t\t\tchecksum: this.input.meta.checksum,\n\t\t\t\tversion: this.input.meta.version,\n\t\t\t\tmigration_id: this.input.meta.id,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['id'], {\n\t\t\t\tschema: expr => expr.select(['excluded', 'schema']),\n\t\t\t\tupdated_at: expr => expr.select(['excluded', 'updated_at']),\n\t\t\t\tchecksum: expr => expr.select(['excluded', 'checksum']),\n\t\t\t\tversion: expr => expr.select(['excluded', 'version']),\n\t\t\t\tmigration_id: expr => expr.select(['excluded', 'migration_id']),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";AAIO,MAAM,kBAA2C;AAAA,EACvD,YAA6B,OAAuB;AAAvB,SAAA,QAAA;AAAA,EAAwB;AAAA,EAErD,MAAa,QAAQ,EAAE,MAAmC;AACzD,QAAI,CAAC,KAAK,MAAM,KAAK,WAAW;AAC/B,YAAM,IAAI,MAAM,6BAA6B;AAAA,IAC9C;AAEA,UAAMA,gBAAc,OAAA,EAClB,KAAK,QAAQ,EACb,OAAO;AAAA,MACP,QAAQ,KAAK,MAAM;AAAA,MACnB,YAAY,KAAK,MAAM,KAAK,UAAU,YAAA;AAAA,MACtC,UAAU,KAAK,MAAM,KAAK;AAAA,MAC1B,SAAS,KAAK,MAAM,KAAK;AAAA,MACzB,cAAc,KAAK,MAAM,KAAK;AAAA,IAAA,CAC9B,EACA,WAAW,mBAAmB,QAAQ,CAAC,IAAI,GAAG;AAAA,MAC9C,QAAQ,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,QAAQ,CAAC;AAAA,MAClD,YAAY,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,YAAY,CAAC;AAAA,MAC1D,UAAU,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,UAAU,CAAC;AAAA,MACtD,SAAS,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,SAAS,CAAC;AAAA,MACpD,cAAc,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,cAAc,CAAC;AAAA,IAAA,CAC9D,EACA,QAAQ,EAAE;AAAA,EACb;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateStageCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/stages/CreateStageCommand.ts"],"sourcesContent":["import { InsertBuilder, wrapIdentifier } from '@contember/database'\nimport { StageConfig } from '../../../types'\nimport { Command } from '../Command'\nimport { formatSchemaName } from '../../helpers'\n\nexport class CreateStageCommand implements Command<void> {\n\tconstructor(private readonly stage: StageConfig) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tconst schemaName = this.stage.schema ?? formatSchemaName(this.stage)\n\t\tawait InsertBuilder.create()\n\t\t\t.into('stage')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.stage.name,\n\t\t\t\tslug: this.stage.slug,\n\t\t\t\tschema: schemaName,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tawait db.query('CREATE SCHEMA IF NOT EXISTS ' + wrapIdentifier(schemaName))\n\t}\n}\n"],"names":["formatSchemaName","InsertBuilder","wrapIdentifier"],"mappings":";;;;;AAKO,MAAM,mBAA4C;AAAA,EACxD,YAA6B,OAAoB;AAApB,SAAA,QAAA;AAAA,EAAA;AAAA,EAE7B,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,aAAa,KAAK,MAAM,UAAUA,aAAA,iBAAiB,KAAK,KAAK;AACnE,UAAMC,SAAAA,cAAc,OAAO,EACzB,KAAK,OAAO,EACZ,OAAO;AAAA,MACP,IAAI,UAAU,KAAK;AAAA,MACnB,MAAM,KAAK,MAAM;AAAA,MACjB,MAAM,KAAK,MAAM;AAAA,MACjB,QAAQ;AAAA,IAAA,CACR,EACA,QAAQ,EAAE;AAEZ,UAAM,GAAG,MAAM,iCAAiCC,SAAA,eAAe,UAAU,CAAC;AAAA,EAAA;AAE5E;;"}
1
+ {"version":3,"file":"CreateStageCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/stages/CreateStageCommand.ts"],"sourcesContent":["import { InsertBuilder, wrapIdentifier } from '@contember/database'\nimport { StageConfig } from '../../../types'\nimport { Command } from '../Command'\nimport { formatSchemaName } from '../../helpers'\n\nexport class CreateStageCommand implements Command<void> {\n\tconstructor(private readonly stage: StageConfig) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tconst schemaName = this.stage.schema ?? formatSchemaName(this.stage)\n\t\tawait InsertBuilder.create()\n\t\t\t.into('stage')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.stage.name,\n\t\t\t\tslug: this.stage.slug,\n\t\t\t\tschema: schemaName,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tawait db.query('CREATE SCHEMA IF NOT EXISTS ' + wrapIdentifier(schemaName))\n\t}\n}\n"],"names":["formatSchemaName","InsertBuilder","wrapIdentifier"],"mappings":";;;;;AAKO,MAAM,mBAA4C;AAAA,EACxD,YAA6B,OAAoB;AAApB,SAAA,QAAA;AAAA,EAAqB;AAAA,EAElD,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,aAAa,KAAK,MAAM,UAAUA,aAAAA,iBAAiB,KAAK,KAAK;AACnE,UAAMC,SAAAA,cAAc,OAAA,EAClB,KAAK,OAAO,EACZ,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM,KAAK,MAAM;AAAA,MACjB,MAAM,KAAK,MAAM;AAAA,MACjB,QAAQ;AAAA,IAAA,CACR,EACA,QAAQ,EAAE;AAEZ,UAAM,GAAG,MAAM,iCAAiCC,SAAAA,eAAe,UAAU,CAAC;AAAA,EAC3E;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateStageCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/stages/CreateStageCommand.ts"],"sourcesContent":["import { InsertBuilder, wrapIdentifier } from '@contember/database'\nimport { StageConfig } from '../../../types'\nimport { Command } from '../Command'\nimport { formatSchemaName } from '../../helpers'\n\nexport class CreateStageCommand implements Command<void> {\n\tconstructor(private readonly stage: StageConfig) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tconst schemaName = this.stage.schema ?? formatSchemaName(this.stage)\n\t\tawait InsertBuilder.create()\n\t\t\t.into('stage')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.stage.name,\n\t\t\t\tslug: this.stage.slug,\n\t\t\t\tschema: schemaName,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tawait db.query('CREATE SCHEMA IF NOT EXISTS ' + wrapIdentifier(schemaName))\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";;;AAKO,MAAM,mBAA4C;AAAA,EACxD,YAA6B,OAAoB;AAApB,SAAA,QAAA;AAAA,EAAA;AAAA,EAE7B,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,aAAa,KAAK,MAAM,UAAU,iBAAiB,KAAK,KAAK;AACnE,UAAMA,gBAAc,OAAO,EACzB,KAAK,OAAO,EACZ,OAAO;AAAA,MACP,IAAI,UAAU,KAAK;AAAA,MACnB,MAAM,KAAK,MAAM;AAAA,MACjB,MAAM,KAAK,MAAM;AAAA,MACjB,QAAQ;AAAA,IAAA,CACR,EACA,QAAQ,EAAE;AAEZ,UAAM,GAAG,MAAM,iCAAiC,eAAe,UAAU,CAAC;AAAA,EAAA;AAE5E;"}
1
+ {"version":3,"file":"CreateStageCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/stages/CreateStageCommand.ts"],"sourcesContent":["import { InsertBuilder, wrapIdentifier } from '@contember/database'\nimport { StageConfig } from '../../../types'\nimport { Command } from '../Command'\nimport { formatSchemaName } from '../../helpers'\n\nexport class CreateStageCommand implements Command<void> {\n\tconstructor(private readonly stage: StageConfig) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tconst schemaName = this.stage.schema ?? formatSchemaName(this.stage)\n\t\tawait InsertBuilder.create()\n\t\t\t.into('stage')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.stage.name,\n\t\t\t\tslug: this.stage.slug,\n\t\t\t\tschema: schemaName,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tawait db.query('CREATE SCHEMA IF NOT EXISTS ' + wrapIdentifier(schemaName))\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";;;AAKO,MAAM,mBAA4C;AAAA,EACxD,YAA6B,OAAoB;AAApB,SAAA,QAAA;AAAA,EAAqB;AAAA,EAElD,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,aAAa,KAAK,MAAM,UAAU,iBAAiB,KAAK,KAAK;AACnE,UAAMA,gBAAc,OAAA,EAClB,KAAK,OAAO,EACZ,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM,KAAK,MAAM;AAAA,MACjB,MAAM,KAAK,MAAM;AAAA,MACjB,QAAQ;AAAA,IAAA,CACR,EACA,QAAQ,EAAE;AAEZ,UAAM,GAAG,MAAM,iCAAiC,eAAe,UAAU,CAAC;AAAA,EAC3E;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseContext.cjs","sources":["../../../../../../packages/engine-system-api/src/model/database/DatabaseContext.ts"],"sourcesContent":["import { Client, Connection, DatabaseQueryable } from '@contember/database'\nimport { QueryHandler } from '@contember/queryable'\nimport { UuidProvider } from '../../utils'\nimport { CommandBus } from '../commands'\n\nexport interface DatabaseContext<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tclient: Client<ConnectionType>\n\tqueryHandler: QueryHandler<DatabaseQueryable>\n\ttransaction: <T>(cb: (db: DatabaseContext<Connection.TransactionLike>) => Promise<T> | T) => Promise<T>\n\tscope: <T>(cb: (db: DatabaseContext<ConnectionType & Connection.AcquiredConnectionLike>) => Promise<T> | T) => Promise<T>\n\tlocked: <T>(lock: number, cb: (db: DatabaseContext<Connection.ConnectionLike>) => Promise<T> | T) => Promise<T>\n\tcommandBus: CommandBus\n}\n\nexport class DatabaseContextFactory {\n\tconstructor(\n\t\tpublic readonly schemaName: string,\n\t\tprivate readonly providers: UuidProvider,\n\t) {}\n\n\tpublic create(connection: Connection.ConnectionLike): DatabaseContext {\n\t\tconst client = new Client(connection, this.schemaName, { module: 'system' })\n\t\treturn createDatabaseContext(client, this.providers)\n\t}\n}\n\nconst createDatabaseContext = <ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike>(\n\tclient: Client<ConnectionType>,\n\tproviders: UuidProvider,\n): DatabaseContext<ConnectionType> => ({\n\tclient,\n\tqueryHandler: client.createQueryHandler(),\n\ttransaction: cb =>\n\t\tclient.transaction(async client => {\n\t\t\tawait client.query(Connection.REPEATABLE_READ)\n\t\t\treturn cb(createDatabaseContext(client, providers))\n\t\t}),\n\tscope: cb =>\n\t\tclient.scope(client => cb(createDatabaseContext(client, providers))),\n\tcommandBus: new CommandBus(client, providers),\n\tlocked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),\n})\n"],"names":["Client","client","Connection","CommandBus"],"mappings":";;;;;;AAcO,MAAM,uBAAuB;AAAA,EACnC,YACiB,YACC,WAChB;AAFe,SAAA,aAAA;AACC,SAAA,YAAA;AAAA,EAAA;AAAA,EAGX,OAAO,YAAwD;AAC/D,UAAA,SAAS,IAAIA,SAAAA,OAAO,YAAY,KAAK,YAAY,EAAE,QAAQ,UAAU;AACpE,WAAA,sBAAsB,QAAQ,KAAK,SAAS;AAAA,EAAA;AAErD;AAEA,MAAM,wBAAwB,CAC7B,QACA,eACsC;AAAA,EACtC;AAAA,EACA,cAAc,OAAO,mBAAmB;AAAA,EACxC,aAAa,CAAA,OACZ,OAAO,YAAY,OAAMC,YAAU;AAC5BA,UAAAA,QAAO,MAAMC,SAAA,WAAW,eAAe;AAC7C,WAAO,GAAG,sBAAsBD,SAAQ,SAAS,CAAC;AAAA,EAAA,CAClD;AAAA,EACF,OAAO,CACN,OAAA,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AAAA,EACpE,YAAY,IAAIE,WAAAA,WAAW,QAAQ,SAAS;AAAA,EAC5C,QAAQ,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,CAAAF,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AACjG;;"}
1
+ {"version":3,"file":"DatabaseContext.cjs","sources":["../../../../../../packages/engine-system-api/src/model/database/DatabaseContext.ts"],"sourcesContent":["import { Client, Connection, DatabaseQueryable } from '@contember/database'\nimport { QueryHandler } from '@contember/queryable'\nimport { UuidProvider } from '../../utils'\nimport { CommandBus } from '../commands'\n\nexport interface DatabaseContext<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tclient: Client<ConnectionType>\n\tqueryHandler: QueryHandler<DatabaseQueryable>\n\ttransaction: <T>(cb: (db: DatabaseContext<Connection.TransactionLike>) => Promise<T> | T) => Promise<T>\n\tscope: <T>(cb: (db: DatabaseContext<ConnectionType & Connection.AcquiredConnectionLike>) => Promise<T> | T) => Promise<T>\n\tlocked: <T>(lock: number, cb: (db: DatabaseContext<Connection.ConnectionLike>) => Promise<T> | T) => Promise<T>\n\tcommandBus: CommandBus\n}\n\nexport class DatabaseContextFactory {\n\tconstructor(\n\t\tpublic readonly schemaName: string,\n\t\tprivate readonly providers: UuidProvider,\n\t) {}\n\n\tpublic create(connection: Connection.ConnectionLike): DatabaseContext {\n\t\tconst client = new Client(connection, this.schemaName, { module: 'system' })\n\t\treturn createDatabaseContext(client, this.providers)\n\t}\n}\n\nconst createDatabaseContext = <ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike>(\n\tclient: Client<ConnectionType>,\n\tproviders: UuidProvider,\n): DatabaseContext<ConnectionType> => ({\n\tclient,\n\tqueryHandler: client.createQueryHandler(),\n\ttransaction: cb =>\n\t\tclient.transaction(async client => {\n\t\t\tawait client.query(Connection.REPEATABLE_READ)\n\t\t\treturn cb(createDatabaseContext(client, providers))\n\t\t}),\n\tscope: cb => client.scope(client => cb(createDatabaseContext(client, providers))),\n\tcommandBus: new CommandBus(client, providers),\n\tlocked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),\n})\n"],"names":["Client","client","Connection","CommandBus"],"mappings":";;;;;;AAcO,MAAM,uBAAuB;AAAA,EACnC,YACiB,YACC,WAChB;AAFe,SAAA,aAAA;AACC,SAAA,YAAA;AAAA,EACf;AAAA,EAEI,OAAO,YAAwD;AACrE,UAAM,SAAS,IAAIA,SAAAA,OAAO,YAAY,KAAK,YAAY,EAAE,QAAQ,UAAU;AAC3E,WAAO,sBAAsB,QAAQ,KAAK,SAAS;AAAA,EACpD;AACD;AAEA,MAAM,wBAAwB,CAC7B,QACA,eACsC;AAAA,EACtC;AAAA,EACA,cAAc,OAAO,mBAAA;AAAA,EACrB,aAAa,CAAA,OACZ,OAAO,YAAY,OAAMC,YAAU;AAClC,UAAMA,QAAO,MAAMC,SAAAA,WAAW,eAAe;AAC7C,WAAO,GAAG,sBAAsBD,SAAQ,SAAS,CAAC;AAAA,EACnD,CAAC;AAAA,EACF,OAAO,CAAA,OAAM,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AAAA,EAChF,YAAY,IAAIE,WAAAA,WAAW,QAAQ,SAAS;AAAA,EAC5C,QAAQ,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,CAAAF,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AACjG;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseContext.js","sources":["../../../../../../packages/engine-system-api/src/model/database/DatabaseContext.ts"],"sourcesContent":["import { Client, Connection, DatabaseQueryable } from '@contember/database'\nimport { QueryHandler } from '@contember/queryable'\nimport { UuidProvider } from '../../utils'\nimport { CommandBus } from '../commands'\n\nexport interface DatabaseContext<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tclient: Client<ConnectionType>\n\tqueryHandler: QueryHandler<DatabaseQueryable>\n\ttransaction: <T>(cb: (db: DatabaseContext<Connection.TransactionLike>) => Promise<T> | T) => Promise<T>\n\tscope: <T>(cb: (db: DatabaseContext<ConnectionType & Connection.AcquiredConnectionLike>) => Promise<T> | T) => Promise<T>\n\tlocked: <T>(lock: number, cb: (db: DatabaseContext<Connection.ConnectionLike>) => Promise<T> | T) => Promise<T>\n\tcommandBus: CommandBus\n}\n\nexport class DatabaseContextFactory {\n\tconstructor(\n\t\tpublic readonly schemaName: string,\n\t\tprivate readonly providers: UuidProvider,\n\t) {}\n\n\tpublic create(connection: Connection.ConnectionLike): DatabaseContext {\n\t\tconst client = new Client(connection, this.schemaName, { module: 'system' })\n\t\treturn createDatabaseContext(client, this.providers)\n\t}\n}\n\nconst createDatabaseContext = <ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike>(\n\tclient: Client<ConnectionType>,\n\tproviders: UuidProvider,\n): DatabaseContext<ConnectionType> => ({\n\tclient,\n\tqueryHandler: client.createQueryHandler(),\n\ttransaction: cb =>\n\t\tclient.transaction(async client => {\n\t\t\tawait client.query(Connection.REPEATABLE_READ)\n\t\t\treturn cb(createDatabaseContext(client, providers))\n\t\t}),\n\tscope: cb =>\n\t\tclient.scope(client => cb(createDatabaseContext(client, providers))),\n\tcommandBus: new CommandBus(client, providers),\n\tlocked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),\n})\n"],"names":["client"],"mappings":";;;;AAcO,MAAM,uBAAuB;AAAA,EACnC,YACiB,YACC,WAChB;AAFe,SAAA,aAAA;AACC,SAAA,YAAA;AAAA,EAAA;AAAA,EAGX,OAAO,YAAwD;AAC/D,UAAA,SAAS,IAAI,OAAO,YAAY,KAAK,YAAY,EAAE,QAAQ,UAAU;AACpE,WAAA,sBAAsB,QAAQ,KAAK,SAAS;AAAA,EAAA;AAErD;AAEA,MAAM,wBAAwB,CAC7B,QACA,eACsC;AAAA,EACtC;AAAA,EACA,cAAc,OAAO,mBAAmB;AAAA,EACxC,aAAa,CAAA,OACZ,OAAO,YAAY,OAAMA,YAAU;AAC5BA,UAAAA,QAAO,MAAM,WAAW,eAAe;AAC7C,WAAO,GAAG,sBAAsBA,SAAQ,SAAS,CAAC;AAAA,EAAA,CAClD;AAAA,EACF,OAAO,CACN,OAAA,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AAAA,EACpE,YAAY,IAAI,WAAW,QAAQ,SAAS;AAAA,EAC5C,QAAQ,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AACjG;"}
1
+ {"version":3,"file":"DatabaseContext.js","sources":["../../../../../../packages/engine-system-api/src/model/database/DatabaseContext.ts"],"sourcesContent":["import { Client, Connection, DatabaseQueryable } from '@contember/database'\nimport { QueryHandler } from '@contember/queryable'\nimport { UuidProvider } from '../../utils'\nimport { CommandBus } from '../commands'\n\nexport interface DatabaseContext<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tclient: Client<ConnectionType>\n\tqueryHandler: QueryHandler<DatabaseQueryable>\n\ttransaction: <T>(cb: (db: DatabaseContext<Connection.TransactionLike>) => Promise<T> | T) => Promise<T>\n\tscope: <T>(cb: (db: DatabaseContext<ConnectionType & Connection.AcquiredConnectionLike>) => Promise<T> | T) => Promise<T>\n\tlocked: <T>(lock: number, cb: (db: DatabaseContext<Connection.ConnectionLike>) => Promise<T> | T) => Promise<T>\n\tcommandBus: CommandBus\n}\n\nexport class DatabaseContextFactory {\n\tconstructor(\n\t\tpublic readonly schemaName: string,\n\t\tprivate readonly providers: UuidProvider,\n\t) {}\n\n\tpublic create(connection: Connection.ConnectionLike): DatabaseContext {\n\t\tconst client = new Client(connection, this.schemaName, { module: 'system' })\n\t\treturn createDatabaseContext(client, this.providers)\n\t}\n}\n\nconst createDatabaseContext = <ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike>(\n\tclient: Client<ConnectionType>,\n\tproviders: UuidProvider,\n): DatabaseContext<ConnectionType> => ({\n\tclient,\n\tqueryHandler: client.createQueryHandler(),\n\ttransaction: cb =>\n\t\tclient.transaction(async client => {\n\t\t\tawait client.query(Connection.REPEATABLE_READ)\n\t\t\treturn cb(createDatabaseContext(client, providers))\n\t\t}),\n\tscope: cb => client.scope(client => cb(createDatabaseContext(client, providers))),\n\tcommandBus: new CommandBus(client, providers),\n\tlocked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),\n})\n"],"names":["client"],"mappings":";;;;AAcO,MAAM,uBAAuB;AAAA,EACnC,YACiB,YACC,WAChB;AAFe,SAAA,aAAA;AACC,SAAA,YAAA;AAAA,EACf;AAAA,EAEI,OAAO,YAAwD;AACrE,UAAM,SAAS,IAAI,OAAO,YAAY,KAAK,YAAY,EAAE,QAAQ,UAAU;AAC3E,WAAO,sBAAsB,QAAQ,KAAK,SAAS;AAAA,EACpD;AACD;AAEA,MAAM,wBAAwB,CAC7B,QACA,eACsC;AAAA,EACtC;AAAA,EACA,cAAc,OAAO,mBAAA;AAAA,EACrB,aAAa,CAAA,OACZ,OAAO,YAAY,OAAMA,YAAU;AAClC,UAAMA,QAAO,MAAM,WAAW,eAAe;AAC7C,WAAO,GAAG,sBAAsBA,SAAQ,SAAS,CAAC;AAAA,EACnD,CAAC;AAAA,EACF,OAAO,CAAA,OAAM,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AAAA,EAChF,YAAY,IAAI,WAAW,QAAQ,SAAS;AAAA,EAC5C,QAAQ,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AACjG;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutedMigration.cjs","sources":["../../../../../../packages/engine-system-api/src/model/dtos/ExecutedMigration.ts"],"sourcesContent":["import { Migration, MigrationVersionHelper } from '@contember/schema-migrations'\n\nexport class ExecutedMigration implements Migration {\n\tpublic readonly version: string\n\n\tconstructor(\n\t\tpublic readonly id: number,\n\t\tpublic readonly name: string,\n\t\tpublic readonly formatVersion: number,\n\t\tpublic readonly modifications: Migration.Modification[],\n\t\tpublic readonly executedAt: Date,\n\t\tpublic readonly checksum: string | null,\n\t\tpublic readonly type: 'schema' | 'content',\n\n\t) {\n\t\tthis.version = MigrationVersionHelper.extractVersion(name)\n\t}\n}\n"],"names":["MigrationVersionHelper"],"mappings":";;;;;;AAEO,MAAM,kBAAuC;AAAA,EAGnD,YACiB,IACA,MACA,eACA,eACA,YACA,UACA,MAEf;AARe,SAAA,KAAA;AACA,SAAA,OAAA;AACA,SAAA,gBAAA;AACA,SAAA,gBAAA;AACA,SAAA,aAAA;AACA,SAAA,WAAA;AACA,SAAA,OAAA;AATD,kBAAA,MAAA,SAAA;AAYV,SAAA,UAAUA,wCAAuB,eAAe,IAAI;AAAA,EAAA;AAE3D;;"}
1
+ {"version":3,"file":"ExecutedMigration.cjs","sources":["../../../../../../packages/engine-system-api/src/model/dtos/ExecutedMigration.ts"],"sourcesContent":["import { Migration, MigrationVersionHelper } from '@contember/schema-migrations'\n\nexport class ExecutedMigration implements Migration {\n\tpublic readonly version: string\n\n\tconstructor(\n\t\tpublic readonly id: number,\n\t\tpublic readonly name: string,\n\t\tpublic readonly formatVersion: number,\n\t\tpublic readonly modifications: Migration.Modification[],\n\t\tpublic readonly executedAt: Date,\n\t\tpublic readonly checksum: string | null,\n\t\tpublic readonly type: 'schema' | 'content',\n\t) {\n\t\tthis.version = MigrationVersionHelper.extractVersion(name)\n\t}\n}\n"],"names":["MigrationVersionHelper"],"mappings":";;;;;;AAEO,MAAM,kBAAuC;AAAA,EAGnD,YACiB,IACA,MACA,eACA,eACA,YACA,UACA,MACf;AAPe,SAAA,KAAA;AACA,SAAA,OAAA;AACA,SAAA,gBAAA;AACA,SAAA,gBAAA;AACA,SAAA,aAAA;AACA,SAAA,WAAA;AACA,SAAA,OAAA;AATjB,kBAAA,MAAgB,SAAA;AAWf,SAAK,UAAUA,wCAAuB,eAAe,IAAI;AAAA,EAC1D;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutedMigration.js","sources":["../../../../../../packages/engine-system-api/src/model/dtos/ExecutedMigration.ts"],"sourcesContent":["import { Migration, MigrationVersionHelper } from '@contember/schema-migrations'\n\nexport class ExecutedMigration implements Migration {\n\tpublic readonly version: string\n\n\tconstructor(\n\t\tpublic readonly id: number,\n\t\tpublic readonly name: string,\n\t\tpublic readonly formatVersion: number,\n\t\tpublic readonly modifications: Migration.Modification[],\n\t\tpublic readonly executedAt: Date,\n\t\tpublic readonly checksum: string | null,\n\t\tpublic readonly type: 'schema' | 'content',\n\n\t) {\n\t\tthis.version = MigrationVersionHelper.extractVersion(name)\n\t}\n}\n"],"names":[],"mappings":";;;;AAEO,MAAM,kBAAuC;AAAA,EAGnD,YACiB,IACA,MACA,eACA,eACA,YACA,UACA,MAEf;AARe,SAAA,KAAA;AACA,SAAA,OAAA;AACA,SAAA,gBAAA;AACA,SAAA,gBAAA;AACA,SAAA,aAAA;AACA,SAAA,WAAA;AACA,SAAA,OAAA;AATD,kBAAA,MAAA,SAAA;AAYV,SAAA,UAAU,uBAAuB,eAAe,IAAI;AAAA,EAAA;AAE3D;"}
1
+ {"version":3,"file":"ExecutedMigration.js","sources":["../../../../../../packages/engine-system-api/src/model/dtos/ExecutedMigration.ts"],"sourcesContent":["import { Migration, MigrationVersionHelper } from '@contember/schema-migrations'\n\nexport class ExecutedMigration implements Migration {\n\tpublic readonly version: string\n\n\tconstructor(\n\t\tpublic readonly id: number,\n\t\tpublic readonly name: string,\n\t\tpublic readonly formatVersion: number,\n\t\tpublic readonly modifications: Migration.Modification[],\n\t\tpublic readonly executedAt: Date,\n\t\tpublic readonly checksum: string | null,\n\t\tpublic readonly type: 'schema' | 'content',\n\t) {\n\t\tthis.version = MigrationVersionHelper.extractVersion(name)\n\t}\n}\n"],"names":[],"mappings":";;;;AAEO,MAAM,kBAAuC;AAAA,EAGnD,YACiB,IACA,MACA,eACA,eACA,YACA,UACA,MACf;AAPe,SAAA,KAAA;AACA,SAAA,OAAA;AACA,SAAA,gBAAA;AACA,SAAA,gBAAA;AACA,SAAA,aAAA;AACA,SAAA,WAAA;AACA,SAAA,OAAA;AATjB,kBAAA,MAAgB,SAAA;AAWf,SAAK,UAAU,uBAAuB,eAAe,IAAI;AAAA,EAC1D;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventResponseBuilder.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseBuilder.ts"],"sourcesContent":["import { ContentEvent, EventType } from './types'\nimport { CreateEvent, DeleteEvent, EventType as ApiEventType, UpdateEvent } from '../../schema'\nimport { assertNever } from '../../utils'\nimport { IdentityFetcher } from '../dependencies'\nimport { formatIdentity } from './identityUtils'\nimport { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper'\n\nexport class EventResponseBuilder {\n\tconstructor(private readonly identityFetcher: IdentityFetcher) {}\n\n\tpublic async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | UpdateEvent)[]> {\n\t\tconst apiEventTypeMapping = {\n\t\t\t[EventType.create]: ApiEventType.Create,\n\t\t\t[EventType.update]: ApiEventType.Update,\n\t\t\t[EventType.delete]: ApiEventType.Delete,\n\t\t}\n\t\tconst identityIds = events.map(it => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index)\n\t\tconst identities = await this.identityFetcher.fetchIdentities(identityIds)\n\t\tconst identitiesMap = Object.fromEntries(identities.map(it => [it.identityId, it]))\n\n\t\treturn events.map(it => {\n\t\t\tconst commonData = {\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tappliedAt: it.appliedAt,\n\t\t\t\tid: it.id,\n\t\t\t\ttype: apiEventTypeMapping[it.type],\n\t\t\t\tdescription: this.formatDescription(it),\n\t\t\t\ttransactionId: it.transactionId,\n\t\t\t\tidentityId: it.identityId,\n\t\t\t\tidentityDescription: formatIdentity(identitiesMap[it.identityId]),\n\t\t\t}\n\t\t\tswitch (it.type) {\n\t\t\t\tcase EventType.create:\n\t\t\t\t\treturn ((): CreateEvent => appendCreateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.update:\n\t\t\t\t\treturn ((): UpdateEvent => appendUpdateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.delete:\n\t\t\t\t\treturn ((): DeleteEvent => appendDeleteSpecificData(commonData, it))()\n\t\t\t}\n\t\t\tassertNever(it)\n\t\t})\n\t}\n\n\tprivate formatDescription(event: ContentEvent): string {\n\t\tswitch (event.type) {\n\t\t\tcase EventType.create:\n\t\t\t\treturn `Creating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.update:\n\t\t\t\treturn `Updating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.delete:\n\t\t\t\treturn `Deleting ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tdefault:\n\t\t\t\treturn assertNever(event)\n\t\t}\n\t}\n}\n"],"names":["EventType","ApiEventType","formatIdentity","appendCreateSpecificData","appendUpdateSpecificData","appendDeleteSpecificData","assertNever"],"mappings":";;;;;;;;;AAOO,MAAM,qBAAqB;AAAA,EACjC,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAA;AAAA,EAE7B,MAAa,cAAc,QAA8E;AACxG,UAAM,sBAAsB;AAAA,MAC3B,CAACA,MAAA,UAAU,MAAM,GAAGC,QAAAA,UAAa;AAAA,MACjC,CAACD,MAAA,UAAU,MAAM,GAAGC,QAAAA,UAAa;AAAA,MACjC,CAACD,MAAA,UAAU,MAAM,GAAGC,kBAAa;AAAA,IAClC;AACA,UAAM,cAAc,OAAO,IAAI,CAAM,OAAA,GAAG,UAAU,EAAE,OAAO,CAAC,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE,MAAM,KAAK;AACxG,UAAM,aAAa,MAAM,KAAK,gBAAgB,gBAAgB,WAAW;AACnE,UAAA,gBAAgB,OAAO,YAAY,WAAW,IAAI,CAAM,OAAA,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;AAE3E,WAAA,OAAO,IAAI,CAAM,OAAA;AACvB,YAAM,aAAa;AAAA,QAClB,WAAW,GAAG;AAAA,QACd,WAAW,GAAG;AAAA,QACd,IAAI,GAAG;AAAA,QACP,MAAM,oBAAoB,GAAG,IAAI;AAAA,QACjC,aAAa,KAAK,kBAAkB,EAAE;AAAA,QACtC,eAAe,GAAG;AAAA,QAClB,YAAY,GAAG;AAAA,QACf,qBAAqBC,cAAA,eAAe,cAAc,GAAG,UAAU,CAAC;AAAA,MACjE;AACA,cAAQ,GAAG,MAAM;AAAA,QAChB,KAAKF,MAAU,UAAA;AACd,kBAAQ,MAAmBG,oBAAAA,yBAAyB,YAAY,EAAE,GAAG;AAAA,QACtE,KAAKH,MAAU,UAAA;AACd,kBAAQ,MAAmBI,oBAAAA,yBAAyB,YAAY,EAAE,GAAG;AAAA,QACtE,KAAKJ,MAAU,UAAA;AACd,kBAAQ,MAAmBK,oBAAAA,yBAAyB,YAAY,EAAE,GAAG;AAAA,MAAA;AAEvEC,kBAAAA,YAAc;AAAA,IAAA,CACd;AAAA,EAAA;AAAA,EAGM,kBAAkB,OAA6B;AACtD,YAAQ,MAAM,MAAM;AAAA,MACnB,KAAKN,MAAU,UAAA;AACP,eAAA,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAKA,MAAU,UAAA;AACP,eAAA,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAKA,MAAU,UAAA;AACP,eAAA,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D;AACC,eAAOM,wBAAiB;AAAA,IAAA;AAAA,EAC1B;AAEF;;"}
1
+ {"version":3,"file":"EventResponseBuilder.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseBuilder.ts"],"sourcesContent":["import { ContentEvent, EventType } from './types'\nimport { CreateEvent, DeleteEvent, EventType as ApiEventType, UpdateEvent } from '../../schema'\nimport { assertNever } from '../../utils'\nimport { IdentityFetcher } from '../dependencies'\nimport { formatIdentity } from './identityUtils'\nimport { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper'\n\nexport class EventResponseBuilder {\n\tconstructor(private readonly identityFetcher: IdentityFetcher) {}\n\n\tpublic async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | UpdateEvent)[]> {\n\t\tconst apiEventTypeMapping = {\n\t\t\t[EventType.create]: ApiEventType.Create,\n\t\t\t[EventType.update]: ApiEventType.Update,\n\t\t\t[EventType.delete]: ApiEventType.Delete,\n\t\t}\n\t\tconst identityIds = events.map(it => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index)\n\t\tconst identities = await this.identityFetcher.fetchIdentities(identityIds)\n\t\tconst identitiesMap = Object.fromEntries(identities.map(it => [it.identityId, it]))\n\n\t\treturn events.map(it => {\n\t\t\tconst commonData = {\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tappliedAt: it.appliedAt,\n\t\t\t\tid: it.id,\n\t\t\t\ttype: apiEventTypeMapping[it.type],\n\t\t\t\tdescription: this.formatDescription(it),\n\t\t\t\ttransactionId: it.transactionId,\n\t\t\t\tidentityId: it.identityId,\n\t\t\t\tidentityDescription: formatIdentity(identitiesMap[it.identityId]),\n\t\t\t}\n\t\t\tswitch (it.type) {\n\t\t\t\tcase EventType.create:\n\t\t\t\t\treturn ((): CreateEvent => appendCreateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.update:\n\t\t\t\t\treturn ((): UpdateEvent => appendUpdateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.delete:\n\t\t\t\t\treturn ((): DeleteEvent => appendDeleteSpecificData(commonData, it))()\n\t\t\t}\n\t\t\tassertNever(it)\n\t\t})\n\t}\n\n\tprivate formatDescription(event: ContentEvent): string {\n\t\tswitch (event.type) {\n\t\t\tcase EventType.create:\n\t\t\t\treturn `Creating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.update:\n\t\t\t\treturn `Updating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.delete:\n\t\t\t\treturn `Deleting ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tdefault:\n\t\t\t\treturn assertNever(event)\n\t\t}\n\t}\n}\n"],"names":["EventType","ApiEventType","formatIdentity","appendCreateSpecificData","appendUpdateSpecificData","appendDeleteSpecificData","assertNever"],"mappings":";;;;;;;;;AAOO,MAAM,qBAAqB;AAAA,EACjC,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAa,cAAc,QAA8E;AACxG,UAAM,sBAAsB;AAAA,MAC3B,CAACA,MAAAA,UAAU,MAAM,GAAGC,QAAAA,UAAa;AAAA,MACjC,CAACD,MAAAA,UAAU,MAAM,GAAGC,QAAAA,UAAa;AAAA,MACjC,CAACD,MAAAA,UAAU,MAAM,GAAGC,kBAAa;AAAA,IAAA;AAElC,UAAM,cAAc,OAAO,IAAI,CAAA,OAAM,GAAG,UAAU,EAAE,OAAO,CAAC,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE,MAAM,KAAK;AACxG,UAAM,aAAa,MAAM,KAAK,gBAAgB,gBAAgB,WAAW;AACzE,UAAM,gBAAgB,OAAO,YAAY,WAAW,IAAI,CAAA,OAAM,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;AAElF,WAAO,OAAO,IAAI,CAAA,OAAM;AACvB,YAAM,aAAa;AAAA,QAClB,WAAW,GAAG;AAAA,QACd,WAAW,GAAG;AAAA,QACd,IAAI,GAAG;AAAA,QACP,MAAM,oBAAoB,GAAG,IAAI;AAAA,QACjC,aAAa,KAAK,kBAAkB,EAAE;AAAA,QACtC,eAAe,GAAG;AAAA,QAClB,YAAY,GAAG;AAAA,QACf,qBAAqBC,cAAAA,eAAe,cAAc,GAAG,UAAU,CAAC;AAAA,MAAA;AAEjE,cAAQ,GAAG,MAAA;AAAA,QACV,KAAKF,MAAAA,UAAU;AACd,kBAAQ,MAAmBG,oBAAAA,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAKH,MAAAA,UAAU;AACd,kBAAQ,MAAmBI,oBAAAA,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAKJ,MAAAA,UAAU;AACd,kBAAQ,MAAmBK,oBAAAA,yBAAyB,YAAY,EAAE,GAAA;AAAA,MAAG;AAEvEC,kBAAAA,YAAc;AAAA,IACf,CAAC;AAAA,EACF;AAAA,EAEQ,kBAAkB,OAA6B;AACtD,YAAQ,MAAM,MAAA;AAAA,MACb,KAAKN,MAAAA,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAKA,MAAAA,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAKA,MAAAA,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D;AACC,eAAOM,YAAAA,YAAiB;AAAA,IAAA;AAAA,EAE3B;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventResponseBuilder.js","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseBuilder.ts"],"sourcesContent":["import { ContentEvent, EventType } from './types'\nimport { CreateEvent, DeleteEvent, EventType as ApiEventType, UpdateEvent } from '../../schema'\nimport { assertNever } from '../../utils'\nimport { IdentityFetcher } from '../dependencies'\nimport { formatIdentity } from './identityUtils'\nimport { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper'\n\nexport class EventResponseBuilder {\n\tconstructor(private readonly identityFetcher: IdentityFetcher) {}\n\n\tpublic async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | UpdateEvent)[]> {\n\t\tconst apiEventTypeMapping = {\n\t\t\t[EventType.create]: ApiEventType.Create,\n\t\t\t[EventType.update]: ApiEventType.Update,\n\t\t\t[EventType.delete]: ApiEventType.Delete,\n\t\t}\n\t\tconst identityIds = events.map(it => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index)\n\t\tconst identities = await this.identityFetcher.fetchIdentities(identityIds)\n\t\tconst identitiesMap = Object.fromEntries(identities.map(it => [it.identityId, it]))\n\n\t\treturn events.map(it => {\n\t\t\tconst commonData = {\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tappliedAt: it.appliedAt,\n\t\t\t\tid: it.id,\n\t\t\t\ttype: apiEventTypeMapping[it.type],\n\t\t\t\tdescription: this.formatDescription(it),\n\t\t\t\ttransactionId: it.transactionId,\n\t\t\t\tidentityId: it.identityId,\n\t\t\t\tidentityDescription: formatIdentity(identitiesMap[it.identityId]),\n\t\t\t}\n\t\t\tswitch (it.type) {\n\t\t\t\tcase EventType.create:\n\t\t\t\t\treturn ((): CreateEvent => appendCreateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.update:\n\t\t\t\t\treturn ((): UpdateEvent => appendUpdateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.delete:\n\t\t\t\t\treturn ((): DeleteEvent => appendDeleteSpecificData(commonData, it))()\n\t\t\t}\n\t\t\tassertNever(it)\n\t\t})\n\t}\n\n\tprivate formatDescription(event: ContentEvent): string {\n\t\tswitch (event.type) {\n\t\t\tcase EventType.create:\n\t\t\t\treturn `Creating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.update:\n\t\t\t\treturn `Updating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.delete:\n\t\t\t\treturn `Deleting ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tdefault:\n\t\t\t\treturn assertNever(event)\n\t\t}\n\t}\n}\n"],"names":["ApiEventType"],"mappings":";;;;;;;AAOO,MAAM,qBAAqB;AAAA,EACjC,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAA;AAAA,EAE7B,MAAa,cAAc,QAA8E;AACxG,UAAM,sBAAsB;AAAA,MAC3B,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,MACjC,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,MACjC,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,IAClC;AACA,UAAM,cAAc,OAAO,IAAI,CAAM,OAAA,GAAG,UAAU,EAAE,OAAO,CAAC,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE,MAAM,KAAK;AACxG,UAAM,aAAa,MAAM,KAAK,gBAAgB,gBAAgB,WAAW;AACnE,UAAA,gBAAgB,OAAO,YAAY,WAAW,IAAI,CAAM,OAAA,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;AAE3E,WAAA,OAAO,IAAI,CAAM,OAAA;AACvB,YAAM,aAAa;AAAA,QAClB,WAAW,GAAG;AAAA,QACd,WAAW,GAAG;AAAA,QACd,IAAI,GAAG;AAAA,QACP,MAAM,oBAAoB,GAAG,IAAI;AAAA,QACjC,aAAa,KAAK,kBAAkB,EAAE;AAAA,QACtC,eAAe,GAAG;AAAA,QAClB,YAAY,GAAG;AAAA,QACf,qBAAqB,eAAe,cAAc,GAAG,UAAU,CAAC;AAAA,MACjE;AACA,cAAQ,GAAG,MAAM;AAAA,QAChB,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAG;AAAA,QACtE,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAG;AAAA,QACtE,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAG;AAAA,MAAA;AAEvE,kBAAc;AAAA,IAAA,CACd;AAAA,EAAA;AAAA,EAGM,kBAAkB,OAA6B;AACtD,YAAQ,MAAM,MAAM;AAAA,MACnB,KAAK,UAAU;AACP,eAAA,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAK,UAAU;AACP,eAAA,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAK,UAAU;AACP,eAAA,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D;AACC,eAAO,YAAiB;AAAA,IAAA;AAAA,EAC1B;AAEF;"}
1
+ {"version":3,"file":"EventResponseBuilder.js","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseBuilder.ts"],"sourcesContent":["import { ContentEvent, EventType } from './types'\nimport { CreateEvent, DeleteEvent, EventType as ApiEventType, UpdateEvent } from '../../schema'\nimport { assertNever } from '../../utils'\nimport { IdentityFetcher } from '../dependencies'\nimport { formatIdentity } from './identityUtils'\nimport { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper'\n\nexport class EventResponseBuilder {\n\tconstructor(private readonly identityFetcher: IdentityFetcher) {}\n\n\tpublic async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | UpdateEvent)[]> {\n\t\tconst apiEventTypeMapping = {\n\t\t\t[EventType.create]: ApiEventType.Create,\n\t\t\t[EventType.update]: ApiEventType.Update,\n\t\t\t[EventType.delete]: ApiEventType.Delete,\n\t\t}\n\t\tconst identityIds = events.map(it => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index)\n\t\tconst identities = await this.identityFetcher.fetchIdentities(identityIds)\n\t\tconst identitiesMap = Object.fromEntries(identities.map(it => [it.identityId, it]))\n\n\t\treturn events.map(it => {\n\t\t\tconst commonData = {\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tappliedAt: it.appliedAt,\n\t\t\t\tid: it.id,\n\t\t\t\ttype: apiEventTypeMapping[it.type],\n\t\t\t\tdescription: this.formatDescription(it),\n\t\t\t\ttransactionId: it.transactionId,\n\t\t\t\tidentityId: it.identityId,\n\t\t\t\tidentityDescription: formatIdentity(identitiesMap[it.identityId]),\n\t\t\t}\n\t\t\tswitch (it.type) {\n\t\t\t\tcase EventType.create:\n\t\t\t\t\treturn ((): CreateEvent => appendCreateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.update:\n\t\t\t\t\treturn ((): UpdateEvent => appendUpdateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.delete:\n\t\t\t\t\treturn ((): DeleteEvent => appendDeleteSpecificData(commonData, it))()\n\t\t\t}\n\t\t\tassertNever(it)\n\t\t})\n\t}\n\n\tprivate formatDescription(event: ContentEvent): string {\n\t\tswitch (event.type) {\n\t\t\tcase EventType.create:\n\t\t\t\treturn `Creating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.update:\n\t\t\t\treturn `Updating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.delete:\n\t\t\t\treturn `Deleting ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tdefault:\n\t\t\t\treturn assertNever(event)\n\t\t}\n\t}\n}\n"],"names":["ApiEventType"],"mappings":";;;;;;;AAOO,MAAM,qBAAqB;AAAA,EACjC,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAa,cAAc,QAA8E;AACxG,UAAM,sBAAsB;AAAA,MAC3B,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,MACjC,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,MACjC,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,IAAA;AAElC,UAAM,cAAc,OAAO,IAAI,CAAA,OAAM,GAAG,UAAU,EAAE,OAAO,CAAC,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE,MAAM,KAAK;AACxG,UAAM,aAAa,MAAM,KAAK,gBAAgB,gBAAgB,WAAW;AACzE,UAAM,gBAAgB,OAAO,YAAY,WAAW,IAAI,CAAA,OAAM,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;AAElF,WAAO,OAAO,IAAI,CAAA,OAAM;AACvB,YAAM,aAAa;AAAA,QAClB,WAAW,GAAG;AAAA,QACd,WAAW,GAAG;AAAA,QACd,IAAI,GAAG;AAAA,QACP,MAAM,oBAAoB,GAAG,IAAI;AAAA,QACjC,aAAa,KAAK,kBAAkB,EAAE;AAAA,QACtC,eAAe,GAAG;AAAA,QAClB,YAAY,GAAG;AAAA,QACf,qBAAqB,eAAe,cAAc,GAAG,UAAU,CAAC;AAAA,MAAA;AAEjE,cAAQ,GAAG,MAAA;AAAA,QACV,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAA;AAAA,MAAG;AAEvE,kBAAc;AAAA,IACf,CAAC;AAAA,EACF;AAAA,EAEQ,kBAAkB,OAA6B;AACtD,YAAQ,MAAM,MAAA;AAAA,MACb,KAAK,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAK,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAK,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D;AACC,eAAO,YAAiB;AAAA,IAAA;AAAA,EAE3B;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventResponseHelper.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseHelper.ts"],"sourcesContent":["import { CreateEvent, DeleteEvent, UpdateEvent } from './types'\n\nexport const appendUpdateSpecificData = <T>(commonData: T, event: UpdateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tdiffValues: event.values,\n\toldValues: {},\n})\n\nexport const appendCreateSpecificData = <T>(commonData: T, event: CreateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tnewValues: event.values,\n})\n\nexport const appendDeleteSpecificData = <T>(commonData: T, event: DeleteEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\toldValues: {},\n})\n"],"names":[],"mappings":";;AAEa,MAAA,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;AAEa,MAAA,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,MAAM;AAClB;AAEa,MAAA,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;;;;"}
1
+ {"version":3,"file":"EventResponseHelper.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseHelper.ts"],"sourcesContent":["import { CreateEvent, DeleteEvent, UpdateEvent } from './types'\n\nexport const appendUpdateSpecificData = <T>(commonData: T, event: UpdateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tdiffValues: event.values,\n\toldValues: {},\n})\n\nexport const appendCreateSpecificData = <T>(commonData: T, event: CreateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tnewValues: event.values,\n})\n\nexport const appendDeleteSpecificData = <T>(commonData: T, event: DeleteEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\toldValues: {},\n})\n"],"names":[],"mappings":";;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,MAAM;AAClB;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventResponseHelper.js","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseHelper.ts"],"sourcesContent":["import { CreateEvent, DeleteEvent, UpdateEvent } from './types'\n\nexport const appendUpdateSpecificData = <T>(commonData: T, event: UpdateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tdiffValues: event.values,\n\toldValues: {},\n})\n\nexport const appendCreateSpecificData = <T>(commonData: T, event: CreateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tnewValues: event.values,\n})\n\nexport const appendDeleteSpecificData = <T>(commonData: T, event: DeleteEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\toldValues: {},\n})\n"],"names":[],"mappings":"AAEa,MAAA,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;AAEa,MAAA,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,MAAM;AAClB;AAEa,MAAA,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;"}
1
+ {"version":3,"file":"EventResponseHelper.js","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseHelper.ts"],"sourcesContent":["import { CreateEvent, DeleteEvent, UpdateEvent } from './types'\n\nexport const appendUpdateSpecificData = <T>(commonData: T, event: UpdateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tdiffValues: event.values,\n\toldValues: {},\n})\n\nexport const appendCreateSpecificData = <T>(commonData: T, event: CreateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tnewValues: event.values,\n})\n\nexport const appendDeleteSpecificData = <T>(commonData: T, event: DeleteEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\toldValues: {},\n})\n"],"names":[],"mappings":"AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,MAAM;AAClB;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"identityUtils.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/identityUtils.ts"],"sourcesContent":["import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher'\nimport { assertNever } from '../../utils'\n\nexport const formatIdentity = (identity: TenantIdentity): string => {\n\tif (!identity) {\n\t\treturn '(unknown)'\n\t}\n\tif (identity.type === 'person') {\n\t\treturn identity.person.name\n\t} else if (identity.type === 'apiKey') {\n\t\treturn `API key (${identity.description})`\n\t}\n\tassertNever(identity)\n}\n"],"names":["assertNever"],"mappings":";;;AAGa,MAAA,iBAAiB,CAAC,aAAqC;AACnE,MAAI,CAAC,UAAU;AACP,WAAA;AAAA,EAAA;AAEJ,MAAA,SAAS,SAAS,UAAU;AAC/B,WAAO,SAAS,OAAO;AAAA,EAAA,WACb,SAAS,SAAS,UAAU;AAC/B,WAAA,YAAY,SAAS,WAAW;AAAA,EAAA;AAExCA,cAAAA,YAAoB;AACrB;;"}
1
+ {"version":3,"file":"identityUtils.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/identityUtils.ts"],"sourcesContent":["import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher'\nimport { assertNever } from '../../utils'\n\nexport const formatIdentity = (identity: TenantIdentity): string => {\n\tif (!identity) {\n\t\treturn '(unknown)'\n\t}\n\tif (identity.type === 'person') {\n\t\treturn identity.person.name\n\t} else if (identity.type === 'apiKey') {\n\t\treturn `API key (${identity.description})`\n\t}\n\tassertNever(identity)\n}\n"],"names":["assertNever"],"mappings":";;;AAGO,MAAM,iBAAiB,CAAC,aAAqC;AACnE,MAAI,CAAC,UAAU;AACd,WAAO;AAAA,EACR;AACA,MAAI,SAAS,SAAS,UAAU;AAC/B,WAAO,SAAS,OAAO;AAAA,EACxB,WAAW,SAAS,SAAS,UAAU;AACtC,WAAO,YAAY,SAAS,WAAW;AAAA,EACxC;AACAA,cAAAA,YAAoB;AACrB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"identityUtils.js","sources":["../../../../../../packages/engine-system-api/src/model/events/identityUtils.ts"],"sourcesContent":["import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher'\nimport { assertNever } from '../../utils'\n\nexport const formatIdentity = (identity: TenantIdentity): string => {\n\tif (!identity) {\n\t\treturn '(unknown)'\n\t}\n\tif (identity.type === 'person') {\n\t\treturn identity.person.name\n\t} else if (identity.type === 'apiKey') {\n\t\treturn `API key (${identity.description})`\n\t}\n\tassertNever(identity)\n}\n"],"names":[],"mappings":";AAGa,MAAA,iBAAiB,CAAC,aAAqC;AACnE,MAAI,CAAC,UAAU;AACP,WAAA;AAAA,EAAA;AAEJ,MAAA,SAAS,SAAS,UAAU;AAC/B,WAAO,SAAS,OAAO;AAAA,EAAA,WACb,SAAS,SAAS,UAAU;AAC/B,WAAA,YAAY,SAAS,WAAW;AAAA,EAAA;AAExC,cAAoB;AACrB;"}
1
+ {"version":3,"file":"identityUtils.js","sources":["../../../../../../packages/engine-system-api/src/model/events/identityUtils.ts"],"sourcesContent":["import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher'\nimport { assertNever } from '../../utils'\n\nexport const formatIdentity = (identity: TenantIdentity): string => {\n\tif (!identity) {\n\t\treturn '(unknown)'\n\t}\n\tif (identity.type === 'person') {\n\t\treturn identity.person.name\n\t} else if (identity.type === 'apiKey') {\n\t\treturn `API key (${identity.description})`\n\t}\n\tassertNever(identity)\n}\n"],"names":[],"mappings":";AAGO,MAAM,iBAAiB,CAAC,aAAqC;AACnE,MAAI,CAAC,UAAU;AACd,WAAO;AAAA,EACR;AACA,MAAI,SAAS,SAAS,UAAU;AAC/B,WAAO,SAAS,OAAO;AAAA,EACxB,WAAW,SAAS,SAAS,UAAU;AACtC,WAAO,YAAY,SAAS,WAAW;AAAA,EACxC;AACA,cAAoB;AACrB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/types.ts"],"sourcesContent":["export enum EventType {\n\tdelete = 'delete',\n\tupdate = 'update',\n\tcreate = 'create',\n}\n\nexport type ContentEvent = UpdateEvent | CreateEvent | DeleteEvent\n\nexport interface Event {\n\treadonly type: EventType\n\treadonly id: string\n\treadonly createdAt: Date\n\treadonly transactionId: string\n\t// readonly errors?: string[]\n}\n\nexport class UpdateEvent implements Event {\n\tpublic readonly type = EventType.update\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t\tpublic readonly values: { [column: string]: any },\n\t) {\n\t}\n}\n\nexport class CreateEvent implements Event {\n\tpublic readonly type = EventType.create\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t\tpublic readonly values: { [column: string]: any },\n\t) {\n\t}\n}\n\nexport class DeleteEvent implements Event {\n\tpublic readonly type = EventType.delete\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t) {\n\t}\n}\n\n"],"names":["EventType"],"mappings":";;;;;AAAY,IAAA,8BAAAA,eAAL;AACNA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AAHEA,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAgBL,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACA,QACf;AARe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AACA,SAAA,SAAA;AAVjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAAA;AAaxB;AAEO,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACA,QACf;AARe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AACA,SAAA,SAAA;AAVjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAAA;AAaxB;AAEO,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACf;AAPe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AATjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAAA;AAYxB;;;;;"}
1
+ {"version":3,"file":"types.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/types.ts"],"sourcesContent":["export enum EventType {\n\tdelete = 'delete',\n\tupdate = 'update',\n\tcreate = 'create',\n}\n\nexport type ContentEvent = UpdateEvent | CreateEvent | DeleteEvent\n\nexport interface Event {\n\treadonly type: EventType\n\treadonly id: string\n\treadonly createdAt: Date\n\treadonly transactionId: string\n\t// readonly errors?: string[]\n}\n\nexport class UpdateEvent implements Event {\n\tpublic readonly type = EventType.update\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t\tpublic readonly values: { [column: string]: any },\n\t) {\n\t}\n}\n\nexport class CreateEvent implements Event {\n\tpublic readonly type = EventType.create\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t\tpublic readonly values: { [column: string]: any },\n\t) {\n\t}\n}\n\nexport class DeleteEvent implements Event {\n\tpublic readonly type = EventType.delete\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t) {\n\t}\n}\n"],"names":["EventType"],"mappings":";;;;;AAAO,IAAK,8BAAAA,eAAL;AACNA,aAAA,QAAA,IAAS;AACTA,aAAA,QAAA,IAAS;AACTA,aAAA,QAAA,IAAS;AAHE,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAgBL,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACA,QACf;AARe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AACA,SAAA,SAAA;AAVjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAYvB;AACD;AAEO,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACA,QACf;AARe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AACA,SAAA,SAAA;AAVjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAYvB;AACD;AAEO,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACf;AAPe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AATjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAWvB;AACD;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../../packages/engine-system-api/src/model/events/types.ts"],"sourcesContent":["export enum EventType {\n\tdelete = 'delete',\n\tupdate = 'update',\n\tcreate = 'create',\n}\n\nexport type ContentEvent = UpdateEvent | CreateEvent | DeleteEvent\n\nexport interface Event {\n\treadonly type: EventType\n\treadonly id: string\n\treadonly createdAt: Date\n\treadonly transactionId: string\n\t// readonly errors?: string[]\n}\n\nexport class UpdateEvent implements Event {\n\tpublic readonly type = EventType.update\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t\tpublic readonly values: { [column: string]: any },\n\t) {\n\t}\n}\n\nexport class CreateEvent implements Event {\n\tpublic readonly type = EventType.create\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t\tpublic readonly values: { [column: string]: any },\n\t) {\n\t}\n}\n\nexport class DeleteEvent implements Event {\n\tpublic readonly type = EventType.delete\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t) {\n\t}\n}\n\n"],"names":["EventType"],"mappings":";;;AAAY,IAAA,8BAAAA,eAAL;AACNA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AAHEA,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAgBL,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACA,QACf;AARe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AACA,SAAA,SAAA;AAVjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAAA;AAaxB;AAEO,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACA,QACf;AARe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AACA,SAAA,SAAA;AAVjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAAA;AAaxB;AAEO,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACf;AAPe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AATjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAAA;AAYxB;"}
1
+ {"version":3,"file":"types.js","sources":["../../../../../../packages/engine-system-api/src/model/events/types.ts"],"sourcesContent":["export enum EventType {\n\tdelete = 'delete',\n\tupdate = 'update',\n\tcreate = 'create',\n}\n\nexport type ContentEvent = UpdateEvent | CreateEvent | DeleteEvent\n\nexport interface Event {\n\treadonly type: EventType\n\treadonly id: string\n\treadonly createdAt: Date\n\treadonly transactionId: string\n\t// readonly errors?: string[]\n}\n\nexport class UpdateEvent implements Event {\n\tpublic readonly type = EventType.update\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t\tpublic readonly values: { [column: string]: any },\n\t) {\n\t}\n}\n\nexport class CreateEvent implements Event {\n\tpublic readonly type = EventType.create\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t\tpublic readonly values: { [column: string]: any },\n\t) {\n\t}\n}\n\nexport class DeleteEvent implements Event {\n\tpublic readonly type = EventType.delete\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t) {\n\t}\n}\n"],"names":["EventType"],"mappings":";;;AAAO,IAAK,8BAAAA,eAAL;AACNA,aAAA,QAAA,IAAS;AACTA,aAAA,QAAA,IAAS;AACTA,aAAA,QAAA,IAAS;AAHE,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAgBL,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACA,QACf;AARe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AACA,SAAA,SAAA;AAVjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAYvB;AACD;AAEO,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACA,QACf;AARe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AACA,SAAA,SAAA;AAVjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAYvB;AACD;AAEO,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACf;AAPe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AATjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAWvB;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"modelHelpers.cjs","sources":["../../../../../../packages/engine-system-api/src/model/helpers/modelHelpers.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { acceptEveryFieldVisitor } from '@contember/schema-utils'\n\nexport const getJunctionTables = (model: Model.Schema): Model.JoiningTable[] => {\n\tconst tables: Model.JoiningTable[] = []\n\tObject.values(model.entities).forEach(entity => {\n\t\tacceptEveryFieldVisitor(model, entity, {\n\t\t\tvisitManyHasManyOwning: ({ relation }) => {\n\t\t\t\ttables.push(relation.joiningTable)\n\t\t\t},\n\t\t\tvisitColumn: () => {},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t\tvisitOneHasMany: () => {},\n\t\t\tvisitManyHasOne: () => {},\n\t\t\tvisitOneHasOneOwning: () => {},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t})\n\t})\n\treturn tables\n}\n"],"names":["acceptEveryFieldVisitor"],"mappings":";;;AAGa,MAAA,oBAAoB,CAAC,UAA8C;AAC/E,QAAM,SAA+B,CAAC;AACtC,SAAO,OAAO,MAAM,QAAQ,EAAE,QAAQ,CAAU,WAAA;AAC/CA,gBAAA,wBAAwB,OAAO,QAAQ;AAAA,MACtC,wBAAwB,CAAC,EAAE,eAAe;AAClC,eAAA,KAAK,SAAS,YAAY;AAAA,MAClC;AAAA,MACA,aAAa,MAAM;AAAA,MAAC;AAAA,MACpB,yBAAyB,MAAM;AAAA,MAAC;AAAA,MAChC,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,sBAAsB,MAAM;AAAA,MAAC;AAAA,MAC7B,uBAAuB,MAAM;AAAA,MAAA;AAAA,IAAC,CAC9B;AAAA,EAAA,CACD;AACM,SAAA;AACR;;"}
1
+ {"version":3,"file":"modelHelpers.cjs","sources":["../../../../../../packages/engine-system-api/src/model/helpers/modelHelpers.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { acceptEveryFieldVisitor } from '@contember/schema-utils'\n\nexport const getJunctionTables = (model: Model.Schema): Model.JoiningTable[] => {\n\tconst tables: Model.JoiningTable[] = []\n\tObject.values(model.entities).forEach(entity => {\n\t\tacceptEveryFieldVisitor(model, entity, {\n\t\t\tvisitManyHasManyOwning: ({ relation }) => {\n\t\t\t\ttables.push(relation.joiningTable)\n\t\t\t},\n\t\t\tvisitColumn: () => {},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t\tvisitOneHasMany: () => {},\n\t\t\tvisitManyHasOne: () => {},\n\t\t\tvisitOneHasOneOwning: () => {},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t})\n\t})\n\treturn tables\n}\n"],"names":["acceptEveryFieldVisitor"],"mappings":";;;AAGO,MAAM,oBAAoB,CAAC,UAA8C;AAC/E,QAAM,SAA+B,CAAA;AACrC,SAAO,OAAO,MAAM,QAAQ,EAAE,QAAQ,CAAA,WAAU;AAC/CA,gBAAAA,wBAAwB,OAAO,QAAQ;AAAA,MACtC,wBAAwB,CAAC,EAAE,eAAe;AACzC,eAAO,KAAK,SAAS,YAAY;AAAA,MAClC;AAAA,MACA,aAAa,MAAM;AAAA,MAAC;AAAA,MACpB,yBAAyB,MAAM;AAAA,MAAC;AAAA,MAChC,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,sBAAsB,MAAM;AAAA,MAAC;AAAA,MAC7B,uBAAuB,MAAM;AAAA,MAAC;AAAA,IAAA,CAC9B;AAAA,EACF,CAAC;AACD,SAAO;AACR;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"modelHelpers.js","sources":["../../../../../../packages/engine-system-api/src/model/helpers/modelHelpers.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { acceptEveryFieldVisitor } from '@contember/schema-utils'\n\nexport const getJunctionTables = (model: Model.Schema): Model.JoiningTable[] => {\n\tconst tables: Model.JoiningTable[] = []\n\tObject.values(model.entities).forEach(entity => {\n\t\tacceptEveryFieldVisitor(model, entity, {\n\t\t\tvisitManyHasManyOwning: ({ relation }) => {\n\t\t\t\ttables.push(relation.joiningTable)\n\t\t\t},\n\t\t\tvisitColumn: () => {},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t\tvisitOneHasMany: () => {},\n\t\t\tvisitManyHasOne: () => {},\n\t\t\tvisitOneHasOneOwning: () => {},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t})\n\t})\n\treturn tables\n}\n"],"names":[],"mappings":";AAGa,MAAA,oBAAoB,CAAC,UAA8C;AAC/E,QAAM,SAA+B,CAAC;AACtC,SAAO,OAAO,MAAM,QAAQ,EAAE,QAAQ,CAAU,WAAA;AAC/C,4BAAwB,OAAO,QAAQ;AAAA,MACtC,wBAAwB,CAAC,EAAE,eAAe;AAClC,eAAA,KAAK,SAAS,YAAY;AAAA,MAClC;AAAA,MACA,aAAa,MAAM;AAAA,MAAC;AAAA,MACpB,yBAAyB,MAAM;AAAA,MAAC;AAAA,MAChC,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,sBAAsB,MAAM;AAAA,MAAC;AAAA,MAC7B,uBAAuB,MAAM;AAAA,MAAA;AAAA,IAAC,CAC9B;AAAA,EAAA,CACD;AACM,SAAA;AACR;"}
1
+ {"version":3,"file":"modelHelpers.js","sources":["../../../../../../packages/engine-system-api/src/model/helpers/modelHelpers.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { acceptEveryFieldVisitor } from '@contember/schema-utils'\n\nexport const getJunctionTables = (model: Model.Schema): Model.JoiningTable[] => {\n\tconst tables: Model.JoiningTable[] = []\n\tObject.values(model.entities).forEach(entity => {\n\t\tacceptEveryFieldVisitor(model, entity, {\n\t\t\tvisitManyHasManyOwning: ({ relation }) => {\n\t\t\t\ttables.push(relation.joiningTable)\n\t\t\t},\n\t\t\tvisitColumn: () => {},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t\tvisitOneHasMany: () => {},\n\t\t\tvisitManyHasOne: () => {},\n\t\t\tvisitOneHasOneOwning: () => {},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t})\n\t})\n\treturn tables\n}\n"],"names":[],"mappings":";AAGO,MAAM,oBAAoB,CAAC,UAA8C;AAC/E,QAAM,SAA+B,CAAA;AACrC,SAAO,OAAO,MAAM,QAAQ,EAAE,QAAQ,CAAA,WAAU;AAC/C,4BAAwB,OAAO,QAAQ;AAAA,MACtC,wBAAwB,CAAC,EAAE,eAAe;AACzC,eAAO,KAAK,SAAS,YAAY;AAAA,MAClC;AAAA,MACA,aAAa,MAAM;AAAA,MAAC;AAAA,MACpB,yBAAyB,MAAM;AAAA,MAAC;AAAA,MAChC,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,sBAAsB,MAAM;AAAA,MAAC;AAAA,MAC7B,uBAAuB,MAAM;AAAA,MAAC;AAAA,IAAA,CAC9B;AAAA,EACF,CAAC;AACD,SAAO;AACR;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaDatabaseMetadataResolverStore.cjs","sources":["../../../../../../packages/engine-system-api/src/model/metadata/SchemaDatabaseMetadataResolverStore.ts"],"sourcesContent":["import { DatabaseContext } from '../database'\nimport { DatabaseMetadata, DatabaseMetadataResolver } from '@contember/database'\n\nexport class SchemaDatabaseMetadataResolverStore {\n\n\tprivate cache: Map<string, DatabaseMetadata> = new Map()\n\n\tconstructor(\n\t\tprivate resolver: DatabaseMetadataResolver,\n\t\tprivate db: DatabaseContext,\n\t) {\n\t}\n\n\tpublic async getMetadata(schema: string): Promise<DatabaseMetadata> {\n\t\tconst cached = this.cache.get(schema)\n\t\tif (cached) {\n\t\t\treturn cached\n\t\t}\n\n\t\tconst newValue = await this.resolver.resolveMetadata(this.db.client, schema)\n\t\tthis.cache.set(schema, newValue)\n\t\treturn newValue\n\t}\n\n\tpublic invalidate(schema: string): void {\n\t\tthis.cache.delete(schema)\n\t}\n}\n\n\nexport class MigrationsDatabaseMetadataResolverStoreFactory {\n\tconstructor(\n\t\tprivate resolver: DatabaseMetadataResolver,\n\t) {\n\t}\n\n\tpublic create(db: DatabaseContext) {\n\t\treturn new SchemaDatabaseMetadataResolverStore(this.resolver, db)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAGO,MAAM,oCAAoC;AAAA,EAIhD,YACS,UACA,IACP;AAFO,SAAA,WAAA;AACA,SAAA,KAAA;AAJD,kBAAA,MAAA,6BAA2C,IAAI,CAAA;AAAA,EAAA;AAAA,EAQvD,MAAa,YAAY,QAA2C;AACnE,UAAM,SAAS,KAAK,MAAM,IAAI,MAAM;AACpC,QAAI,QAAQ;AACJ,aAAA;AAAA,IAAA;AAGF,UAAA,WAAW,MAAM,KAAK,SAAS,gBAAgB,KAAK,GAAG,QAAQ,MAAM;AACtE,SAAA,MAAM,IAAI,QAAQ,QAAQ;AACxB,WAAA;AAAA,EAAA;AAAA,EAGD,WAAW,QAAsB;AAClC,SAAA,MAAM,OAAO,MAAM;AAAA,EAAA;AAE1B;AAGO,MAAM,+CAA+C;AAAA,EAC3D,YACS,UACP;AADO,SAAA,WAAA;AAAA,EAAA;AAAA,EAIF,OAAO,IAAqB;AAClC,WAAO,IAAI,oCAAoC,KAAK,UAAU,EAAE;AAAA,EAAA;AAElE;;;"}
1
+ {"version":3,"file":"SchemaDatabaseMetadataResolverStore.cjs","sources":["../../../../../../packages/engine-system-api/src/model/metadata/SchemaDatabaseMetadataResolverStore.ts"],"sourcesContent":["import { DatabaseContext } from '../database'\nimport { DatabaseMetadata, DatabaseMetadataResolver } from '@contember/database'\n\nexport class SchemaDatabaseMetadataResolverStore {\n\tprivate cache: Map<string, DatabaseMetadata> = new Map()\n\n\tconstructor(\n\t\tprivate resolver: DatabaseMetadataResolver,\n\t\tprivate db: DatabaseContext,\n\t) {\n\t}\n\n\tpublic async getMetadata(schema: string): Promise<DatabaseMetadata> {\n\t\tconst cached = this.cache.get(schema)\n\t\tif (cached) {\n\t\t\treturn cached\n\t\t}\n\n\t\tconst newValue = await this.resolver.resolveMetadata(this.db.client, schema)\n\t\tthis.cache.set(schema, newValue)\n\t\treturn newValue\n\t}\n\n\tpublic invalidate(schema: string): void {\n\t\tthis.cache.delete(schema)\n\t}\n}\n\nexport class MigrationsDatabaseMetadataResolverStoreFactory {\n\tconstructor(\n\t\tprivate resolver: DatabaseMetadataResolver,\n\t) {\n\t}\n\n\tpublic create(db: DatabaseContext) {\n\t\treturn new SchemaDatabaseMetadataResolverStore(this.resolver, db)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAGO,MAAM,oCAAoC;AAAA,EAGhD,YACS,UACA,IACP;AAFO,SAAA,WAAA;AACA,SAAA,KAAA;AAJT,kBAAA,MAAQ,6BAA2C,IAAA,CAAI;AAAA,EAMvD;AAAA,EAEA,MAAa,YAAY,QAA2C;AACnE,UAAM,SAAS,KAAK,MAAM,IAAI,MAAM;AACpC,QAAI,QAAQ;AACX,aAAO;AAAA,IACR;AAEA,UAAM,WAAW,MAAM,KAAK,SAAS,gBAAgB,KAAK,GAAG,QAAQ,MAAM;AAC3E,SAAK,MAAM,IAAI,QAAQ,QAAQ;AAC/B,WAAO;AAAA,EACR;AAAA,EAEO,WAAW,QAAsB;AACvC,SAAK,MAAM,OAAO,MAAM;AAAA,EACzB;AACD;AAEO,MAAM,+CAA+C;AAAA,EAC3D,YACS,UACP;AADO,SAAA,WAAA;AAAA,EAET;AAAA,EAEO,OAAO,IAAqB;AAClC,WAAO,IAAI,oCAAoC,KAAK,UAAU,EAAE;AAAA,EACjE;AACD;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaDatabaseMetadataResolverStore.js","sources":["../../../../../../packages/engine-system-api/src/model/metadata/SchemaDatabaseMetadataResolverStore.ts"],"sourcesContent":["import { DatabaseContext } from '../database'\nimport { DatabaseMetadata, DatabaseMetadataResolver } from '@contember/database'\n\nexport class SchemaDatabaseMetadataResolverStore {\n\n\tprivate cache: Map<string, DatabaseMetadata> = new Map()\n\n\tconstructor(\n\t\tprivate resolver: DatabaseMetadataResolver,\n\t\tprivate db: DatabaseContext,\n\t) {\n\t}\n\n\tpublic async getMetadata(schema: string): Promise<DatabaseMetadata> {\n\t\tconst cached = this.cache.get(schema)\n\t\tif (cached) {\n\t\t\treturn cached\n\t\t}\n\n\t\tconst newValue = await this.resolver.resolveMetadata(this.db.client, schema)\n\t\tthis.cache.set(schema, newValue)\n\t\treturn newValue\n\t}\n\n\tpublic invalidate(schema: string): void {\n\t\tthis.cache.delete(schema)\n\t}\n}\n\n\nexport class MigrationsDatabaseMetadataResolverStoreFactory {\n\tconstructor(\n\t\tprivate resolver: DatabaseMetadataResolver,\n\t) {\n\t}\n\n\tpublic create(db: DatabaseContext) {\n\t\treturn new SchemaDatabaseMetadataResolverStore(this.resolver, db)\n\t}\n}\n"],"names":[],"mappings":";;;AAGO,MAAM,oCAAoC;AAAA,EAIhD,YACS,UACA,IACP;AAFO,SAAA,WAAA;AACA,SAAA,KAAA;AAJD,kBAAA,MAAA,6BAA2C,IAAI,CAAA;AAAA,EAAA;AAAA,EAQvD,MAAa,YAAY,QAA2C;AACnE,UAAM,SAAS,KAAK,MAAM,IAAI,MAAM;AACpC,QAAI,QAAQ;AACJ,aAAA;AAAA,IAAA;AAGF,UAAA,WAAW,MAAM,KAAK,SAAS,gBAAgB,KAAK,GAAG,QAAQ,MAAM;AACtE,SAAA,MAAM,IAAI,QAAQ,QAAQ;AACxB,WAAA;AAAA,EAAA;AAAA,EAGD,WAAW,QAAsB;AAClC,SAAA,MAAM,OAAO,MAAM;AAAA,EAAA;AAE1B;AAGO,MAAM,+CAA+C;AAAA,EAC3D,YACS,UACP;AADO,SAAA,WAAA;AAAA,EAAA;AAAA,EAIF,OAAO,IAAqB;AAClC,WAAO,IAAI,oCAAoC,KAAK,UAAU,EAAE;AAAA,EAAA;AAElE;"}
1
+ {"version":3,"file":"SchemaDatabaseMetadataResolverStore.js","sources":["../../../../../../packages/engine-system-api/src/model/metadata/SchemaDatabaseMetadataResolverStore.ts"],"sourcesContent":["import { DatabaseContext } from '../database'\nimport { DatabaseMetadata, DatabaseMetadataResolver } from '@contember/database'\n\nexport class SchemaDatabaseMetadataResolverStore {\n\tprivate cache: Map<string, DatabaseMetadata> = new Map()\n\n\tconstructor(\n\t\tprivate resolver: DatabaseMetadataResolver,\n\t\tprivate db: DatabaseContext,\n\t) {\n\t}\n\n\tpublic async getMetadata(schema: string): Promise<DatabaseMetadata> {\n\t\tconst cached = this.cache.get(schema)\n\t\tif (cached) {\n\t\t\treturn cached\n\t\t}\n\n\t\tconst newValue = await this.resolver.resolveMetadata(this.db.client, schema)\n\t\tthis.cache.set(schema, newValue)\n\t\treturn newValue\n\t}\n\n\tpublic invalidate(schema: string): void {\n\t\tthis.cache.delete(schema)\n\t}\n}\n\nexport class MigrationsDatabaseMetadataResolverStoreFactory {\n\tconstructor(\n\t\tprivate resolver: DatabaseMetadataResolver,\n\t) {\n\t}\n\n\tpublic create(db: DatabaseContext) {\n\t\treturn new SchemaDatabaseMetadataResolverStore(this.resolver, db)\n\t}\n}\n"],"names":[],"mappings":";;;AAGO,MAAM,oCAAoC;AAAA,EAGhD,YACS,UACA,IACP;AAFO,SAAA,WAAA;AACA,SAAA,KAAA;AAJT,kBAAA,MAAQ,6BAA2C,IAAA,CAAI;AAAA,EAMvD;AAAA,EAEA,MAAa,YAAY,QAA2C;AACnE,UAAM,SAAS,KAAK,MAAM,IAAI,MAAM;AACpC,QAAI,QAAQ;AACX,aAAO;AAAA,IACR;AAEA,UAAM,WAAW,MAAM,KAAK,SAAS,gBAAgB,KAAK,GAAG,QAAQ,MAAM;AAC3E,SAAK,MAAM,IAAI,QAAQ,QAAQ;AAC/B,WAAO;AAAA,EACR;AAAA,EAEO,WAAW,QAAsB;AACvC,SAAK,MAAM,OAAO,MAAM;AAAA,EACzB;AACD;AAEO,MAAM,+CAA+C;AAAA,EAC3D,YACS,UACP;AADO,SAAA,WAAA;AAAA,EAET;AAAA,EAEO,OAAO,IAAqB;AAClC,WAAO,IAAI,oCAAoC,KAAK,UAAU,EAAE;AAAA,EACjE;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutedMigrationsResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/model/migrations/ExecutedMigrationsResolver.ts"],"sourcesContent":["import { ExecutedMigration } from '../dtos'\nimport { ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery } from '../queries'\nimport { DatabaseContext } from '../database'\n\nexport class ExecutedMigrationsResolver {\n\tasync getMigrations(db: DatabaseContext, afterVersion?: string): Promise<ExecutedMigration[]> {\n\t\treturn db.queryHandler.fetch(new ExecutedMigrationsQuery(afterVersion))\n\t}\n\n\tasync getMigrationByVersion(db: DatabaseContext, version: string): Promise<ExecutedMigration | null> {\n\t\treturn db.queryHandler.fetch(new ExecutedMigrationByVersionQuery(version))\n\t}\n}\n"],"names":["ExecutedMigrationsQuery","ExecutedMigrationByVersionQuery"],"mappings":";;;;;;;AAIO,MAAM,2BAA2B;AAAA,EACvC,MAAM,cAAc,IAAqB,cAAqD;AAC7F,WAAO,GAAG,aAAa,MAAM,IAAIA,wBAAA,wBAAwB,YAAY,CAAC;AAAA,EAAA;AAAA,EAGvE,MAAM,sBAAsB,IAAqB,SAAoD;AACpG,WAAO,GAAG,aAAa,MAAM,IAAIC,gCAAA,gCAAgC,OAAO,CAAC;AAAA,EAAA;AAE3E;;"}
1
+ {"version":3,"file":"ExecutedMigrationsResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/model/migrations/ExecutedMigrationsResolver.ts"],"sourcesContent":["import { ExecutedMigration } from '../dtos'\nimport { ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery } from '../queries'\nimport { DatabaseContext } from '../database'\n\nexport class ExecutedMigrationsResolver {\n\tasync getMigrations(db: DatabaseContext, afterVersion?: string): Promise<ExecutedMigration[]> {\n\t\treturn db.queryHandler.fetch(new ExecutedMigrationsQuery(afterVersion))\n\t}\n\n\tasync getMigrationByVersion(db: DatabaseContext, version: string): Promise<ExecutedMigration | null> {\n\t\treturn db.queryHandler.fetch(new ExecutedMigrationByVersionQuery(version))\n\t}\n}\n"],"names":["ExecutedMigrationsQuery","ExecutedMigrationByVersionQuery"],"mappings":";;;;;;;AAIO,MAAM,2BAA2B;AAAA,EACvC,MAAM,cAAc,IAAqB,cAAqD;AAC7F,WAAO,GAAG,aAAa,MAAM,IAAIA,wBAAAA,wBAAwB,YAAY,CAAC;AAAA,EACvE;AAAA,EAEA,MAAM,sBAAsB,IAAqB,SAAoD;AACpG,WAAO,GAAG,aAAa,MAAM,IAAIC,gCAAAA,gCAAgC,OAAO,CAAC;AAAA,EAC1E;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutedMigrationsResolver.js","sources":["../../../../../../packages/engine-system-api/src/model/migrations/ExecutedMigrationsResolver.ts"],"sourcesContent":["import { ExecutedMigration } from '../dtos'\nimport { ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery } from '../queries'\nimport { DatabaseContext } from '../database'\n\nexport class ExecutedMigrationsResolver {\n\tasync getMigrations(db: DatabaseContext, afterVersion?: string): Promise<ExecutedMigration[]> {\n\t\treturn db.queryHandler.fetch(new ExecutedMigrationsQuery(afterVersion))\n\t}\n\n\tasync getMigrationByVersion(db: DatabaseContext, version: string): Promise<ExecutedMigration | null> {\n\t\treturn db.queryHandler.fetch(new ExecutedMigrationByVersionQuery(version))\n\t}\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,2BAA2B;AAAA,EACvC,MAAM,cAAc,IAAqB,cAAqD;AAC7F,WAAO,GAAG,aAAa,MAAM,IAAI,wBAAwB,YAAY,CAAC;AAAA,EAAA;AAAA,EAGvE,MAAM,sBAAsB,IAAqB,SAAoD;AACpG,WAAO,GAAG,aAAa,MAAM,IAAI,gCAAgC,OAAO,CAAC;AAAA,EAAA;AAE3E;"}
1
+ {"version":3,"file":"ExecutedMigrationsResolver.js","sources":["../../../../../../packages/engine-system-api/src/model/migrations/ExecutedMigrationsResolver.ts"],"sourcesContent":["import { ExecutedMigration } from '../dtos'\nimport { ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery } from '../queries'\nimport { DatabaseContext } from '../database'\n\nexport class ExecutedMigrationsResolver {\n\tasync getMigrations(db: DatabaseContext, afterVersion?: string): Promise<ExecutedMigration[]> {\n\t\treturn db.queryHandler.fetch(new ExecutedMigrationsQuery(afterVersion))\n\t}\n\n\tasync getMigrationByVersion(db: DatabaseContext, version: string): Promise<ExecutedMigration | null> {\n\t\treturn db.queryHandler.fetch(new ExecutedMigrationByVersionQuery(version))\n\t}\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,2BAA2B;AAAA,EACvC,MAAM,cAAc,IAAqB,cAAqD;AAC7F,WAAO,GAAG,aAAa,MAAM,IAAI,wBAAwB,YAAY,CAAC;AAAA,EACvE;AAAA,EAEA,MAAM,sBAAsB,IAAqB,SAAoD;AACpG,WAAO,GAAG,aAAa,MAAM,IAAI,gCAAgC,OAAO,CAAC;AAAA,EAC1E;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationAlterer.cjs","sources":["../../../../../../packages/engine-system-api/src/model/migrations/MigrationAlterer.ts"],"sourcesContent":["import { DatabaseContext } from '../database'\nimport { DeleteMigrationCommand } from '../commands'\nimport { Response, ResponseError, ResponseOk } from '../../utils'\nimport { Migration } from '@contember/schema-migrations'\nimport { ModifyMigrationCommand } from '../commands/migrations/ModifyMigrationCommand'\nimport { SchemaProvider } from './SchemaProvider'\nimport { SaveSchemaCommand } from '../commands/schema/SaveSchemaCommand'\n\nexport class MigrationAlterer {\n\tconstructor(\n\t\tprivate readonly schemaProvider: SchemaProvider,\n\t) {\n\t}\n\n\tpublic async deleteMigration(\n\t\tdb: DatabaseContext,\n\t\tversion: string,\n\t): Promise<Response<undefined, DeleteMigrationErrorCode>> {\n\t\treturn await db.transaction(async db => {\n\t\t\tconst result = await db.commandBus.execute(new DeleteMigrationCommand(version))\n\t\t\tif (!result) {\n\t\t\t\tawait db.client.connection.rollback()\n\t\t\t\treturn new ResponseError(DeleteMigrationErrorCode.notFound, `Migration ${version} was not found`)\n\t\t\t}\n\t\t\tawait this.refreshSchema(db)\n\t\t\treturn new ResponseOk(undefined)\n\t\t})\n\t}\n\n\tpublic async modifyMigration(\n\t\tdb: DatabaseContext,\n\t\tversion: string,\n\t\tmigration: Partial<Migration>,\n\t): Promise<Response<undefined, UpdateMigrationErrorCode>> {\n\t\treturn await db.transaction(async db => {\n\t\t\tconst result = await db.commandBus.execute(new ModifyMigrationCommand(version, migration))\n\t\t\tif (!result) {\n\t\t\t\tawait db.client.connection.rollback()\n\t\t\t\treturn new ResponseError(UpdateMigrationErrorCode.notFound, `Migration ${version} was not found`)\n\t\t\t}\n\t\t\tawait this.refreshSchema(db)\n\t\t\treturn new ResponseOk(undefined)\n\t\t})\n\t}\n\n\tprivate async refreshSchema(db: DatabaseContext): Promise<void> {\n\t\tconst schemaWithMeta = await this.schemaProvider.buildSchemaFromMigrations(db)\n\t\tawait db.commandBus.execute(new SaveSchemaCommand(schemaWithMeta))\n\t}\n}\n\nexport enum DeleteMigrationErrorCode {\n\tnotFound = 'notFound',\n}\n\nexport enum UpdateMigrationErrorCode {\n\tnotFound = 'notFound',\n}\n"],"names":["db","DeleteMigrationCommand","ResponseError","ResponseOk","ModifyMigrationCommand","SaveSchemaCommand","DeleteMigrationErrorCode","UpdateMigrationErrorCode"],"mappings":";;;;;;;;;AAQO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,gBAChB;AADgB,SAAA,iBAAA;AAAA,EAAA;AAAA,EAIlB,MAAa,gBACZ,IACA,SACyD;AACzD,WAAO,MAAM,GAAG,YAAY,OAAMA,QAAM;AACjC,YAAA,SAAS,MAAMA,IAAG,WAAW,QAAQ,IAAIC,uBAAAA,uBAAuB,OAAO,CAAC;AAC9E,UAAI,CAAC,QAAQ;AACND,cAAAA,IAAG,OAAO,WAAW,SAAS;AACpC,eAAO,IAAIE,SAAA,cAAc,YAAmC,aAAa,OAAO,gBAAgB;AAAA,MAAA;AAE3F,YAAA,KAAK,cAAcF,GAAE;AACpB,aAAA,IAAIG,SAAAA,WAAW,MAAS;AAAA,IAAA,CAC/B;AAAA,EAAA;AAAA,EAGF,MAAa,gBACZ,IACA,SACA,WACyD;AACzD,WAAO,MAAM,GAAG,YAAY,OAAMH,QAAM;AACjC,YAAA,SAAS,MAAMA,IAAG,WAAW,QAAQ,IAAII,uBAAA,uBAAuB,SAAS,SAAS,CAAC;AACzF,UAAI,CAAC,QAAQ;AACNJ,cAAAA,IAAG,OAAO,WAAW,SAAS;AACpC,eAAO,IAAIE,SAAA,cAAc,YAAmC,aAAa,OAAO,gBAAgB;AAAA,MAAA;AAE3F,YAAA,KAAK,cAAcF,GAAE;AACpB,aAAA,IAAIG,SAAAA,WAAW,MAAS;AAAA,IAAA,CAC/B;AAAA,EAAA;AAAA,EAGF,MAAc,cAAc,IAAoC;AAC/D,UAAM,iBAAiB,MAAM,KAAK,eAAe,0BAA0B,EAAE;AAC7E,UAAM,GAAG,WAAW,QAAQ,IAAIE,kBAAA,kBAAkB,cAAc,CAAC;AAAA,EAAA;AAEnE;AAEY,IAAA,6CAAAC,8BAAL;AACNA,4BAAA,UAAW,IAAA;AADAA,SAAAA;AAAA,GAAA,4BAAA,CAAA,CAAA;AAIA,IAAA,6CAAAC,8BAAL;AACNA,4BAAA,UAAW,IAAA;AADAA,SAAAA;AAAA,GAAA,4BAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"MigrationAlterer.cjs","sources":["../../../../../../packages/engine-system-api/src/model/migrations/MigrationAlterer.ts"],"sourcesContent":["import { DatabaseContext } from '../database'\nimport { DeleteMigrationCommand } from '../commands'\nimport { Response, ResponseError, ResponseOk } from '../../utils'\nimport { Migration } from '@contember/schema-migrations'\nimport { ModifyMigrationCommand } from '../commands/migrations/ModifyMigrationCommand'\nimport { SchemaProvider } from './SchemaProvider'\nimport { SaveSchemaCommand } from '../commands/schema/SaveSchemaCommand'\n\nexport class MigrationAlterer {\n\tconstructor(\n\t\tprivate readonly schemaProvider: SchemaProvider,\n\t) {\n\t}\n\n\tpublic async deleteMigration(\n\t\tdb: DatabaseContext,\n\t\tversion: string,\n\t): Promise<Response<undefined, DeleteMigrationErrorCode>> {\n\t\treturn await db.transaction(async db => {\n\t\t\tconst result = await db.commandBus.execute(new DeleteMigrationCommand(version))\n\t\t\tif (!result) {\n\t\t\t\tawait db.client.connection.rollback()\n\t\t\t\treturn new ResponseError(DeleteMigrationErrorCode.notFound, `Migration ${version} was not found`)\n\t\t\t}\n\t\t\tawait this.refreshSchema(db)\n\t\t\treturn new ResponseOk(undefined)\n\t\t})\n\t}\n\n\tpublic async modifyMigration(\n\t\tdb: DatabaseContext,\n\t\tversion: string,\n\t\tmigration: Partial<Migration>,\n\t): Promise<Response<undefined, UpdateMigrationErrorCode>> {\n\t\treturn await db.transaction(async db => {\n\t\t\tconst result = await db.commandBus.execute(new ModifyMigrationCommand(version, migration))\n\t\t\tif (!result) {\n\t\t\t\tawait db.client.connection.rollback()\n\t\t\t\treturn new ResponseError(UpdateMigrationErrorCode.notFound, `Migration ${version} was not found`)\n\t\t\t}\n\t\t\tawait this.refreshSchema(db)\n\t\t\treturn new ResponseOk(undefined)\n\t\t})\n\t}\n\n\tprivate async refreshSchema(db: DatabaseContext): Promise<void> {\n\t\tconst schemaWithMeta = await this.schemaProvider.buildSchemaFromMigrations(db)\n\t\tawait db.commandBus.execute(new SaveSchemaCommand(schemaWithMeta))\n\t}\n}\n\nexport enum DeleteMigrationErrorCode {\n\tnotFound = 'notFound',\n}\n\nexport enum UpdateMigrationErrorCode {\n\tnotFound = 'notFound',\n}\n"],"names":["db","DeleteMigrationCommand","ResponseError","ResponseOk","ModifyMigrationCommand","SaveSchemaCommand","DeleteMigrationErrorCode","UpdateMigrationErrorCode"],"mappings":";;;;;;;;;AAQO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,gBAChB;AADgB,SAAA,iBAAA;AAAA,EAElB;AAAA,EAEA,MAAa,gBACZ,IACA,SACyD;AACzD,WAAO,MAAM,GAAG,YAAY,OAAMA,QAAM;AACvC,YAAM,SAAS,MAAMA,IAAG,WAAW,QAAQ,IAAIC,uBAAAA,uBAAuB,OAAO,CAAC;AAC9E,UAAI,CAAC,QAAQ;AACZ,cAAMD,IAAG,OAAO,WAAW,SAAA;AAC3B,eAAO,IAAIE,SAAAA,cAAc,YAAmC,aAAa,OAAO,gBAAgB;AAAA,MACjG;AACA,YAAM,KAAK,cAAcF,GAAE;AAC3B,aAAO,IAAIG,SAAAA,WAAW,MAAS;AAAA,IAChC,CAAC;AAAA,EACF;AAAA,EAEA,MAAa,gBACZ,IACA,SACA,WACyD;AACzD,WAAO,MAAM,GAAG,YAAY,OAAMH,QAAM;AACvC,YAAM,SAAS,MAAMA,IAAG,WAAW,QAAQ,IAAII,uBAAAA,uBAAuB,SAAS,SAAS,CAAC;AACzF,UAAI,CAAC,QAAQ;AACZ,cAAMJ,IAAG,OAAO,WAAW,SAAA;AAC3B,eAAO,IAAIE,SAAAA,cAAc,YAAmC,aAAa,OAAO,gBAAgB;AAAA,MACjG;AACA,YAAM,KAAK,cAAcF,GAAE;AAC3B,aAAO,IAAIG,SAAAA,WAAW,MAAS;AAAA,IAChC,CAAC;AAAA,EACF;AAAA,EAEA,MAAc,cAAc,IAAoC;AAC/D,UAAM,iBAAiB,MAAM,KAAK,eAAe,0BAA0B,EAAE;AAC7E,UAAM,GAAG,WAAW,QAAQ,IAAIE,kBAAAA,kBAAkB,cAAc,CAAC;AAAA,EAClE;AACD;AAEO,IAAK,6CAAAC,8BAAL;AACNA,4BAAA,UAAA,IAAW;AADA,SAAAA;AAAA,GAAA,4BAAA,CAAA,CAAA;AAIL,IAAK,6CAAAC,8BAAL;AACNA,4BAAA,UAAA,IAAW;AADA,SAAAA;AAAA,GAAA,4BAAA,CAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationAlterer.js","sources":["../../../../../../packages/engine-system-api/src/model/migrations/MigrationAlterer.ts"],"sourcesContent":["import { DatabaseContext } from '../database'\nimport { DeleteMigrationCommand } from '../commands'\nimport { Response, ResponseError, ResponseOk } from '../../utils'\nimport { Migration } from '@contember/schema-migrations'\nimport { ModifyMigrationCommand } from '../commands/migrations/ModifyMigrationCommand'\nimport { SchemaProvider } from './SchemaProvider'\nimport { SaveSchemaCommand } from '../commands/schema/SaveSchemaCommand'\n\nexport class MigrationAlterer {\n\tconstructor(\n\t\tprivate readonly schemaProvider: SchemaProvider,\n\t) {\n\t}\n\n\tpublic async deleteMigration(\n\t\tdb: DatabaseContext,\n\t\tversion: string,\n\t): Promise<Response<undefined, DeleteMigrationErrorCode>> {\n\t\treturn await db.transaction(async db => {\n\t\t\tconst result = await db.commandBus.execute(new DeleteMigrationCommand(version))\n\t\t\tif (!result) {\n\t\t\t\tawait db.client.connection.rollback()\n\t\t\t\treturn new ResponseError(DeleteMigrationErrorCode.notFound, `Migration ${version} was not found`)\n\t\t\t}\n\t\t\tawait this.refreshSchema(db)\n\t\t\treturn new ResponseOk(undefined)\n\t\t})\n\t}\n\n\tpublic async modifyMigration(\n\t\tdb: DatabaseContext,\n\t\tversion: string,\n\t\tmigration: Partial<Migration>,\n\t): Promise<Response<undefined, UpdateMigrationErrorCode>> {\n\t\treturn await db.transaction(async db => {\n\t\t\tconst result = await db.commandBus.execute(new ModifyMigrationCommand(version, migration))\n\t\t\tif (!result) {\n\t\t\t\tawait db.client.connection.rollback()\n\t\t\t\treturn new ResponseError(UpdateMigrationErrorCode.notFound, `Migration ${version} was not found`)\n\t\t\t}\n\t\t\tawait this.refreshSchema(db)\n\t\t\treturn new ResponseOk(undefined)\n\t\t})\n\t}\n\n\tprivate async refreshSchema(db: DatabaseContext): Promise<void> {\n\t\tconst schemaWithMeta = await this.schemaProvider.buildSchemaFromMigrations(db)\n\t\tawait db.commandBus.execute(new SaveSchemaCommand(schemaWithMeta))\n\t}\n}\n\nexport enum DeleteMigrationErrorCode {\n\tnotFound = 'notFound',\n}\n\nexport enum UpdateMigrationErrorCode {\n\tnotFound = 'notFound',\n}\n"],"names":["db","DeleteMigrationErrorCode","UpdateMigrationErrorCode"],"mappings":";;;;;;;AAQO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,gBAChB;AADgB,SAAA,iBAAA;AAAA,EAAA;AAAA,EAIlB,MAAa,gBACZ,IACA,SACyD;AACzD,WAAO,MAAM,GAAG,YAAY,OAAMA,QAAM;AACjC,YAAA,SAAS,MAAMA,IAAG,WAAW,QAAQ,IAAI,uBAAuB,OAAO,CAAC;AAC9E,UAAI,CAAC,QAAQ;AACNA,cAAAA,IAAG,OAAO,WAAW,SAAS;AACpC,eAAO,IAAI,cAAc,YAAmC,aAAa,OAAO,gBAAgB;AAAA,MAAA;AAE3F,YAAA,KAAK,cAAcA,GAAE;AACpB,aAAA,IAAI,WAAW,MAAS;AAAA,IAAA,CAC/B;AAAA,EAAA;AAAA,EAGF,MAAa,gBACZ,IACA,SACA,WACyD;AACzD,WAAO,MAAM,GAAG,YAAY,OAAMA,QAAM;AACjC,YAAA,SAAS,MAAMA,IAAG,WAAW,QAAQ,IAAI,uBAAuB,SAAS,SAAS,CAAC;AACzF,UAAI,CAAC,QAAQ;AACNA,cAAAA,IAAG,OAAO,WAAW,SAAS;AACpC,eAAO,IAAI,cAAc,YAAmC,aAAa,OAAO,gBAAgB;AAAA,MAAA;AAE3F,YAAA,KAAK,cAAcA,GAAE;AACpB,aAAA,IAAI,WAAW,MAAS;AAAA,IAAA,CAC/B;AAAA,EAAA;AAAA,EAGF,MAAc,cAAc,IAAoC;AAC/D,UAAM,iBAAiB,MAAM,KAAK,eAAe,0BAA0B,EAAE;AAC7E,UAAM,GAAG,WAAW,QAAQ,IAAI,kBAAkB,cAAc,CAAC;AAAA,EAAA;AAEnE;AAEY,IAAA,6CAAAC,8BAAL;AACNA,4BAAA,UAAW,IAAA;AADAA,SAAAA;AAAA,GAAA,4BAAA,CAAA,CAAA;AAIA,IAAA,6CAAAC,8BAAL;AACNA,4BAAA,UAAW,IAAA;AADAA,SAAAA;AAAA,GAAA,4BAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"MigrationAlterer.js","sources":["../../../../../../packages/engine-system-api/src/model/migrations/MigrationAlterer.ts"],"sourcesContent":["import { DatabaseContext } from '../database'\nimport { DeleteMigrationCommand } from '../commands'\nimport { Response, ResponseError, ResponseOk } from '../../utils'\nimport { Migration } from '@contember/schema-migrations'\nimport { ModifyMigrationCommand } from '../commands/migrations/ModifyMigrationCommand'\nimport { SchemaProvider } from './SchemaProvider'\nimport { SaveSchemaCommand } from '../commands/schema/SaveSchemaCommand'\n\nexport class MigrationAlterer {\n\tconstructor(\n\t\tprivate readonly schemaProvider: SchemaProvider,\n\t) {\n\t}\n\n\tpublic async deleteMigration(\n\t\tdb: DatabaseContext,\n\t\tversion: string,\n\t): Promise<Response<undefined, DeleteMigrationErrorCode>> {\n\t\treturn await db.transaction(async db => {\n\t\t\tconst result = await db.commandBus.execute(new DeleteMigrationCommand(version))\n\t\t\tif (!result) {\n\t\t\t\tawait db.client.connection.rollback()\n\t\t\t\treturn new ResponseError(DeleteMigrationErrorCode.notFound, `Migration ${version} was not found`)\n\t\t\t}\n\t\t\tawait this.refreshSchema(db)\n\t\t\treturn new ResponseOk(undefined)\n\t\t})\n\t}\n\n\tpublic async modifyMigration(\n\t\tdb: DatabaseContext,\n\t\tversion: string,\n\t\tmigration: Partial<Migration>,\n\t): Promise<Response<undefined, UpdateMigrationErrorCode>> {\n\t\treturn await db.transaction(async db => {\n\t\t\tconst result = await db.commandBus.execute(new ModifyMigrationCommand(version, migration))\n\t\t\tif (!result) {\n\t\t\t\tawait db.client.connection.rollback()\n\t\t\t\treturn new ResponseError(UpdateMigrationErrorCode.notFound, `Migration ${version} was not found`)\n\t\t\t}\n\t\t\tawait this.refreshSchema(db)\n\t\t\treturn new ResponseOk(undefined)\n\t\t})\n\t}\n\n\tprivate async refreshSchema(db: DatabaseContext): Promise<void> {\n\t\tconst schemaWithMeta = await this.schemaProvider.buildSchemaFromMigrations(db)\n\t\tawait db.commandBus.execute(new SaveSchemaCommand(schemaWithMeta))\n\t}\n}\n\nexport enum DeleteMigrationErrorCode {\n\tnotFound = 'notFound',\n}\n\nexport enum UpdateMigrationErrorCode {\n\tnotFound = 'notFound',\n}\n"],"names":["db","DeleteMigrationErrorCode","UpdateMigrationErrorCode"],"mappings":";;;;;;;AAQO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,gBAChB;AADgB,SAAA,iBAAA;AAAA,EAElB;AAAA,EAEA,MAAa,gBACZ,IACA,SACyD;AACzD,WAAO,MAAM,GAAG,YAAY,OAAMA,QAAM;AACvC,YAAM,SAAS,MAAMA,IAAG,WAAW,QAAQ,IAAI,uBAAuB,OAAO,CAAC;AAC9E,UAAI,CAAC,QAAQ;AACZ,cAAMA,IAAG,OAAO,WAAW,SAAA;AAC3B,eAAO,IAAI,cAAc,YAAmC,aAAa,OAAO,gBAAgB;AAAA,MACjG;AACA,YAAM,KAAK,cAAcA,GAAE;AAC3B,aAAO,IAAI,WAAW,MAAS;AAAA,IAChC,CAAC;AAAA,EACF;AAAA,EAEA,MAAa,gBACZ,IACA,SACA,WACyD;AACzD,WAAO,MAAM,GAAG,YAAY,OAAMA,QAAM;AACvC,YAAM,SAAS,MAAMA,IAAG,WAAW,QAAQ,IAAI,uBAAuB,SAAS,SAAS,CAAC;AACzF,UAAI,CAAC,QAAQ;AACZ,cAAMA,IAAG,OAAO,WAAW,SAAA;AAC3B,eAAO,IAAI,cAAc,YAAmC,aAAa,OAAO,gBAAgB;AAAA,MACjG;AACA,YAAM,KAAK,cAAcA,GAAE;AAC3B,aAAO,IAAI,WAAW,MAAS;AAAA,IAChC,CAAC;AAAA,EACF;AAAA,EAEA,MAAc,cAAc,IAAoC;AAC/D,UAAM,iBAAiB,MAAM,KAAK,eAAe,0BAA0B,EAAE;AAC7E,UAAM,GAAG,WAAW,QAAQ,IAAI,kBAAkB,cAAc,CAAC;AAAA,EAClE;AACD;AAEO,IAAK,6CAAAC,8BAAL;AACNA,4BAAA,UAAA,IAAW;AADA,SAAAA;AAAA,GAAA,4BAAA,CAAA,CAAA;AAIL,IAAK,6CAAAC,8BAAL;AACNA,4BAAA,UAAA,IAAW;AADA,SAAAA;AAAA,GAAA,4BAAA,CAAA,CAAA;"}
@@ -45,7 +45,7 @@ class ProjectMigrator {
45
45
  modification,
46
46
  formatVersion,
47
47
  migration.version,
48
- db.client.schema,
48
+ project,
49
49
  metadataStore
50
50
  );
51
51
  }
@@ -74,15 +74,17 @@ class ProjectMigrator {
74
74
  if (!id) {
75
75
  throw new exceptions.ImplementationException();
76
76
  }
77
- await db.commandBus.execute(new SaveSchemaCommand.SaveSchemaCommand({
78
- schema,
79
- meta: {
80
- id,
81
- updatedAt: /* @__PURE__ */ new Date(),
82
- version: sorted[sorted.length - 1].version,
83
- checksum: schemaUtils.calculateSchemaChecksum(schema)
84
- }
85
- }));
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
+ );
86
88
  }
87
89
  async executeContentMigration({ query, stages, version, ...ctx }) {
88
90
  const queryStages = query.stage ? stages.filter((it) => it.slug === query.stage) : stages;
@@ -150,7 +152,13 @@ class ProjectMigrator {
150
152
  }
151
153
  return toExecute;
152
154
  }
153
- async applyModification(db, stages, schema, modification, formatVersion, migrationVersion, systemSchema, metadataStore) {
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) {
154
162
  const {
155
163
  getSql,
156
164
  schema: newSchema
@@ -158,11 +166,15 @@ class ProjectMigrator {
158
166
  for (const stage of stages) {
159
167
  const databaseMetadata = await metadataStore.getMetadata(stage.schema);
160
168
  const sql = getSql({
161
- systemSchema,
169
+ systemSchema: project.systemSchema,
162
170
  databaseMetadata,
163
171
  invalidateDatabaseMetadata: () => metadataStore.invalidate(stage.schema)
164
172
  });
165
- await this.executeOnStage(db, stage, sql, migrationVersion);
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);
166
178
  }
167
179
  return [newSchema];
168
180
  }
@@ -1 +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\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\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\tdb.client.schema,\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\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(new SaveSchemaCommand({\n\t\t\tschema,\n\t\t\tmeta: {\n\t\t\t\tid,\n\t\t\t\tupdatedAt: new Date(),\n\t\t\t\tversion: sorted[sorted.length - 1].version,\n\t\t\t\tchecksum: calculateSchemaChecksum(schema),\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\terrors.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\terrors.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 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\tsystemSchema: 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,\n\t\t\t\tdatabaseMetadata,\n\t\t\t\tinvalidateDatabaseMetadata: () => metadataStore.invalidate(stage.schema),\n\t\t\t})\n\t\t\tawait this.executeOnStage(db, stage, sql, 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":"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"}
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":"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"}