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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (512) hide show
  1. package/CLAUDE.md +30 -0
  2. package/dist/development/src/SystemContainer.cjs +34 -1
  3. package/dist/development/src/SystemContainer.cjs.map +1 -1
  4. package/dist/development/src/SystemContainer.js +34 -1
  5. package/dist/development/src/SystemContainer.js.map +1 -1
  6. package/dist/development/src/migrations/2018-08-04-102200-init.cjs.map +1 -1
  7. package/dist/development/src/migrations/2018-08-04-102200-init.js.map +1 -1
  8. package/dist/development/src/migrations/2018-08-05-130501-trigger-event-function.cjs.map +1 -1
  9. package/dist/development/src/migrations/2018-08-05-130501-trigger-event-function.js.map +1 -1
  10. package/dist/development/src/migrations/2019-01-14-143432-event-trx-id.cjs.map +1 -1
  11. package/dist/development/src/migrations/2019-01-14-143432-event-trx-id.js.map +1 -1
  12. package/dist/development/src/migrations/2019-02-04-154500-event-rebase.cjs.map +1 -1
  13. package/dist/development/src/migrations/2019-02-04-154500-event-rebase.js.map +1 -1
  14. package/dist/development/src/migrations/2019-03-18-104147-event-run-migration-struct.cjs.map +1 -1
  15. package/dist/development/src/migrations/2019-03-18-104147-event-run-migration-struct.js.map +1 -1
  16. package/dist/development/src/migrations/2019-07-29-103000-trigger-event-function-fix.cjs.map +1 -1
  17. package/dist/development/src/migrations/2019-07-29-103000-trigger-event-function-fix.js.map +1 -1
  18. package/dist/development/src/migrations/2019-11-28-100000-missing-setting-fallback.cjs.map +1 -1
  19. package/dist/development/src/migrations/2019-11-28-100000-missing-setting-fallback.js.map +1 -1
  20. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
  21. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
  22. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
  23. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
  24. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
  25. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
  26. package/dist/development/src/migrations/2021-03-23-110000-timestamp-fix.cjs.map +1 -1
  27. package/dist/development/src/migrations/2021-03-23-110000-timestamp-fix.js.map +1 -1
  28. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
  29. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
  30. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
  31. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
  32. package/dist/development/src/migrations/2021-12-21-155500-events-up.cjs.map +1 -1
  33. package/dist/development/src/migrations/2021-12-21-155500-events-up.js.map +1 -1
  34. package/dist/development/src/migrations/2022-02-08-132600-fn-search-path.cjs.map +1 -1
  35. package/dist/development/src/migrations/2022-02-08-132600-fn-search-path.js.map +1 -1
  36. package/dist/development/src/migrations/2022-02-08-140500-drop-deadcode.cjs.map +1 -1
  37. package/dist/development/src/migrations/2022-02-08-140500-drop-deadcode.js.map +1 -1
  38. package/dist/development/src/migrations/2022-02-08-144400-dynamic-stage-schema.cjs.map +1 -1
  39. package/dist/development/src/migrations/2022-02-08-144400-dynamic-stage-schema.js.map +1 -1
  40. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
  41. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
  42. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.cjs +3 -1
  43. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
  44. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.js +3 -1
  45. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
  46. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.cjs +3 -1
  47. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
  48. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.js +3 -1
  49. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
  50. package/dist/development/src/migrations/2023-10-24-140000-schema-nullable-checksum.cjs.map +1 -1
  51. package/dist/development/src/migrations/2023-10-24-140000-schema-nullable-checksum.js.map +1 -1
  52. package/dist/development/src/migrations/2024-06-28-150000-migrations-drop-sequence.cjs.map +1 -1
  53. package/dist/development/src/migrations/2024-06-28-150000-migrations-drop-sequence.js.map +1 -1
  54. package/dist/development/src/migrations/2024-06-28-153000-schema.cjs.map +1 -1
  55. package/dist/development/src/migrations/2024-06-28-153000-schema.js.map +1 -1
  56. package/dist/development/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -1
  57. package/dist/development/src/migrations/2024-06-28-153001-schema-init.js.map +1 -1
  58. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.cjs.map +1 -1
  59. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.js.map +1 -1
  60. package/dist/development/src/migrations/2025-03-14-110000-fix-missing-index.cjs.map +1 -1
  61. package/dist/development/src/migrations/2025-03-14-110000-fix-missing-index.js.map +1 -1
  62. package/dist/development/src/migrations/runner.cjs.map +1 -1
  63. package/dist/development/src/migrations/runner.js.map +1 -1
  64. package/dist/development/src/migrations/snapshot-factory.cjs.map +1 -1
  65. package/dist/development/src/migrations/snapshot-factory.js.map +1 -1
  66. package/dist/development/src/model/ProjectInitializer.cjs +18 -14
  67. package/dist/development/src/model/ProjectInitializer.cjs.map +1 -1
  68. package/dist/development/src/model/ProjectInitializer.js +18 -14
  69. package/dist/development/src/model/ProjectInitializer.js.map +1 -1
  70. package/dist/development/src/model/ProjectTruncateExecutor.cjs.map +1 -1
  71. package/dist/development/src/model/ProjectTruncateExecutor.js.map +1 -1
  72. package/dist/development/src/model/authorization/AuthorizationActions.cjs.map +1 -1
  73. package/dist/development/src/model/authorization/AuthorizationActions.js.map +1 -1
  74. package/dist/development/src/model/authorization/Identity.cjs.map +1 -1
  75. package/dist/development/src/model/authorization/Identity.js.map +1 -1
  76. package/dist/development/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  77. package/dist/development/src/model/authorization/PermissionsFactory.js.map +1 -1
  78. package/dist/development/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
  79. package/dist/development/src/model/authorization/StagePermissionsFactory.js.map +1 -1
  80. package/dist/development/src/model/authorization/StageScope.cjs.map +1 -1
  81. package/dist/development/src/model/authorization/StageScope.js.map +1 -1
  82. package/dist/development/src/model/authorization/SwitchEvaluatorNode.cjs.map +1 -1
  83. package/dist/development/src/model/authorization/SwitchEvaluatorNode.js.map +1 -1
  84. package/dist/development/src/model/commands/CommandBus.cjs +1 -3
  85. package/dist/development/src/model/commands/CommandBus.cjs.map +1 -1
  86. package/dist/development/src/model/commands/CommandBus.js +1 -3
  87. package/dist/development/src/model/commands/CommandBus.js.map +1 -1
  88. package/dist/development/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
  89. package/dist/development/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
  90. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
  91. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
  92. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
  93. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
  94. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
  95. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
  96. package/dist/development/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -1
  97. package/dist/development/src/model/commands/schema/SaveSchemaCommand.js.map +1 -1
  98. package/dist/development/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
  99. package/dist/development/src/model/commands/stages/CreateStageCommand.js.map +1 -1
  100. package/dist/development/src/model/database/DatabaseContext.cjs.map +1 -1
  101. package/dist/development/src/model/database/DatabaseContext.js.map +1 -1
  102. package/dist/development/src/model/dtos/ExecutedMigration.cjs.map +1 -1
  103. package/dist/development/src/model/dtos/ExecutedMigration.js.map +1 -1
  104. package/dist/development/src/model/events/EventResponseBuilder.cjs.map +1 -1
  105. package/dist/development/src/model/events/EventResponseBuilder.js.map +1 -1
  106. package/dist/development/src/model/events/EventResponseHelper.cjs.map +1 -1
  107. package/dist/development/src/model/events/EventResponseHelper.js.map +1 -1
  108. package/dist/development/src/model/events/identityUtils.cjs.map +1 -1
  109. package/dist/development/src/model/events/identityUtils.js.map +1 -1
  110. package/dist/development/src/model/events/types.cjs.map +1 -1
  111. package/dist/development/src/model/events/types.js.map +1 -1
  112. package/dist/development/src/model/helpers/modelHelpers.cjs.map +1 -1
  113. package/dist/development/src/model/helpers/modelHelpers.js.map +1 -1
  114. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
  115. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
  116. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
  117. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
  118. package/dist/development/src/model/migrations/MigrationAlterer.cjs.map +1 -1
  119. package/dist/development/src/model/migrations/MigrationAlterer.js.map +1 -1
  120. package/dist/development/src/model/migrations/ProjectMigrator.cjs +25 -13
  121. package/dist/development/src/model/migrations/ProjectMigrator.cjs.map +1 -1
  122. package/dist/development/src/model/migrations/ProjectMigrator.js +25 -13
  123. package/dist/development/src/model/migrations/ProjectMigrator.js.map +1 -1
  124. package/dist/development/src/model/migrations/SchemaProvider.cjs +1 -4
  125. package/dist/development/src/model/migrations/SchemaProvider.cjs.map +1 -1
  126. package/dist/development/src/model/migrations/SchemaProvider.js +2 -5
  127. package/dist/development/src/model/migrations/SchemaProvider.js.map +1 -1
  128. package/dist/development/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
  129. package/dist/development/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  130. package/dist/development/src/model/queries/events/EventsQuery.cjs +1 -5
  131. package/dist/development/src/model/queries/events/EventsQuery.cjs.map +1 -1
  132. package/dist/development/src/model/queries/events/EventsQuery.js +1 -5
  133. package/dist/development/src/model/queries/events/EventsQuery.js.map +1 -1
  134. package/dist/development/src/model/queries/events/LatestTransactionIdByStageQuery.cjs.map +1 -1
  135. package/dist/development/src/model/queries/events/LatestTransactionIdByStageQuery.js.map +1 -1
  136. package/dist/development/src/model/queries/events/OldValuesQuery.cjs +1 -5
  137. package/dist/development/src/model/queries/events/OldValuesQuery.cjs.map +1 -1
  138. package/dist/development/src/model/queries/events/OldValuesQuery.js +1 -5
  139. package/dist/development/src/model/queries/events/OldValuesQuery.js.map +1 -1
  140. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
  141. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  142. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
  143. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  144. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs.map +1 -1
  145. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -1
  146. package/dist/development/src/model/queries/schema/SchemaQuery.cjs.map +1 -1
  147. package/dist/development/src/model/queries/schema/SchemaQuery.js.map +1 -1
  148. package/dist/development/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  149. package/dist/development/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  150. package/dist/development/src/model/queries/stages/StageQueryFactory.cjs.map +1 -1
  151. package/dist/development/src/model/queries/stages/StageQueryFactory.js.map +1 -1
  152. package/dist/development/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  153. package/dist/development/src/model/queries/stages/StagesQuery.js.map +1 -1
  154. package/dist/development/src/model/stages/StageCreator.cjs +0 -2
  155. package/dist/development/src/model/stages/StageCreator.cjs.map +1 -1
  156. package/dist/development/src/model/stages/StageCreator.js +0 -2
  157. package/dist/development/src/model/stages/StageCreator.js.map +1 -1
  158. package/dist/development/src/resolvers/ResolverFactory.cjs +1 -1
  159. package/dist/development/src/resolvers/ResolverFactory.cjs.map +1 -1
  160. package/dist/development/src/resolvers/ResolverFactory.js +2 -2
  161. package/dist/development/src/resolvers/ResolverFactory.js.map +1 -1
  162. package/dist/development/src/resolvers/SystemResolverContext.cjs.map +1 -1
  163. package/dist/development/src/resolvers/SystemResolverContext.js.map +1 -1
  164. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  165. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  166. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  167. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  168. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  169. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  170. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs +8 -6
  171. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  172. package/dist/development/src/resolvers/query/EventsQueryResolver.js +8 -6
  173. package/dist/development/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  174. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  175. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  176. package/dist/development/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -1
  177. package/dist/development/src/resolvers/query/SchemaQueryResolver.js.map +1 -1
  178. package/dist/development/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  179. package/dist/development/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  180. package/dist/development/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  181. package/dist/development/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  182. package/dist/development/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  183. package/dist/development/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  184. package/dist/development/src/schema/dev.graphql.cjs.map +1 -1
  185. package/dist/development/src/schema/system.graphql.cjs.map +1 -1
  186. package/dist/development/src/schema/types.cjs.map +1 -1
  187. package/dist/development/src/schema/types.js.map +1 -1
  188. package/dist/development/src/utils/MapSet.cjs.map +1 -1
  189. package/dist/development/src/utils/MapSet.js.map +1 -1
  190. package/dist/development/src/utils/Response.cjs.map +1 -1
  191. package/dist/development/src/utils/Response.js.map +1 -1
  192. package/dist/development/src/utils/assertNever.cjs.map +1 -1
  193. package/dist/development/src/utils/assertNever.js.map +1 -1
  194. package/dist/development/src/utils/batchQuery.cjs.map +1 -1
  195. package/dist/development/src/utils/batchQuery.js.map +1 -1
  196. package/dist/development/src/utils/tick.cjs.map +1 -1
  197. package/dist/development/src/utils/tick.js.map +1 -1
  198. package/dist/development/src/utils/tuple.cjs.map +1 -1
  199. package/dist/development/src/utils/tuple.js.map +1 -1
  200. package/dist/production/src/SystemContainer.cjs +34 -1
  201. package/dist/production/src/SystemContainer.cjs.map +1 -1
  202. package/dist/production/src/SystemContainer.js +34 -1
  203. package/dist/production/src/SystemContainer.js.map +1 -1
  204. package/dist/production/src/migrations/2018-08-04-102200-init.cjs.map +1 -1
  205. package/dist/production/src/migrations/2018-08-04-102200-init.js.map +1 -1
  206. package/dist/production/src/migrations/2018-08-05-130501-trigger-event-function.cjs.map +1 -1
  207. package/dist/production/src/migrations/2018-08-05-130501-trigger-event-function.js.map +1 -1
  208. package/dist/production/src/migrations/2019-01-14-143432-event-trx-id.cjs.map +1 -1
  209. package/dist/production/src/migrations/2019-01-14-143432-event-trx-id.js.map +1 -1
  210. package/dist/production/src/migrations/2019-02-04-154500-event-rebase.cjs.map +1 -1
  211. package/dist/production/src/migrations/2019-02-04-154500-event-rebase.js.map +1 -1
  212. package/dist/production/src/migrations/2019-03-18-104147-event-run-migration-struct.cjs.map +1 -1
  213. package/dist/production/src/migrations/2019-03-18-104147-event-run-migration-struct.js.map +1 -1
  214. package/dist/production/src/migrations/2019-07-29-103000-trigger-event-function-fix.cjs.map +1 -1
  215. package/dist/production/src/migrations/2019-07-29-103000-trigger-event-function-fix.js.map +1 -1
  216. package/dist/production/src/migrations/2019-11-28-100000-missing-setting-fallback.cjs.map +1 -1
  217. package/dist/production/src/migrations/2019-11-28-100000-missing-setting-fallback.js.map +1 -1
  218. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
  219. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
  220. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
  221. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
  222. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
  223. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
  224. package/dist/production/src/migrations/2021-03-23-110000-timestamp-fix.cjs.map +1 -1
  225. package/dist/production/src/migrations/2021-03-23-110000-timestamp-fix.js.map +1 -1
  226. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
  227. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
  228. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
  229. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
  230. package/dist/production/src/migrations/2021-12-21-155500-events-up.cjs.map +1 -1
  231. package/dist/production/src/migrations/2021-12-21-155500-events-up.js.map +1 -1
  232. package/dist/production/src/migrations/2022-02-08-132600-fn-search-path.cjs.map +1 -1
  233. package/dist/production/src/migrations/2022-02-08-132600-fn-search-path.js.map +1 -1
  234. package/dist/production/src/migrations/2022-02-08-140500-drop-deadcode.cjs.map +1 -1
  235. package/dist/production/src/migrations/2022-02-08-140500-drop-deadcode.js.map +1 -1
  236. package/dist/production/src/migrations/2022-02-08-144400-dynamic-stage-schema.cjs.map +1 -1
  237. package/dist/production/src/migrations/2022-02-08-144400-dynamic-stage-schema.js.map +1 -1
  238. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
  239. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
  240. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs +3 -1
  241. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
  242. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js +3 -1
  243. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
  244. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs +3 -1
  245. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
  246. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js +3 -1
  247. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
  248. package/dist/production/src/migrations/2023-10-24-140000-schema-nullable-checksum.cjs.map +1 -1
  249. package/dist/production/src/migrations/2023-10-24-140000-schema-nullable-checksum.js.map +1 -1
  250. package/dist/production/src/migrations/2024-06-28-150000-migrations-drop-sequence.cjs.map +1 -1
  251. package/dist/production/src/migrations/2024-06-28-150000-migrations-drop-sequence.js.map +1 -1
  252. package/dist/production/src/migrations/2024-06-28-153000-schema.cjs.map +1 -1
  253. package/dist/production/src/migrations/2024-06-28-153000-schema.js.map +1 -1
  254. package/dist/production/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -1
  255. package/dist/production/src/migrations/2024-06-28-153001-schema-init.js.map +1 -1
  256. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.cjs.map +1 -1
  257. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.js.map +1 -1
  258. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.cjs.map +1 -1
  259. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.js.map +1 -1
  260. package/dist/production/src/migrations/runner.cjs.map +1 -1
  261. package/dist/production/src/migrations/runner.js.map +1 -1
  262. package/dist/production/src/migrations/snapshot-factory.cjs.map +1 -1
  263. package/dist/production/src/migrations/snapshot-factory.js.map +1 -1
  264. package/dist/production/src/model/ProjectInitializer.cjs +18 -14
  265. package/dist/production/src/model/ProjectInitializer.cjs.map +1 -1
  266. package/dist/production/src/model/ProjectInitializer.js +18 -14
  267. package/dist/production/src/model/ProjectInitializer.js.map +1 -1
  268. package/dist/production/src/model/ProjectTruncateExecutor.cjs.map +1 -1
  269. package/dist/production/src/model/ProjectTruncateExecutor.js.map +1 -1
  270. package/dist/production/src/model/authorization/AuthorizationActions.cjs.map +1 -1
  271. package/dist/production/src/model/authorization/AuthorizationActions.js.map +1 -1
  272. package/dist/production/src/model/authorization/Identity.cjs.map +1 -1
  273. package/dist/production/src/model/authorization/Identity.js.map +1 -1
  274. package/dist/production/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  275. package/dist/production/src/model/authorization/PermissionsFactory.js.map +1 -1
  276. package/dist/production/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
  277. package/dist/production/src/model/authorization/StagePermissionsFactory.js.map +1 -1
  278. package/dist/production/src/model/authorization/StageScope.cjs.map +1 -1
  279. package/dist/production/src/model/authorization/StageScope.js.map +1 -1
  280. package/dist/production/src/model/authorization/SwitchEvaluatorNode.cjs.map +1 -1
  281. package/dist/production/src/model/authorization/SwitchEvaluatorNode.js.map +1 -1
  282. package/dist/production/src/model/commands/CommandBus.cjs +1 -3
  283. package/dist/production/src/model/commands/CommandBus.cjs.map +1 -1
  284. package/dist/production/src/model/commands/CommandBus.js +1 -3
  285. package/dist/production/src/model/commands/CommandBus.js.map +1 -1
  286. package/dist/production/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
  287. package/dist/production/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
  288. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
  289. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
  290. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
  291. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
  292. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
  293. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
  294. package/dist/production/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -1
  295. package/dist/production/src/model/commands/schema/SaveSchemaCommand.js.map +1 -1
  296. package/dist/production/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
  297. package/dist/production/src/model/commands/stages/CreateStageCommand.js.map +1 -1
  298. package/dist/production/src/model/database/DatabaseContext.cjs.map +1 -1
  299. package/dist/production/src/model/database/DatabaseContext.js.map +1 -1
  300. package/dist/production/src/model/dtos/ExecutedMigration.cjs.map +1 -1
  301. package/dist/production/src/model/dtos/ExecutedMigration.js.map +1 -1
  302. package/dist/production/src/model/events/EventResponseBuilder.cjs.map +1 -1
  303. package/dist/production/src/model/events/EventResponseBuilder.js.map +1 -1
  304. package/dist/production/src/model/events/EventResponseHelper.cjs.map +1 -1
  305. package/dist/production/src/model/events/EventResponseHelper.js.map +1 -1
  306. package/dist/production/src/model/events/identityUtils.cjs.map +1 -1
  307. package/dist/production/src/model/events/identityUtils.js.map +1 -1
  308. package/dist/production/src/model/events/types.cjs.map +1 -1
  309. package/dist/production/src/model/events/types.js.map +1 -1
  310. package/dist/production/src/model/helpers/modelHelpers.cjs.map +1 -1
  311. package/dist/production/src/model/helpers/modelHelpers.js.map +1 -1
  312. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
  313. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
  314. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
  315. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
  316. package/dist/production/src/model/migrations/MigrationAlterer.cjs.map +1 -1
  317. package/dist/production/src/model/migrations/MigrationAlterer.js.map +1 -1
  318. package/dist/production/src/model/migrations/ProjectMigrator.cjs +25 -13
  319. package/dist/production/src/model/migrations/ProjectMigrator.cjs.map +1 -1
  320. package/dist/production/src/model/migrations/ProjectMigrator.js +25 -13
  321. package/dist/production/src/model/migrations/ProjectMigrator.js.map +1 -1
  322. package/dist/production/src/model/migrations/SchemaProvider.cjs +1 -4
  323. package/dist/production/src/model/migrations/SchemaProvider.cjs.map +1 -1
  324. package/dist/production/src/model/migrations/SchemaProvider.js +2 -5
  325. package/dist/production/src/model/migrations/SchemaProvider.js.map +1 -1
  326. package/dist/production/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
  327. package/dist/production/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  328. package/dist/production/src/model/queries/events/EventsQuery.cjs +1 -5
  329. package/dist/production/src/model/queries/events/EventsQuery.cjs.map +1 -1
  330. package/dist/production/src/model/queries/events/EventsQuery.js +1 -5
  331. package/dist/production/src/model/queries/events/EventsQuery.js.map +1 -1
  332. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.cjs.map +1 -1
  333. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.js.map +1 -1
  334. package/dist/production/src/model/queries/events/OldValuesQuery.cjs +1 -5
  335. package/dist/production/src/model/queries/events/OldValuesQuery.cjs.map +1 -1
  336. package/dist/production/src/model/queries/events/OldValuesQuery.js +1 -5
  337. package/dist/production/src/model/queries/events/OldValuesQuery.js.map +1 -1
  338. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
  339. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  340. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
  341. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  342. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs.map +1 -1
  343. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -1
  344. package/dist/production/src/model/queries/schema/SchemaQuery.cjs.map +1 -1
  345. package/dist/production/src/model/queries/schema/SchemaQuery.js.map +1 -1
  346. package/dist/production/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  347. package/dist/production/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  348. package/dist/production/src/model/queries/stages/StageQueryFactory.cjs.map +1 -1
  349. package/dist/production/src/model/queries/stages/StageQueryFactory.js.map +1 -1
  350. package/dist/production/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  351. package/dist/production/src/model/queries/stages/StagesQuery.js.map +1 -1
  352. package/dist/production/src/model/stages/StageCreator.cjs +0 -2
  353. package/dist/production/src/model/stages/StageCreator.cjs.map +1 -1
  354. package/dist/production/src/model/stages/StageCreator.js +0 -2
  355. package/dist/production/src/model/stages/StageCreator.js.map +1 -1
  356. package/dist/production/src/resolvers/ResolverFactory.cjs +1 -1
  357. package/dist/production/src/resolvers/ResolverFactory.cjs.map +1 -1
  358. package/dist/production/src/resolvers/ResolverFactory.js +2 -2
  359. package/dist/production/src/resolvers/ResolverFactory.js.map +1 -1
  360. package/dist/production/src/resolvers/SystemResolverContext.cjs.map +1 -1
  361. package/dist/production/src/resolvers/SystemResolverContext.js.map +1 -1
  362. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  363. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  364. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  365. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  366. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  367. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  368. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs +8 -6
  369. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  370. package/dist/production/src/resolvers/query/EventsQueryResolver.js +8 -6
  371. package/dist/production/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  372. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  373. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  374. package/dist/production/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -1
  375. package/dist/production/src/resolvers/query/SchemaQueryResolver.js.map +1 -1
  376. package/dist/production/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  377. package/dist/production/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  378. package/dist/production/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  379. package/dist/production/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  380. package/dist/production/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  381. package/dist/production/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  382. package/dist/production/src/schema/dev.graphql.cjs.map +1 -1
  383. package/dist/production/src/schema/system.graphql.cjs.map +1 -1
  384. package/dist/production/src/schema/types.cjs.map +1 -1
  385. package/dist/production/src/schema/types.js.map +1 -1
  386. package/dist/production/src/utils/MapSet.cjs.map +1 -1
  387. package/dist/production/src/utils/MapSet.js.map +1 -1
  388. package/dist/production/src/utils/Response.cjs.map +1 -1
  389. package/dist/production/src/utils/Response.js.map +1 -1
  390. package/dist/production/src/utils/assertNever.cjs.map +1 -1
  391. package/dist/production/src/utils/assertNever.js.map +1 -1
  392. package/dist/production/src/utils/batchQuery.cjs.map +1 -1
  393. package/dist/production/src/utils/batchQuery.js.map +1 -1
  394. package/dist/production/src/utils/tick.cjs.map +1 -1
  395. package/dist/production/src/utils/tick.js.map +1 -1
  396. package/dist/production/src/utils/tuple.cjs.map +1 -1
  397. package/dist/production/src/utils/tuple.js.map +1 -1
  398. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  399. package/dist/types/SystemContainer.d.ts.map +1 -1
  400. package/dist/types/index.d.ts +2 -2
  401. package/dist/types/index.d.ts.map +1 -1
  402. package/dist/types/migrations/2018-08-04-102200-init.d.ts.map +1 -1
  403. package/dist/types/migrations/2018-08-05-130501-trigger-event-function.d.ts.map +1 -1
  404. package/dist/types/migrations/2019-01-14-143432-event-trx-id.d.ts.map +1 -1
  405. package/dist/types/migrations/2019-02-04-154500-event-rebase.d.ts.map +1 -1
  406. package/dist/types/migrations/2019-03-18-104147-event-run-migration-struct.d.ts.map +1 -1
  407. package/dist/types/migrations/2019-07-29-103000-trigger-event-function-fix.d.ts.map +1 -1
  408. package/dist/types/migrations/2019-11-28-100000-missing-setting-fallback.d.ts.map +1 -1
  409. package/dist/types/migrations/2020-03-27-130000-project-migrations.d.ts.map +1 -1
  410. package/dist/types/migrations/2020-05-06-150000-composed-primary.d.ts.map +1 -1
  411. package/dist/types/migrations/2020-06-01-103000-event-trigger-perf.d.ts.map +1 -1
  412. package/dist/types/migrations/2021-03-23-110000-timestamp-fix.d.ts.map +1 -1
  413. package/dist/types/migrations/2021-05-07-155800-event-log-rework.d.ts.map +1 -1
  414. package/dist/types/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts.map +1 -1
  415. package/dist/types/migrations/2021-12-21-155500-events-up.d.ts.map +1 -1
  416. package/dist/types/migrations/2022-02-08-132600-fn-search-path.d.ts.map +1 -1
  417. package/dist/types/migrations/2022-02-08-140500-drop-deadcode.d.ts.map +1 -1
  418. package/dist/types/migrations/2022-02-08-144400-dynamic-stage-schema.d.ts.map +1 -1
  419. package/dist/types/migrations/2022-10-03-110000-table-on-delete.d.ts.map +1 -1
  420. package/dist/types/migrations/2023-09-11-174000-fix-on-delete.d.ts.map +1 -1
  421. package/dist/types/migrations/2023-10-19-173000-fix-unique.d.ts.map +1 -1
  422. package/dist/types/migrations/2023-10-24-140000-schema-nullable-checksum.d.ts.map +1 -1
  423. package/dist/types/migrations/2024-06-28-150000-migrations-drop-sequence.d.ts.map +1 -1
  424. package/dist/types/migrations/2024-06-28-153000-schema.d.ts.map +1 -1
  425. package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts.map +1 -1
  426. package/dist/types/migrations/2024-07-29-150000-event-data-index.d.ts.map +1 -1
  427. package/dist/types/migrations/2025-03-14-110000-fix-missing-index.d.ts.map +1 -1
  428. package/dist/types/migrations/runner.d.ts.map +1 -1
  429. package/dist/types/migrations/snapshot-factory.d.ts.map +1 -1
  430. package/dist/types/model/ProjectInitializer.d.ts.map +1 -1
  431. package/dist/types/model/commands/Command.d.ts +1 -1
  432. package/dist/types/model/commands/Command.d.ts.map +1 -1
  433. package/dist/types/model/commands/CommandBus.d.ts.map +1 -1
  434. package/dist/types/model/commands/migrations/SaveMigrationCommand.d.ts.map +1 -1
  435. package/dist/types/model/dtos/ExecutedMigration.d.ts.map +1 -1
  436. package/dist/types/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts.map +1 -1
  437. package/dist/types/model/migrations/ProjectMigrator.d.ts +1 -0
  438. package/dist/types/model/migrations/ProjectMigrator.d.ts.map +1 -1
  439. package/dist/types/model/migrations/SchemaProvider.d.ts.map +1 -1
  440. package/dist/types/model/queries/events/EventsQuery.d.ts.map +1 -1
  441. package/dist/types/model/queries/schema/SchemaQuery.d.ts.map +1 -1
  442. package/dist/types/model/stages/StageCreator.d.ts +0 -1
  443. package/dist/types/model/stages/StageCreator.d.ts.map +1 -1
  444. package/dist/types/resolvers/ResolverFactory.d.ts.map +1 -1
  445. package/dist/types/resolvers/SystemResolverContext.d.ts.map +1 -1
  446. package/dist/types/resolvers/mutation/MigrateMutationResolver.d.ts.map +1 -1
  447. package/dist/types/resolvers/mutation/MigrationAlterMutationResolver.d.ts.map +1 -1
  448. package/dist/types/resolvers/query/EventsQueryResolver.d.ts.map +1 -1
  449. package/dist/types/schema/types.d.ts.map +1 -1
  450. package/dist/types/tsconfig.tsbuildinfo +1 -1
  451. package/graphql.codegen.yml +1 -1
  452. package/package.json +24 -19
  453. package/src/SystemContainer.ts +61 -56
  454. package/src/bin/runMigrations.ts +1 -5
  455. package/src/index.ts +5 -5
  456. package/src/migrations/2018-08-04-102200-init.ts +1 -1
  457. package/src/migrations/2018-08-05-130501-trigger-event-function.ts +1 -1
  458. package/src/migrations/2019-01-14-143432-event-trx-id.ts +1 -1
  459. package/src/migrations/2019-02-04-154500-event-rebase.ts +1 -1
  460. package/src/migrations/2019-03-18-104147-event-run-migration-struct.ts +1 -1
  461. package/src/migrations/2019-07-29-103000-trigger-event-function-fix.ts +1 -1
  462. package/src/migrations/2019-11-28-100000-missing-setting-fallback.ts +1 -1
  463. package/src/migrations/2020-03-27-130000-project-migrations.ts +1 -1
  464. package/src/migrations/2020-05-06-150000-composed-primary.ts +1 -1
  465. package/src/migrations/2020-06-01-103000-event-trigger-perf.ts +1 -1
  466. package/src/migrations/2021-03-23-110000-timestamp-fix.ts +1 -1
  467. package/src/migrations/2021-05-07-155800-event-log-rework.ts +1 -1
  468. package/src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts +1 -1
  469. package/src/migrations/2021-12-21-155500-events-up.ts +1 -1
  470. package/src/migrations/2022-02-08-132600-fn-search-path.ts +1 -1
  471. package/src/migrations/2022-02-08-140500-drop-deadcode.ts +1 -1
  472. package/src/migrations/2022-02-08-144400-dynamic-stage-schema.ts +1 -1
  473. package/src/migrations/2022-10-03-110000-table-on-delete.ts +11 -7
  474. package/src/migrations/2023-09-11-174000-fix-on-delete.ts +14 -8
  475. package/src/migrations/2023-10-19-173000-fix-unique.ts +5 -4
  476. package/src/migrations/2023-10-24-140000-schema-nullable-checksum.ts +1 -1
  477. package/src/migrations/2024-06-28-150000-migrations-drop-sequence.ts +1 -1
  478. package/src/migrations/2024-06-28-153000-schema.ts +1 -1
  479. package/src/migrations/2024-06-28-153001-schema-init.ts +1 -2
  480. package/src/migrations/2024-07-29-150000-event-data-index.ts +1 -1
  481. package/src/migrations/2025-03-14-110000-fix-missing-index.ts +2 -3
  482. package/src/migrations/runner.ts +12 -12
  483. package/src/migrations/snapshot-factory.ts +0 -1
  484. package/src/model/ProjectInitializer.ts +19 -14
  485. package/src/model/commands/Command.ts +1 -1
  486. package/src/model/commands/CommandBus.ts +1 -3
  487. package/src/model/commands/migrations/SaveMigrationCommand.ts +1 -2
  488. package/src/model/database/DatabaseContext.ts +1 -2
  489. package/src/model/dtos/ExecutedMigration.ts +0 -1
  490. package/src/model/dtos/Stage.ts +0 -1
  491. package/src/model/events/types.ts +0 -1
  492. package/src/model/metadata/SchemaDatabaseMetadataResolverStore.ts +0 -2
  493. package/src/model/migrations/ProjectMigrator.ts +36 -20
  494. package/src/model/migrations/SchemaProvider.ts +5 -6
  495. package/src/model/queries/events/EventsQuery.ts +3 -7
  496. package/src/model/queries/events/OldValuesQuery.ts +4 -4
  497. package/src/model/queries/schema/SchemaQuery.ts +1 -3
  498. package/src/model/stages/StageCreator.ts +0 -2
  499. package/src/resolvers/ResolverFactory.ts +3 -4
  500. package/src/resolvers/SystemResolverContext.ts +3 -1
  501. package/src/resolvers/mutation/MigrateMutationResolver.ts +38 -37
  502. package/src/resolvers/mutation/MigrationAlterMutationResolver.ts +0 -1
  503. package/src/resolvers/query/EventsQueryResolver.ts +8 -6
  504. package/src/schema/types.ts +69 -43
  505. package/tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts +10 -9
  506. package/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts +10 -10
  507. package/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts +32 -34
  508. package/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.ts +65 -67
  509. package/tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts +23 -25
  510. package/tests/cases/migrations/2025-03-14-110000-fix-missing-index.test.ts +18 -19
  511. package/tests/cases/unit/eventsQuery.test.ts +22 -15
  512. package/tests/.eslintrc.cjs +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"2024-06-28-153000-schema.js","sources":["../../../../../packages/engine-system-api/src/migrations/2024-06-28-153000-schema.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\n// deliberately using \"JSON\" instead of \"JSONB\" to preserve the order of keys\n\nconst sql = `\nCREATE TYPE SCHEMA_SINGLE AS ENUM ('single');\nCREATE TABLE \"schema\"\n(\n\tid SCHEMA_SINGLE NOT NULL PRIMARY KEY DEFAULT 'single',\n\tschema JSON NOT NULL,\n\tupdated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n\tchecksum CHAR(32) NOT NULL,\n\tversion VARCHAR(20) NOT NULL,\n\tmigration_id INT NOT NULL REFERENCES schema_migration(id) DEFERRABLE INITIALLY DEFERRED\n);\n`\n\nexport default async function (builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":"AAIA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaZ,eAAA,sBAA+B,SAA2B;AACzD,UAAQ,IAAI,GAAG;AAChB;"}
1
+ {"version":3,"file":"2024-06-28-153000-schema.js","sources":["../../../../../packages/engine-system-api/src/migrations/2024-06-28-153000-schema.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\n// deliberately using \"JSON\" instead of \"JSONB\" to preserve the order of keys\n\nconst sql = `\nCREATE TYPE SCHEMA_SINGLE AS ENUM ('single');\nCREATE TABLE \"schema\"\n(\n\tid SCHEMA_SINGLE NOT NULL PRIMARY KEY DEFAULT 'single',\n\tschema JSON NOT NULL,\n\tupdated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n\tchecksum CHAR(32) NOT NULL,\n\tversion VARCHAR(20) NOT NULL,\n\tmigration_id INT NOT NULL REFERENCES schema_migration(id) DEFERRABLE INITIALLY DEFERRED\n);\n`\n\nexport default async function(builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":"AAIA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaZ,eAAA,sBAA8B,SAA2B;AACxD,UAAQ,IAAI,GAAG;AAChB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"2024-06-28-153001-schema-init.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2024-06-28-153001-schema-init.ts"],"sourcesContent":["import { escapeValue, MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = await args.schemaResolver(args.connection)\n\tif (!schema.meta.id) {\n\t\treturn\n\t}\n\tbuilder.sql(`INSERT INTO schema(schema, checksum, version, migration_id) \nVALUES(${escapeValue(JSON.stringify(schema.schema))}, ${escapeValue(schema.meta.checksum)}, ${escapeValue(schema.meta.version)}, ${schema.meta.id})`)\n}\n"],"names":["escapeValue"],"mappings":";;AAIA,eAAA,0BAA+B,SAA2B,MAA0C;AACnG,QAAM,SAAS,MAAM,KAAK,eAAe,KAAK,UAAU;AACpD,MAAA,CAAC,OAAO,KAAK,IAAI;AACpB;AAAA,EAAA;AAED,UAAQ,IAAI;AAAA,SACJA,+BAAY,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC,KAAKA,mBAAAA,YAAY,OAAO,KAAK,QAAQ,CAAC,KAAKA,mBAAY,YAAA,OAAO,KAAK,OAAO,CAAC,KAAK,OAAO,KAAK,EAAE,GAAG;AACpJ;;"}
1
+ {"version":3,"file":"2024-06-28-153001-schema-init.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2024-06-28-153001-schema-init.ts"],"sourcesContent":["import { escapeValue, MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\nexport default async function(builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = await args.schemaResolver(args.connection)\n\tif (!schema.meta.id) {\n\t\treturn\n\t}\n\tbuilder.sql(`INSERT INTO schema(schema, checksum, version, migration_id) \nVALUES(${escapeValue(JSON.stringify(schema.schema))}, ${escapeValue(schema.meta.checksum)}, ${escapeValue(schema.meta.version)}, ${schema.meta.id})`)\n}\n"],"names":["escapeValue"],"mappings":";;AAGA,eAAA,0BAA8B,SAA2B,MAA0C;AAClG,QAAM,SAAS,MAAM,KAAK,eAAe,KAAK,UAAU;AACxD,MAAI,CAAC,OAAO,KAAK,IAAI;AACpB;AAAA,EACD;AACA,UAAQ,IAAI;AAAA,SACJA,+BAAY,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC,KAAKA,mBAAAA,YAAY,OAAO,KAAK,QAAQ,CAAC,KAAKA,mBAAAA,YAAY,OAAO,KAAK,OAAO,CAAC,KAAK,OAAO,KAAK,EAAE,GAAG;AACpJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"2024-06-28-153001-schema-init.js","sources":["../../../../../packages/engine-system-api/src/migrations/2024-06-28-153001-schema-init.ts"],"sourcesContent":["import { escapeValue, MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = await args.schemaResolver(args.connection)\n\tif (!schema.meta.id) {\n\t\treturn\n\t}\n\tbuilder.sql(`INSERT INTO schema(schema, checksum, version, migration_id) \nVALUES(${escapeValue(JSON.stringify(schema.schema))}, ${escapeValue(schema.meta.checksum)}, ${escapeValue(schema.meta.version)}, ${schema.meta.id})`)\n}\n"],"names":[],"mappings":";AAIA,eAAA,0BAA+B,SAA2B,MAA0C;AACnG,QAAM,SAAS,MAAM,KAAK,eAAe,KAAK,UAAU;AACpD,MAAA,CAAC,OAAO,KAAK,IAAI;AACpB;AAAA,EAAA;AAED,UAAQ,IAAI;AAAA,SACJ,YAAY,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC,KAAK,YAAY,OAAO,KAAK,QAAQ,CAAC,KAAK,YAAY,OAAO,KAAK,OAAO,CAAC,KAAK,OAAO,KAAK,EAAE,GAAG;AACpJ;"}
1
+ {"version":3,"file":"2024-06-28-153001-schema-init.js","sources":["../../../../../packages/engine-system-api/src/migrations/2024-06-28-153001-schema-init.ts"],"sourcesContent":["import { escapeValue, MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\nexport default async function(builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = await args.schemaResolver(args.connection)\n\tif (!schema.meta.id) {\n\t\treturn\n\t}\n\tbuilder.sql(`INSERT INTO schema(schema, checksum, version, migration_id) \nVALUES(${escapeValue(JSON.stringify(schema.schema))}, ${escapeValue(schema.meta.checksum)}, ${escapeValue(schema.meta.version)}, ${schema.meta.id})`)\n}\n"],"names":[],"mappings":";AAGA,eAAA,0BAA8B,SAA2B,MAA0C;AAClG,QAAM,SAAS,MAAM,KAAK,eAAe,KAAK,UAAU;AACxD,MAAI,CAAC,OAAO,KAAK,IAAI;AACpB;AAAA,EACD;AACA,UAAQ,IAAI;AAAA,SACJ,YAAY,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC,KAAK,YAAY,OAAO,KAAK,QAAQ,CAAC,KAAK,YAAY,OAAO,KAAK,OAAO,CAAC,KAAK,OAAO,KAAK,EAAE,GAAG;AACpJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"2024-07-29-150000-event-data-index.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2024-07-29-150000-event-data-index.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\nconst sql = `\nCREATE INDEX IF NOT EXISTS system_event_data_row_id_0 ON event_data USING btree ((row_ids -> 0));\nCREATE INDEX IF NOT EXISTS system_event_data_row_id_1 ON event_data USING btree ((row_ids -> 1));\nDROP INDEX IF EXISTS system_event_row_id;\n`\n\nexport default async function (builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":";AAEA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAMZ,eAAA,8BAA+B,SAA2B;AACzD,UAAQ,IAAI,GAAG;AAChB;;"}
1
+ {"version":3,"file":"2024-07-29-150000-event-data-index.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2024-07-29-150000-event-data-index.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\nconst sql = `\nCREATE INDEX IF NOT EXISTS system_event_data_row_id_0 ON event_data USING btree ((row_ids -> 0));\nCREATE INDEX IF NOT EXISTS system_event_data_row_id_1 ON event_data USING btree ((row_ids -> 1));\nDROP INDEX IF EXISTS system_event_row_id;\n`\n\nexport default async function(builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":";AAEA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAMZ,eAAA,8BAA8B,SAA2B;AACxD,UAAQ,IAAI,GAAG;AAChB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"2024-07-29-150000-event-data-index.js","sources":["../../../../../packages/engine-system-api/src/migrations/2024-07-29-150000-event-data-index.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\nconst sql = `\nCREATE INDEX IF NOT EXISTS system_event_data_row_id_0 ON event_data USING btree ((row_ids -> 0));\nCREATE INDEX IF NOT EXISTS system_event_data_row_id_1 ON event_data USING btree ((row_ids -> 1));\nDROP INDEX IF EXISTS system_event_row_id;\n`\n\nexport default async function (builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":"AAEA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAMZ,eAAA,8BAA+B,SAA2B;AACzD,UAAQ,IAAI,GAAG;AAChB;"}
1
+ {"version":3,"file":"2024-07-29-150000-event-data-index.js","sources":["../../../../../packages/engine-system-api/src/migrations/2024-07-29-150000-event-data-index.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\n\nconst sql = `\nCREATE INDEX IF NOT EXISTS system_event_data_row_id_0 ON event_data USING btree ((row_ids -> 0));\nCREATE INDEX IF NOT EXISTS system_event_data_row_id_1 ON event_data USING btree ((row_ids -> 1));\nDROP INDEX IF EXISTS system_event_row_id;\n`\n\nexport default async function(builder: MigrationBuilder) {\n\tbuilder.sql(sql)\n}\n"],"names":[],"mappings":"AAEA,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAMZ,eAAA,8BAA8B,SAA2B;AACxD,UAAQ,IAAI,GAAG;AAChB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"2025-03-14-110000-fix-missing-index.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2025-03-14-110000-fix-missing-index.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { wrapIdentifier } from '@contember/database'\nimport { Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = (await args.schemaResolver(args.connection)).schema\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tif (entity.indexes.length === 0) {\n\t\t\tcontinue\n\t\t}\n\t\tif (entity.view) {\n\t\t\tcontinue\n\t\t}\n\n\t\tfor (const stage of stages) {\n\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\tfor (const index of entity.indexes) {\n\t\t\t\tconst columns = getIndexColumns({\n\t\t\t\t\tentity,\n\t\t\t\t\tfields: index.fields,\n\t\t\t\t\tmodel: schema.model,\n\t\t\t\t})\n\t\t\t\tconst indexNames = databaseMetadata.indexes.filter({ tableName: entity.tableName, columnNames: columns }).getNames()\n\t\t\t\tif (indexNames.length > 0) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tconst tableNameId = wrapIdentifier(entity.tableName)\n\t\t\t\tconst columnNameIds = columns.map(wrapIdentifier)\n\n\t\t\t\tbuilder.sql(`CREATE INDEX ON ${wrapIdentifier(stage.schema)}.${tableNameId} (${columnNameIds.join(', ')})`)\n\n\t\t\t}\n\t\t}\n\t}\n}\n\nconst getIndexColumns = ({ entity, fields, model }: { fields: readonly string[]; model: Model.Schema; entity: Model.Entity }) => {\n\treturn fields.map(fieldName => {\n\t\treturn acceptFieldVisitor(model, entity, fieldName, {\n\t\t\tvisitColumn: ({ column }) => {\n\t\t\t\treturn column.columnName\n\t\t\t},\n\t\t\tvisitManyHasOne: ({ relation }) => {\n\t\t\t\treturn relation.joiningColumn.columnName\n\t\t\t},\n\t\t\tvisitOneHasOneOwning: ({ relation }) => {\n\t\t\t\treturn relation.joiningColumn.columnName\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {\n\t\t\t\tthrow new Error(`Cannot create index on 1:m relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t\tvisitOneHasOneInverse: () => {\n\t\t\t\tthrow new Error(`Cannot create index on 1:1 inverse relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t\tvisitManyHasManyOwning: () => {\n\t\t\t\tthrow new Error(`Cannot create index on m:m relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {\n\t\t\t\tthrow new Error(`Cannot create index on m:m inverse relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t})\n\t})\n}\n"],"names":["wrapIdentifier","acceptFieldVisitor"],"mappings":";;;AAOA,eAAA,+BAA+B,SAA2B,MAA0C;AAPpG,MAAA;AAQC,QAAM,UAAU,MAAM,KAAK,eAAe,KAAK,UAAU,GAAG;AAC5D,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAC;AAE3D,aAAW,UAAU,OAAO,OAAO,OAAO,MAAM,QAAQ,GAAG;AACtD,QAAA,OAAO,QAAQ,WAAW,GAAG;AAChC;AAAA,IAAA;AAED,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAGD,eAAW,SAAS,QAAQ;AACrB,YAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEjH,iBAAA,SAAS,OAAO,SAAS;AACnC,cAAM,UAAU,gBAAgB;AAAA,UAC/B;AAAA,UACA,QAAQ,MAAM;AAAA,UACd,OAAO,OAAO;AAAA,QAAA,CACd;AACD,cAAM,aAAa,iBAAiB,QAAQ,OAAO,EAAE,WAAW,OAAO,WAAW,aAAa,QAAS,CAAA,EAAE,SAAS;AAC/G,YAAA,WAAW,SAAS,GAAG;AAC1B;AAAA,QAAA;AAGK,cAAA,cAAcA,SAAAA,eAAe,OAAO,SAAS;AAC7C,cAAA,gBAAgB,QAAQ,IAAIA,uBAAc;AAEhD,gBAAQ,IAAI,mBAAmBA,SAAAA,eAAe,MAAM,MAAM,CAAC,IAAI,WAAW,KAAK,cAAc,KAAK,IAAI,CAAC,GAAG;AAAA,MAAA;AAAA,IAE3G;AAAA,EACD;AAEF;AAEA,MAAM,kBAAkB,CAAC,EAAE,QAAQ,QAAQ,YAAsF;AACzH,SAAA,OAAO,IAAI,CAAa,cAAA;AACvB,WAAAC,+BAAmB,OAAO,QAAQ,WAAW;AAAA,MACnD,aAAa,CAAC,EAAE,aAAa;AAC5B,eAAO,OAAO;AAAA,MACf;AAAA,MACA,iBAAiB,CAAC,EAAE,eAAe;AAClC,eAAO,SAAS,cAAc;AAAA,MAC/B;AAAA,MACA,sBAAsB,CAAC,EAAE,eAAe;AACvC,eAAO,SAAS,cAAc;AAAA,MAC/B;AAAA,MACA,iBAAiB,MAAM;AACtB,cAAM,IAAI,MAAM,0CAA0C,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MACrF;AAAA,MACA,uBAAuB,MAAM;AAC5B,cAAM,IAAI,MAAM,kDAAkD,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MAC7F;AAAA,MACA,wBAAwB,MAAM;AAC7B,cAAM,IAAI,MAAM,0CAA0C,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MACrF;AAAA,MACA,yBAAyB,MAAM;AAC9B,cAAM,IAAI,MAAM,kDAAkD,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MAAA;AAAA,IAC7F,CACA;AAAA,EAAA,CACD;AACF;;"}
1
+ {"version":3,"file":"2025-03-14-110000-fix-missing-index.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/2025-03-14-110000-fix-missing-index.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { wrapIdentifier } from '@contember/database'\nimport { Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\n\nexport default async function(builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = (await args.schemaResolver(args.connection)).schema\n\tconst stages = (await args.connection.query<{ schema: string }>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tif (entity.indexes.length === 0) {\n\t\t\tcontinue\n\t\t}\n\t\tif (entity.view) {\n\t\t\tcontinue\n\t\t}\n\n\t\tfor (const stage of stages) {\n\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\tfor (const index of entity.indexes) {\n\t\t\t\tconst columns = getIndexColumns({\n\t\t\t\t\tentity,\n\t\t\t\t\tfields: index.fields,\n\t\t\t\t\tmodel: schema.model,\n\t\t\t\t})\n\t\t\t\tconst indexNames = databaseMetadata.indexes.filter({ tableName: entity.tableName, columnNames: columns }).getNames()\n\t\t\t\tif (indexNames.length > 0) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tconst tableNameId = wrapIdentifier(entity.tableName)\n\t\t\t\tconst columnNameIds = columns.map(wrapIdentifier)\n\n\t\t\t\tbuilder.sql(`CREATE INDEX ON ${wrapIdentifier(stage.schema)}.${tableNameId} (${columnNameIds.join(', ')})`)\n\t\t\t}\n\t\t}\n\t}\n}\n\nconst getIndexColumns = ({ entity, fields, model }: { fields: readonly string[]; model: Model.Schema; entity: Model.Entity }) => {\n\treturn fields.map(fieldName => {\n\t\treturn acceptFieldVisitor(model, entity, fieldName, {\n\t\t\tvisitColumn: ({ column }) => {\n\t\t\t\treturn column.columnName\n\t\t\t},\n\t\t\tvisitManyHasOne: ({ relation }) => {\n\t\t\t\treturn relation.joiningColumn.columnName\n\t\t\t},\n\t\t\tvisitOneHasOneOwning: ({ relation }) => {\n\t\t\t\treturn relation.joiningColumn.columnName\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {\n\t\t\t\tthrow new Error(`Cannot create index on 1:m relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t\tvisitOneHasOneInverse: () => {\n\t\t\t\tthrow new Error(`Cannot create index on 1:1 inverse relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t\tvisitManyHasManyOwning: () => {\n\t\t\t\tthrow new Error(`Cannot create index on m:m relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {\n\t\t\t\tthrow new Error(`Cannot create index on m:m inverse relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t})\n\t})\n}\n"],"names":["wrapIdentifier","acceptFieldVisitor"],"mappings":";;;AAOA,eAAA,+BAA8B,SAA2B,MAA0C;AAPnG,MAAA;AAQC,QAAM,UAAU,MAAM,KAAK,eAAe,KAAK,UAAU,GAAG;AAC5D,QAAM,UAAU,MAAM,KAAK,WAAW,MAA0B,0BAA0B,GAAG;AAC7F,QAAM,kBAAoD,CAAA;AAE1D,aAAW,UAAU,OAAO,OAAO,OAAO,MAAM,QAAQ,GAAG;AAC1D,QAAI,OAAO,QAAQ,WAAW,GAAG;AAChC;AAAA,IACD;AACA,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AAEA,eAAW,SAAS,QAAQ;AAC3B,YAAM,mBAAmB,gBAAA,KAAgB,MAAM,MAAA,MAAtB,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAE5H,iBAAW,SAAS,OAAO,SAAS;AACnC,cAAM,UAAU,gBAAgB;AAAA,UAC/B;AAAA,UACA,QAAQ,MAAM;AAAA,UACd,OAAO,OAAO;AAAA,QAAA,CACd;AACD,cAAM,aAAa,iBAAiB,QAAQ,OAAO,EAAE,WAAW,OAAO,WAAW,aAAa,QAAA,CAAS,EAAE,SAAA;AAC1G,YAAI,WAAW,SAAS,GAAG;AAC1B;AAAA,QACD;AAEA,cAAM,cAAcA,SAAAA,eAAe,OAAO,SAAS;AACnD,cAAM,gBAAgB,QAAQ,IAAIA,uBAAc;AAEhD,gBAAQ,IAAI,mBAAmBA,SAAAA,eAAe,MAAM,MAAM,CAAC,IAAI,WAAW,KAAK,cAAc,KAAK,IAAI,CAAC,GAAG;AAAA,MAC3G;AAAA,IACD;AAAA,EACD;AACD;AAEA,MAAM,kBAAkB,CAAC,EAAE,QAAQ,QAAQ,YAAsF;AAChI,SAAO,OAAO,IAAI,CAAA,cAAa;AAC9B,WAAOC,+BAAmB,OAAO,QAAQ,WAAW;AAAA,MACnD,aAAa,CAAC,EAAE,aAAa;AAC5B,eAAO,OAAO;AAAA,MACf;AAAA,MACA,iBAAiB,CAAC,EAAE,eAAe;AAClC,eAAO,SAAS,cAAc;AAAA,MAC/B;AAAA,MACA,sBAAsB,CAAC,EAAE,eAAe;AACvC,eAAO,SAAS,cAAc;AAAA,MAC/B;AAAA,MACA,iBAAiB,MAAM;AACtB,cAAM,IAAI,MAAM,0CAA0C,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MACrF;AAAA,MACA,uBAAuB,MAAM;AAC5B,cAAM,IAAI,MAAM,kDAAkD,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MAC7F;AAAA,MACA,wBAAwB,MAAM;AAC7B,cAAM,IAAI,MAAM,0CAA0C,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MACrF;AAAA,MACA,yBAAyB,MAAM;AAC9B,cAAM,IAAI,MAAM,kDAAkD,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MAC7F;AAAA,IAAA,CACA;AAAA,EACF,CAAC;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"2025-03-14-110000-fix-missing-index.js","sources":["../../../../../packages/engine-system-api/src/migrations/2025-03-14-110000-fix-missing-index.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { wrapIdentifier } from '@contember/database'\nimport { Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\n\nexport default async function (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = (await args.schemaResolver(args.connection)).schema\n\tconst stages = (await args.connection.query<{schema: string}>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tif (entity.indexes.length === 0) {\n\t\t\tcontinue\n\t\t}\n\t\tif (entity.view) {\n\t\t\tcontinue\n\t\t}\n\n\t\tfor (const stage of stages) {\n\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\tfor (const index of entity.indexes) {\n\t\t\t\tconst columns = getIndexColumns({\n\t\t\t\t\tentity,\n\t\t\t\t\tfields: index.fields,\n\t\t\t\t\tmodel: schema.model,\n\t\t\t\t})\n\t\t\t\tconst indexNames = databaseMetadata.indexes.filter({ tableName: entity.tableName, columnNames: columns }).getNames()\n\t\t\t\tif (indexNames.length > 0) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tconst tableNameId = wrapIdentifier(entity.tableName)\n\t\t\t\tconst columnNameIds = columns.map(wrapIdentifier)\n\n\t\t\t\tbuilder.sql(`CREATE INDEX ON ${wrapIdentifier(stage.schema)}.${tableNameId} (${columnNameIds.join(', ')})`)\n\n\t\t\t}\n\t\t}\n\t}\n}\n\nconst getIndexColumns = ({ entity, fields, model }: { fields: readonly string[]; model: Model.Schema; entity: Model.Entity }) => {\n\treturn fields.map(fieldName => {\n\t\treturn acceptFieldVisitor(model, entity, fieldName, {\n\t\t\tvisitColumn: ({ column }) => {\n\t\t\t\treturn column.columnName\n\t\t\t},\n\t\t\tvisitManyHasOne: ({ relation }) => {\n\t\t\t\treturn relation.joiningColumn.columnName\n\t\t\t},\n\t\t\tvisitOneHasOneOwning: ({ relation }) => {\n\t\t\t\treturn relation.joiningColumn.columnName\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {\n\t\t\t\tthrow new Error(`Cannot create index on 1:m relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t\tvisitOneHasOneInverse: () => {\n\t\t\t\tthrow new Error(`Cannot create index on 1:1 inverse relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t\tvisitManyHasManyOwning: () => {\n\t\t\t\tthrow new Error(`Cannot create index on m:m relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {\n\t\t\t\tthrow new Error(`Cannot create index on m:m inverse relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t})\n\t})\n}\n"],"names":[],"mappings":";;AAOA,eAAA,+BAA+B,SAA2B,MAA0C;AAPpG,MAAA;AAQC,QAAM,UAAU,MAAM,KAAK,eAAe,KAAK,UAAU,GAAG;AAC5D,QAAM,UAAU,MAAM,KAAK,WAAW,MAAwB,0BAA0B,GAAG;AAC3F,QAAM,kBAAoD,CAAC;AAE3D,aAAW,UAAU,OAAO,OAAO,OAAO,MAAM,QAAQ,GAAG;AACtD,QAAA,OAAO,QAAQ,WAAW,GAAG;AAChC;AAAA,IAAA;AAED,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAGD,eAAW,SAAS,QAAQ;AACrB,YAAA,mBAAmB,gBAAgB,KAAA,MAAM,MAAtB,MAAA,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAEjH,iBAAA,SAAS,OAAO,SAAS;AACnC,cAAM,UAAU,gBAAgB;AAAA,UAC/B;AAAA,UACA,QAAQ,MAAM;AAAA,UACd,OAAO,OAAO;AAAA,QAAA,CACd;AACD,cAAM,aAAa,iBAAiB,QAAQ,OAAO,EAAE,WAAW,OAAO,WAAW,aAAa,QAAS,CAAA,EAAE,SAAS;AAC/G,YAAA,WAAW,SAAS,GAAG;AAC1B;AAAA,QAAA;AAGK,cAAA,cAAc,eAAe,OAAO,SAAS;AAC7C,cAAA,gBAAgB,QAAQ,IAAI,cAAc;AAEhD,gBAAQ,IAAI,mBAAmB,eAAe,MAAM,MAAM,CAAC,IAAI,WAAW,KAAK,cAAc,KAAK,IAAI,CAAC,GAAG;AAAA,MAAA;AAAA,IAE3G;AAAA,EACD;AAEF;AAEA,MAAM,kBAAkB,CAAC,EAAE,QAAQ,QAAQ,YAAsF;AACzH,SAAA,OAAO,IAAI,CAAa,cAAA;AACvB,WAAA,mBAAmB,OAAO,QAAQ,WAAW;AAAA,MACnD,aAAa,CAAC,EAAE,aAAa;AAC5B,eAAO,OAAO;AAAA,MACf;AAAA,MACA,iBAAiB,CAAC,EAAE,eAAe;AAClC,eAAO,SAAS,cAAc;AAAA,MAC/B;AAAA,MACA,sBAAsB,CAAC,EAAE,eAAe;AACvC,eAAO,SAAS,cAAc;AAAA,MAC/B;AAAA,MACA,iBAAiB,MAAM;AACtB,cAAM,IAAI,MAAM,0CAA0C,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MACrF;AAAA,MACA,uBAAuB,MAAM;AAC5B,cAAM,IAAI,MAAM,kDAAkD,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MAC7F;AAAA,MACA,wBAAwB,MAAM;AAC7B,cAAM,IAAI,MAAM,0CAA0C,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MACrF;AAAA,MACA,yBAAyB,MAAM;AAC9B,cAAM,IAAI,MAAM,kDAAkD,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MAAA;AAAA,IAC7F,CACA;AAAA,EAAA,CACD;AACF;"}
1
+ {"version":3,"file":"2025-03-14-110000-fix-missing-index.js","sources":["../../../../../packages/engine-system-api/src/migrations/2025-03-14-110000-fix-missing-index.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { DatabaseMetadata } from '@contember/database'\nimport { SystemMigrationArgs } from './types'\nimport { wrapIdentifier } from '@contember/database'\nimport { Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\n\nexport default async function(builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {\n\tconst schema = (await args.schemaResolver(args.connection)).schema\n\tconst stages = (await args.connection.query<{ schema: string }>('SELECT schema FROM stage')).rows\n\tconst metadataByStage: Record<string, DatabaseMetadata> = {}\n\n\tfor (const entity of Object.values(schema.model.entities)) {\n\t\tif (entity.indexes.length === 0) {\n\t\t\tcontinue\n\t\t}\n\t\tif (entity.view) {\n\t\t\tcontinue\n\t\t}\n\n\t\tfor (const stage of stages) {\n\t\t\tconst databaseMetadata = metadataByStage[stage.schema] ??= await args.databaseMetadataResolver(args.connection, stage.schema)\n\n\t\t\tfor (const index of entity.indexes) {\n\t\t\t\tconst columns = getIndexColumns({\n\t\t\t\t\tentity,\n\t\t\t\t\tfields: index.fields,\n\t\t\t\t\tmodel: schema.model,\n\t\t\t\t})\n\t\t\t\tconst indexNames = databaseMetadata.indexes.filter({ tableName: entity.tableName, columnNames: columns }).getNames()\n\t\t\t\tif (indexNames.length > 0) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tconst tableNameId = wrapIdentifier(entity.tableName)\n\t\t\t\tconst columnNameIds = columns.map(wrapIdentifier)\n\n\t\t\t\tbuilder.sql(`CREATE INDEX ON ${wrapIdentifier(stage.schema)}.${tableNameId} (${columnNameIds.join(', ')})`)\n\t\t\t}\n\t\t}\n\t}\n}\n\nconst getIndexColumns = ({ entity, fields, model }: { fields: readonly string[]; model: Model.Schema; entity: Model.Entity }) => {\n\treturn fields.map(fieldName => {\n\t\treturn acceptFieldVisitor(model, entity, fieldName, {\n\t\t\tvisitColumn: ({ column }) => {\n\t\t\t\treturn column.columnName\n\t\t\t},\n\t\t\tvisitManyHasOne: ({ relation }) => {\n\t\t\t\treturn relation.joiningColumn.columnName\n\t\t\t},\n\t\t\tvisitOneHasOneOwning: ({ relation }) => {\n\t\t\t\treturn relation.joiningColumn.columnName\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {\n\t\t\t\tthrow new Error(`Cannot create index on 1:m relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t\tvisitOneHasOneInverse: () => {\n\t\t\t\tthrow new Error(`Cannot create index on 1:1 inverse relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t\tvisitManyHasManyOwning: () => {\n\t\t\t\tthrow new Error(`Cannot create index on m:m relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {\n\t\t\t\tthrow new Error(`Cannot create index on m:m inverse relation in ${entity.name}.${fieldName}`)\n\t\t\t},\n\t\t})\n\t})\n}\n"],"names":[],"mappings":";;AAOA,eAAA,+BAA8B,SAA2B,MAA0C;AAPnG,MAAA;AAQC,QAAM,UAAU,MAAM,KAAK,eAAe,KAAK,UAAU,GAAG;AAC5D,QAAM,UAAU,MAAM,KAAK,WAAW,MAA0B,0BAA0B,GAAG;AAC7F,QAAM,kBAAoD,CAAA;AAE1D,aAAW,UAAU,OAAO,OAAO,OAAO,MAAM,QAAQ,GAAG;AAC1D,QAAI,OAAO,QAAQ,WAAW,GAAG;AAChC;AAAA,IACD;AACA,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AAEA,eAAW,SAAS,QAAQ;AAC3B,YAAM,mBAAmB,gBAAA,KAAgB,MAAM,MAAA,MAAtB,gBAAA,EAAA,IAAkC,MAAM,KAAK,yBAAyB,KAAK,YAAY,MAAM,MAAM;AAE5H,iBAAW,SAAS,OAAO,SAAS;AACnC,cAAM,UAAU,gBAAgB;AAAA,UAC/B;AAAA,UACA,QAAQ,MAAM;AAAA,UACd,OAAO,OAAO;AAAA,QAAA,CACd;AACD,cAAM,aAAa,iBAAiB,QAAQ,OAAO,EAAE,WAAW,OAAO,WAAW,aAAa,QAAA,CAAS,EAAE,SAAA;AAC1G,YAAI,WAAW,SAAS,GAAG;AAC1B;AAAA,QACD;AAEA,cAAM,cAAc,eAAe,OAAO,SAAS;AACnD,cAAM,gBAAgB,QAAQ,IAAI,cAAc;AAEhD,gBAAQ,IAAI,mBAAmB,eAAe,MAAM,MAAM,CAAC,IAAI,WAAW,KAAK,cAAc,KAAK,IAAI,CAAC,GAAG;AAAA,MAC3G;AAAA,IACD;AAAA,EACD;AACD;AAEA,MAAM,kBAAkB,CAAC,EAAE,QAAQ,QAAQ,YAAsF;AAChI,SAAO,OAAO,IAAI,CAAA,cAAa;AAC9B,WAAO,mBAAmB,OAAO,QAAQ,WAAW;AAAA,MACnD,aAAa,CAAC,EAAE,aAAa;AAC5B,eAAO,OAAO;AAAA,MACf;AAAA,MACA,iBAAiB,CAAC,EAAE,eAAe;AAClC,eAAO,SAAS,cAAc;AAAA,MAC/B;AAAA,MACA,sBAAsB,CAAC,EAAE,eAAe;AACvC,eAAO,SAAS,cAAc;AAAA,MAC/B;AAAA,MACA,iBAAiB,MAAM;AACtB,cAAM,IAAI,MAAM,0CAA0C,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MACrF;AAAA,MACA,uBAAuB,MAAM;AAC5B,cAAM,IAAI,MAAM,kDAAkD,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MAC7F;AAAA,MACA,wBAAwB,MAAM;AAC7B,cAAM,IAAI,MAAM,0CAA0C,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MACrF;AAAA,MACA,yBAAyB,MAAM;AAC9B,cAAM,IAAI,MAAM,kDAAkD,OAAO,IAAI,IAAI,SAAS,EAAE;AAAA,MAC7F;AAAA,IAAA,CACA;AAAA,EACF,CAAC;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/runner.ts"],"sourcesContent":["import {\n\tGroupMigrationsResolver,\n\tMigrationGroup,\n\tMigrationsRunner as DbMigrationsRunner,\n\tSnapshotMigrationResolver,\n} from '@contember/database-migrations'\nimport _20180804102200init from './2018-08-04-102200-init'\nimport _20180805130501triggereventfunction from './2018-08-05-130501-trigger-event-function'\nimport _20190114143432eventtrxid from './2019-01-14-143432-event-trx-id'\nimport _20190204154500eventrebase from './2019-02-04-154500-event-rebase'\nimport _20190318104147eventrunmigrationstruct from './2019-03-18-104147-event-run-migration-struct'\nimport _20190729103000triggereventfunctionfix from './2019-07-29-103000-trigger-event-function-fix'\nimport _20191128100000missingsettingfallback from './2019-11-28-100000-missing-setting-fallback'\nimport _20200327130000projectmigrations from './2020-03-27-130000-project-migrations'\nimport _20200506150000composedprimary from './2020-05-06-150000-composed-primary'\nimport _20200601103000eventtriggerperf from './2020-06-01-103000-event-trigger-perf'\nimport _20210323110000timestampfix from './2021-03-23-110000-timestamp-fix'\nimport _20210507155800eventlogrework from './2021-05-07-155800-event-log-rework'\nimport _202105191232000eventlogfixconstraint from './2021-05-19-1232000-event-log-fix-constraint'\nimport _20211221155500eventsup from './2021-12-21-155500-events-up'\nimport _20220208132600fnsearchpath from './2022-02-08-132600-fn-search-path'\nimport _20220208140500dropdeadcode from './2022-02-08-140500-drop-deadcode'\nimport _20220208144400dynamicstageschema from './2022-02-08-144400-dynamic-stage-schema'\nimport _20221003110000tableondelete from './2022-10-03-110000-table-on-delete'\nimport _20230911174000fixondelete from './2023-09-11-174000-fix-on-delete'\nimport _20231019173000fixunique from './2023-10-19-173000-fix-unique'\nimport _20231024140000schemanullablechecksum from './2023-10-24-140000-schema-nullable-checksum'\nimport _20240628150000migrationsdropsequence from './2024-06-28-150000-migrations-drop-sequence'\nimport _20240628153000schema from './2024-06-28-153000-schema'\nimport _20240628153001schemainit from './2024-06-28-153001-schema-init'\nimport _20240729150000eventdataindex from './2024-07-29-150000-event-data-index'\nimport _20250314110000fixmissingindex from './2025-03-14-110000-fix-missing-index'\nimport snapshot from './snapshot'\n\nimport { Connection, createDatabaseIfNotExists, DatabaseConfig, DatabaseMetadataResolver } from '@contember/database'\nimport { DatabaseContextFactory, SchemaProvider } from '../model'\nimport { ProjectConfig } from '../types'\nimport { Logger } from '@contember/logger'\n\nconst migrations = {\n\t'2018-08-04-102200-init': _20180804102200init,\n\t'2018-08-05-130501-trigger-event-function': _20180805130501triggereventfunction,\n\t'2019-01-14-143432-event-trx-id': _20190114143432eventtrxid,\n\t'2019-02-04-154500-event-rebase': _20190204154500eventrebase,\n\t'2019-03-18-104147-event-run-migration-struct': _20190318104147eventrunmigrationstruct,\n\t'2019-07-29-103000-trigger-event-function-fix': _20190729103000triggereventfunctionfix,\n\t'2019-11-28-100000-missing-setting-fallback': _20191128100000missingsettingfallback,\n\t'2020-03-27-130000-project-migrations': _20200327130000projectmigrations,\n\t'2020-05-06-150000-composed-primary': _20200506150000composedprimary,\n\t'2020-06-01-103000-event-trigger-perf': _20200601103000eventtriggerperf,\n\t'2021-03-23-110000-timestamp-fix': _20210323110000timestampfix,\n\t'2021-05-07-155800-event-log-rework': _20210507155800eventlogrework,\n\t'2021-05-19-1232000-event-log-fix-constraint': _202105191232000eventlogfixconstraint,\n\t'2021-12-21-155500-events-up': _20211221155500eventsup,\n\t'2022-02-08-132600-fn-search-path': _20220208132600fnsearchpath,\n\t'2022-02-08-140500-drop-deadcode': _20220208140500dropdeadcode,\n\t'2022-02-08-144400-dynamic-stage-schema': _20220208144400dynamicstageschema,\n\t'2022-10-03-110000-table-on-delete': _20221003110000tableondelete,\n\t'2023-09-11-174000-fix-on-delete': _20230911174000fixondelete,\n\t'2023-10-19-173000-fix-unique': _20231019173000fixunique,\n\t'2023-10-24-140000-schema-nullable-checksum': _20231024140000schemanullablechecksum,\n\t'2024-06-28-150000-migrations-drop-sequence': _20240628150000migrationsdropsequence,\n\t'2024-06-28-153000-schema': _20240628153000schema,\n\t'2024-06-28-153001-schema-init': _20240628153001schemainit,\n\t'2024-07-29-150000-event-data-index': _20240729150000eventdataindex,\n\t'2025-03-14-110000-fix-missing-index': _20250314110000fixmissingindex,\n}\n\n\nexport class SystemMigrationsRunner {\n\tconstructor(\n\t\tprivate readonly databaseContextFactory: DatabaseContextFactory,\n\t\tprivate readonly project: ProjectConfig & { db: DatabaseConfig },\n\t\tprivate readonly schemaProvider: SchemaProvider,\n\t\tprivate readonly migrationGroups: Record<string, MigrationGroup<unknown>>,\n\t\tprivate readonly databaseMetadataResolver: DatabaseMetadataResolver,\n\t) {\n\t}\n\tasync run(logger: Logger) {\n\t\tawait createDatabaseIfNotExists(this.project.db, message => typeof message === 'string' ? logger.warn(message) : logger.error(message))\n\t\tconst singleConnection = Connection.createSingle(this.project.db, err => logger.error(err))\n\t\tawait singleConnection.scope(async connection => {\n\t\t\tconst schemaResolver = async (connection: Connection.ConnectionLike) => {\n\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\treturn await this.schemaProvider.buildSchemaFromMigrations(dbContextMigrations)\n\t\t\t}\n\t\t\tconst migrationResolver = new GroupMigrationsResolver(\n\t\t\t\tnew SnapshotMigrationResolver(snapshot, migrations),\n\t\t\t\tObject.fromEntries(Object.entries(this.migrationGroups).map(\n\t\t\t\t\t([group, it]) => [\n\t\t\t\t\t\tgroup,\n\t\t\t\t\t\tnew SnapshotMigrationResolver(\n\t\t\t\t\t\t\tit.snapshot,\n\t\t\t\t\t\t\tit.migrations,\n\t\t\t\t\t\t\tgroup.replace(/[^-_\\w]+/g, '-'),\n\t\t\t\t\t\t\tmigrations,\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t)\n\t\t\tconst migrationsRunner = new DbMigrationsRunner(connection, this.project.systemSchema, migrationResolver)\n\t\t\tawait migrationsRunner.migrate(message => logger.warn(message), {\n\t\t\t\tproject: this.project,\n\t\t\t\tschemaResolver,\n\t\t\t\tdatabaseMetadataResolver: (connection: Connection.ConnectionLike, schema: string) => {\n\t\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\t\treturn this.databaseMetadataResolver.resolveMetadata(dbContextMigrations.client, schema)\n\t\t\t\t},\n\n\t\t\t})\n\t\t})\n\t\tawait singleConnection.end()\n\t}\n}\n"],"names":["_20180804102200init","_20180805130501triggereventfunction","_20190114143432eventtrxid","_20190204154500eventrebase","_20190318104147eventrunmigrationstruct","_20190729103000triggereventfunctionfix","_20191128100000missingsettingfallback","_20200327130000projectmigrations","_20200506150000composedprimary","_20200601103000eventtriggerperf","_20210323110000timestampfix","_20210507155800eventlogrework","_202105191232000eventlogfixconstraint","_20211221155500eventsup","_20220208132600fnsearchpath","_20220208140500dropdeadcode","_20220208144400dynamicstageschema","_20221003110000tableondelete","_20230911174000fixondelete","_20231019173000fixunique","_20231024140000schemanullablechecksum","_20240628150000migrationsdropsequence","_20240628153000schema","_20240628153001schemainit","_20240729150000eventdataindex","_20250314110000fixmissingindex","createDatabaseIfNotExists","Connection","connection","GroupMigrationsResolver","SnapshotMigrationResolver","DbMigrationsRunner"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAM,aAAa;AAAA,EAClB,0BAA0BA;AAAAA,EAC1B,4CAA4CC;AAAAA,EAC5C,kCAAkCC;AAAAA,EAClC,kCAAkCC;AAAAA,EAClC,gDAAgDC;AAAAA,EAChD,gDAAgDC;AAAAA,EAChD,8CAA8CC;AAAAA,EAC9C,wCAAwCC;AAAAA,EACxC,sCAAsCC;AAAAA,EACtC,wCAAwCC;AAAAA,EACxC,mCAAmCC;AAAAA,EACnC,sCAAsCC;AAAAA,EACtC,+CAA+CC;AAAAA,EAC/C,+BAA+BC;AAAAA,EAC/B,oCAAoCC;AAAAA,EACpC,mCAAmCC;AAAAA,EACnC,0CAA0CC;AAAAA,EAC1C,qCAAqCC;AAAAA,EACrC,mCAAmCC;AAAAA,EACnC,gCAAgCC;AAAAA,EAChC,8CAA8CC;AAAAA,EAC9C,8CAA8CC;AAAAA,EAC9C,4BAA4BC;AAAAA,EAC5B,iCAAiCC;AAAAA,EACjC,sCAAsCC;AAAAA,EACtC,uCAAuCC;AACxC;AAGO,MAAM,uBAAuB;AAAA,EACnC,YACkB,wBACA,SACA,gBACA,iBACA,0BAChB;AALgB,SAAA,yBAAA;AACA,SAAA,UAAA;AACA,SAAA,iBAAA;AACA,SAAA,kBAAA;AACA,SAAA,2BAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,IAAI,QAAgB;AACzB,UAAMC,SAAAA,0BAA0B,KAAK,QAAQ,IAAI,aAAW,OAAO,YAAY,WAAW,OAAO,KAAK,OAAO,IAAI,OAAO,MAAM,OAAO,CAAC;AAChI,UAAA,mBAAmBC,SAAAA,WAAW,aAAa,KAAK,QAAQ,IAAI,CAAO,QAAA,OAAO,MAAM,GAAG,CAAC;AACpF,UAAA,iBAAiB,MAAM,OAAM,eAAc;AAC1C,YAAA,iBAAiB,OAAOC,gBAA0C;AACvE,cAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,eAAO,MAAM,KAAK,eAAe,0BAA0B,mBAAmB;AAAA,MAC/E;AACA,YAAM,oBAAoB,IAAIC,mBAAA;AAAA,QAC7B,IAAIC,mBAA0B,0BAAA,UAAU,UAAU;AAAA,QAClD,OAAO;AAAA,UAAY,OAAO,QAAQ,KAAK,eAAe,EAAE;AAAA,YACvD,CAAC,CAAC,OAAO,EAAE,MAAM;AAAA,cAChB;AAAA,cACA,IAAIA,mBAAA;AAAA,gBACH,GAAG;AAAA,gBACH,GAAG;AAAA,gBACH,MAAM,QAAQ,aAAa,GAAG;AAAA,gBAC9B;AAAA,cAAA;AAAA,YACD;AAAA,UACD;AAAA,QAAC;AAAA,MAEH;AACA,YAAM,mBAAmB,IAAIC,oCAAmB,YAAY,KAAK,QAAQ,cAAc,iBAAiB;AACxG,YAAM,iBAAiB,QAAQ,CAAA,YAAW,OAAO,KAAK,OAAO,GAAG;AAAA,QAC/D,SAAS,KAAK;AAAA,QACd;AAAA,QACA,0BAA0B,CAACH,aAAuC,WAAmB;AACpF,gBAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,iBAAO,KAAK,yBAAyB,gBAAgB,oBAAoB,QAAQ,MAAM;AAAA,QAAA;AAAA,MACxF,CAEA;AAAA,IAAA,CACD;AACD,UAAM,iBAAiB,IAAI;AAAA,EAAA;AAE7B;;"}
1
+ {"version":3,"file":"runner.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/runner.ts"],"sourcesContent":["import {\n\tGroupMigrationsResolver,\n\tMigrationGroup,\n\tMigrationsRunner as DbMigrationsRunner,\n\tSnapshotMigrationResolver,\n} from '@contember/database-migrations'\nimport _20180804102200init from './2018-08-04-102200-init'\nimport _20180805130501triggereventfunction from './2018-08-05-130501-trigger-event-function'\nimport _20190114143432eventtrxid from './2019-01-14-143432-event-trx-id'\nimport _20190204154500eventrebase from './2019-02-04-154500-event-rebase'\nimport _20190318104147eventrunmigrationstruct from './2019-03-18-104147-event-run-migration-struct'\nimport _20190729103000triggereventfunctionfix from './2019-07-29-103000-trigger-event-function-fix'\nimport _20191128100000missingsettingfallback from './2019-11-28-100000-missing-setting-fallback'\nimport _20200327130000projectmigrations from './2020-03-27-130000-project-migrations'\nimport _20200506150000composedprimary from './2020-05-06-150000-composed-primary'\nimport _20200601103000eventtriggerperf from './2020-06-01-103000-event-trigger-perf'\nimport _20210323110000timestampfix from './2021-03-23-110000-timestamp-fix'\nimport _20210507155800eventlogrework from './2021-05-07-155800-event-log-rework'\nimport _202105191232000eventlogfixconstraint from './2021-05-19-1232000-event-log-fix-constraint'\nimport _20211221155500eventsup from './2021-12-21-155500-events-up'\nimport _20220208132600fnsearchpath from './2022-02-08-132600-fn-search-path'\nimport _20220208140500dropdeadcode from './2022-02-08-140500-drop-deadcode'\nimport _20220208144400dynamicstageschema from './2022-02-08-144400-dynamic-stage-schema'\nimport _20221003110000tableondelete from './2022-10-03-110000-table-on-delete'\nimport _20230911174000fixondelete from './2023-09-11-174000-fix-on-delete'\nimport _20231019173000fixunique from './2023-10-19-173000-fix-unique'\nimport _20231024140000schemanullablechecksum from './2023-10-24-140000-schema-nullable-checksum'\nimport _20240628150000migrationsdropsequence from './2024-06-28-150000-migrations-drop-sequence'\nimport _20240628153000schema from './2024-06-28-153000-schema'\nimport _20240628153001schemainit from './2024-06-28-153001-schema-init'\nimport _20240729150000eventdataindex from './2024-07-29-150000-event-data-index'\nimport _20250314110000fixmissingindex from './2025-03-14-110000-fix-missing-index'\nimport snapshot from './snapshot'\n\nimport { Connection, createDatabaseIfNotExists, DatabaseConfig, DatabaseMetadataResolver } from '@contember/database'\nimport { DatabaseContextFactory, SchemaProvider } from '../model'\nimport { ProjectConfig } from '../types'\nimport { Logger } from '@contember/logger'\n\nconst migrations = {\n\t'2018-08-04-102200-init': _20180804102200init,\n\t'2018-08-05-130501-trigger-event-function': _20180805130501triggereventfunction,\n\t'2019-01-14-143432-event-trx-id': _20190114143432eventtrxid,\n\t'2019-02-04-154500-event-rebase': _20190204154500eventrebase,\n\t'2019-03-18-104147-event-run-migration-struct': _20190318104147eventrunmigrationstruct,\n\t'2019-07-29-103000-trigger-event-function-fix': _20190729103000triggereventfunctionfix,\n\t'2019-11-28-100000-missing-setting-fallback': _20191128100000missingsettingfallback,\n\t'2020-03-27-130000-project-migrations': _20200327130000projectmigrations,\n\t'2020-05-06-150000-composed-primary': _20200506150000composedprimary,\n\t'2020-06-01-103000-event-trigger-perf': _20200601103000eventtriggerperf,\n\t'2021-03-23-110000-timestamp-fix': _20210323110000timestampfix,\n\t'2021-05-07-155800-event-log-rework': _20210507155800eventlogrework,\n\t'2021-05-19-1232000-event-log-fix-constraint': _202105191232000eventlogfixconstraint,\n\t'2021-12-21-155500-events-up': _20211221155500eventsup,\n\t'2022-02-08-132600-fn-search-path': _20220208132600fnsearchpath,\n\t'2022-02-08-140500-drop-deadcode': _20220208140500dropdeadcode,\n\t'2022-02-08-144400-dynamic-stage-schema': _20220208144400dynamicstageschema,\n\t'2022-10-03-110000-table-on-delete': _20221003110000tableondelete,\n\t'2023-09-11-174000-fix-on-delete': _20230911174000fixondelete,\n\t'2023-10-19-173000-fix-unique': _20231019173000fixunique,\n\t'2023-10-24-140000-schema-nullable-checksum': _20231024140000schemanullablechecksum,\n\t'2024-06-28-150000-migrations-drop-sequence': _20240628150000migrationsdropsequence,\n\t'2024-06-28-153000-schema': _20240628153000schema,\n\t'2024-06-28-153001-schema-init': _20240628153001schemainit,\n\t'2024-07-29-150000-event-data-index': _20240729150000eventdataindex,\n\t'2025-03-14-110000-fix-missing-index': _20250314110000fixmissingindex,\n}\n\nexport class SystemMigrationsRunner {\n\tconstructor(\n\t\tprivate readonly databaseContextFactory: DatabaseContextFactory,\n\t\tprivate readonly project: ProjectConfig & { db: DatabaseConfig },\n\t\tprivate readonly schemaProvider: SchemaProvider,\n\t\tprivate readonly migrationGroups: Record<string, MigrationGroup<unknown>>,\n\t\tprivate readonly databaseMetadataResolver: DatabaseMetadataResolver,\n\t) {\n\t}\n\tasync run(logger: Logger) {\n\t\tawait createDatabaseIfNotExists(this.project.db, message => typeof message === 'string' ? logger.warn(message) : logger.error(message))\n\t\tconst singleConnection = Connection.createSingle(this.project.db, err => logger.error(err))\n\t\tawait singleConnection.scope(async connection => {\n\t\t\tconst schemaResolver = async (connection: Connection.ConnectionLike) => {\n\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\treturn await this.schemaProvider.buildSchemaFromMigrations(dbContextMigrations)\n\t\t\t}\n\t\t\tconst migrationResolver = new GroupMigrationsResolver(\n\t\t\t\tnew SnapshotMigrationResolver(snapshot, migrations),\n\t\t\t\tObject.fromEntries(\n\t\t\t\t\tObject.entries(this.migrationGroups).map(\n\t\t\t\t\t\t([group, it]) => [\n\t\t\t\t\t\t\tgroup,\n\t\t\t\t\t\t\tnew SnapshotMigrationResolver(\n\t\t\t\t\t\t\t\tit.snapshot,\n\t\t\t\t\t\t\t\tit.migrations,\n\t\t\t\t\t\t\t\tgroup.replace(/[^-_\\w]+/g, '-'),\n\t\t\t\t\t\t\t\tmigrations,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t],\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t)\n\t\t\tconst migrationsRunner = new DbMigrationsRunner(connection, this.project.systemSchema, migrationResolver)\n\t\t\tawait migrationsRunner.migrate(message => logger.warn(message), {\n\t\t\t\tproject: this.project,\n\t\t\t\tschemaResolver,\n\t\t\t\tdatabaseMetadataResolver: (connection: Connection.ConnectionLike, schema: string) => {\n\t\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\t\treturn this.databaseMetadataResolver.resolveMetadata(dbContextMigrations.client, schema)\n\t\t\t\t},\n\t\t\t})\n\t\t})\n\t\tawait singleConnection.end()\n\t}\n}\n"],"names":["_20180804102200init","_20180805130501triggereventfunction","_20190114143432eventtrxid","_20190204154500eventrebase","_20190318104147eventrunmigrationstruct","_20190729103000triggereventfunctionfix","_20191128100000missingsettingfallback","_20200327130000projectmigrations","_20200506150000composedprimary","_20200601103000eventtriggerperf","_20210323110000timestampfix","_20210507155800eventlogrework","_202105191232000eventlogfixconstraint","_20211221155500eventsup","_20220208132600fnsearchpath","_20220208140500dropdeadcode","_20220208144400dynamicstageschema","_20221003110000tableondelete","_20230911174000fixondelete","_20231019173000fixunique","_20231024140000schemanullablechecksum","_20240628150000migrationsdropsequence","_20240628153000schema","_20240628153001schemainit","_20240729150000eventdataindex","_20250314110000fixmissingindex","createDatabaseIfNotExists","Connection","connection","GroupMigrationsResolver","SnapshotMigrationResolver","DbMigrationsRunner"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAM,aAAa;AAAA,EAClB,0BAA0BA;AAAAA,EAC1B,4CAA4CC;AAAAA,EAC5C,kCAAkCC;AAAAA,EAClC,kCAAkCC;AAAAA,EAClC,gDAAgDC;AAAAA,EAChD,gDAAgDC;AAAAA,EAChD,8CAA8CC;AAAAA,EAC9C,wCAAwCC;AAAAA,EACxC,sCAAsCC;AAAAA,EACtC,wCAAwCC;AAAAA,EACxC,mCAAmCC;AAAAA,EACnC,sCAAsCC;AAAAA,EACtC,+CAA+CC;AAAAA,EAC/C,+BAA+BC;AAAAA,EAC/B,oCAAoCC;AAAAA,EACpC,mCAAmCC;AAAAA,EACnC,0CAA0CC;AAAAA,EAC1C,qCAAqCC;AAAAA,EACrC,mCAAmCC;AAAAA,EACnC,gCAAgCC;AAAAA,EAChC,8CAA8CC;AAAAA,EAC9C,8CAA8CC;AAAAA,EAC9C,4BAA4BC;AAAAA,EAC5B,iCAAiCC;AAAAA,EACjC,sCAAsCC;AAAAA,EACtC,uCAAuCC;AACxC;AAEO,MAAM,uBAAuB;AAAA,EACnC,YACkB,wBACA,SACA,gBACA,iBACA,0BAChB;AALgB,SAAA,yBAAA;AACA,SAAA,UAAA;AACA,SAAA,iBAAA;AACA,SAAA,kBAAA;AACA,SAAA,2BAAA;AAAA,EAElB;AAAA,EACA,MAAM,IAAI,QAAgB;AACzB,UAAMC,SAAAA,0BAA0B,KAAK,QAAQ,IAAI,aAAW,OAAO,YAAY,WAAW,OAAO,KAAK,OAAO,IAAI,OAAO,MAAM,OAAO,CAAC;AACtI,UAAM,mBAAmBC,SAAAA,WAAW,aAAa,KAAK,QAAQ,IAAI,CAAA,QAAO,OAAO,MAAM,GAAG,CAAC;AAC1F,UAAM,iBAAiB,MAAM,OAAM,eAAc;AAChD,YAAM,iBAAiB,OAAOC,gBAA0C;AACvE,cAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,eAAO,MAAM,KAAK,eAAe,0BAA0B,mBAAmB;AAAA,MAC/E;AACA,YAAM,oBAAoB,IAAIC,mBAAAA;AAAAA,QAC7B,IAAIC,mBAAAA,0BAA0B,UAAU,UAAU;AAAA,QAClD,OAAO;AAAA,UACN,OAAO,QAAQ,KAAK,eAAe,EAAE;AAAA,YACpC,CAAC,CAAC,OAAO,EAAE,MAAM;AAAA,cAChB;AAAA,cACA,IAAIA,mBAAAA;AAAAA,gBACH,GAAG;AAAA,gBACH,GAAG;AAAA,gBACH,MAAM,QAAQ,aAAa,GAAG;AAAA,gBAC9B;AAAA,cAAA;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAED,YAAM,mBAAmB,IAAIC,oCAAmB,YAAY,KAAK,QAAQ,cAAc,iBAAiB;AACxG,YAAM,iBAAiB,QAAQ,CAAA,YAAW,OAAO,KAAK,OAAO,GAAG;AAAA,QAC/D,SAAS,KAAK;AAAA,QACd;AAAA,QACA,0BAA0B,CAACH,aAAuC,WAAmB;AACpF,gBAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,iBAAO,KAAK,yBAAyB,gBAAgB,oBAAoB,QAAQ,MAAM;AAAA,QACxF;AAAA,MAAA,CACA;AAAA,IACF,CAAC;AACD,UAAM,iBAAiB,IAAA;AAAA,EACxB;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sources":["../../../../../packages/engine-system-api/src/migrations/runner.ts"],"sourcesContent":["import {\n\tGroupMigrationsResolver,\n\tMigrationGroup,\n\tMigrationsRunner as DbMigrationsRunner,\n\tSnapshotMigrationResolver,\n} from '@contember/database-migrations'\nimport _20180804102200init from './2018-08-04-102200-init'\nimport _20180805130501triggereventfunction from './2018-08-05-130501-trigger-event-function'\nimport _20190114143432eventtrxid from './2019-01-14-143432-event-trx-id'\nimport _20190204154500eventrebase from './2019-02-04-154500-event-rebase'\nimport _20190318104147eventrunmigrationstruct from './2019-03-18-104147-event-run-migration-struct'\nimport _20190729103000triggereventfunctionfix from './2019-07-29-103000-trigger-event-function-fix'\nimport _20191128100000missingsettingfallback from './2019-11-28-100000-missing-setting-fallback'\nimport _20200327130000projectmigrations from './2020-03-27-130000-project-migrations'\nimport _20200506150000composedprimary from './2020-05-06-150000-composed-primary'\nimport _20200601103000eventtriggerperf from './2020-06-01-103000-event-trigger-perf'\nimport _20210323110000timestampfix from './2021-03-23-110000-timestamp-fix'\nimport _20210507155800eventlogrework from './2021-05-07-155800-event-log-rework'\nimport _202105191232000eventlogfixconstraint from './2021-05-19-1232000-event-log-fix-constraint'\nimport _20211221155500eventsup from './2021-12-21-155500-events-up'\nimport _20220208132600fnsearchpath from './2022-02-08-132600-fn-search-path'\nimport _20220208140500dropdeadcode from './2022-02-08-140500-drop-deadcode'\nimport _20220208144400dynamicstageschema from './2022-02-08-144400-dynamic-stage-schema'\nimport _20221003110000tableondelete from './2022-10-03-110000-table-on-delete'\nimport _20230911174000fixondelete from './2023-09-11-174000-fix-on-delete'\nimport _20231019173000fixunique from './2023-10-19-173000-fix-unique'\nimport _20231024140000schemanullablechecksum from './2023-10-24-140000-schema-nullable-checksum'\nimport _20240628150000migrationsdropsequence from './2024-06-28-150000-migrations-drop-sequence'\nimport _20240628153000schema from './2024-06-28-153000-schema'\nimport _20240628153001schemainit from './2024-06-28-153001-schema-init'\nimport _20240729150000eventdataindex from './2024-07-29-150000-event-data-index'\nimport _20250314110000fixmissingindex from './2025-03-14-110000-fix-missing-index'\nimport snapshot from './snapshot'\n\nimport { Connection, createDatabaseIfNotExists, DatabaseConfig, DatabaseMetadataResolver } from '@contember/database'\nimport { DatabaseContextFactory, SchemaProvider } from '../model'\nimport { ProjectConfig } from '../types'\nimport { Logger } from '@contember/logger'\n\nconst migrations = {\n\t'2018-08-04-102200-init': _20180804102200init,\n\t'2018-08-05-130501-trigger-event-function': _20180805130501triggereventfunction,\n\t'2019-01-14-143432-event-trx-id': _20190114143432eventtrxid,\n\t'2019-02-04-154500-event-rebase': _20190204154500eventrebase,\n\t'2019-03-18-104147-event-run-migration-struct': _20190318104147eventrunmigrationstruct,\n\t'2019-07-29-103000-trigger-event-function-fix': _20190729103000triggereventfunctionfix,\n\t'2019-11-28-100000-missing-setting-fallback': _20191128100000missingsettingfallback,\n\t'2020-03-27-130000-project-migrations': _20200327130000projectmigrations,\n\t'2020-05-06-150000-composed-primary': _20200506150000composedprimary,\n\t'2020-06-01-103000-event-trigger-perf': _20200601103000eventtriggerperf,\n\t'2021-03-23-110000-timestamp-fix': _20210323110000timestampfix,\n\t'2021-05-07-155800-event-log-rework': _20210507155800eventlogrework,\n\t'2021-05-19-1232000-event-log-fix-constraint': _202105191232000eventlogfixconstraint,\n\t'2021-12-21-155500-events-up': _20211221155500eventsup,\n\t'2022-02-08-132600-fn-search-path': _20220208132600fnsearchpath,\n\t'2022-02-08-140500-drop-deadcode': _20220208140500dropdeadcode,\n\t'2022-02-08-144400-dynamic-stage-schema': _20220208144400dynamicstageschema,\n\t'2022-10-03-110000-table-on-delete': _20221003110000tableondelete,\n\t'2023-09-11-174000-fix-on-delete': _20230911174000fixondelete,\n\t'2023-10-19-173000-fix-unique': _20231019173000fixunique,\n\t'2023-10-24-140000-schema-nullable-checksum': _20231024140000schemanullablechecksum,\n\t'2024-06-28-150000-migrations-drop-sequence': _20240628150000migrationsdropsequence,\n\t'2024-06-28-153000-schema': _20240628153000schema,\n\t'2024-06-28-153001-schema-init': _20240628153001schemainit,\n\t'2024-07-29-150000-event-data-index': _20240729150000eventdataindex,\n\t'2025-03-14-110000-fix-missing-index': _20250314110000fixmissingindex,\n}\n\n\nexport class SystemMigrationsRunner {\n\tconstructor(\n\t\tprivate readonly databaseContextFactory: DatabaseContextFactory,\n\t\tprivate readonly project: ProjectConfig & { db: DatabaseConfig },\n\t\tprivate readonly schemaProvider: SchemaProvider,\n\t\tprivate readonly migrationGroups: Record<string, MigrationGroup<unknown>>,\n\t\tprivate readonly databaseMetadataResolver: DatabaseMetadataResolver,\n\t) {\n\t}\n\tasync run(logger: Logger) {\n\t\tawait createDatabaseIfNotExists(this.project.db, message => typeof message === 'string' ? logger.warn(message) : logger.error(message))\n\t\tconst singleConnection = Connection.createSingle(this.project.db, err => logger.error(err))\n\t\tawait singleConnection.scope(async connection => {\n\t\t\tconst schemaResolver = async (connection: Connection.ConnectionLike) => {\n\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\treturn await this.schemaProvider.buildSchemaFromMigrations(dbContextMigrations)\n\t\t\t}\n\t\t\tconst migrationResolver = new GroupMigrationsResolver(\n\t\t\t\tnew SnapshotMigrationResolver(snapshot, migrations),\n\t\t\t\tObject.fromEntries(Object.entries(this.migrationGroups).map(\n\t\t\t\t\t([group, it]) => [\n\t\t\t\t\t\tgroup,\n\t\t\t\t\t\tnew SnapshotMigrationResolver(\n\t\t\t\t\t\t\tit.snapshot,\n\t\t\t\t\t\t\tit.migrations,\n\t\t\t\t\t\t\tgroup.replace(/[^-_\\w]+/g, '-'),\n\t\t\t\t\t\t\tmigrations,\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t)\n\t\t\tconst migrationsRunner = new DbMigrationsRunner(connection, this.project.systemSchema, migrationResolver)\n\t\t\tawait migrationsRunner.migrate(message => logger.warn(message), {\n\t\t\t\tproject: this.project,\n\t\t\t\tschemaResolver,\n\t\t\t\tdatabaseMetadataResolver: (connection: Connection.ConnectionLike, schema: string) => {\n\t\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\t\treturn this.databaseMetadataResolver.resolveMetadata(dbContextMigrations.client, schema)\n\t\t\t\t},\n\n\t\t\t})\n\t\t})\n\t\tawait singleConnection.end()\n\t}\n}\n"],"names":["connection","DbMigrationsRunner"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAM,aAAa;AAAA,EAClB,0BAA0B;AAAA,EAC1B,4CAA4C;AAAA,EAC5C,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,gDAAgD;AAAA,EAChD,gDAAgD;AAAA,EAChD,8CAA8C;AAAA,EAC9C,wCAAwC;AAAA,EACxC,sCAAsC;AAAA,EACtC,wCAAwC;AAAA,EACxC,mCAAmC;AAAA,EACnC,sCAAsC;AAAA,EACtC,+CAA+C;AAAA,EAC/C,+BAA+B;AAAA,EAC/B,oCAAoC;AAAA,EACpC,mCAAmC;AAAA,EACnC,0CAA0C;AAAA,EAC1C,qCAAqC;AAAA,EACrC,mCAAmC;AAAA,EACnC,gCAAgC;AAAA,EAChC,8CAA8C;AAAA,EAC9C,8CAA8C;AAAA,EAC9C,4BAA4B;AAAA,EAC5B,iCAAiC;AAAA,EACjC,sCAAsC;AAAA,EACtC,uCAAuC;AACxC;AAGO,MAAM,uBAAuB;AAAA,EACnC,YACkB,wBACA,SACA,gBACA,iBACA,0BAChB;AALgB,SAAA,yBAAA;AACA,SAAA,UAAA;AACA,SAAA,iBAAA;AACA,SAAA,kBAAA;AACA,SAAA,2BAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,IAAI,QAAgB;AACzB,UAAM,0BAA0B,KAAK,QAAQ,IAAI,aAAW,OAAO,YAAY,WAAW,OAAO,KAAK,OAAO,IAAI,OAAO,MAAM,OAAO,CAAC;AAChI,UAAA,mBAAmB,WAAW,aAAa,KAAK,QAAQ,IAAI,CAAO,QAAA,OAAO,MAAM,GAAG,CAAC;AACpF,UAAA,iBAAiB,MAAM,OAAM,eAAc;AAC1C,YAAA,iBAAiB,OAAOA,gBAA0C;AACvE,cAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,eAAO,MAAM,KAAK,eAAe,0BAA0B,mBAAmB;AAAA,MAC/E;AACA,YAAM,oBAAoB,IAAI;AAAA,QAC7B,IAAI,0BAA0B,UAAU,UAAU;AAAA,QAClD,OAAO;AAAA,UAAY,OAAO,QAAQ,KAAK,eAAe,EAAE;AAAA,YACvD,CAAC,CAAC,OAAO,EAAE,MAAM;AAAA,cAChB;AAAA,cACA,IAAI;AAAA,gBACH,GAAG;AAAA,gBACH,GAAG;AAAA,gBACH,MAAM,QAAQ,aAAa,GAAG;AAAA,gBAC9B;AAAA,cAAA;AAAA,YACD;AAAA,UACD;AAAA,QAAC;AAAA,MAEH;AACA,YAAM,mBAAmB,IAAIC,iBAAmB,YAAY,KAAK,QAAQ,cAAc,iBAAiB;AACxG,YAAM,iBAAiB,QAAQ,CAAA,YAAW,OAAO,KAAK,OAAO,GAAG;AAAA,QAC/D,SAAS,KAAK;AAAA,QACd;AAAA,QACA,0BAA0B,CAACD,aAAuC,WAAmB;AACpF,gBAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,iBAAO,KAAK,yBAAyB,gBAAgB,oBAAoB,QAAQ,MAAM;AAAA,QAAA;AAAA,MACxF,CAEA;AAAA,IAAA,CACD;AACD,UAAM,iBAAiB,IAAI;AAAA,EAAA;AAE7B;"}
1
+ {"version":3,"file":"runner.js","sources":["../../../../../packages/engine-system-api/src/migrations/runner.ts"],"sourcesContent":["import {\n\tGroupMigrationsResolver,\n\tMigrationGroup,\n\tMigrationsRunner as DbMigrationsRunner,\n\tSnapshotMigrationResolver,\n} from '@contember/database-migrations'\nimport _20180804102200init from './2018-08-04-102200-init'\nimport _20180805130501triggereventfunction from './2018-08-05-130501-trigger-event-function'\nimport _20190114143432eventtrxid from './2019-01-14-143432-event-trx-id'\nimport _20190204154500eventrebase from './2019-02-04-154500-event-rebase'\nimport _20190318104147eventrunmigrationstruct from './2019-03-18-104147-event-run-migration-struct'\nimport _20190729103000triggereventfunctionfix from './2019-07-29-103000-trigger-event-function-fix'\nimport _20191128100000missingsettingfallback from './2019-11-28-100000-missing-setting-fallback'\nimport _20200327130000projectmigrations from './2020-03-27-130000-project-migrations'\nimport _20200506150000composedprimary from './2020-05-06-150000-composed-primary'\nimport _20200601103000eventtriggerperf from './2020-06-01-103000-event-trigger-perf'\nimport _20210323110000timestampfix from './2021-03-23-110000-timestamp-fix'\nimport _20210507155800eventlogrework from './2021-05-07-155800-event-log-rework'\nimport _202105191232000eventlogfixconstraint from './2021-05-19-1232000-event-log-fix-constraint'\nimport _20211221155500eventsup from './2021-12-21-155500-events-up'\nimport _20220208132600fnsearchpath from './2022-02-08-132600-fn-search-path'\nimport _20220208140500dropdeadcode from './2022-02-08-140500-drop-deadcode'\nimport _20220208144400dynamicstageschema from './2022-02-08-144400-dynamic-stage-schema'\nimport _20221003110000tableondelete from './2022-10-03-110000-table-on-delete'\nimport _20230911174000fixondelete from './2023-09-11-174000-fix-on-delete'\nimport _20231019173000fixunique from './2023-10-19-173000-fix-unique'\nimport _20231024140000schemanullablechecksum from './2023-10-24-140000-schema-nullable-checksum'\nimport _20240628150000migrationsdropsequence from './2024-06-28-150000-migrations-drop-sequence'\nimport _20240628153000schema from './2024-06-28-153000-schema'\nimport _20240628153001schemainit from './2024-06-28-153001-schema-init'\nimport _20240729150000eventdataindex from './2024-07-29-150000-event-data-index'\nimport _20250314110000fixmissingindex from './2025-03-14-110000-fix-missing-index'\nimport snapshot from './snapshot'\n\nimport { Connection, createDatabaseIfNotExists, DatabaseConfig, DatabaseMetadataResolver } from '@contember/database'\nimport { DatabaseContextFactory, SchemaProvider } from '../model'\nimport { ProjectConfig } from '../types'\nimport { Logger } from '@contember/logger'\n\nconst migrations = {\n\t'2018-08-04-102200-init': _20180804102200init,\n\t'2018-08-05-130501-trigger-event-function': _20180805130501triggereventfunction,\n\t'2019-01-14-143432-event-trx-id': _20190114143432eventtrxid,\n\t'2019-02-04-154500-event-rebase': _20190204154500eventrebase,\n\t'2019-03-18-104147-event-run-migration-struct': _20190318104147eventrunmigrationstruct,\n\t'2019-07-29-103000-trigger-event-function-fix': _20190729103000triggereventfunctionfix,\n\t'2019-11-28-100000-missing-setting-fallback': _20191128100000missingsettingfallback,\n\t'2020-03-27-130000-project-migrations': _20200327130000projectmigrations,\n\t'2020-05-06-150000-composed-primary': _20200506150000composedprimary,\n\t'2020-06-01-103000-event-trigger-perf': _20200601103000eventtriggerperf,\n\t'2021-03-23-110000-timestamp-fix': _20210323110000timestampfix,\n\t'2021-05-07-155800-event-log-rework': _20210507155800eventlogrework,\n\t'2021-05-19-1232000-event-log-fix-constraint': _202105191232000eventlogfixconstraint,\n\t'2021-12-21-155500-events-up': _20211221155500eventsup,\n\t'2022-02-08-132600-fn-search-path': _20220208132600fnsearchpath,\n\t'2022-02-08-140500-drop-deadcode': _20220208140500dropdeadcode,\n\t'2022-02-08-144400-dynamic-stage-schema': _20220208144400dynamicstageschema,\n\t'2022-10-03-110000-table-on-delete': _20221003110000tableondelete,\n\t'2023-09-11-174000-fix-on-delete': _20230911174000fixondelete,\n\t'2023-10-19-173000-fix-unique': _20231019173000fixunique,\n\t'2023-10-24-140000-schema-nullable-checksum': _20231024140000schemanullablechecksum,\n\t'2024-06-28-150000-migrations-drop-sequence': _20240628150000migrationsdropsequence,\n\t'2024-06-28-153000-schema': _20240628153000schema,\n\t'2024-06-28-153001-schema-init': _20240628153001schemainit,\n\t'2024-07-29-150000-event-data-index': _20240729150000eventdataindex,\n\t'2025-03-14-110000-fix-missing-index': _20250314110000fixmissingindex,\n}\n\nexport class SystemMigrationsRunner {\n\tconstructor(\n\t\tprivate readonly databaseContextFactory: DatabaseContextFactory,\n\t\tprivate readonly project: ProjectConfig & { db: DatabaseConfig },\n\t\tprivate readonly schemaProvider: SchemaProvider,\n\t\tprivate readonly migrationGroups: Record<string, MigrationGroup<unknown>>,\n\t\tprivate readonly databaseMetadataResolver: DatabaseMetadataResolver,\n\t) {\n\t}\n\tasync run(logger: Logger) {\n\t\tawait createDatabaseIfNotExists(this.project.db, message => typeof message === 'string' ? logger.warn(message) : logger.error(message))\n\t\tconst singleConnection = Connection.createSingle(this.project.db, err => logger.error(err))\n\t\tawait singleConnection.scope(async connection => {\n\t\t\tconst schemaResolver = async (connection: Connection.ConnectionLike) => {\n\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\treturn await this.schemaProvider.buildSchemaFromMigrations(dbContextMigrations)\n\t\t\t}\n\t\t\tconst migrationResolver = new GroupMigrationsResolver(\n\t\t\t\tnew SnapshotMigrationResolver(snapshot, migrations),\n\t\t\t\tObject.fromEntries(\n\t\t\t\t\tObject.entries(this.migrationGroups).map(\n\t\t\t\t\t\t([group, it]) => [\n\t\t\t\t\t\t\tgroup,\n\t\t\t\t\t\t\tnew SnapshotMigrationResolver(\n\t\t\t\t\t\t\t\tit.snapshot,\n\t\t\t\t\t\t\t\tit.migrations,\n\t\t\t\t\t\t\t\tgroup.replace(/[^-_\\w]+/g, '-'),\n\t\t\t\t\t\t\t\tmigrations,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t],\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t)\n\t\t\tconst migrationsRunner = new DbMigrationsRunner(connection, this.project.systemSchema, migrationResolver)\n\t\t\tawait migrationsRunner.migrate(message => logger.warn(message), {\n\t\t\t\tproject: this.project,\n\t\t\t\tschemaResolver,\n\t\t\t\tdatabaseMetadataResolver: (connection: Connection.ConnectionLike, schema: string) => {\n\t\t\t\t\tconst dbContextMigrations = this.databaseContextFactory.create(connection)\n\t\t\t\t\treturn this.databaseMetadataResolver.resolveMetadata(dbContextMigrations.client, schema)\n\t\t\t\t},\n\t\t\t})\n\t\t})\n\t\tawait singleConnection.end()\n\t}\n}\n"],"names":["connection","DbMigrationsRunner"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAM,aAAa;AAAA,EAClB,0BAA0B;AAAA,EAC1B,4CAA4C;AAAA,EAC5C,kCAAkC;AAAA,EAClC,kCAAkC;AAAA,EAClC,gDAAgD;AAAA,EAChD,gDAAgD;AAAA,EAChD,8CAA8C;AAAA,EAC9C,wCAAwC;AAAA,EACxC,sCAAsC;AAAA,EACtC,wCAAwC;AAAA,EACxC,mCAAmC;AAAA,EACnC,sCAAsC;AAAA,EACtC,+CAA+C;AAAA,EAC/C,+BAA+B;AAAA,EAC/B,oCAAoC;AAAA,EACpC,mCAAmC;AAAA,EACnC,0CAA0C;AAAA,EAC1C,qCAAqC;AAAA,EACrC,mCAAmC;AAAA,EACnC,gCAAgC;AAAA,EAChC,8CAA8C;AAAA,EAC9C,8CAA8C;AAAA,EAC9C,4BAA4B;AAAA,EAC5B,iCAAiC;AAAA,EACjC,sCAAsC;AAAA,EACtC,uCAAuC;AACxC;AAEO,MAAM,uBAAuB;AAAA,EACnC,YACkB,wBACA,SACA,gBACA,iBACA,0BAChB;AALgB,SAAA,yBAAA;AACA,SAAA,UAAA;AACA,SAAA,iBAAA;AACA,SAAA,kBAAA;AACA,SAAA,2BAAA;AAAA,EAElB;AAAA,EACA,MAAM,IAAI,QAAgB;AACzB,UAAM,0BAA0B,KAAK,QAAQ,IAAI,aAAW,OAAO,YAAY,WAAW,OAAO,KAAK,OAAO,IAAI,OAAO,MAAM,OAAO,CAAC;AACtI,UAAM,mBAAmB,WAAW,aAAa,KAAK,QAAQ,IAAI,CAAA,QAAO,OAAO,MAAM,GAAG,CAAC;AAC1F,UAAM,iBAAiB,MAAM,OAAM,eAAc;AAChD,YAAM,iBAAiB,OAAOA,gBAA0C;AACvE,cAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,eAAO,MAAM,KAAK,eAAe,0BAA0B,mBAAmB;AAAA,MAC/E;AACA,YAAM,oBAAoB,IAAI;AAAA,QAC7B,IAAI,0BAA0B,UAAU,UAAU;AAAA,QAClD,OAAO;AAAA,UACN,OAAO,QAAQ,KAAK,eAAe,EAAE;AAAA,YACpC,CAAC,CAAC,OAAO,EAAE,MAAM;AAAA,cAChB;AAAA,cACA,IAAI;AAAA,gBACH,GAAG;AAAA,gBACH,GAAG;AAAA,gBACH,MAAM,QAAQ,aAAa,GAAG;AAAA,gBAC9B;AAAA,cAAA;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAED,YAAM,mBAAmB,IAAIC,iBAAmB,YAAY,KAAK,QAAQ,cAAc,iBAAiB;AACxG,YAAM,iBAAiB,QAAQ,CAAA,YAAW,OAAO,KAAK,OAAO,GAAG;AAAA,QAC/D,SAAS,KAAK;AAAA,QACd;AAAA,QACA,0BAA0B,CAACD,aAAuC,WAAmB;AACpF,gBAAM,sBAAsB,KAAK,uBAAuB,OAAOA,WAAU;AACzE,iBAAO,KAAK,yBAAyB,gBAAgB,oBAAoB,QAAQ,MAAM;AAAA,QACxF;AAAA,MAAA,CACA;AAAA,IACF,CAAC;AACD,UAAM,iBAAiB,IAAA;AAAA,EACxB;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-factory.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/snapshot-factory.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\nexport const snapshotMigration = (sqlFactory: (args: { randomUuidFn: string }) => string) => {\n\treturn async (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) => {\n\t\tconst hasGenRandomUuid = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'gen_random_uuid'\n\t\t`)\n\t\tlet randomUuidFn: string = 'uuid_generate_v4'\n\t\tif ((hasGenRandomUuid.rowCount ?? 0) > 0) {\n\t\t\trandomUuidFn = 'gen_random_uuid'\n\t\t} else {\n\t\t\tconst hasUuidGenV4 = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'uuid_generate_v4'\n\t\t\t`)\n\t\t\tif (hasUuidGenV4.rowCount === 0) {\n\t\t\t\tbuilder.sql(`\n\t\t\t\tCREATE FUNCTION \"uuid_generate_v4\"() RETURNS \"uuid\"\n \t\t\tLANGUAGE \"sql\"\n \t\t\tAS $$\n \t\tSELECT OVERLAY(OVERLAY(md5(random()::TEXT || ':' || clock_timestamp()::TEXT) PLACING '4' FROM 13) PLACING\n to_hex(floor(random() * (11 - 8 + 1) + 8)::INT)::TEXT FROM 17)::UUID;\n \t$$;\n `)\n\t\t\t}\n\t\t}\n\t\tconst sql = sqlFactory({ randomUuidFn })\n\t\tbuilder.sql(sql)\n\n\t\tbuilder.sql(`DO LANGUAGE plpgsql\n$$\n\tBEGIN\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event_commit() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\tEND\n$$`)\n\n\t}\n}\n"],"names":[],"mappings":";;AAGa,MAAA,oBAAoB,CAAC,eAA2D;AACrF,SAAA,OAAO,SAA2B,SAA6C;AACrF,UAAM,mBAAmB,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,GAKpD;AACD,QAAI,eAAuB;AACtB,SAAA,iBAAiB,YAAY,KAAK,GAAG;AAC1B,qBAAA;AAAA,IAAA,OACT;AACN,YAAM,eAAe,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKhD;AACG,UAAA,aAAa,aAAa,GAAG;AAChC,gBAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOH;AAAA,MAAA;AAAA,IACV;AAED,UAAM,MAAM,WAAW,EAAE,cAAc;AACvC,YAAQ,IAAI,GAAG;AAEf,YAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMX;AAAA,EAEF;AACD;;"}
1
+ {"version":3,"file":"snapshot-factory.cjs","sources":["../../../../../packages/engine-system-api/src/migrations/snapshot-factory.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\nexport const snapshotMigration = (sqlFactory: (args: { randomUuidFn: string }) => string) => {\n\treturn async (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) => {\n\t\tconst hasGenRandomUuid = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'gen_random_uuid'\n\t\t`)\n\t\tlet randomUuidFn: string = 'uuid_generate_v4'\n\t\tif ((hasGenRandomUuid.rowCount ?? 0) > 0) {\n\t\t\trandomUuidFn = 'gen_random_uuid'\n\t\t} else {\n\t\t\tconst hasUuidGenV4 = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'uuid_generate_v4'\n\t\t\t`)\n\t\t\tif (hasUuidGenV4.rowCount === 0) {\n\t\t\t\tbuilder.sql(`\n\t\t\t\tCREATE FUNCTION \"uuid_generate_v4\"() RETURNS \"uuid\"\n \t\t\tLANGUAGE \"sql\"\n \t\t\tAS $$\n \t\tSELECT OVERLAY(OVERLAY(md5(random()::TEXT || ':' || clock_timestamp()::TEXT) PLACING '4' FROM 13) PLACING\n to_hex(floor(random() * (11 - 8 + 1) + 8)::INT)::TEXT FROM 17)::UUID;\n \t$$;\n `)\n\t\t\t}\n\t\t}\n\t\tconst sql = sqlFactory({ randomUuidFn })\n\t\tbuilder.sql(sql)\n\n\t\tbuilder.sql(`DO LANGUAGE plpgsql\n$$\n\tBEGIN\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event_commit() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\tEND\n$$`)\n\t}\n}\n"],"names":[],"mappings":";;AAGO,MAAM,oBAAoB,CAAC,eAA2D;AAC5F,SAAO,OAAO,SAA2B,SAA6C;AACrF,UAAM,mBAAmB,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,GAKpD;AACD,QAAI,eAAuB;AAC3B,SAAK,iBAAiB,YAAY,KAAK,GAAG;AACzC,qBAAe;AAAA,IAChB,OAAO;AACN,YAAM,eAAe,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKhD;AACD,UAAI,aAAa,aAAa,GAAG;AAChC,gBAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOH;AAAA,MACV;AAAA,IACD;AACA,UAAM,MAAM,WAAW,EAAE,cAAc;AACvC,YAAQ,IAAI,GAAG;AAEf,YAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMX;AAAA,EACF;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-factory.js","sources":["../../../../../packages/engine-system-api/src/migrations/snapshot-factory.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\nexport const snapshotMigration = (sqlFactory: (args: { randomUuidFn: string }) => string) => {\n\treturn async (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) => {\n\t\tconst hasGenRandomUuid = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'gen_random_uuid'\n\t\t`)\n\t\tlet randomUuidFn: string = 'uuid_generate_v4'\n\t\tif ((hasGenRandomUuid.rowCount ?? 0) > 0) {\n\t\t\trandomUuidFn = 'gen_random_uuid'\n\t\t} else {\n\t\t\tconst hasUuidGenV4 = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'uuid_generate_v4'\n\t\t\t`)\n\t\t\tif (hasUuidGenV4.rowCount === 0) {\n\t\t\t\tbuilder.sql(`\n\t\t\t\tCREATE FUNCTION \"uuid_generate_v4\"() RETURNS \"uuid\"\n \t\t\tLANGUAGE \"sql\"\n \t\t\tAS $$\n \t\tSELECT OVERLAY(OVERLAY(md5(random()::TEXT || ':' || clock_timestamp()::TEXT) PLACING '4' FROM 13) PLACING\n to_hex(floor(random() * (11 - 8 + 1) + 8)::INT)::TEXT FROM 17)::UUID;\n \t$$;\n `)\n\t\t\t}\n\t\t}\n\t\tconst sql = sqlFactory({ randomUuidFn })\n\t\tbuilder.sql(sql)\n\n\t\tbuilder.sql(`DO LANGUAGE plpgsql\n$$\n\tBEGIN\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event_commit() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\tEND\n$$`)\n\n\t}\n}\n"],"names":[],"mappings":"AAGa,MAAA,oBAAoB,CAAC,eAA2D;AACrF,SAAA,OAAO,SAA2B,SAA6C;AACrF,UAAM,mBAAmB,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,GAKpD;AACD,QAAI,eAAuB;AACtB,SAAA,iBAAiB,YAAY,KAAK,GAAG;AAC1B,qBAAA;AAAA,IAAA,OACT;AACN,YAAM,eAAe,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKhD;AACG,UAAA,aAAa,aAAa,GAAG;AAChC,gBAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOH;AAAA,MAAA;AAAA,IACV;AAED,UAAM,MAAM,WAAW,EAAE,cAAc;AACvC,YAAQ,IAAI,GAAG;AAEf,YAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMX;AAAA,EAEF;AACD;"}
1
+ {"version":3,"file":"snapshot-factory.js","sources":["../../../../../packages/engine-system-api/src/migrations/snapshot-factory.ts"],"sourcesContent":["import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'\nimport { SystemMigrationArgs } from './types'\n\nexport const snapshotMigration = (sqlFactory: (args: { randomUuidFn: string }) => string) => {\n\treturn async (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) => {\n\t\tconst hasGenRandomUuid = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'gen_random_uuid'\n\t\t`)\n\t\tlet randomUuidFn: string = 'uuid_generate_v4'\n\t\tif ((hasGenRandomUuid.rowCount ?? 0) > 0) {\n\t\t\trandomUuidFn = 'gen_random_uuid'\n\t\t} else {\n\t\t\tconst hasUuidGenV4 = await args.connection.query(`\n SELECT 1\n FROM pg_proc\n JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid\n WHERE pg_namespace.nspname = 'pg_catalog' AND pg_proc.proname = 'uuid_generate_v4'\n\t\t\t`)\n\t\t\tif (hasUuidGenV4.rowCount === 0) {\n\t\t\t\tbuilder.sql(`\n\t\t\t\tCREATE FUNCTION \"uuid_generate_v4\"() RETURNS \"uuid\"\n \t\t\tLANGUAGE \"sql\"\n \t\t\tAS $$\n \t\tSELECT OVERLAY(OVERLAY(md5(random()::TEXT || ':' || clock_timestamp()::TEXT) PLACING '4' FROM 13) PLACING\n to_hex(floor(random() * (11 - 8 + 1) + 8)::INT)::TEXT FROM 17)::UUID;\n \t$$;\n `)\n\t\t\t}\n\t\t}\n\t\tconst sql = sqlFactory({ randomUuidFn })\n\t\tbuilder.sql(sql)\n\n\t\tbuilder.sql(`DO LANGUAGE plpgsql\n$$\n\tBEGIN\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event_commit() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\t\tEXECUTE FORMAT('ALTER FUNCTION trigger_event() SET SEARCH_PATH = %s', QUOTE_IDENT(CURRENT_SCHEMA()));\n\tEND\n$$`)\n\t}\n}\n"],"names":[],"mappings":"AAGO,MAAM,oBAAoB,CAAC,eAA2D;AAC5F,SAAO,OAAO,SAA2B,SAA6C;AACrF,UAAM,mBAAmB,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,GAKpD;AACD,QAAI,eAAuB;AAC3B,SAAK,iBAAiB,YAAY,KAAK,GAAG;AACzC,qBAAe;AAAA,IAChB,OAAO;AACN,YAAM,eAAe,MAAM,KAAK,WAAW,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKhD;AACD,UAAI,aAAa,aAAa,GAAG;AAChC,gBAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOH;AAAA,MACV;AAAA,IACD;AACA,UAAM,MAAM,WAAW,EAAE,cAAc;AACvC,YAAQ,IAAI,GAAG;AAEf,YAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMX;AAAA,EACF;AACD;"}
@@ -10,20 +10,24 @@ class ProjectInitializer {
10
10
  this.project = project;
11
11
  }
12
12
  async initialize(logger$1) {
13
- return await logger$1.scope(async (initLogger) => {
14
- initLogger.debug("Executing system schema migrations");
15
- await this.migrationsRunner.run(initLogger);
16
- const dbContext = this.databaseContext;
17
- await Database.retryTransaction(
18
- () => dbContext.transaction(async (trx) => {
19
- await this.initStages(trx, logger$1);
20
- }),
21
- (message) => initLogger.warn(message)
22
- );
23
- if (dbContext.client.connection instanceof Database.Connection) {
24
- await dbContext.client.connection.clearPool();
25
- }
26
- }, {}, { handler: logger.FingerCrossedLoggerHandler.factory() });
13
+ return await logger$1.scope(
14
+ async (initLogger) => {
15
+ initLogger.debug("Executing system schema migrations");
16
+ await this.migrationsRunner.run(initLogger);
17
+ const dbContext = this.databaseContext;
18
+ await Database.retryTransaction(
19
+ () => dbContext.transaction(async (trx) => {
20
+ await this.initStages(trx, logger$1);
21
+ }),
22
+ (message) => initLogger.warn(message)
23
+ );
24
+ if (dbContext.client.connection instanceof Database.Connection) {
25
+ await dbContext.client.connection.clearPool();
26
+ }
27
+ },
28
+ {},
29
+ { handler: logger.FingerCrossedLoggerHandler.factory() }
30
+ );
27
31
  }
28
32
  async initStages(db, logger2) {
29
33
  logger2.debug(`Creating stages`);
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectInitializer.cjs","sources":["../../../../../packages/engine-system-api/src/model/ProjectInitializer.ts"],"sourcesContent":["import { ProjectConfig } from '../types'\nimport { StageCreator } from './stages'\nimport { DatabaseContext } from './database'\nimport { Connection, retryTransaction } from '@contember/database'\nimport { FingerCrossedLoggerHandler, Logger } from '@contember/logger'\nimport { SystemMigrationsRunner } from '../migrations'\n\nexport class ProjectInitializer {\n\tconstructor(\n\t\tprivate readonly stageCreator: StageCreator,\n\t\tprivate readonly migrationsRunner: SystemMigrationsRunner,\n\t\tprivate readonly databaseContext: DatabaseContext,\n\t\tprivate readonly project: ProjectConfig,\n\t) {}\n\n\tpublic async initialize(logger: Logger) {\n\t\treturn await logger.scope(async initLogger => {\n\t\t\tinitLogger.debug('Executing system schema migrations')\n\t\t\tawait this.migrationsRunner.run(initLogger)\n\t\t\tconst dbContext = this.databaseContext\n\t\t\tawait retryTransaction(\n\t\t\t\t() => dbContext.transaction(async trx => {\n\t\t\t\t\tawait this.initStages(trx, logger)\n\t\t\t\t}),\n\t\t\t\tmessage => initLogger.warn(message),\n\t\t\t)\n\t\t\tif (dbContext.client.connection instanceof Connection) {\n\t\t\t\tawait dbContext.client.connection.clearPool()\n\t\t\t}\n\t\t}, {}, { handler: FingerCrossedLoggerHandler.factory() })\n\t}\n\n\tprivate async initStages(db: DatabaseContext<Connection.TransactionLike>, logger: Logger) {\n\t\tlogger.debug(`Creating stages`)\n\t\tfor (const stage of this.project.stages) {\n\t\t\tconst created = await this.stageCreator.createStage(db, stage)\n\t\t\tif (created) {\n\t\t\t\tlogger.warn(`Created stage ${stage.slug}`, { stage: stage.slug })\n\t\t\t} else {\n\t\t\t\tlogger.debug(`Updated stage ${stage.slug}`, { stage: stage.slug })\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["logger","retryTransaction","Connection","FingerCrossedLoggerHandler"],"mappings":";;;;AAOO,MAAM,mBAAmB;AAAA,EAC/B,YACkB,cACA,kBACA,iBACA,SAChB;AAJgB,SAAA,eAAA;AACA,SAAA,mBAAA;AACA,SAAA,kBAAA;AACA,SAAA,UAAA;AAAA,EAAA;AAAA,EAGlB,MAAa,WAAWA,UAAgB;AACvC,WAAO,MAAMA,SAAO,MAAM,OAAM,eAAc;AAC7C,iBAAW,MAAM,oCAAoC;AAC/C,YAAA,KAAK,iBAAiB,IAAI,UAAU;AAC1C,YAAM,YAAY,KAAK;AACjB,YAAAC,SAAA;AAAA,QACL,MAAM,UAAU,YAAY,OAAM,QAAO;AAClC,gBAAA,KAAK,WAAW,KAAKD,QAAM;AAAA,QAAA,CACjC;AAAA,QACD,CAAA,YAAW,WAAW,KAAK,OAAO;AAAA,MACnC;AACI,UAAA,UAAU,OAAO,sBAAsBE,qBAAY;AAChD,cAAA,UAAU,OAAO,WAAW,UAAU;AAAA,MAAA;AAAA,IAE9C,GAAG,CAAI,GAAA,EAAE,SAASC,OAAAA,2BAA2B,WAAW;AAAA,EAAA;AAAA,EAGzD,MAAc,WAAW,IAAiDH,SAAgB;AACzF,IAAAA,QAAO,MAAM,iBAAiB;AACnB,eAAA,SAAS,KAAK,QAAQ,QAAQ;AACxC,YAAM,UAAU,MAAM,KAAK,aAAa,YAAY,IAAI,KAAK;AAC7D,UAAI,SAAS;AACL,QAAAA,QAAA,KAAK,iBAAiB,MAAM,IAAI,IAAI,EAAE,OAAO,MAAM,MAAM;AAAA,MAAA,OAC1D;AACC,QAAAA,QAAA,MAAM,iBAAiB,MAAM,IAAI,IAAI,EAAE,OAAO,MAAM,MAAM;AAAA,MAAA;AAAA,IAClE;AAAA,EACD;AAEF;;"}
1
+ {"version":3,"file":"ProjectInitializer.cjs","sources":["../../../../../packages/engine-system-api/src/model/ProjectInitializer.ts"],"sourcesContent":["import { ProjectConfig } from '../types'\nimport { StageCreator } from './stages'\nimport { DatabaseContext } from './database'\nimport { Connection, retryTransaction } from '@contember/database'\nimport { FingerCrossedLoggerHandler, Logger } from '@contember/logger'\nimport { SystemMigrationsRunner } from '../migrations'\n\nexport class ProjectInitializer {\n\tconstructor(\n\t\tprivate readonly stageCreator: StageCreator,\n\t\tprivate readonly migrationsRunner: SystemMigrationsRunner,\n\t\tprivate readonly databaseContext: DatabaseContext,\n\t\tprivate readonly project: ProjectConfig,\n\t) {}\n\n\tpublic async initialize(logger: Logger) {\n\t\treturn await logger.scope(\n\t\t\tasync initLogger => {\n\t\t\t\tinitLogger.debug('Executing system schema migrations')\n\t\t\t\tawait this.migrationsRunner.run(initLogger)\n\t\t\t\tconst dbContext = this.databaseContext\n\t\t\t\tawait retryTransaction(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tdbContext.transaction(async trx => {\n\t\t\t\t\t\t\tawait this.initStages(trx, logger)\n\t\t\t\t\t\t}),\n\t\t\t\t\tmessage => initLogger.warn(message),\n\t\t\t\t)\n\t\t\t\tif (dbContext.client.connection instanceof Connection) {\n\t\t\t\t\tawait dbContext.client.connection.clearPool()\n\t\t\t\t}\n\t\t\t},\n\t\t\t{},\n\t\t\t{ handler: FingerCrossedLoggerHandler.factory() },\n\t\t)\n\t}\n\n\tprivate async initStages(db: DatabaseContext<Connection.TransactionLike>, logger: Logger) {\n\t\tlogger.debug(`Creating stages`)\n\t\tfor (const stage of this.project.stages) {\n\t\t\tconst created = await this.stageCreator.createStage(db, stage)\n\t\t\tif (created) {\n\t\t\t\tlogger.warn(`Created stage ${stage.slug}`, { stage: stage.slug })\n\t\t\t} else {\n\t\t\t\tlogger.debug(`Updated stage ${stage.slug}`, { stage: stage.slug })\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["logger","retryTransaction","Connection","FingerCrossedLoggerHandler"],"mappings":";;;;AAOO,MAAM,mBAAmB;AAAA,EAC/B,YACkB,cACA,kBACA,iBACA,SAChB;AAJgB,SAAA,eAAA;AACA,SAAA,mBAAA;AACA,SAAA,kBAAA;AACA,SAAA,UAAA;AAAA,EACf;AAAA,EAEH,MAAa,WAAWA,UAAgB;AACvC,WAAO,MAAMA,SAAO;AAAA,MACnB,OAAM,eAAc;AACnB,mBAAW,MAAM,oCAAoC;AACrD,cAAM,KAAK,iBAAiB,IAAI,UAAU;AAC1C,cAAM,YAAY,KAAK;AACvB,cAAMC,SAAAA;AAAAA,UACL,MACC,UAAU,YAAY,OAAM,QAAO;AAClC,kBAAM,KAAK,WAAW,KAAKD,QAAM;AAAA,UAClC,CAAC;AAAA,UACF,CAAA,YAAW,WAAW,KAAK,OAAO;AAAA,QAAA;AAEnC,YAAI,UAAU,OAAO,sBAAsBE,qBAAY;AACtD,gBAAM,UAAU,OAAO,WAAW,UAAA;AAAA,QACnC;AAAA,MACD;AAAA,MACA,CAAA;AAAA,MACA,EAAE,SAASC,OAAAA,2BAA2B,QAAA,EAAQ;AAAA,IAAE;AAAA,EAElD;AAAA,EAEA,MAAc,WAAW,IAAiDH,SAAgB;AACzF,IAAAA,QAAO,MAAM,iBAAiB;AAC9B,eAAW,SAAS,KAAK,QAAQ,QAAQ;AACxC,YAAM,UAAU,MAAM,KAAK,aAAa,YAAY,IAAI,KAAK;AAC7D,UAAI,SAAS;AACZ,QAAAA,QAAO,KAAK,iBAAiB,MAAM,IAAI,IAAI,EAAE,OAAO,MAAM,MAAM;AAAA,MACjE,OAAO;AACN,QAAAA,QAAO,MAAM,iBAAiB,MAAM,IAAI,IAAI,EAAE,OAAO,MAAM,MAAM;AAAA,MAClE;AAAA,IACD;AAAA,EACD;AACD;;"}
@@ -8,20 +8,24 @@ class ProjectInitializer {
8
8
  this.project = project;
9
9
  }
10
10
  async initialize(logger) {
11
- return await logger.scope(async (initLogger) => {
12
- initLogger.debug("Executing system schema migrations");
13
- await this.migrationsRunner.run(initLogger);
14
- const dbContext = this.databaseContext;
15
- await retryTransaction(
16
- () => dbContext.transaction(async (trx) => {
17
- await this.initStages(trx, logger);
18
- }),
19
- (message) => initLogger.warn(message)
20
- );
21
- if (dbContext.client.connection instanceof Connection) {
22
- await dbContext.client.connection.clearPool();
23
- }
24
- }, {}, { handler: FingerCrossedLoggerHandler.factory() });
11
+ return await logger.scope(
12
+ async (initLogger) => {
13
+ initLogger.debug("Executing system schema migrations");
14
+ await this.migrationsRunner.run(initLogger);
15
+ const dbContext = this.databaseContext;
16
+ await retryTransaction(
17
+ () => dbContext.transaction(async (trx) => {
18
+ await this.initStages(trx, logger);
19
+ }),
20
+ (message) => initLogger.warn(message)
21
+ );
22
+ if (dbContext.client.connection instanceof Connection) {
23
+ await dbContext.client.connection.clearPool();
24
+ }
25
+ },
26
+ {},
27
+ { handler: FingerCrossedLoggerHandler.factory() }
28
+ );
25
29
  }
26
30
  async initStages(db, logger) {
27
31
  logger.debug(`Creating stages`);
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectInitializer.js","sources":["../../../../../packages/engine-system-api/src/model/ProjectInitializer.ts"],"sourcesContent":["import { ProjectConfig } from '../types'\nimport { StageCreator } from './stages'\nimport { DatabaseContext } from './database'\nimport { Connection, retryTransaction } from '@contember/database'\nimport { FingerCrossedLoggerHandler, Logger } from '@contember/logger'\nimport { SystemMigrationsRunner } from '../migrations'\n\nexport class ProjectInitializer {\n\tconstructor(\n\t\tprivate readonly stageCreator: StageCreator,\n\t\tprivate readonly migrationsRunner: SystemMigrationsRunner,\n\t\tprivate readonly databaseContext: DatabaseContext,\n\t\tprivate readonly project: ProjectConfig,\n\t) {}\n\n\tpublic async initialize(logger: Logger) {\n\t\treturn await logger.scope(async initLogger => {\n\t\t\tinitLogger.debug('Executing system schema migrations')\n\t\t\tawait this.migrationsRunner.run(initLogger)\n\t\t\tconst dbContext = this.databaseContext\n\t\t\tawait retryTransaction(\n\t\t\t\t() => dbContext.transaction(async trx => {\n\t\t\t\t\tawait this.initStages(trx, logger)\n\t\t\t\t}),\n\t\t\t\tmessage => initLogger.warn(message),\n\t\t\t)\n\t\t\tif (dbContext.client.connection instanceof Connection) {\n\t\t\t\tawait dbContext.client.connection.clearPool()\n\t\t\t}\n\t\t}, {}, { handler: FingerCrossedLoggerHandler.factory() })\n\t}\n\n\tprivate async initStages(db: DatabaseContext<Connection.TransactionLike>, logger: Logger) {\n\t\tlogger.debug(`Creating stages`)\n\t\tfor (const stage of this.project.stages) {\n\t\t\tconst created = await this.stageCreator.createStage(db, stage)\n\t\t\tif (created) {\n\t\t\t\tlogger.warn(`Created stage ${stage.slug}`, { stage: stage.slug })\n\t\t\t} else {\n\t\t\t\tlogger.debug(`Updated stage ${stage.slug}`, { stage: stage.slug })\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAOO,MAAM,mBAAmB;AAAA,EAC/B,YACkB,cACA,kBACA,iBACA,SAChB;AAJgB,SAAA,eAAA;AACA,SAAA,mBAAA;AACA,SAAA,kBAAA;AACA,SAAA,UAAA;AAAA,EAAA;AAAA,EAGlB,MAAa,WAAW,QAAgB;AACvC,WAAO,MAAM,OAAO,MAAM,OAAM,eAAc;AAC7C,iBAAW,MAAM,oCAAoC;AAC/C,YAAA,KAAK,iBAAiB,IAAI,UAAU;AAC1C,YAAM,YAAY,KAAK;AACjB,YAAA;AAAA,QACL,MAAM,UAAU,YAAY,OAAM,QAAO;AAClC,gBAAA,KAAK,WAAW,KAAK,MAAM;AAAA,QAAA,CACjC;AAAA,QACD,CAAA,YAAW,WAAW,KAAK,OAAO;AAAA,MACnC;AACI,UAAA,UAAU,OAAO,sBAAsB,YAAY;AAChD,cAAA,UAAU,OAAO,WAAW,UAAU;AAAA,MAAA;AAAA,IAE9C,GAAG,CAAI,GAAA,EAAE,SAAS,2BAA2B,WAAW;AAAA,EAAA;AAAA,EAGzD,MAAc,WAAW,IAAiD,QAAgB;AACzF,WAAO,MAAM,iBAAiB;AACnB,eAAA,SAAS,KAAK,QAAQ,QAAQ;AACxC,YAAM,UAAU,MAAM,KAAK,aAAa,YAAY,IAAI,KAAK;AAC7D,UAAI,SAAS;AACL,eAAA,KAAK,iBAAiB,MAAM,IAAI,IAAI,EAAE,OAAO,MAAM,MAAM;AAAA,MAAA,OAC1D;AACC,eAAA,MAAM,iBAAiB,MAAM,IAAI,IAAI,EAAE,OAAO,MAAM,MAAM;AAAA,MAAA;AAAA,IAClE;AAAA,EACD;AAEF;"}
1
+ {"version":3,"file":"ProjectInitializer.js","sources":["../../../../../packages/engine-system-api/src/model/ProjectInitializer.ts"],"sourcesContent":["import { ProjectConfig } from '../types'\nimport { StageCreator } from './stages'\nimport { DatabaseContext } from './database'\nimport { Connection, retryTransaction } from '@contember/database'\nimport { FingerCrossedLoggerHandler, Logger } from '@contember/logger'\nimport { SystemMigrationsRunner } from '../migrations'\n\nexport class ProjectInitializer {\n\tconstructor(\n\t\tprivate readonly stageCreator: StageCreator,\n\t\tprivate readonly migrationsRunner: SystemMigrationsRunner,\n\t\tprivate readonly databaseContext: DatabaseContext,\n\t\tprivate readonly project: ProjectConfig,\n\t) {}\n\n\tpublic async initialize(logger: Logger) {\n\t\treturn await logger.scope(\n\t\t\tasync initLogger => {\n\t\t\t\tinitLogger.debug('Executing system schema migrations')\n\t\t\t\tawait this.migrationsRunner.run(initLogger)\n\t\t\t\tconst dbContext = this.databaseContext\n\t\t\t\tawait retryTransaction(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tdbContext.transaction(async trx => {\n\t\t\t\t\t\t\tawait this.initStages(trx, logger)\n\t\t\t\t\t\t}),\n\t\t\t\t\tmessage => initLogger.warn(message),\n\t\t\t\t)\n\t\t\t\tif (dbContext.client.connection instanceof Connection) {\n\t\t\t\t\tawait dbContext.client.connection.clearPool()\n\t\t\t\t}\n\t\t\t},\n\t\t\t{},\n\t\t\t{ handler: FingerCrossedLoggerHandler.factory() },\n\t\t)\n\t}\n\n\tprivate async initStages(db: DatabaseContext<Connection.TransactionLike>, logger: Logger) {\n\t\tlogger.debug(`Creating stages`)\n\t\tfor (const stage of this.project.stages) {\n\t\t\tconst created = await this.stageCreator.createStage(db, stage)\n\t\t\tif (created) {\n\t\t\t\tlogger.warn(`Created stage ${stage.slug}`, { stage: stage.slug })\n\t\t\t} else {\n\t\t\t\tlogger.debug(`Updated stage ${stage.slug}`, { stage: stage.slug })\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAOO,MAAM,mBAAmB;AAAA,EAC/B,YACkB,cACA,kBACA,iBACA,SAChB;AAJgB,SAAA,eAAA;AACA,SAAA,mBAAA;AACA,SAAA,kBAAA;AACA,SAAA,UAAA;AAAA,EACf;AAAA,EAEH,MAAa,WAAW,QAAgB;AACvC,WAAO,MAAM,OAAO;AAAA,MACnB,OAAM,eAAc;AACnB,mBAAW,MAAM,oCAAoC;AACrD,cAAM,KAAK,iBAAiB,IAAI,UAAU;AAC1C,cAAM,YAAY,KAAK;AACvB,cAAM;AAAA,UACL,MACC,UAAU,YAAY,OAAM,QAAO;AAClC,kBAAM,KAAK,WAAW,KAAK,MAAM;AAAA,UAClC,CAAC;AAAA,UACF,CAAA,YAAW,WAAW,KAAK,OAAO;AAAA,QAAA;AAEnC,YAAI,UAAU,OAAO,sBAAsB,YAAY;AACtD,gBAAM,UAAU,OAAO,WAAW,UAAA;AAAA,QACnC;AAAA,MACD;AAAA,MACA,CAAA;AAAA,MACA,EAAE,SAAS,2BAA2B,QAAA,EAAQ;AAAA,IAAE;AAAA,EAElD;AAAA,EAEA,MAAc,WAAW,IAAiD,QAAgB;AACzF,WAAO,MAAM,iBAAiB;AAC9B,eAAW,SAAS,KAAK,QAAQ,QAAQ;AACxC,YAAM,UAAU,MAAM,KAAK,aAAa,YAAY,IAAI,KAAK;AAC7D,UAAI,SAAS;AACZ,eAAO,KAAK,iBAAiB,MAAM,IAAI,IAAI,EAAE,OAAO,MAAM,MAAM;AAAA,MACjE,OAAO;AACN,eAAO,MAAM,iBAAiB,MAAM,IAAI,IAAI,EAAE,OAAO,MAAM,MAAM;AAAA,MAClE;AAAA,IACD;AAAA,EACD;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectTruncateExecutor.cjs","sources":["../../../../../packages/engine-system-api/src/model/ProjectTruncateExecutor.ts"],"sourcesContent":["import { DatabaseContext } from './database'\nimport { ProjectConfig } from '../types'\nimport { TruncateEventsCommand } from './commands'\nimport { getJunctionTables } from './helpers'\nimport { Schema } from '@contember/schema'\nimport { wrapIdentifier } from '@contember/database'\nimport { StagesQuery } from './queries'\n\nexport class ProjectTruncateExecutor {\n\tpublic async truncateProject(db: DatabaseContext, project: ProjectConfig, schema: Schema) {\n\t\tconst tableNames = Object.values(schema.model.entities).filter(it => !it.view).map(it => it.tableName)\n\t\tconst junctionTableNames = getJunctionTables(schema.model).map(it => it.tableName)\n\t\tconst allTableNames = [...tableNames, ...junctionTableNames]\n\t\tif (allTableNames.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tawait db.transaction(async trx => {\n\t\t\tawait trx.client.query('SET CONSTRAINTS ALL DEFERRED')\n\t\t\tconst stages = await db.queryHandler.fetch(new StagesQuery())\n\t\t\tfor (const stage of stages) {\n\t\t\t\tconst wrappedNames = allTableNames.map(it => `${wrapIdentifier(stage.schema)}.${wrapIdentifier(it)}`)\n\t\t\t\tawait trx.client.query(`TRUNCATE ${wrappedNames}`)\n\t\t\t}\n\t\t\tawait trx.client.query('SET CONSTRAINTS ALL IMMEDIATE')\n\t\t\tawait trx.commandBus.execute(new TruncateEventsCommand())\n\t\t})\n\t}\n}\n"],"names":["getJunctionTables","StagesQuery","wrapIdentifier","TruncateEventsCommand"],"mappings":";;;;;;;;;AAQO,MAAM,wBAAwB;AAAA,EACpC,MAAa,gBAAgB,IAAqB,SAAwB,QAAgB;AACzF,UAAM,aAAa,OAAO,OAAO,OAAO,MAAM,QAAQ,EAAE,OAAO,CAAM,OAAA,CAAC,GAAG,IAAI,EAAE,IAAI,CAAA,OAAM,GAAG,SAAS;AAC/F,UAAA,qBAAqBA,+BAAkB,OAAO,KAAK,EAAE,IAAI,CAAA,OAAM,GAAG,SAAS;AACjF,UAAM,gBAAgB,CAAC,GAAG,YAAY,GAAG,kBAAkB;AACvD,QAAA,cAAc,WAAW,GAAG;AAC/B;AAAA,IAAA;AAEK,UAAA,GAAG,YAAY,OAAM,QAAO;AAC3B,YAAA,IAAI,OAAO,MAAM,8BAA8B;AACrD,YAAM,SAAS,MAAM,GAAG,aAAa,MAAM,IAAIC,YAAAA,aAAa;AAC5D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,eAAe,cAAc,IAAI,CAAA,OAAM,GAAGC,SAAAA,eAAe,MAAM,MAAM,CAAC,IAAIA,SAAe,eAAA,EAAE,CAAC,EAAE;AACpG,cAAM,IAAI,OAAO,MAAM,YAAY,YAAY,EAAE;AAAA,MAAA;AAE5C,YAAA,IAAI,OAAO,MAAM,+BAA+B;AACtD,YAAM,IAAI,WAAW,QAAQ,IAAIC,6CAAuB;AAAA,IAAA,CACxD;AAAA,EAAA;AAEH;;"}
1
+ {"version":3,"file":"ProjectTruncateExecutor.cjs","sources":["../../../../../packages/engine-system-api/src/model/ProjectTruncateExecutor.ts"],"sourcesContent":["import { DatabaseContext } from './database'\nimport { ProjectConfig } from '../types'\nimport { TruncateEventsCommand } from './commands'\nimport { getJunctionTables } from './helpers'\nimport { Schema } from '@contember/schema'\nimport { wrapIdentifier } from '@contember/database'\nimport { StagesQuery } from './queries'\n\nexport class ProjectTruncateExecutor {\n\tpublic async truncateProject(db: DatabaseContext, project: ProjectConfig, schema: Schema) {\n\t\tconst tableNames = Object.values(schema.model.entities).filter(it => !it.view).map(it => it.tableName)\n\t\tconst junctionTableNames = getJunctionTables(schema.model).map(it => it.tableName)\n\t\tconst allTableNames = [...tableNames, ...junctionTableNames]\n\t\tif (allTableNames.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tawait db.transaction(async trx => {\n\t\t\tawait trx.client.query('SET CONSTRAINTS ALL DEFERRED')\n\t\t\tconst stages = await db.queryHandler.fetch(new StagesQuery())\n\t\t\tfor (const stage of stages) {\n\t\t\t\tconst wrappedNames = allTableNames.map(it => `${wrapIdentifier(stage.schema)}.${wrapIdentifier(it)}`)\n\t\t\t\tawait trx.client.query(`TRUNCATE ${wrappedNames}`)\n\t\t\t}\n\t\t\tawait trx.client.query('SET CONSTRAINTS ALL IMMEDIATE')\n\t\t\tawait trx.commandBus.execute(new TruncateEventsCommand())\n\t\t})\n\t}\n}\n"],"names":["getJunctionTables","StagesQuery","wrapIdentifier","TruncateEventsCommand"],"mappings":";;;;;;;;;AAQO,MAAM,wBAAwB;AAAA,EACpC,MAAa,gBAAgB,IAAqB,SAAwB,QAAgB;AACzF,UAAM,aAAa,OAAO,OAAO,OAAO,MAAM,QAAQ,EAAE,OAAO,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAA,OAAM,GAAG,SAAS;AACrG,UAAM,qBAAqBA,+BAAkB,OAAO,KAAK,EAAE,IAAI,CAAA,OAAM,GAAG,SAAS;AACjF,UAAM,gBAAgB,CAAC,GAAG,YAAY,GAAG,kBAAkB;AAC3D,QAAI,cAAc,WAAW,GAAG;AAC/B;AAAA,IACD;AACA,UAAM,GAAG,YAAY,OAAM,QAAO;AACjC,YAAM,IAAI,OAAO,MAAM,8BAA8B;AACrD,YAAM,SAAS,MAAM,GAAG,aAAa,MAAM,IAAIC,YAAAA,aAAa;AAC5D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,eAAe,cAAc,IAAI,CAAA,OAAM,GAAGC,SAAAA,eAAe,MAAM,MAAM,CAAC,IAAIA,SAAAA,eAAe,EAAE,CAAC,EAAE;AACpG,cAAM,IAAI,OAAO,MAAM,YAAY,YAAY,EAAE;AAAA,MAClD;AACA,YAAM,IAAI,OAAO,MAAM,+BAA+B;AACtD,YAAM,IAAI,WAAW,QAAQ,IAAIC,sBAAAA,uBAAuB;AAAA,IACzD,CAAC;AAAA,EACF;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectTruncateExecutor.js","sources":["../../../../../packages/engine-system-api/src/model/ProjectTruncateExecutor.ts"],"sourcesContent":["import { DatabaseContext } from './database'\nimport { ProjectConfig } from '../types'\nimport { TruncateEventsCommand } from './commands'\nimport { getJunctionTables } from './helpers'\nimport { Schema } from '@contember/schema'\nimport { wrapIdentifier } from '@contember/database'\nimport { StagesQuery } from './queries'\n\nexport class ProjectTruncateExecutor {\n\tpublic async truncateProject(db: DatabaseContext, project: ProjectConfig, schema: Schema) {\n\t\tconst tableNames = Object.values(schema.model.entities).filter(it => !it.view).map(it => it.tableName)\n\t\tconst junctionTableNames = getJunctionTables(schema.model).map(it => it.tableName)\n\t\tconst allTableNames = [...tableNames, ...junctionTableNames]\n\t\tif (allTableNames.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tawait db.transaction(async trx => {\n\t\t\tawait trx.client.query('SET CONSTRAINTS ALL DEFERRED')\n\t\t\tconst stages = await db.queryHandler.fetch(new StagesQuery())\n\t\t\tfor (const stage of stages) {\n\t\t\t\tconst wrappedNames = allTableNames.map(it => `${wrapIdentifier(stage.schema)}.${wrapIdentifier(it)}`)\n\t\t\t\tawait trx.client.query(`TRUNCATE ${wrappedNames}`)\n\t\t\t}\n\t\t\tawait trx.client.query('SET CONSTRAINTS ALL IMMEDIATE')\n\t\t\tawait trx.commandBus.execute(new TruncateEventsCommand())\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;;AAQO,MAAM,wBAAwB;AAAA,EACpC,MAAa,gBAAgB,IAAqB,SAAwB,QAAgB;AACzF,UAAM,aAAa,OAAO,OAAO,OAAO,MAAM,QAAQ,EAAE,OAAO,CAAM,OAAA,CAAC,GAAG,IAAI,EAAE,IAAI,CAAA,OAAM,GAAG,SAAS;AAC/F,UAAA,qBAAqB,kBAAkB,OAAO,KAAK,EAAE,IAAI,CAAA,OAAM,GAAG,SAAS;AACjF,UAAM,gBAAgB,CAAC,GAAG,YAAY,GAAG,kBAAkB;AACvD,QAAA,cAAc,WAAW,GAAG;AAC/B;AAAA,IAAA;AAEK,UAAA,GAAG,YAAY,OAAM,QAAO;AAC3B,YAAA,IAAI,OAAO,MAAM,8BAA8B;AACrD,YAAM,SAAS,MAAM,GAAG,aAAa,MAAM,IAAI,aAAa;AAC5D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,eAAe,cAAc,IAAI,CAAA,OAAM,GAAG,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC,EAAE;AACpG,cAAM,IAAI,OAAO,MAAM,YAAY,YAAY,EAAE;AAAA,MAAA;AAE5C,YAAA,IAAI,OAAO,MAAM,+BAA+B;AACtD,YAAM,IAAI,WAAW,QAAQ,IAAI,uBAAuB;AAAA,IAAA,CACxD;AAAA,EAAA;AAEH;"}
1
+ {"version":3,"file":"ProjectTruncateExecutor.js","sources":["../../../../../packages/engine-system-api/src/model/ProjectTruncateExecutor.ts"],"sourcesContent":["import { DatabaseContext } from './database'\nimport { ProjectConfig } from '../types'\nimport { TruncateEventsCommand } from './commands'\nimport { getJunctionTables } from './helpers'\nimport { Schema } from '@contember/schema'\nimport { wrapIdentifier } from '@contember/database'\nimport { StagesQuery } from './queries'\n\nexport class ProjectTruncateExecutor {\n\tpublic async truncateProject(db: DatabaseContext, project: ProjectConfig, schema: Schema) {\n\t\tconst tableNames = Object.values(schema.model.entities).filter(it => !it.view).map(it => it.tableName)\n\t\tconst junctionTableNames = getJunctionTables(schema.model).map(it => it.tableName)\n\t\tconst allTableNames = [...tableNames, ...junctionTableNames]\n\t\tif (allTableNames.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tawait db.transaction(async trx => {\n\t\t\tawait trx.client.query('SET CONSTRAINTS ALL DEFERRED')\n\t\t\tconst stages = await db.queryHandler.fetch(new StagesQuery())\n\t\t\tfor (const stage of stages) {\n\t\t\t\tconst wrappedNames = allTableNames.map(it => `${wrapIdentifier(stage.schema)}.${wrapIdentifier(it)}`)\n\t\t\t\tawait trx.client.query(`TRUNCATE ${wrappedNames}`)\n\t\t\t}\n\t\t\tawait trx.client.query('SET CONSTRAINTS ALL IMMEDIATE')\n\t\t\tawait trx.commandBus.execute(new TruncateEventsCommand())\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;;AAQO,MAAM,wBAAwB;AAAA,EACpC,MAAa,gBAAgB,IAAqB,SAAwB,QAAgB;AACzF,UAAM,aAAa,OAAO,OAAO,OAAO,MAAM,QAAQ,EAAE,OAAO,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAA,OAAM,GAAG,SAAS;AACrG,UAAM,qBAAqB,kBAAkB,OAAO,KAAK,EAAE,IAAI,CAAA,OAAM,GAAG,SAAS;AACjF,UAAM,gBAAgB,CAAC,GAAG,YAAY,GAAG,kBAAkB;AAC3D,QAAI,cAAc,WAAW,GAAG;AAC/B;AAAA,IACD;AACA,UAAM,GAAG,YAAY,OAAM,QAAO;AACjC,YAAM,IAAI,OAAO,MAAM,8BAA8B;AACrD,YAAM,SAAS,MAAM,GAAG,aAAa,MAAM,IAAI,aAAa;AAC5D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,eAAe,cAAc,IAAI,CAAA,OAAM,GAAG,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC,EAAE;AACpG,cAAM,IAAI,OAAO,MAAM,YAAY,YAAY,EAAE;AAAA,MAClD;AACA,YAAM,IAAI,OAAO,MAAM,+BAA+B;AACtD,YAAM,IAAI,WAAW,QAAQ,IAAI,uBAAuB;AAAA,IACzD,CAAC;AAAA,EACF;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthorizationActions.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/AuthorizationActions.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\n\nexport namespace AuthorizationActions {\n\texport enum Resources {\n\t\tproject = 'project',\n\t}\n\n\texport const PROJECT_HISTORY_ANY = Authorizator.createAction(Resources.project, 'historyAny')\n\n\texport const PROJECT_MIGRATE = Authorizator.createAction(Resources.project, 'migrate')\n\texport const PROJECT_LIST_MIGRATIONS = Authorizator.createAction(Resources.project, 'listMigrations')\n\texport const PROJECT_SHOW_SCHEMA = Authorizator.createAction(Resources.project, 'showSchema')\n}\n"],"names":["AuthorizationActions","Resources","Authorizator"],"mappings":";;;AAEiBA,QAAAA,uBAAAA;AAAAA,CAAV,CAAUA,0BAAV;AACC,GAAA,CAAKC,eAAL;AACNA,eAAA,SAAU,IAAA;AAAA,EADC,GAAAD,sBAAA,cAAAA,sBAAA,YAAA,CAAA,EAAA;AAICA,wBAAA,sBAAsBE,cAAAA,aAAa,aAAa,WAAmB,YAAY;AAE/EF,wBAAA,kBAAkBE,cAAAA,aAAa,aAAa,WAAmB,SAAS;AACxEF,wBAAA,0BAA0BE,cAAAA,aAAa,aAAa,WAAmB,gBAAgB;AACvFF,wBAAA,sBAAsBE,cAAAA,aAAa,aAAa,WAAmB,YAAY;AAAA,GAT5EF,QAAA,yBAAAA,+BAAA,CAAA,EAAA;"}
1
+ {"version":3,"file":"AuthorizationActions.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/AuthorizationActions.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\n\nexport namespace AuthorizationActions {\n\texport enum Resources {\n\t\tproject = 'project',\n\t}\n\n\texport const PROJECT_HISTORY_ANY = Authorizator.createAction(Resources.project, 'historyAny')\n\n\texport const PROJECT_MIGRATE = Authorizator.createAction(Resources.project, 'migrate')\n\texport const PROJECT_LIST_MIGRATIONS = Authorizator.createAction(Resources.project, 'listMigrations')\n\texport const PROJECT_SHOW_SCHEMA = Authorizator.createAction(Resources.project, 'showSchema')\n}\n"],"names":["AuthorizationActions","Resources","Authorizator"],"mappings":";;;AAEiBA,QAAAA,uBAAAA;AAAAA,CAAV,CAAUA,0BAAV;AACC,GAAA,CAAKC,eAAL;AACNA,eAAA,SAAA,IAAU;AAAA,EAAA,GADCD,sBAAA,cAAAA,sBAAA,YAAA,CAAA,EAAA;AAICA,wBAAA,sBAAsBE,cAAAA,aAAa,aAAa,WAAmB,YAAY;AAE/EF,wBAAA,kBAAkBE,cAAAA,aAAa,aAAa,WAAmB,SAAS;AACxEF,wBAAA,0BAA0BE,cAAAA,aAAa,aAAa,WAAmB,gBAAgB;AACvFF,wBAAA,sBAAsBE,cAAAA,aAAa,aAAa,WAAmB,YAAY;AAAA,GAT5EF,QAAAA,yBAAAA,+BAAA,CAAA,EAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthorizationActions.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/AuthorizationActions.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\n\nexport namespace AuthorizationActions {\n\texport enum Resources {\n\t\tproject = 'project',\n\t}\n\n\texport const PROJECT_HISTORY_ANY = Authorizator.createAction(Resources.project, 'historyAny')\n\n\texport const PROJECT_MIGRATE = Authorizator.createAction(Resources.project, 'migrate')\n\texport const PROJECT_LIST_MIGRATIONS = Authorizator.createAction(Resources.project, 'listMigrations')\n\texport const PROJECT_SHOW_SCHEMA = Authorizator.createAction(Resources.project, 'showSchema')\n}\n"],"names":["AuthorizationActions","Resources"],"mappings":";AAEiB,IAAA;AAAA,CAAV,CAAUA,0BAAV;AACC,GAAA,CAAKC,eAAL;AACNA,eAAA,SAAU,IAAA;AAAA,EADC,GAAAD,sBAAA,cAAAA,sBAAA,YAAA,CAAA,EAAA;AAICA,wBAAA,sBAAsB,aAAa,aAAa,WAAmB,YAAY;AAE/EA,wBAAA,kBAAkB,aAAa,aAAa,WAAmB,SAAS;AACxEA,wBAAA,0BAA0B,aAAa,aAAa,WAAmB,gBAAgB;AACvFA,wBAAA,sBAAsB,aAAa,aAAa,WAAmB,YAAY;AAAA,GAT5E,yBAAA,uBAAA,CAAA,EAAA;"}
1
+ {"version":3,"file":"AuthorizationActions.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/AuthorizationActions.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\n\nexport namespace AuthorizationActions {\n\texport enum Resources {\n\t\tproject = 'project',\n\t}\n\n\texport const PROJECT_HISTORY_ANY = Authorizator.createAction(Resources.project, 'historyAny')\n\n\texport const PROJECT_MIGRATE = Authorizator.createAction(Resources.project, 'migrate')\n\texport const PROJECT_LIST_MIGRATIONS = Authorizator.createAction(Resources.project, 'listMigrations')\n\texport const PROJECT_SHOW_SCHEMA = Authorizator.createAction(Resources.project, 'showSchema')\n}\n"],"names":["AuthorizationActions","Resources"],"mappings":";AAEO,IAAU;AAAA,CAAV,CAAUA,0BAAV;AACC,GAAA,CAAKC,eAAL;AACNA,eAAA,SAAA,IAAU;AAAA,EAAA,GADCD,sBAAA,cAAAA,sBAAA,YAAA,CAAA,EAAA;AAICA,wBAAA,sBAAsB,aAAa,aAAa,WAAmB,YAAY;AAE/EA,wBAAA,kBAAkB,aAAa,aAAa,WAAmB,SAAS;AACxEA,wBAAA,0BAA0B,aAAa,aAAa,WAAmB,gBAAgB;AACvFA,wBAAA,sBAAsB,aAAa,aAAa,WAAmB,YAAY;AAAA,GAT5E,yBAAA,uBAAA,CAAA,EAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Identity.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/Identity.ts"],"sourcesContent":["export class Identity {\n\tconstructor(public readonly id: string, public readonly roles: string[]) {}\n}\n"],"names":[],"mappings":";;AAAO,MAAM,SAAS;AAAA,EACrB,YAA4B,IAA4B,OAAiB;AAA7C,SAAA,KAAA;AAA4B,SAAA,QAAA;AAAA,EAAA;AACzD;;"}
1
+ {"version":3,"file":"Identity.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/Identity.ts"],"sourcesContent":["export class Identity {\n\tconstructor(public readonly id: string, public readonly roles: string[]) {}\n}\n"],"names":[],"mappings":";;AAAO,MAAM,SAAS;AAAA,EACrB,YAA4B,IAA4B,OAAiB;AAA7C,SAAA,KAAA;AAA4B,SAAA,QAAA;AAAA,EAAkB;AAC3E;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Identity.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/Identity.ts"],"sourcesContent":["export class Identity {\n\tconstructor(public readonly id: string, public readonly roles: string[]) {}\n}\n"],"names":[],"mappings":"AAAO,MAAM,SAAS;AAAA,EACrB,YAA4B,IAA4B,OAAiB;AAA7C,SAAA,KAAA;AAA4B,SAAA,QAAA;AAAA,EAAA;AACzD;"}
1
+ {"version":3,"file":"Identity.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/Identity.ts"],"sourcesContent":["export class Identity {\n\tconstructor(public readonly id: string, public readonly roles: string[]) {}\n}\n"],"names":[],"mappings":"AAAO,MAAM,SAAS;AAAA,EACrB,YAA4B,IAA4B,OAAiB;AAA7C,SAAA,KAAA;AAA4B,SAAA,QAAA;AAAA,EAAkB;AAC3E;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionsFactory.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/PermissionsFactory.ts"],"sourcesContent":["import { Permissions } from '@contember/authorization'\nimport { ProjectRole } from '@contember/schema'\nimport { AuthorizationActions } from './AuthorizationActions'\n\nexport class PermissionsFactory {\n\tpublic create(): Permissions {\n\t\tconst permissions = new Permissions()\n\t\tpermissions.allow(ProjectRole.ADMIN, { resource: Permissions.ALL, privilege: Permissions.ALL })\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_MIGRATE)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_LIST_MIGRATIONS)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_SHOW_SCHEMA)\n\n\t\treturn permissions\n\t}\n}\n"],"names":["Permissions","ProjectRole","AuthorizationActions"],"mappings":";;;;;AAIO,MAAM,mBAAmB;AAAA,EACxB,SAAsB;AACtB,UAAA,cAAc,IAAIA,0BAAY;AACxB,gBAAA,MAAMC,mBAAY,OAAO,EAAE,UAAUD,0BAAY,KAAK,WAAWA,cAAY,YAAA,IAAA,CAAK;AAC9F,gBAAY,MAAMC,OAAAA,YAAY,UAAUC,qBAAAA,qBAAqB,eAAe;AAC5E,gBAAY,MAAMD,OAAAA,YAAY,UAAUC,qBAAAA,qBAAqB,uBAAuB;AACpF,gBAAY,MAAMD,OAAAA,YAAY,UAAUC,qBAAAA,qBAAqB,mBAAmB;AAEzE,WAAA;AAAA,EAAA;AAET;;"}
1
+ {"version":3,"file":"PermissionsFactory.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/PermissionsFactory.ts"],"sourcesContent":["import { Permissions } from '@contember/authorization'\nimport { ProjectRole } from '@contember/schema'\nimport { AuthorizationActions } from './AuthorizationActions'\n\nexport class PermissionsFactory {\n\tpublic create(): Permissions {\n\t\tconst permissions = new Permissions()\n\t\tpermissions.allow(ProjectRole.ADMIN, { resource: Permissions.ALL, privilege: Permissions.ALL })\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_MIGRATE)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_LIST_MIGRATIONS)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_SHOW_SCHEMA)\n\n\t\treturn permissions\n\t}\n}\n"],"names":["Permissions","ProjectRole","AuthorizationActions"],"mappings":";;;;;AAIO,MAAM,mBAAmB;AAAA,EACxB,SAAsB;AAC5B,UAAM,cAAc,IAAIA,0BAAA;AACxB,gBAAY,MAAMC,mBAAY,OAAO,EAAE,UAAUD,cAAAA,YAAY,KAAK,WAAWA,cAAAA,YAAY,IAAA,CAAK;AAC9F,gBAAY,MAAMC,OAAAA,YAAY,UAAUC,qBAAAA,qBAAqB,eAAe;AAC5E,gBAAY,MAAMD,OAAAA,YAAY,UAAUC,qBAAAA,qBAAqB,uBAAuB;AACpF,gBAAY,MAAMD,OAAAA,YAAY,UAAUC,qBAAAA,qBAAqB,mBAAmB;AAEhF,WAAO;AAAA,EACR;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionsFactory.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/PermissionsFactory.ts"],"sourcesContent":["import { Permissions } from '@contember/authorization'\nimport { ProjectRole } from '@contember/schema'\nimport { AuthorizationActions } from './AuthorizationActions'\n\nexport class PermissionsFactory {\n\tpublic create(): Permissions {\n\t\tconst permissions = new Permissions()\n\t\tpermissions.allow(ProjectRole.ADMIN, { resource: Permissions.ALL, privilege: Permissions.ALL })\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_MIGRATE)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_LIST_MIGRATIONS)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_SHOW_SCHEMA)\n\n\t\treturn permissions\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,mBAAmB;AAAA,EACxB,SAAsB;AACtB,UAAA,cAAc,IAAI,YAAY;AACxB,gBAAA,MAAM,YAAY,OAAO,EAAE,UAAU,YAAY,KAAK,WAAW,YAAY,IAAA,CAAK;AAC9F,gBAAY,MAAM,YAAY,UAAU,qBAAqB,eAAe;AAC5E,gBAAY,MAAM,YAAY,UAAU,qBAAqB,uBAAuB;AACpF,gBAAY,MAAM,YAAY,UAAU,qBAAqB,mBAAmB;AAEzE,WAAA;AAAA,EAAA;AAET;"}
1
+ {"version":3,"file":"PermissionsFactory.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/PermissionsFactory.ts"],"sourcesContent":["import { Permissions } from '@contember/authorization'\nimport { ProjectRole } from '@contember/schema'\nimport { AuthorizationActions } from './AuthorizationActions'\n\nexport class PermissionsFactory {\n\tpublic create(): Permissions {\n\t\tconst permissions = new Permissions()\n\t\tpermissions.allow(ProjectRole.ADMIN, { resource: Permissions.ALL, privilege: Permissions.ALL })\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_MIGRATE)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_LIST_MIGRATIONS)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_SHOW_SCHEMA)\n\n\t\treturn permissions\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,mBAAmB;AAAA,EACxB,SAAsB;AAC5B,UAAM,cAAc,IAAI,YAAA;AACxB,gBAAY,MAAM,YAAY,OAAO,EAAE,UAAU,YAAY,KAAK,WAAW,YAAY,IAAA,CAAK;AAC9F,gBAAY,MAAM,YAAY,UAAU,qBAAqB,eAAe;AAC5E,gBAAY,MAAM,YAAY,UAAU,qBAAqB,uBAAuB;AACpF,gBAAY,MAAM,YAAY,UAAU,qBAAqB,mBAAmB;AAEhF,WAAO;AAAA,EACR;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"StagePermissionsFactory.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StagePermissionsFactory.ts"],"sourcesContent":["import { Acl } from '@contember/schema'\nimport { Permissions } from '@contember/authorization'\nimport { AuthorizationActions } from './AuthorizationActions'\nimport { SchemaGetter } from '../SchemaGetter'\n\nexport class StagePermissionsFactory {\n\tconstructor(private readonly getSchema: SchemaGetter) {}\n\n\tpublic async create(stage: string): Promise<Permissions> {\n\t\tconst permissions = new Permissions()\n\n\t\tconst filteredSchema = await this.getSchema({ stage })\n\n\t\tconst rolePermissions = this.createRolePermissions(filteredSchema.acl)\n\t\tObject.entries(rolePermissions).forEach(([role, value]) => {\n\t\t\t// history\n\t\t\tif (value.history === Acl.SystemPermissionsLevel.any || value.history === true) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_HISTORY_ANY)\n\t\t\t}\n\n\t\t\t// migrate\n\t\t\tif (value.migrate) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_MIGRATE)\n\t\t\t}\n\t\t})\n\n\t\treturn permissions\n\t}\n\n\tprivate createRolePermissions(schema: Acl.Schema): Record<string, Acl.SystemPermissions> {\n\t\tconst rolePermissions: Record<string, Acl.SystemPermissions> = {}\n\t\tconst recursionGuard = new Set<string>()\n\t\tconst getRolePermissions = (name: string): Acl.SystemPermissions => {\n\t\t\tif (rolePermissions[name]) {\n\t\t\t\treturn rolePermissions[name]\n\t\t\t}\n\t\t\tif (recursionGuard.has(name)) {\n\t\t\t\tthrow new Error(`Recursive role inheritance detected`)\n\t\t\t}\n\t\t\trecursionGuard.add(name)\n\t\t\tconst definition = schema.roles[name]\n\t\t\tconst inherits = definition.inherits || []\n\t\t\tconst inheritsDefinition = inherits.map(it => getRolePermissions(it))\n\t\t\trolePermissions[name] = {\n\t\t\t\t...inheritsDefinition.reduce(\n\t\t\t\t\t(def, current) => ({\n\t\t\t\t\t\t...def,\n\t\t\t\t\t\t...current,\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\t...(definition.system || {}),\n\t\t\t}\n\t\t\trecursionGuard.delete(name)\n\t\t\treturn rolePermissions[name]\n\t\t}\n\t\tObject.keys(schema.roles).forEach(getRolePermissions)\n\n\t\treturn rolePermissions\n\t}\n}\n"],"names":["Permissions","Acl","AuthorizationActions","schema"],"mappings":";;;;;AAKO,MAAM,wBAAwB;AAAA,EACpC,YAA6B,WAAyB;AAAzB,SAAA,YAAA;AAAA,EAAA;AAAA,EAE7B,MAAa,OAAO,OAAqC;AAClD,UAAA,cAAc,IAAIA,0BAAY;AAEpC,UAAM,iBAAiB,MAAM,KAAK,UAAU,EAAE,OAAO;AAErD,UAAM,kBAAkB,KAAK,sBAAsB,eAAe,GAAG;AAC9D,WAAA,QAAQ,eAAe,EAAE,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM;AAE1D,UAAI,MAAM,YAAYC,WAAI,uBAAuB,OAAO,MAAM,YAAY,MAAM;AACnE,oBAAA,MAAM,MAAMC,qBAAAA,qBAAqB,mBAAmB;AAAA,MAAA;AAIjE,UAAI,MAAM,SAAS;AACN,oBAAA,MAAM,MAAMA,qBAAAA,qBAAqB,eAAe;AAAA,MAAA;AAAA,IAC7D,CACA;AAEM,WAAA;AAAA,EAAA;AAAA,EAGA,sBAAsBC,SAA2D;AACxF,UAAM,kBAAyD,CAAC;AAC1D,UAAA,qCAAqB,IAAY;AACjC,UAAA,qBAAqB,CAAC,SAAwC;AAC/D,UAAA,gBAAgB,IAAI,GAAG;AAC1B,eAAO,gBAAgB,IAAI;AAAA,MAAA;AAExB,UAAA,eAAe,IAAI,IAAI,GAAG;AACvB,cAAA,IAAI,MAAM,qCAAqC;AAAA,MAAA;AAEtD,qBAAe,IAAI,IAAI;AACjB,YAAA,aAAaA,QAAO,MAAM,IAAI;AAC9B,YAAA,WAAW,WAAW,YAAY,CAAC;AACzC,YAAM,qBAAqB,SAAS,IAAI,CAAM,OAAA,mBAAmB,EAAE,CAAC;AACpE,sBAAgB,IAAI,IAAI;AAAA,QACvB,GAAG,mBAAmB;AAAA,UACrB,CAAC,KAAK,aAAa;AAAA,YAClB,GAAG;AAAA,YACH,GAAG;AAAA,UAAA;AAAA,UAEJ,CAAA;AAAA,QACD;AAAA,QACA,GAAI,WAAW,UAAU,CAAA;AAAA,MAC1B;AACA,qBAAe,OAAO,IAAI;AAC1B,aAAO,gBAAgB,IAAI;AAAA,IAC5B;AACA,WAAO,KAAKA,QAAO,KAAK,EAAE,QAAQ,kBAAkB;AAE7C,WAAA;AAAA,EAAA;AAET;;"}
1
+ {"version":3,"file":"StagePermissionsFactory.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StagePermissionsFactory.ts"],"sourcesContent":["import { Acl } from '@contember/schema'\nimport { Permissions } from '@contember/authorization'\nimport { AuthorizationActions } from './AuthorizationActions'\nimport { SchemaGetter } from '../SchemaGetter'\n\nexport class StagePermissionsFactory {\n\tconstructor(private readonly getSchema: SchemaGetter) {}\n\n\tpublic async create(stage: string): Promise<Permissions> {\n\t\tconst permissions = new Permissions()\n\n\t\tconst filteredSchema = await this.getSchema({ stage })\n\n\t\tconst rolePermissions = this.createRolePermissions(filteredSchema.acl)\n\t\tObject.entries(rolePermissions).forEach(([role, value]) => {\n\t\t\t// history\n\t\t\tif (value.history === Acl.SystemPermissionsLevel.any || value.history === true) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_HISTORY_ANY)\n\t\t\t}\n\n\t\t\t// migrate\n\t\t\tif (value.migrate) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_MIGRATE)\n\t\t\t}\n\t\t})\n\n\t\treturn permissions\n\t}\n\n\tprivate createRolePermissions(schema: Acl.Schema): Record<string, Acl.SystemPermissions> {\n\t\tconst rolePermissions: Record<string, Acl.SystemPermissions> = {}\n\t\tconst recursionGuard = new Set<string>()\n\t\tconst getRolePermissions = (name: string): Acl.SystemPermissions => {\n\t\t\tif (rolePermissions[name]) {\n\t\t\t\treturn rolePermissions[name]\n\t\t\t}\n\t\t\tif (recursionGuard.has(name)) {\n\t\t\t\tthrow new Error(`Recursive role inheritance detected`)\n\t\t\t}\n\t\t\trecursionGuard.add(name)\n\t\t\tconst definition = schema.roles[name]\n\t\t\tconst inherits = definition.inherits || []\n\t\t\tconst inheritsDefinition = inherits.map(it => getRolePermissions(it))\n\t\t\trolePermissions[name] = {\n\t\t\t\t...inheritsDefinition.reduce(\n\t\t\t\t\t(def, current) => ({\n\t\t\t\t\t\t...def,\n\t\t\t\t\t\t...current,\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\t...(definition.system || {}),\n\t\t\t}\n\t\t\trecursionGuard.delete(name)\n\t\t\treturn rolePermissions[name]\n\t\t}\n\t\tObject.keys(schema.roles).forEach(getRolePermissions)\n\n\t\treturn rolePermissions\n\t}\n}\n"],"names":["Permissions","Acl","AuthorizationActions","schema"],"mappings":";;;;;AAKO,MAAM,wBAAwB;AAAA,EACpC,YAA6B,WAAyB;AAAzB,SAAA,YAAA;AAAA,EAA0B;AAAA,EAEvD,MAAa,OAAO,OAAqC;AACxD,UAAM,cAAc,IAAIA,0BAAA;AAExB,UAAM,iBAAiB,MAAM,KAAK,UAAU,EAAE,OAAO;AAErD,UAAM,kBAAkB,KAAK,sBAAsB,eAAe,GAAG;AACrE,WAAO,QAAQ,eAAe,EAAE,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM;AAE1D,UAAI,MAAM,YAAYC,WAAI,uBAAuB,OAAO,MAAM,YAAY,MAAM;AAC/E,oBAAY,MAAM,MAAMC,qBAAAA,qBAAqB,mBAAmB;AAAA,MACjE;AAGA,UAAI,MAAM,SAAS;AAClB,oBAAY,MAAM,MAAMA,qBAAAA,qBAAqB,eAAe;AAAA,MAC7D;AAAA,IACD,CAAC;AAED,WAAO;AAAA,EACR;AAAA,EAEQ,sBAAsBC,SAA2D;AACxF,UAAM,kBAAyD,CAAA;AAC/D,UAAM,qCAAqB,IAAA;AAC3B,UAAM,qBAAqB,CAAC,SAAwC;AACnE,UAAI,gBAAgB,IAAI,GAAG;AAC1B,eAAO,gBAAgB,IAAI;AAAA,MAC5B;AACA,UAAI,eAAe,IAAI,IAAI,GAAG;AAC7B,cAAM,IAAI,MAAM,qCAAqC;AAAA,MACtD;AACA,qBAAe,IAAI,IAAI;AACvB,YAAM,aAAaA,QAAO,MAAM,IAAI;AACpC,YAAM,WAAW,WAAW,YAAY,CAAA;AACxC,YAAM,qBAAqB,SAAS,IAAI,CAAA,OAAM,mBAAmB,EAAE,CAAC;AACpE,sBAAgB,IAAI,IAAI;AAAA,QACvB,GAAG,mBAAmB;AAAA,UACrB,CAAC,KAAK,aAAa;AAAA,YAClB,GAAG;AAAA,YACH,GAAG;AAAA,UAAA;AAAA,UAEJ,CAAA;AAAA,QAAC;AAAA,QAEF,GAAI,WAAW,UAAU,CAAA;AAAA,MAAC;AAE3B,qBAAe,OAAO,IAAI;AAC1B,aAAO,gBAAgB,IAAI;AAAA,IAC5B;AACA,WAAO,KAAKA,QAAO,KAAK,EAAE,QAAQ,kBAAkB;AAEpD,WAAO;AAAA,EACR;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"StagePermissionsFactory.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StagePermissionsFactory.ts"],"sourcesContent":["import { Acl } from '@contember/schema'\nimport { Permissions } from '@contember/authorization'\nimport { AuthorizationActions } from './AuthorizationActions'\nimport { SchemaGetter } from '../SchemaGetter'\n\nexport class StagePermissionsFactory {\n\tconstructor(private readonly getSchema: SchemaGetter) {}\n\n\tpublic async create(stage: string): Promise<Permissions> {\n\t\tconst permissions = new Permissions()\n\n\t\tconst filteredSchema = await this.getSchema({ stage })\n\n\t\tconst rolePermissions = this.createRolePermissions(filteredSchema.acl)\n\t\tObject.entries(rolePermissions).forEach(([role, value]) => {\n\t\t\t// history\n\t\t\tif (value.history === Acl.SystemPermissionsLevel.any || value.history === true) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_HISTORY_ANY)\n\t\t\t}\n\n\t\t\t// migrate\n\t\t\tif (value.migrate) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_MIGRATE)\n\t\t\t}\n\t\t})\n\n\t\treturn permissions\n\t}\n\n\tprivate createRolePermissions(schema: Acl.Schema): Record<string, Acl.SystemPermissions> {\n\t\tconst rolePermissions: Record<string, Acl.SystemPermissions> = {}\n\t\tconst recursionGuard = new Set<string>()\n\t\tconst getRolePermissions = (name: string): Acl.SystemPermissions => {\n\t\t\tif (rolePermissions[name]) {\n\t\t\t\treturn rolePermissions[name]\n\t\t\t}\n\t\t\tif (recursionGuard.has(name)) {\n\t\t\t\tthrow new Error(`Recursive role inheritance detected`)\n\t\t\t}\n\t\t\trecursionGuard.add(name)\n\t\t\tconst definition = schema.roles[name]\n\t\t\tconst inherits = definition.inherits || []\n\t\t\tconst inheritsDefinition = inherits.map(it => getRolePermissions(it))\n\t\t\trolePermissions[name] = {\n\t\t\t\t...inheritsDefinition.reduce(\n\t\t\t\t\t(def, current) => ({\n\t\t\t\t\t\t...def,\n\t\t\t\t\t\t...current,\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\t...(definition.system || {}),\n\t\t\t}\n\t\t\trecursionGuard.delete(name)\n\t\t\treturn rolePermissions[name]\n\t\t}\n\t\tObject.keys(schema.roles).forEach(getRolePermissions)\n\n\t\treturn rolePermissions\n\t}\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,wBAAwB;AAAA,EACpC,YAA6B,WAAyB;AAAzB,SAAA,YAAA;AAAA,EAAA;AAAA,EAE7B,MAAa,OAAO,OAAqC;AAClD,UAAA,cAAc,IAAI,YAAY;AAEpC,UAAM,iBAAiB,MAAM,KAAK,UAAU,EAAE,OAAO;AAErD,UAAM,kBAAkB,KAAK,sBAAsB,eAAe,GAAG;AAC9D,WAAA,QAAQ,eAAe,EAAE,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM;AAE1D,UAAI,MAAM,YAAY,IAAI,uBAAuB,OAAO,MAAM,YAAY,MAAM;AACnE,oBAAA,MAAM,MAAM,qBAAqB,mBAAmB;AAAA,MAAA;AAIjE,UAAI,MAAM,SAAS;AACN,oBAAA,MAAM,MAAM,qBAAqB,eAAe;AAAA,MAAA;AAAA,IAC7D,CACA;AAEM,WAAA;AAAA,EAAA;AAAA,EAGA,sBAAsB,QAA2D;AACxF,UAAM,kBAAyD,CAAC;AAC1D,UAAA,qCAAqB,IAAY;AACjC,UAAA,qBAAqB,CAAC,SAAwC;AAC/D,UAAA,gBAAgB,IAAI,GAAG;AAC1B,eAAO,gBAAgB,IAAI;AAAA,MAAA;AAExB,UAAA,eAAe,IAAI,IAAI,GAAG;AACvB,cAAA,IAAI,MAAM,qCAAqC;AAAA,MAAA;AAEtD,qBAAe,IAAI,IAAI;AACjB,YAAA,aAAa,OAAO,MAAM,IAAI;AAC9B,YAAA,WAAW,WAAW,YAAY,CAAC;AACzC,YAAM,qBAAqB,SAAS,IAAI,CAAM,OAAA,mBAAmB,EAAE,CAAC;AACpE,sBAAgB,IAAI,IAAI;AAAA,QACvB,GAAG,mBAAmB;AAAA,UACrB,CAAC,KAAK,aAAa;AAAA,YAClB,GAAG;AAAA,YACH,GAAG;AAAA,UAAA;AAAA,UAEJ,CAAA;AAAA,QACD;AAAA,QACA,GAAI,WAAW,UAAU,CAAA;AAAA,MAC1B;AACA,qBAAe,OAAO,IAAI;AAC1B,aAAO,gBAAgB,IAAI;AAAA,IAC5B;AACA,WAAO,KAAK,OAAO,KAAK,EAAE,QAAQ,kBAAkB;AAE7C,WAAA;AAAA,EAAA;AAET;"}
1
+ {"version":3,"file":"StagePermissionsFactory.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StagePermissionsFactory.ts"],"sourcesContent":["import { Acl } from '@contember/schema'\nimport { Permissions } from '@contember/authorization'\nimport { AuthorizationActions } from './AuthorizationActions'\nimport { SchemaGetter } from '../SchemaGetter'\n\nexport class StagePermissionsFactory {\n\tconstructor(private readonly getSchema: SchemaGetter) {}\n\n\tpublic async create(stage: string): Promise<Permissions> {\n\t\tconst permissions = new Permissions()\n\n\t\tconst filteredSchema = await this.getSchema({ stage })\n\n\t\tconst rolePermissions = this.createRolePermissions(filteredSchema.acl)\n\t\tObject.entries(rolePermissions).forEach(([role, value]) => {\n\t\t\t// history\n\t\t\tif (value.history === Acl.SystemPermissionsLevel.any || value.history === true) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_HISTORY_ANY)\n\t\t\t}\n\n\t\t\t// migrate\n\t\t\tif (value.migrate) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_MIGRATE)\n\t\t\t}\n\t\t})\n\n\t\treturn permissions\n\t}\n\n\tprivate createRolePermissions(schema: Acl.Schema): Record<string, Acl.SystemPermissions> {\n\t\tconst rolePermissions: Record<string, Acl.SystemPermissions> = {}\n\t\tconst recursionGuard = new Set<string>()\n\t\tconst getRolePermissions = (name: string): Acl.SystemPermissions => {\n\t\t\tif (rolePermissions[name]) {\n\t\t\t\treturn rolePermissions[name]\n\t\t\t}\n\t\t\tif (recursionGuard.has(name)) {\n\t\t\t\tthrow new Error(`Recursive role inheritance detected`)\n\t\t\t}\n\t\t\trecursionGuard.add(name)\n\t\t\tconst definition = schema.roles[name]\n\t\t\tconst inherits = definition.inherits || []\n\t\t\tconst inheritsDefinition = inherits.map(it => getRolePermissions(it))\n\t\t\trolePermissions[name] = {\n\t\t\t\t...inheritsDefinition.reduce(\n\t\t\t\t\t(def, current) => ({\n\t\t\t\t\t\t...def,\n\t\t\t\t\t\t...current,\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\t...(definition.system || {}),\n\t\t\t}\n\t\t\trecursionGuard.delete(name)\n\t\t\treturn rolePermissions[name]\n\t\t}\n\t\tObject.keys(schema.roles).forEach(getRolePermissions)\n\n\t\treturn rolePermissions\n\t}\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,wBAAwB;AAAA,EACpC,YAA6B,WAAyB;AAAzB,SAAA,YAAA;AAAA,EAA0B;AAAA,EAEvD,MAAa,OAAO,OAAqC;AACxD,UAAM,cAAc,IAAI,YAAA;AAExB,UAAM,iBAAiB,MAAM,KAAK,UAAU,EAAE,OAAO;AAErD,UAAM,kBAAkB,KAAK,sBAAsB,eAAe,GAAG;AACrE,WAAO,QAAQ,eAAe,EAAE,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM;AAE1D,UAAI,MAAM,YAAY,IAAI,uBAAuB,OAAO,MAAM,YAAY,MAAM;AAC/E,oBAAY,MAAM,MAAM,qBAAqB,mBAAmB;AAAA,MACjE;AAGA,UAAI,MAAM,SAAS;AAClB,oBAAY,MAAM,MAAM,qBAAqB,eAAe;AAAA,MAC7D;AAAA,IACD,CAAC;AAED,WAAO;AAAA,EACR;AAAA,EAEQ,sBAAsB,QAA2D;AACxF,UAAM,kBAAyD,CAAA;AAC/D,UAAM,qCAAqB,IAAA;AAC3B,UAAM,qBAAqB,CAAC,SAAwC;AACnE,UAAI,gBAAgB,IAAI,GAAG;AAC1B,eAAO,gBAAgB,IAAI;AAAA,MAC5B;AACA,UAAI,eAAe,IAAI,IAAI,GAAG;AAC7B,cAAM,IAAI,MAAM,qCAAqC;AAAA,MACtD;AACA,qBAAe,IAAI,IAAI;AACvB,YAAM,aAAa,OAAO,MAAM,IAAI;AACpC,YAAM,WAAW,WAAW,YAAY,CAAA;AACxC,YAAM,qBAAqB,SAAS,IAAI,CAAA,OAAM,mBAAmB,EAAE,CAAC;AACpE,sBAAgB,IAAI,IAAI;AAAA,QACvB,GAAG,mBAAmB;AAAA,UACrB,CAAC,KAAK,aAAa;AAAA,YAClB,GAAG;AAAA,YACH,GAAG;AAAA,UAAA;AAAA,UAEJ,CAAA;AAAA,QAAC;AAAA,QAEF,GAAI,WAAW,UAAU,CAAA;AAAA,MAAC;AAE3B,qBAAe,OAAO,IAAI;AAC1B,aAAO,gBAAgB,IAAI;AAAA,IAC5B;AACA,WAAO,KAAK,OAAO,KAAK,EAAE,QAAQ,kBAAkB;AAEpD,WAAO;AAAA,EACR;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"StageScope.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StageScope.ts"],"sourcesContent":["import { AccessEvaluator, AccessNode, AuthorizationScope } from '@contember/authorization'\nimport { Identity } from './Identity'\nimport { SwitchEvaluatorNode } from './SwitchEvaluatorNode'\nimport { StagePermissionsFactory } from './StagePermissionsFactory'\n\nexport class StageScope implements AuthorizationScope<Identity> {\n\tconstructor(private readonly stage: string, private readonly stagePermissionsFactory: StagePermissionsFactory) {}\n\n\tasync getIdentityAccess(identity: Identity): Promise<AccessNode> {\n\t\tconst permissions = await this.stagePermissionsFactory.create(this.stage)\n\t\tconst roles = new AccessNode.Roles(identity.roles)\n\t\tconst permissionEvaluator = new AccessEvaluator.PermissionEvaluator(permissions)\n\t\tconst node = new SwitchEvaluatorNode(roles, permissionEvaluator)\n\n\t\treturn Promise.resolve(node)\n\t}\n}\n"],"names":["AccessNode","AccessEvaluator","SwitchEvaluatorNode"],"mappings":";;;;AAKO,MAAM,WAAmD;AAAA,EAC/D,YAA6B,OAAgC,yBAAkD;AAAlF,SAAA,QAAA;AAAgC,SAAA,0BAAA;AAAA,EAAA;AAAA,EAE7D,MAAM,kBAAkB,UAAyC;AAChE,UAAM,cAAc,MAAM,KAAK,wBAAwB,OAAO,KAAK,KAAK;AACxE,UAAM,QAAQ,IAAIA,cAAAA,WAAW,MAAM,SAAS,KAAK;AACjD,UAAM,sBAAsB,IAAIC,8BAAgB,oBAAoB,WAAW;AAC/E,UAAM,OAAO,IAAIC,wCAAoB,OAAO,mBAAmB;AAExD,WAAA,QAAQ,QAAQ,IAAI;AAAA,EAAA;AAE7B;;"}
1
+ {"version":3,"file":"StageScope.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StageScope.ts"],"sourcesContent":["import { AccessEvaluator, AccessNode, AuthorizationScope } from '@contember/authorization'\nimport { Identity } from './Identity'\nimport { SwitchEvaluatorNode } from './SwitchEvaluatorNode'\nimport { StagePermissionsFactory } from './StagePermissionsFactory'\n\nexport class StageScope implements AuthorizationScope<Identity> {\n\tconstructor(private readonly stage: string, private readonly stagePermissionsFactory: StagePermissionsFactory) {}\n\n\tasync getIdentityAccess(identity: Identity): Promise<AccessNode> {\n\t\tconst permissions = await this.stagePermissionsFactory.create(this.stage)\n\t\tconst roles = new AccessNode.Roles(identity.roles)\n\t\tconst permissionEvaluator = new AccessEvaluator.PermissionEvaluator(permissions)\n\t\tconst node = new SwitchEvaluatorNode(roles, permissionEvaluator)\n\n\t\treturn Promise.resolve(node)\n\t}\n}\n"],"names":["AccessNode","AccessEvaluator","SwitchEvaluatorNode"],"mappings":";;;;AAKO,MAAM,WAAmD;AAAA,EAC/D,YAA6B,OAAgC,yBAAkD;AAAlF,SAAA,QAAA;AAAgC,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAEhH,MAAM,kBAAkB,UAAyC;AAChE,UAAM,cAAc,MAAM,KAAK,wBAAwB,OAAO,KAAK,KAAK;AACxE,UAAM,QAAQ,IAAIA,cAAAA,WAAW,MAAM,SAAS,KAAK;AACjD,UAAM,sBAAsB,IAAIC,8BAAgB,oBAAoB,WAAW;AAC/E,UAAM,OAAO,IAAIC,wCAAoB,OAAO,mBAAmB;AAE/D,WAAO,QAAQ,QAAQ,IAAI;AAAA,EAC5B;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"StageScope.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StageScope.ts"],"sourcesContent":["import { AccessEvaluator, AccessNode, AuthorizationScope } from '@contember/authorization'\nimport { Identity } from './Identity'\nimport { SwitchEvaluatorNode } from './SwitchEvaluatorNode'\nimport { StagePermissionsFactory } from './StagePermissionsFactory'\n\nexport class StageScope implements AuthorizationScope<Identity> {\n\tconstructor(private readonly stage: string, private readonly stagePermissionsFactory: StagePermissionsFactory) {}\n\n\tasync getIdentityAccess(identity: Identity): Promise<AccessNode> {\n\t\tconst permissions = await this.stagePermissionsFactory.create(this.stage)\n\t\tconst roles = new AccessNode.Roles(identity.roles)\n\t\tconst permissionEvaluator = new AccessEvaluator.PermissionEvaluator(permissions)\n\t\tconst node = new SwitchEvaluatorNode(roles, permissionEvaluator)\n\n\t\treturn Promise.resolve(node)\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,WAAmD;AAAA,EAC/D,YAA6B,OAAgC,yBAAkD;AAAlF,SAAA,QAAA;AAAgC,SAAA,0BAAA;AAAA,EAAA;AAAA,EAE7D,MAAM,kBAAkB,UAAyC;AAChE,UAAM,cAAc,MAAM,KAAK,wBAAwB,OAAO,KAAK,KAAK;AACxE,UAAM,QAAQ,IAAI,WAAW,MAAM,SAAS,KAAK;AACjD,UAAM,sBAAsB,IAAI,gBAAgB,oBAAoB,WAAW;AAC/E,UAAM,OAAO,IAAI,oBAAoB,OAAO,mBAAmB;AAExD,WAAA,QAAQ,QAAQ,IAAI;AAAA,EAAA;AAE7B;"}
1
+ {"version":3,"file":"StageScope.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StageScope.ts"],"sourcesContent":["import { AccessEvaluator, AccessNode, AuthorizationScope } from '@contember/authorization'\nimport { Identity } from './Identity'\nimport { SwitchEvaluatorNode } from './SwitchEvaluatorNode'\nimport { StagePermissionsFactory } from './StagePermissionsFactory'\n\nexport class StageScope implements AuthorizationScope<Identity> {\n\tconstructor(private readonly stage: string, private readonly stagePermissionsFactory: StagePermissionsFactory) {}\n\n\tasync getIdentityAccess(identity: Identity): Promise<AccessNode> {\n\t\tconst permissions = await this.stagePermissionsFactory.create(this.stage)\n\t\tconst roles = new AccessNode.Roles(identity.roles)\n\t\tconst permissionEvaluator = new AccessEvaluator.PermissionEvaluator(permissions)\n\t\tconst node = new SwitchEvaluatorNode(roles, permissionEvaluator)\n\n\t\treturn Promise.resolve(node)\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,WAAmD;AAAA,EAC/D,YAA6B,OAAgC,yBAAkD;AAAlF,SAAA,QAAA;AAAgC,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAEhH,MAAM,kBAAkB,UAAyC;AAChE,UAAM,cAAc,MAAM,KAAK,wBAAwB,OAAO,KAAK,KAAK;AACxE,UAAM,QAAQ,IAAI,WAAW,MAAM,SAAS,KAAK;AACjD,UAAM,sBAAsB,IAAI,gBAAgB,oBAAoB,WAAW;AAC/E,UAAM,OAAO,IAAI,oBAAoB,OAAO,mBAAmB;AAE/D,WAAO,QAAQ,QAAQ,IAAI;AAAA,EAC5B;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchEvaluatorNode.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/SwitchEvaluatorNode.ts"],"sourcesContent":["import { AccessEvaluator, AccessNode, Authorizator } from '@contember/authorization'\n\nexport class SwitchEvaluatorNode implements AccessNode {\n\tconstructor(private readonly node: AccessNode, private readonly evaluator: AccessEvaluator) {}\n\n\tasync isAllowed(accessEvaluator: AccessEvaluator, action: Authorizator.Action): Promise<boolean> {\n\t\tconst result = await this.evaluator.evaluate(this.node, action)\n\t\treturn result\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,oBAA0C;AAAA,EACtD,YAA6B,MAAmC,WAA4B;AAA/D,SAAA,OAAA;AAAmC,SAAA,YAAA;AAAA,EAAA;AAAA,EAEhE,MAAM,UAAU,iBAAkC,QAA+C;AAChG,UAAM,SAAS,MAAM,KAAK,UAAU,SAAS,KAAK,MAAM,MAAM;AACvD,WAAA;AAAA,EAAA;AAET;;"}
1
+ {"version":3,"file":"SwitchEvaluatorNode.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/SwitchEvaluatorNode.ts"],"sourcesContent":["import { AccessEvaluator, AccessNode, Authorizator } from '@contember/authorization'\n\nexport class SwitchEvaluatorNode implements AccessNode {\n\tconstructor(private readonly node: AccessNode, private readonly evaluator: AccessEvaluator) {}\n\n\tasync isAllowed(accessEvaluator: AccessEvaluator, action: Authorizator.Action): Promise<boolean> {\n\t\tconst result = await this.evaluator.evaluate(this.node, action)\n\t\treturn result\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,oBAA0C;AAAA,EACtD,YAA6B,MAAmC,WAA4B;AAA/D,SAAA,OAAA;AAAmC,SAAA,YAAA;AAAA,EAA6B;AAAA,EAE7F,MAAM,UAAU,iBAAkC,QAA+C;AAChG,UAAM,SAAS,MAAM,KAAK,UAAU,SAAS,KAAK,MAAM,MAAM;AAC9D,WAAO;AAAA,EACR;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchEvaluatorNode.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/SwitchEvaluatorNode.ts"],"sourcesContent":["import { AccessEvaluator, AccessNode, Authorizator } from '@contember/authorization'\n\nexport class SwitchEvaluatorNode implements AccessNode {\n\tconstructor(private readonly node: AccessNode, private readonly evaluator: AccessEvaluator) {}\n\n\tasync isAllowed(accessEvaluator: AccessEvaluator, action: Authorizator.Action): Promise<boolean> {\n\t\tconst result = await this.evaluator.evaluate(this.node, action)\n\t\treturn result\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,oBAA0C;AAAA,EACtD,YAA6B,MAAmC,WAA4B;AAA/D,SAAA,OAAA;AAAmC,SAAA,YAAA;AAAA,EAAA;AAAA,EAEhE,MAAM,UAAU,iBAAkC,QAA+C;AAChG,UAAM,SAAS,MAAM,KAAK,UAAU,SAAS,KAAK,MAAM,MAAM;AACvD,WAAA;AAAA,EAAA;AAET;"}
1
+ {"version":3,"file":"SwitchEvaluatorNode.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/SwitchEvaluatorNode.ts"],"sourcesContent":["import { AccessEvaluator, AccessNode, Authorizator } from '@contember/authorization'\n\nexport class SwitchEvaluatorNode implements AccessNode {\n\tconstructor(private readonly node: AccessNode, private readonly evaluator: AccessEvaluator) {}\n\n\tasync isAllowed(accessEvaluator: AccessEvaluator, action: Authorizator.Action): Promise<boolean> {\n\t\tconst result = await this.evaluator.evaluate(this.node, action)\n\t\treturn result\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,oBAA0C;AAAA,EACtD,YAA6B,MAAmC,WAA4B;AAA/D,SAAA,OAAA;AAAmC,SAAA,YAAA;AAAA,EAA6B;AAAA,EAE7F,MAAM,UAAU,iBAAkC,QAA+C;AAChG,UAAM,SAAS,MAAM,KAAK,UAAU,SAAS,KAAK,MAAM,MAAM;AAC9D,WAAO;AAAA,EACR;AACD;"}
@@ -9,9 +9,7 @@ class CommandBus {
9
9
  return await command.execute({ db: this.client, providers: this.providers, bus: this });
10
10
  }
11
11
  async transaction(transactionScope) {
12
- return await this.client.transaction(
13
- (client) => transactionScope(new CommandBus(client, this.providers))
14
- );
12
+ return await this.client.transaction((client) => transactionScope(new CommandBus(client, this.providers)));
15
13
  }
16
14
  }
17
15
  exports.CommandBus = CommandBus;
@@ -1 +1 @@
1
- {"version":3,"file":"CommandBus.cjs","sources":["../../../../../../packages/engine-system-api/src/model/commands/CommandBus.ts"],"sourcesContent":["import { Command } from './Command'\nimport { Client, Connection } from '@contember/database'\nimport { Providers } from '../../utils'\n\nexport class CommandBus<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tconstructor(public readonly client: Client<ConnectionType>, private readonly providers: Providers) {}\n\n\tpublic async execute<T>(command: Command<T>): Promise<T> {\n\t\treturn await command.execute({ db: this.client, providers: this.providers, bus: this })\n\t}\n\n\tasync transaction<T>(\n\t\ttransactionScope: (wrapper: CommandBus<Connection.TransactionLike>) => Promise<T> | T,\n\t): Promise<T> {\n\t\treturn await this.client.transaction(client =>\n\t\t\ttransactionScope(new CommandBus<Connection.TransactionLike>(client, this.providers)),\n\t\t)\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,WAAyF;AAAA,EACrG,YAA4B,QAAiD,WAAsB;AAAvE,SAAA,SAAA;AAAiD,SAAA,YAAA;AAAA,EAAA;AAAA,EAE7E,MAAa,QAAW,SAAiC;AACxD,WAAO,MAAM,QAAQ,QAAQ,EAAE,IAAI,KAAK,QAAQ,WAAW,KAAK,WAAW,KAAK,KAAA,CAAM;AAAA,EAAA;AAAA,EAGvF,MAAM,YACL,kBACa;AACN,WAAA,MAAM,KAAK,OAAO;AAAA,MAAY,YACpC,iBAAiB,IAAI,WAAuC,QAAQ,KAAK,SAAS,CAAC;AAAA,IACpF;AAAA,EAAA;AAEF;;"}
1
+ {"version":3,"file":"CommandBus.cjs","sources":["../../../../../../packages/engine-system-api/src/model/commands/CommandBus.ts"],"sourcesContent":["import { Command } from './Command'\nimport { Client, Connection } from '@contember/database'\nimport { Providers } from '../../utils'\n\nexport class CommandBus<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tconstructor(public readonly client: Client<ConnectionType>, private readonly providers: Providers) {}\n\n\tpublic async execute<T>(command: Command<T>): Promise<T> {\n\t\treturn await command.execute({ db: this.client, providers: this.providers, bus: this })\n\t}\n\n\tasync transaction<T>(\n\t\ttransactionScope: (wrapper: CommandBus<Connection.TransactionLike>) => Promise<T> | T,\n\t): Promise<T> {\n\t\treturn await this.client.transaction(client => transactionScope(new CommandBus<Connection.TransactionLike>(client, this.providers)))\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,WAAyF;AAAA,EACrG,YAA4B,QAAiD,WAAsB;AAAvE,SAAA,SAAA;AAAiD,SAAA,YAAA;AAAA,EAAuB;AAAA,EAEpG,MAAa,QAAW,SAAiC;AACxD,WAAO,MAAM,QAAQ,QAAQ,EAAE,IAAI,KAAK,QAAQ,WAAW,KAAK,WAAW,KAAK,KAAA,CAAM;AAAA,EACvF;AAAA,EAEA,MAAM,YACL,kBACa;AACb,WAAO,MAAM,KAAK,OAAO,YAAY,CAAA,WAAU,iBAAiB,IAAI,WAAuC,QAAQ,KAAK,SAAS,CAAC,CAAC;AAAA,EACpI;AACD;;"}
@@ -7,9 +7,7 @@ class CommandBus {
7
7
  return await command.execute({ db: this.client, providers: this.providers, bus: this });
8
8
  }
9
9
  async transaction(transactionScope) {
10
- return await this.client.transaction(
11
- (client) => transactionScope(new CommandBus(client, this.providers))
12
- );
10
+ return await this.client.transaction((client) => transactionScope(new CommandBus(client, this.providers)));
13
11
  }
14
12
  }
15
13
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"CommandBus.js","sources":["../../../../../../packages/engine-system-api/src/model/commands/CommandBus.ts"],"sourcesContent":["import { Command } from './Command'\nimport { Client, Connection } from '@contember/database'\nimport { Providers } from '../../utils'\n\nexport class CommandBus<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tconstructor(public readonly client: Client<ConnectionType>, private readonly providers: Providers) {}\n\n\tpublic async execute<T>(command: Command<T>): Promise<T> {\n\t\treturn await command.execute({ db: this.client, providers: this.providers, bus: this })\n\t}\n\n\tasync transaction<T>(\n\t\ttransactionScope: (wrapper: CommandBus<Connection.TransactionLike>) => Promise<T> | T,\n\t): Promise<T> {\n\t\treturn await this.client.transaction(client =>\n\t\t\ttransactionScope(new CommandBus<Connection.TransactionLike>(client, this.providers)),\n\t\t)\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,WAAyF;AAAA,EACrG,YAA4B,QAAiD,WAAsB;AAAvE,SAAA,SAAA;AAAiD,SAAA,YAAA;AAAA,EAAA;AAAA,EAE7E,MAAa,QAAW,SAAiC;AACxD,WAAO,MAAM,QAAQ,QAAQ,EAAE,IAAI,KAAK,QAAQ,WAAW,KAAK,WAAW,KAAK,KAAA,CAAM;AAAA,EAAA;AAAA,EAGvF,MAAM,YACL,kBACa;AACN,WAAA,MAAM,KAAK,OAAO;AAAA,MAAY,YACpC,iBAAiB,IAAI,WAAuC,QAAQ,KAAK,SAAS,CAAC;AAAA,IACpF;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"CommandBus.js","sources":["../../../../../../packages/engine-system-api/src/model/commands/CommandBus.ts"],"sourcesContent":["import { Command } from './Command'\nimport { Client, Connection } from '@contember/database'\nimport { Providers } from '../../utils'\n\nexport class CommandBus<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tconstructor(public readonly client: Client<ConnectionType>, private readonly providers: Providers) {}\n\n\tpublic async execute<T>(command: Command<T>): Promise<T> {\n\t\treturn await command.execute({ db: this.client, providers: this.providers, bus: this })\n\t}\n\n\tasync transaction<T>(\n\t\ttransactionScope: (wrapper: CommandBus<Connection.TransactionLike>) => Promise<T> | T,\n\t): Promise<T> {\n\t\treturn await this.client.transaction(client => transactionScope(new CommandBus<Connection.TransactionLike>(client, this.providers)))\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,WAAyF;AAAA,EACrG,YAA4B,QAAiD,WAAsB;AAAvE,SAAA,SAAA;AAAiD,SAAA,YAAA;AAAA,EAAuB;AAAA,EAEpG,MAAa,QAAW,SAAiC;AACxD,WAAO,MAAM,QAAQ,QAAQ,EAAE,IAAI,KAAK,QAAQ,WAAW,KAAK,WAAW,KAAK,KAAA,CAAM;AAAA,EACvF;AAAA,EAEA,MAAM,YACL,kBACa;AACb,WAAO,MAAM,KAAK,OAAO,YAAY,CAAA,WAAU,iBAAiB,IAAI,WAAuC,QAAQ,KAAK,SAAS,CAAC,CAAC;AAAA,EACpI;AACD;"}