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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/CLAUDE.md +16 -2
  2. package/dist/development/src/SystemContainer.cjs.map +1 -1
  3. package/dist/development/src/SystemContainer.js.map +1 -1
  4. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
  5. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
  6. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
  7. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
  8. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
  9. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
  10. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
  11. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
  12. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
  13. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
  14. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
  15. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
  16. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
  17. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
  18. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
  19. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
  20. package/dist/development/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -1
  21. package/dist/development/src/migrations/2024-06-28-153001-schema-init.js.map +1 -1
  22. package/dist/development/src/migrations/2025-03-14-110000-fix-missing-index.cjs.map +1 -1
  23. package/dist/development/src/migrations/2025-03-14-110000-fix-missing-index.js.map +1 -1
  24. package/dist/development/src/migrations/2026-06-01-120000-event-truncate.cjs +13 -0
  25. package/dist/development/src/migrations/2026-06-01-120000-event-truncate.cjs.map +1 -0
  26. package/dist/development/src/migrations/2026-06-01-120000-event-truncate.js +14 -0
  27. package/dist/development/src/migrations/2026-06-01-120000-event-truncate.js.map +1 -0
  28. package/dist/development/src/migrations/runner.cjs +3 -1
  29. package/dist/development/src/migrations/runner.cjs.map +1 -1
  30. package/dist/development/src/migrations/runner.js +3 -1
  31. package/dist/development/src/migrations/runner.js.map +1 -1
  32. package/dist/development/src/migrations/snapshot-factory.cjs.map +1 -1
  33. package/dist/development/src/migrations/snapshot-factory.js.map +1 -1
  34. package/dist/development/src/migrations/snapshot.cjs +5 -4
  35. package/dist/development/src/migrations/snapshot.cjs.map +1 -1
  36. package/dist/development/src/migrations/snapshot.js +5 -4
  37. package/dist/development/src/migrations/snapshot.js.map +1 -1
  38. package/dist/development/src/model/ProjectInitializer.cjs.map +1 -1
  39. package/dist/development/src/model/ProjectInitializer.js.map +1 -1
  40. package/dist/development/src/model/ProjectTruncateExecutor.cjs +3 -3
  41. package/dist/development/src/model/ProjectTruncateExecutor.cjs.map +1 -1
  42. package/dist/development/src/model/ProjectTruncateExecutor.js +3 -3
  43. package/dist/development/src/model/ProjectTruncateExecutor.js.map +1 -1
  44. package/dist/development/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  45. package/dist/development/src/model/authorization/PermissionsFactory.js.map +1 -1
  46. package/dist/development/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
  47. package/dist/development/src/model/authorization/StagePermissionsFactory.js.map +1 -1
  48. package/dist/development/src/model/authorization/StageScope.cjs.map +1 -1
  49. package/dist/development/src/model/authorization/StageScope.js.map +1 -1
  50. package/dist/development/src/model/commands/CommandBus.cjs.map +1 -1
  51. package/dist/development/src/model/commands/CommandBus.js.map +1 -1
  52. package/dist/development/src/model/commands/events/TruncateEventsCommand.cjs +25 -2
  53. package/dist/development/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
  54. package/dist/development/src/model/commands/events/TruncateEventsCommand.js +26 -3
  55. package/dist/development/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
  56. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
  57. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
  58. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
  59. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
  60. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
  61. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
  62. package/dist/development/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -1
  63. package/dist/development/src/model/commands/schema/SaveSchemaCommand.js.map +1 -1
  64. package/dist/development/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
  65. package/dist/development/src/model/commands/stages/CreateStageCommand.js.map +1 -1
  66. package/dist/development/src/model/database/DatabaseContext.cjs.map +1 -1
  67. package/dist/development/src/model/database/DatabaseContext.js.map +1 -1
  68. package/dist/development/src/model/events/EventResponseBuilder.cjs +6 -1
  69. package/dist/development/src/model/events/EventResponseBuilder.cjs.map +1 -1
  70. package/dist/development/src/model/events/EventResponseBuilder.js +6 -1
  71. package/dist/development/src/model/events/EventResponseBuilder.js.map +1 -1
  72. package/dist/development/src/model/events/EventResponseHelper.cjs.map +1 -1
  73. package/dist/development/src/model/events/EventResponseHelper.js.map +1 -1
  74. package/dist/development/src/model/events/identityUtils.cjs.map +1 -1
  75. package/dist/development/src/model/events/identityUtils.js.map +1 -1
  76. package/dist/development/src/model/events/types.cjs +17 -0
  77. package/dist/development/src/model/events/types.cjs.map +1 -1
  78. package/dist/development/src/model/events/types.js +17 -0
  79. package/dist/development/src/model/events/types.js.map +1 -1
  80. package/dist/development/src/model/helpers/stageHelpers.cjs.map +1 -1
  81. package/dist/development/src/model/helpers/stageHelpers.js.map +1 -1
  82. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
  83. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
  84. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
  85. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
  86. package/dist/development/src/model/migrations/MigrationAlterer.cjs.map +1 -1
  87. package/dist/development/src/model/migrations/MigrationAlterer.js.map +1 -1
  88. package/dist/development/src/model/migrations/ProjectMigrator.cjs +94 -5
  89. package/dist/development/src/model/migrations/ProjectMigrator.cjs.map +1 -1
  90. package/dist/development/src/model/migrations/ProjectMigrator.js +96 -7
  91. package/dist/development/src/model/migrations/ProjectMigrator.js.map +1 -1
  92. package/dist/development/src/model/migrations/SchemaProvider.cjs.map +1 -1
  93. package/dist/development/src/model/migrations/SchemaProvider.js.map +1 -1
  94. package/dist/development/src/model/queries/events/EventQueryHelpers.cjs +16 -8
  95. package/dist/development/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
  96. package/dist/development/src/model/queries/events/EventQueryHelpers.js +17 -9
  97. package/dist/development/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  98. package/dist/development/src/model/queries/events/EventsQuery.cjs.map +1 -1
  99. package/dist/development/src/model/queries/events/EventsQuery.js.map +1 -1
  100. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
  101. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  102. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
  103. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  104. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs.map +1 -1
  105. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -1
  106. package/dist/development/src/model/queries/schema/SchemaQuery.cjs.map +1 -1
  107. package/dist/development/src/model/queries/schema/SchemaQuery.js.map +1 -1
  108. package/dist/development/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  109. package/dist/development/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  110. package/dist/development/src/model/queries/stages/StageQueryFactory.cjs.map +1 -1
  111. package/dist/development/src/model/queries/stages/StageQueryFactory.js.map +1 -1
  112. package/dist/development/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  113. package/dist/development/src/model/queries/stages/StagesQuery.js.map +1 -1
  114. package/dist/development/src/model/stages/StageCreator.cjs.map +1 -1
  115. package/dist/development/src/model/stages/StageCreator.js.map +1 -1
  116. package/dist/development/src/resolvers/ResolverFactory.cjs +4 -1
  117. package/dist/development/src/resolvers/ResolverFactory.cjs.map +1 -1
  118. package/dist/development/src/resolvers/ResolverFactory.js +4 -1
  119. package/dist/development/src/resolvers/ResolverFactory.js.map +1 -1
  120. package/dist/development/src/resolvers/SystemResolverContext.cjs.map +1 -1
  121. package/dist/development/src/resolvers/SystemResolverContext.js.map +1 -1
  122. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs +49 -1
  123. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  124. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js +49 -1
  125. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  126. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  127. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  128. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs +1 -1
  129. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  130. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js +1 -1
  131. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  132. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  133. package/dist/development/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  134. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  135. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  136. package/dist/development/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -1
  137. package/dist/development/src/resolvers/query/SchemaQueryResolver.js.map +1 -1
  138. package/dist/development/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  139. package/dist/development/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  140. package/dist/development/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  141. package/dist/development/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  142. package/dist/development/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  143. package/dist/development/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  144. package/dist/development/src/schema/dev.graphql.cjs +1 -1
  145. package/dist/development/src/schema/dev.graphql.cjs.map +1 -1
  146. package/dist/development/src/schema/dev.graphql.js +1 -1
  147. package/dist/development/src/schema/dev.graphql.js.map +1 -1
  148. package/dist/development/src/schema/system.graphql.cjs +39 -3
  149. package/dist/development/src/schema/system.graphql.cjs.map +1 -1
  150. package/dist/development/src/schema/system.graphql.js +39 -3
  151. package/dist/development/src/schema/system.graphql.js.map +1 -1
  152. package/dist/development/src/schema/types.cjs +2 -0
  153. package/dist/development/src/schema/types.cjs.map +1 -1
  154. package/dist/development/src/schema/types.js +2 -0
  155. package/dist/development/src/schema/types.js.map +1 -1
  156. package/dist/development/src/utils/batchQuery.cjs.map +1 -1
  157. package/dist/development/src/utils/batchQuery.js.map +1 -1
  158. package/dist/production/src/SystemContainer.cjs.map +1 -1
  159. package/dist/production/src/SystemContainer.js.map +1 -1
  160. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
  161. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
  162. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
  163. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
  164. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
  165. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
  166. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
  167. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
  168. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
  169. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
  170. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
  171. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
  172. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
  173. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
  174. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
  175. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
  176. package/dist/production/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -1
  177. package/dist/production/src/migrations/2024-06-28-153001-schema-init.js.map +1 -1
  178. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.cjs.map +1 -1
  179. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.js.map +1 -1
  180. package/dist/production/src/migrations/2026-06-01-120000-event-truncate.cjs +13 -0
  181. package/dist/production/src/migrations/2026-06-01-120000-event-truncate.cjs.map +1 -0
  182. package/dist/production/src/migrations/2026-06-01-120000-event-truncate.js +14 -0
  183. package/dist/production/src/migrations/2026-06-01-120000-event-truncate.js.map +1 -0
  184. package/dist/production/src/migrations/runner.cjs +3 -1
  185. package/dist/production/src/migrations/runner.cjs.map +1 -1
  186. package/dist/production/src/migrations/runner.js +3 -1
  187. package/dist/production/src/migrations/runner.js.map +1 -1
  188. package/dist/production/src/migrations/snapshot-factory.cjs.map +1 -1
  189. package/dist/production/src/migrations/snapshot-factory.js.map +1 -1
  190. package/dist/production/src/migrations/snapshot.cjs +5 -4
  191. package/dist/production/src/migrations/snapshot.cjs.map +1 -1
  192. package/dist/production/src/migrations/snapshot.js +5 -4
  193. package/dist/production/src/migrations/snapshot.js.map +1 -1
  194. package/dist/production/src/model/ProjectInitializer.cjs.map +1 -1
  195. package/dist/production/src/model/ProjectInitializer.js.map +1 -1
  196. package/dist/production/src/model/ProjectTruncateExecutor.cjs +3 -3
  197. package/dist/production/src/model/ProjectTruncateExecutor.cjs.map +1 -1
  198. package/dist/production/src/model/ProjectTruncateExecutor.js +3 -3
  199. package/dist/production/src/model/ProjectTruncateExecutor.js.map +1 -1
  200. package/dist/production/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  201. package/dist/production/src/model/authorization/PermissionsFactory.js.map +1 -1
  202. package/dist/production/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
  203. package/dist/production/src/model/authorization/StagePermissionsFactory.js.map +1 -1
  204. package/dist/production/src/model/authorization/StageScope.cjs.map +1 -1
  205. package/dist/production/src/model/authorization/StageScope.js.map +1 -1
  206. package/dist/production/src/model/commands/CommandBus.cjs.map +1 -1
  207. package/dist/production/src/model/commands/CommandBus.js.map +1 -1
  208. package/dist/production/src/model/commands/events/TruncateEventsCommand.cjs +25 -2
  209. package/dist/production/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
  210. package/dist/production/src/model/commands/events/TruncateEventsCommand.js +26 -3
  211. package/dist/production/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
  212. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
  213. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
  214. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
  215. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
  216. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
  217. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
  218. package/dist/production/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -1
  219. package/dist/production/src/model/commands/schema/SaveSchemaCommand.js.map +1 -1
  220. package/dist/production/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
  221. package/dist/production/src/model/commands/stages/CreateStageCommand.js.map +1 -1
  222. package/dist/production/src/model/database/DatabaseContext.cjs.map +1 -1
  223. package/dist/production/src/model/database/DatabaseContext.js.map +1 -1
  224. package/dist/production/src/model/events/EventResponseBuilder.cjs +6 -1
  225. package/dist/production/src/model/events/EventResponseBuilder.cjs.map +1 -1
  226. package/dist/production/src/model/events/EventResponseBuilder.js +6 -1
  227. package/dist/production/src/model/events/EventResponseBuilder.js.map +1 -1
  228. package/dist/production/src/model/events/EventResponseHelper.cjs.map +1 -1
  229. package/dist/production/src/model/events/EventResponseHelper.js.map +1 -1
  230. package/dist/production/src/model/events/identityUtils.cjs.map +1 -1
  231. package/dist/production/src/model/events/identityUtils.js.map +1 -1
  232. package/dist/production/src/model/events/types.cjs +17 -0
  233. package/dist/production/src/model/events/types.cjs.map +1 -1
  234. package/dist/production/src/model/events/types.js +17 -0
  235. package/dist/production/src/model/events/types.js.map +1 -1
  236. package/dist/production/src/model/helpers/stageHelpers.cjs.map +1 -1
  237. package/dist/production/src/model/helpers/stageHelpers.js.map +1 -1
  238. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
  239. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
  240. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
  241. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
  242. package/dist/production/src/model/migrations/MigrationAlterer.cjs.map +1 -1
  243. package/dist/production/src/model/migrations/MigrationAlterer.js.map +1 -1
  244. package/dist/production/src/model/migrations/ProjectMigrator.cjs +94 -5
  245. package/dist/production/src/model/migrations/ProjectMigrator.cjs.map +1 -1
  246. package/dist/production/src/model/migrations/ProjectMigrator.js +96 -7
  247. package/dist/production/src/model/migrations/ProjectMigrator.js.map +1 -1
  248. package/dist/production/src/model/migrations/SchemaProvider.cjs.map +1 -1
  249. package/dist/production/src/model/migrations/SchemaProvider.js.map +1 -1
  250. package/dist/production/src/model/queries/events/EventQueryHelpers.cjs +16 -8
  251. package/dist/production/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
  252. package/dist/production/src/model/queries/events/EventQueryHelpers.js +17 -9
  253. package/dist/production/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  254. package/dist/production/src/model/queries/events/EventsQuery.cjs.map +1 -1
  255. package/dist/production/src/model/queries/events/EventsQuery.js.map +1 -1
  256. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
  257. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  258. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
  259. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  260. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs.map +1 -1
  261. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -1
  262. package/dist/production/src/model/queries/schema/SchemaQuery.cjs.map +1 -1
  263. package/dist/production/src/model/queries/schema/SchemaQuery.js.map +1 -1
  264. package/dist/production/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  265. package/dist/production/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  266. package/dist/production/src/model/queries/stages/StageQueryFactory.cjs.map +1 -1
  267. package/dist/production/src/model/queries/stages/StageQueryFactory.js.map +1 -1
  268. package/dist/production/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  269. package/dist/production/src/model/queries/stages/StagesQuery.js.map +1 -1
  270. package/dist/production/src/model/stages/StageCreator.cjs.map +1 -1
  271. package/dist/production/src/model/stages/StageCreator.js.map +1 -1
  272. package/dist/production/src/resolvers/ResolverFactory.cjs +4 -1
  273. package/dist/production/src/resolvers/ResolverFactory.cjs.map +1 -1
  274. package/dist/production/src/resolvers/ResolverFactory.js +4 -1
  275. package/dist/production/src/resolvers/ResolverFactory.js.map +1 -1
  276. package/dist/production/src/resolvers/SystemResolverContext.cjs.map +1 -1
  277. package/dist/production/src/resolvers/SystemResolverContext.js.map +1 -1
  278. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs +49 -1
  279. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  280. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js +49 -1
  281. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  282. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  283. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  284. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs +1 -1
  285. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  286. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js +1 -1
  287. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  288. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  289. package/dist/production/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  290. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  291. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  292. package/dist/production/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -1
  293. package/dist/production/src/resolvers/query/SchemaQueryResolver.js.map +1 -1
  294. package/dist/production/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  295. package/dist/production/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  296. package/dist/production/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  297. package/dist/production/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  298. package/dist/production/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  299. package/dist/production/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  300. package/dist/production/src/schema/dev.graphql.cjs +1 -1
  301. package/dist/production/src/schema/dev.graphql.cjs.map +1 -1
  302. package/dist/production/src/schema/dev.graphql.js +1 -1
  303. package/dist/production/src/schema/dev.graphql.js.map +1 -1
  304. package/dist/production/src/schema/system.graphql.cjs +39 -3
  305. package/dist/production/src/schema/system.graphql.cjs.map +1 -1
  306. package/dist/production/src/schema/system.graphql.js +39 -3
  307. package/dist/production/src/schema/system.graphql.js.map +1 -1
  308. package/dist/production/src/schema/types.cjs +2 -0
  309. package/dist/production/src/schema/types.cjs.map +1 -1
  310. package/dist/production/src/schema/types.js +2 -0
  311. package/dist/production/src/schema/types.js.map +1 -1
  312. package/dist/production/src/utils/batchQuery.cjs.map +1 -1
  313. package/dist/production/src/utils/batchQuery.js.map +1 -1
  314. package/dist/tests/cases/unit/projectMigratorSchemaState.test.d.ts +2 -0
  315. package/dist/tests/cases/unit/projectMigratorSchemaState.test.d.ts.map +1 -0
  316. package/dist/tests/cases/unit/truncateEventsCommand.test.d.ts +2 -0
  317. package/dist/tests/cases/unit/truncateEventsCommand.test.d.ts.map +1 -0
  318. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  319. package/dist/types/SystemContainer.d.ts +6 -6
  320. package/dist/types/SystemContainer.d.ts.map +1 -1
  321. package/dist/types/index.d.ts +7 -7
  322. package/dist/types/index.d.ts.map +1 -1
  323. package/dist/types/migrations/2020-03-27-130000-project-migrations.d.ts +1 -1
  324. package/dist/types/migrations/2020-03-27-130000-project-migrations.d.ts.map +1 -1
  325. package/dist/types/migrations/2020-05-06-150000-composed-primary.d.ts +1 -1
  326. package/dist/types/migrations/2020-05-06-150000-composed-primary.d.ts.map +1 -1
  327. package/dist/types/migrations/2020-06-01-103000-event-trigger-perf.d.ts +1 -1
  328. package/dist/types/migrations/2020-06-01-103000-event-trigger-perf.d.ts.map +1 -1
  329. package/dist/types/migrations/2021-05-07-155800-event-log-rework.d.ts +1 -1
  330. package/dist/types/migrations/2021-05-07-155800-event-log-rework.d.ts.map +1 -1
  331. package/dist/types/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts +1 -1
  332. package/dist/types/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts.map +1 -1
  333. package/dist/types/migrations/2022-10-03-110000-table-on-delete.d.ts +1 -1
  334. package/dist/types/migrations/2022-10-03-110000-table-on-delete.d.ts.map +1 -1
  335. package/dist/types/migrations/2023-09-11-174000-fix-on-delete.d.ts +1 -1
  336. package/dist/types/migrations/2023-09-11-174000-fix-on-delete.d.ts.map +1 -1
  337. package/dist/types/migrations/2023-10-19-173000-fix-unique.d.ts +1 -1
  338. package/dist/types/migrations/2023-10-19-173000-fix-unique.d.ts.map +1 -1
  339. package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts +1 -1
  340. package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts.map +1 -1
  341. package/dist/types/migrations/2025-03-14-110000-fix-missing-index.d.ts +1 -1
  342. package/dist/types/migrations/2025-03-14-110000-fix-missing-index.d.ts.map +1 -1
  343. package/dist/types/migrations/2026-06-01-120000-event-truncate.d.ts +3 -0
  344. package/dist/types/migrations/2026-06-01-120000-event-truncate.d.ts.map +1 -0
  345. package/dist/types/migrations/index.d.ts +2 -2
  346. package/dist/types/migrations/index.d.ts.map +1 -1
  347. package/dist/types/migrations/runner.d.ts +2 -2
  348. package/dist/types/migrations/runner.d.ts.map +1 -1
  349. package/dist/types/migrations/snapshot-factory.d.ts +1 -1
  350. package/dist/types/migrations/snapshot-factory.d.ts.map +1 -1
  351. package/dist/types/migrations/snapshot.d.ts +1 -1
  352. package/dist/types/migrations/snapshot.d.ts.map +1 -1
  353. package/dist/types/migrations/types.d.ts +2 -2
  354. package/dist/types/migrations/types.d.ts.map +1 -1
  355. package/dist/types/model/ProjectInitializer.d.ts +4 -4
  356. package/dist/types/model/ProjectInitializer.d.ts.map +1 -1
  357. package/dist/types/model/ProjectTruncateExecutor.d.ts +3 -3
  358. package/dist/types/model/ProjectTruncateExecutor.d.ts.map +1 -1
  359. package/dist/types/model/authorization/StagePermissionsFactory.d.ts +1 -1
  360. package/dist/types/model/authorization/StagePermissionsFactory.d.ts.map +1 -1
  361. package/dist/types/model/authorization/StageScope.d.ts +2 -2
  362. package/dist/types/model/authorization/StageScope.d.ts.map +1 -1
  363. package/dist/types/model/authorization/index.d.ts +3 -3
  364. package/dist/types/model/authorization/index.d.ts.map +1 -1
  365. package/dist/types/model/commands/Command.d.ts +2 -2
  366. package/dist/types/model/commands/Command.d.ts.map +1 -1
  367. package/dist/types/model/commands/CommandBus.d.ts +2 -2
  368. package/dist/types/model/commands/CommandBus.d.ts.map +1 -1
  369. package/dist/types/model/commands/events/TruncateEventsCommand.d.ts +12 -3
  370. package/dist/types/model/commands/events/TruncateEventsCommand.d.ts.map +1 -1
  371. package/dist/types/model/commands/events/index.d.ts +1 -1
  372. package/dist/types/model/commands/events/index.d.ts.map +1 -1
  373. package/dist/types/model/commands/index.d.ts +5 -5
  374. package/dist/types/model/commands/index.d.ts.map +1 -1
  375. package/dist/types/model/commands/migrations/DeleteMigrationCommand.d.ts +1 -1
  376. package/dist/types/model/commands/migrations/DeleteMigrationCommand.d.ts.map +1 -1
  377. package/dist/types/model/commands/migrations/ModifyMigrationCommand.d.ts +1 -1
  378. package/dist/types/model/commands/migrations/ModifyMigrationCommand.d.ts.map +1 -1
  379. package/dist/types/model/commands/migrations/SaveMigrationCommand.d.ts +2 -2
  380. package/dist/types/model/commands/migrations/SaveMigrationCommand.d.ts.map +1 -1
  381. package/dist/types/model/commands/migrations/index.d.ts +2 -2
  382. package/dist/types/model/commands/migrations/index.d.ts.map +1 -1
  383. package/dist/types/model/commands/schema/SaveSchemaCommand.d.ts +2 -2
  384. package/dist/types/model/commands/schema/SaveSchemaCommand.d.ts.map +1 -1
  385. package/dist/types/model/commands/stages/CreateStageCommand.d.ts +2 -2
  386. package/dist/types/model/commands/stages/CreateStageCommand.d.ts.map +1 -1
  387. package/dist/types/model/commands/stages/TruncateStagesCommand.d.ts +1 -1
  388. package/dist/types/model/commands/stages/TruncateStagesCommand.d.ts.map +1 -1
  389. package/dist/types/model/commands/stages/index.d.ts +2 -2
  390. package/dist/types/model/commands/stages/index.d.ts.map +1 -1
  391. package/dist/types/model/database/DatabaseContext.d.ts +2 -2
  392. package/dist/types/model/database/DatabaseContext.d.ts.map +1 -1
  393. package/dist/types/model/database/index.d.ts +1 -1
  394. package/dist/types/model/database/index.d.ts.map +1 -1
  395. package/dist/types/model/dependencies/content/ContentQueryExecutor.d.ts +2 -2
  396. package/dist/types/model/dependencies/content/ContentQueryExecutor.d.ts.map +1 -1
  397. package/dist/types/model/dependencies/index.d.ts +2 -2
  398. package/dist/types/model/dependencies/index.d.ts.map +1 -1
  399. package/dist/types/model/dependencies/tenant/index.d.ts +1 -1
  400. package/dist/types/model/dependencies/tenant/index.d.ts.map +1 -1
  401. package/dist/types/model/dtos/index.d.ts +2 -2
  402. package/dist/types/model/dtos/index.d.ts.map +1 -1
  403. package/dist/types/model/events/EventResponseBuilder.d.ts +4 -4
  404. package/dist/types/model/events/EventResponseBuilder.d.ts.map +1 -1
  405. package/dist/types/model/events/EventResponseHelper.d.ts +1 -1
  406. package/dist/types/model/events/EventResponseHelper.d.ts.map +1 -1
  407. package/dist/types/model/events/identityUtils.d.ts +1 -1
  408. package/dist/types/model/events/identityUtils.d.ts.map +1 -1
  409. package/dist/types/model/events/index.d.ts +2 -2
  410. package/dist/types/model/events/index.d.ts.map +1 -1
  411. package/dist/types/model/events/types.d.ts +12 -2
  412. package/dist/types/model/events/types.d.ts.map +1 -1
  413. package/dist/types/model/helpers/index.d.ts +2 -2
  414. package/dist/types/model/helpers/index.d.ts.map +1 -1
  415. package/dist/types/model/helpers/stageHelpers.d.ts +1 -1
  416. package/dist/types/model/helpers/stageHelpers.d.ts.map +1 -1
  417. package/dist/types/model/index.d.ts +13 -13
  418. package/dist/types/model/index.d.ts.map +1 -1
  419. package/dist/types/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts +1 -1
  420. package/dist/types/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts.map +1 -1
  421. package/dist/types/model/metadata/index.d.ts +1 -1
  422. package/dist/types/model/metadata/index.d.ts.map +1 -1
  423. package/dist/types/model/migrations/ExecutedMigrationsResolver.d.ts +2 -2
  424. package/dist/types/model/migrations/ExecutedMigrationsResolver.d.ts.map +1 -1
  425. package/dist/types/model/migrations/MigrationAlterer.d.ts +3 -3
  426. package/dist/types/model/migrations/MigrationAlterer.d.ts.map +1 -1
  427. package/dist/types/model/migrations/MigrationInput.d.ts +6 -0
  428. package/dist/types/model/migrations/MigrationInput.d.ts.map +1 -1
  429. package/dist/types/model/migrations/ProjectMigrator.d.ts +28 -10
  430. package/dist/types/model/migrations/ProjectMigrator.d.ts.map +1 -1
  431. package/dist/types/model/migrations/SchemaProvider.d.ts +2 -2
  432. package/dist/types/model/migrations/SchemaProvider.d.ts.map +1 -1
  433. package/dist/types/model/migrations/index.d.ts +4 -4
  434. package/dist/types/model/migrations/index.d.ts.map +1 -1
  435. package/dist/types/model/queries/events/EventQueryHelpers.d.ts +4 -4
  436. package/dist/types/model/queries/events/EventQueryHelpers.d.ts.map +1 -1
  437. package/dist/types/model/queries/events/EventsQuery.d.ts +2 -2
  438. package/dist/types/model/queries/events/EventsQuery.d.ts.map +1 -1
  439. package/dist/types/model/queries/events/index.d.ts +3 -3
  440. package/dist/types/model/queries/events/index.d.ts.map +1 -1
  441. package/dist/types/model/queries/index.d.ts +4 -4
  442. package/dist/types/model/queries/index.d.ts.map +1 -1
  443. package/dist/types/model/queries/migrations/ExecutedMigrationByVersionQuery.d.ts +1 -1
  444. package/dist/types/model/queries/migrations/ExecutedMigrationByVersionQuery.d.ts.map +1 -1
  445. package/dist/types/model/queries/migrations/ExecutedMigrationsQuery.d.ts +1 -1
  446. package/dist/types/model/queries/migrations/ExecutedMigrationsQuery.d.ts.map +1 -1
  447. package/dist/types/model/queries/migrations/ExecutedMigrationsQueryHelper.d.ts +1 -1
  448. package/dist/types/model/queries/migrations/ExecutedMigrationsQueryHelper.d.ts.map +1 -1
  449. package/dist/types/model/queries/migrations/index.d.ts +3 -3
  450. package/dist/types/model/queries/migrations/index.d.ts.map +1 -1
  451. package/dist/types/model/queries/schema/SchemaQuery.d.ts +1 -1
  452. package/dist/types/model/queries/schema/SchemaQuery.d.ts.map +1 -1
  453. package/dist/types/model/queries/schema/index.d.ts +1 -1
  454. package/dist/types/model/queries/schema/index.d.ts.map +1 -1
  455. package/dist/types/model/queries/stages/StageBySlugQuery.d.ts +1 -1
  456. package/dist/types/model/queries/stages/StageBySlugQuery.d.ts.map +1 -1
  457. package/dist/types/model/queries/stages/StageQueryFactory.d.ts +1 -1
  458. package/dist/types/model/queries/stages/StageQueryFactory.d.ts.map +1 -1
  459. package/dist/types/model/queries/stages/StagesQuery.d.ts +1 -1
  460. package/dist/types/model/queries/stages/StagesQuery.d.ts.map +1 -1
  461. package/dist/types/model/queries/stages/index.d.ts +3 -3
  462. package/dist/types/model/queries/stages/index.d.ts.map +1 -1
  463. package/dist/types/model/stages/StageCreator.d.ts +2 -2
  464. package/dist/types/model/stages/StageCreator.d.ts.map +1 -1
  465. package/dist/types/model/stages/index.d.ts +1 -1
  466. package/dist/types/model/stages/index.d.ts.map +1 -1
  467. package/dist/types/resolvers/Resolver.d.ts +1 -1
  468. package/dist/types/resolvers/Resolver.d.ts.map +1 -1
  469. package/dist/types/resolvers/ResolverFactory.d.ts +5 -5
  470. package/dist/types/resolvers/ResolverFactory.d.ts.map +1 -1
  471. package/dist/types/resolvers/SystemResolverContext.d.ts +4 -4
  472. package/dist/types/resolvers/SystemResolverContext.d.ts.map +1 -1
  473. package/dist/types/resolvers/index.d.ts +5 -5
  474. package/dist/types/resolvers/index.d.ts.map +1 -1
  475. package/dist/types/resolvers/mutation/MigrateMutationResolver.d.ts +6 -4
  476. package/dist/types/resolvers/mutation/MigrateMutationResolver.d.ts.map +1 -1
  477. package/dist/types/resolvers/mutation/MigrationAlterMutationResolver.d.ts +4 -4
  478. package/dist/types/resolvers/mutation/MigrationAlterMutationResolver.d.ts.map +1 -1
  479. package/dist/types/resolvers/mutation/TruncateMutationResolver.d.ts +4 -4
  480. package/dist/types/resolvers/mutation/TruncateMutationResolver.d.ts.map +1 -1
  481. package/dist/types/resolvers/mutation/index.d.ts +3 -3
  482. package/dist/types/resolvers/mutation/index.d.ts.map +1 -1
  483. package/dist/types/resolvers/query/EventsQueryResolver.d.ts +4 -4
  484. package/dist/types/resolvers/query/EventsQueryResolver.d.ts.map +1 -1
  485. package/dist/types/resolvers/query/ExecutedMigrationsQueryResolver.d.ts +3 -3
  486. package/dist/types/resolvers/query/ExecutedMigrationsQueryResolver.d.ts.map +1 -1
  487. package/dist/types/resolvers/query/SchemaQueryResolver.d.ts +2 -2
  488. package/dist/types/resolvers/query/SchemaQueryResolver.d.ts.map +1 -1
  489. package/dist/types/resolvers/query/StagesQueryResolver.d.ts +3 -3
  490. package/dist/types/resolvers/query/StagesQueryResolver.d.ts.map +1 -1
  491. package/dist/types/resolvers/query/index.d.ts +3 -3
  492. package/dist/types/resolvers/query/index.d.ts.map +1 -1
  493. package/dist/types/resolvers/types/EventOldValuesResolver.d.ts +2 -2
  494. package/dist/types/resolvers/types/EventOldValuesResolver.d.ts.map +1 -1
  495. package/dist/types/resolvers/types/OldValuesHelpers.d.ts +2 -2
  496. package/dist/types/resolvers/types/OldValuesHelpers.d.ts.map +1 -1
  497. package/dist/types/resolvers/types/index.d.ts +1 -1
  498. package/dist/types/resolvers/types/index.d.ts.map +1 -1
  499. package/dist/types/schema/index.d.ts +2 -2
  500. package/dist/types/schema/index.d.ts.map +1 -1
  501. package/dist/types/schema/system.graphql.d.ts.map +1 -1
  502. package/dist/types/schema/types.d.ts +80 -54
  503. package/dist/types/schema/types.d.ts.map +1 -1
  504. package/dist/types/tsconfig.tsbuildinfo +1 -1
  505. package/dist/types/utils/index.d.ts +7 -7
  506. package/dist/types/utils/index.d.ts.map +1 -1
  507. package/dist/types/utils/providers.d.ts +1 -1
  508. package/dist/types/utils/providers.d.ts.map +1 -1
  509. package/package.json +12 -12
  510. package/src/SystemContainer.ts +6 -6
  511. package/src/bin/runMigrations.ts +2 -2
  512. package/src/index.ts +7 -7
  513. package/src/migrations/2020-03-27-130000-project-migrations.ts +1 -1
  514. package/src/migrations/2020-05-06-150000-composed-primary.ts +2 -2
  515. package/src/migrations/2020-06-01-103000-event-trigger-perf.ts +2 -2
  516. package/src/migrations/2021-05-07-155800-event-log-rework.ts +2 -2
  517. package/src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts +2 -2
  518. package/src/migrations/2022-10-03-110000-table-on-delete.ts +1 -1
  519. package/src/migrations/2023-09-11-174000-fix-on-delete.ts +1 -1
  520. package/src/migrations/2023-10-19-173000-fix-unique.ts +1 -1
  521. package/src/migrations/2024-06-28-153001-schema-init.ts +1 -1
  522. package/src/migrations/2025-03-14-110000-fix-missing-index.ts +1 -1
  523. package/src/migrations/2026-06-01-120000-event-truncate.ts +18 -0
  524. package/src/migrations/index.ts +2 -2
  525. package/src/migrations/runner.ts +31 -29
  526. package/src/migrations/snapshot-factory.ts +1 -1
  527. package/src/migrations/snapshot-template-start.txt +1 -1
  528. package/src/migrations/snapshot.ts +6 -5
  529. package/src/migrations/types.ts +2 -2
  530. package/src/model/ProjectInitializer.ts +4 -4
  531. package/src/model/ProjectTruncateExecutor.ts +8 -8
  532. package/src/model/authorization/PermissionsFactory.ts +1 -1
  533. package/src/model/authorization/StagePermissionsFactory.ts +2 -2
  534. package/src/model/authorization/StageScope.ts +3 -3
  535. package/src/model/authorization/index.ts +3 -3
  536. package/src/model/commands/Command.ts +2 -2
  537. package/src/model/commands/CommandBus.ts +2 -2
  538. package/src/model/commands/events/TruncateEventsCommand.ts +45 -5
  539. package/src/model/commands/events/index.ts +1 -1
  540. package/src/model/commands/index.ts +5 -5
  541. package/src/model/commands/migrations/DeleteMigrationCommand.ts +1 -1
  542. package/src/model/commands/migrations/ModifyMigrationCommand.ts +2 -2
  543. package/src/model/commands/migrations/SaveMigrationCommand.ts +2 -2
  544. package/src/model/commands/migrations/index.ts +2 -2
  545. package/src/model/commands/schema/SaveSchemaCommand.ts +2 -2
  546. package/src/model/commands/stages/CreateStageCommand.ts +3 -3
  547. package/src/model/commands/stages/TruncateStagesCommand.ts +1 -1
  548. package/src/model/commands/stages/index.ts +2 -2
  549. package/src/model/database/DatabaseContext.ts +2 -2
  550. package/src/model/database/index.ts +1 -1
  551. package/src/model/dependencies/content/ContentQueryExecutor.ts +2 -2
  552. package/src/model/dependencies/index.ts +2 -2
  553. package/src/model/dependencies/tenant/index.ts +1 -1
  554. package/src/model/dtos/index.ts +2 -2
  555. package/src/model/events/EventResponseBuilder.ts +12 -7
  556. package/src/model/events/EventResponseHelper.ts +1 -1
  557. package/src/model/events/identityUtils.ts +2 -2
  558. package/src/model/events/index.ts +2 -2
  559. package/src/model/events/types.ts +15 -1
  560. package/src/model/helpers/index.ts +2 -2
  561. package/src/model/helpers/stageHelpers.ts +1 -1
  562. package/src/model/index.ts +13 -13
  563. package/src/model/metadata/SchemaDatabaseMetadataResolverStore.ts +1 -1
  564. package/src/model/metadata/index.ts +1 -1
  565. package/src/model/migrations/ExecutedMigrationsResolver.ts +3 -3
  566. package/src/model/migrations/MigrationAlterer.ts +6 -6
  567. package/src/model/migrations/MigrationInput.ts +7 -0
  568. package/src/model/migrations/ProjectMigrator.ts +133 -17
  569. package/src/model/migrations/SchemaProvider.ts +3 -3
  570. package/src/model/migrations/index.ts +4 -4
  571. package/src/model/queries/events/EventQueryHelpers.ts +21 -13
  572. package/src/model/queries/events/EventsQuery.ts +3 -3
  573. package/src/model/queries/events/index.ts +3 -3
  574. package/src/model/queries/index.ts +4 -4
  575. package/src/model/queries/migrations/ExecutedMigrationByVersionQuery.ts +2 -2
  576. package/src/model/queries/migrations/ExecutedMigrationsQuery.ts +2 -2
  577. package/src/model/queries/migrations/ExecutedMigrationsQueryHelper.ts +1 -1
  578. package/src/model/queries/migrations/index.ts +3 -3
  579. package/src/model/queries/schema/SchemaQuery.ts +1 -1
  580. package/src/model/queries/schema/index.ts +1 -1
  581. package/src/model/queries/stages/StageBySlugQuery.ts +2 -2
  582. package/src/model/queries/stages/StageQueryFactory.ts +1 -1
  583. package/src/model/queries/stages/StagesQuery.ts +2 -2
  584. package/src/model/queries/stages/index.ts +3 -3
  585. package/src/model/stages/StageCreator.ts +4 -4
  586. package/src/model/stages/index.ts +1 -1
  587. package/src/resolvers/Resolver.ts +1 -1
  588. package/src/resolvers/ResolverFactory.ts +9 -6
  589. package/src/resolvers/SystemResolverContext.ts +6 -6
  590. package/src/resolvers/index.ts +5 -5
  591. package/src/resolvers/mutation/MigrateMutationResolver.ts +64 -7
  592. package/src/resolvers/mutation/MigrationAlterMutationResolver.ts +4 -4
  593. package/src/resolvers/mutation/TruncateMutationResolver.ts +5 -5
  594. package/src/resolvers/mutation/index.ts +3 -3
  595. package/src/resolvers/query/EventsQueryResolver.ts +4 -4
  596. package/src/resolvers/query/ExecutedMigrationsQueryResolver.ts +4 -4
  597. package/src/resolvers/query/SchemaQueryResolver.ts +3 -3
  598. package/src/resolvers/query/StagesQueryResolver.ts +4 -4
  599. package/src/resolvers/query/index.ts +3 -3
  600. package/src/resolvers/types/EventOldValuesResolver.ts +3 -3
  601. package/src/resolvers/types/OldValuesHelpers.ts +3 -3
  602. package/src/resolvers/types/index.ts +1 -1
  603. package/src/schema/dev.graphql.ts +1 -1
  604. package/src/schema/index.ts +4 -2
  605. package/src/schema/system.graphql.ts +39 -3
  606. package/src/schema/types.ts +108 -38
  607. package/src/utils/batchQuery.ts +1 -1
  608. package/src/utils/index.ts +7 -7
  609. package/src/utils/providers.ts +1 -1
  610. package/tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts +1 -1
  611. package/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts +1 -1
  612. package/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts +1 -1
  613. package/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.ts +1 -1
  614. package/tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts +1 -1
  615. package/tests/cases/migrations/2025-03-14-110000-fix-missing-index.test.ts +1 -1
  616. package/tests/cases/unit/eventsQuery.test.ts +3 -3
  617. package/tests/cases/unit/projectMigratorSchemaState.test.ts +48 -0
  618. package/tests/cases/unit/truncateEventsCommand.test.ts +54 -0
@@ -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,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
+ {"version":3,"file":"ProjectTruncateExecutor.js","sources":["../../../../../packages/engine-system-api/src/model/ProjectTruncateExecutor.ts"],"sourcesContent":["import { DatabaseContext } from './database/index.js'\nimport { ProjectConfig } from '../types.js'\nimport { TruncateEventsCommand } from './commands/index.js'\nimport { getJunctionTables } from './helpers/index.js'\nimport { Schema } from '@contember/schema'\nimport { wrapIdentifier } from '@contember/database'\nimport { StagesQuery } from './queries/index.js'\n\nexport class ProjectTruncateExecutor {\n\tpublic async truncateProject(db: DatabaseContext, project: ProjectConfig, schema: Schema, identityId: string) {\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 trx.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(identityId, stages.map(it => it.id)))\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;;AAQO,MAAM,wBAAwB;AAAA,EACpC,MAAa,gBAAgB,IAAqB,SAAwB,QAAgB,YAAoB;AAC7G,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,IAAI,aAAa,MAAM,IAAI,aAAa;AAC7D,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,sBAAsB,YAAY,OAAO,IAAI,CAAA,OAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IAC5F,CAAC;AAAA,EACF;AACD;"}
@@ -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;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
+ {"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.js'\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;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
+ {"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.js'\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,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
+ {"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.js'\nimport { SchemaGetter } from '../SchemaGetter.js'\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,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
+ {"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.js'\nimport { SchemaGetter } from '../SchemaGetter.js'\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,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
+ {"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.js'\nimport { SwitchEvaluatorNode } from './SwitchEvaluatorNode.js'\nimport { StagePermissionsFactory } from './StagePermissionsFactory.js'\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,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
+ {"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.js'\nimport { SwitchEvaluatorNode } from './SwitchEvaluatorNode.js'\nimport { StagePermissionsFactory } from './StagePermissionsFactory.js'\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":"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;;"}
1
+ {"version":3,"file":"CommandBus.cjs","sources":["../../../../../../packages/engine-system-api/src/model/commands/CommandBus.ts"],"sourcesContent":["import { Command } from './Command.js'\nimport { Client, Connection } from '@contember/database'\nimport { Providers } from '../../utils/index.js'\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;;"}
@@ -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 => 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;"}
1
+ {"version":3,"file":"CommandBus.js","sources":["../../../../../../packages/engine-system-api/src/model/commands/CommandBus.ts"],"sourcesContent":["import { Command } from './Command.js'\nimport { Client, Connection } from '@contember/database'\nimport { Providers } from '../../utils/index.js'\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;"}
@@ -2,8 +2,31 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const Database = require("@contember/database");
4
4
  class TruncateEventsCommand {
5
- async execute({ db }) {
6
- return await Database.DeleteBuilder.create().from("event_data").execute(db);
5
+ constructor(identityId, stageIds) {
6
+ this.identityId = identityId;
7
+ this.stageIds = stageIds;
8
+ }
9
+ async execute({ db, providers }) {
10
+ await Database.DeleteBuilder.create().from("event_data").execute(db);
11
+ const transactionId = providers.uuid();
12
+ await Database.InsertBuilder.create().into("event_data").values({
13
+ id: providers.uuid(),
14
+ type: "truncate",
15
+ table_name: null,
16
+ row_ids: null,
17
+ values: null,
18
+ created_at: (expr) => expr.raw("clock_timestamp()"),
19
+ schema_id: (expr) => expr.raw('(SELECT MAX("id") FROM "schema_migration")'),
20
+ identity_id: this.identityId,
21
+ transaction_id: transactionId
22
+ }).execute(db);
23
+ for (const stageId of this.stageIds) {
24
+ await Database.InsertBuilder.create().into("stage_transaction").values({
25
+ transaction_id: transactionId,
26
+ stage_id: stageId,
27
+ applied_at: (expr) => expr.raw("clock_timestamp()")
28
+ }).onConflict(Database.ConflictActionType.doNothing, ["transaction_id", "stage_id"]).execute(db);
29
+ }
7
30
  }
8
31
  }
9
32
  exports.TruncateEventsCommand = TruncateEventsCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"TruncateEventsCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/events/TruncateEventsCommand.ts"],"sourcesContent":["import { DeleteBuilder } from '@contember/database'\nimport { Command } from '../Command'\n\nexport class TruncateEventsCommand implements Command<number> {\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\treturn await DeleteBuilder.create().from('event_data').execute(db)\n\t}\n}\n"],"names":["DeleteBuilder"],"mappings":";;;AAGO,MAAM,sBAAiD;AAAA,EAC7D,MAAa,QAAQ,EAAE,MAAqC;AAC3D,WAAO,MAAMA,SAAAA,cAAc,OAAA,EAAS,KAAK,YAAY,EAAE,QAAQ,EAAE;AAAA,EAClE;AACD;;"}
1
+ {"version":3,"file":"TruncateEventsCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/events/TruncateEventsCommand.ts"],"sourcesContent":["import { ConflictActionType, DeleteBuilder, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command.js'\n\n/**\n * Clears the whole content event log and records a single `truncate` event in its place,\n * so the truncate operation itself is auditable through the event log (consistent with\n * how create/update/delete content mutations are logged). The truncate event is linked to\n * every stage via `stage_transaction` so it shows up in each stage's event stream.\n */\nexport class TruncateEventsCommand implements Command<void> {\n\tconstructor(\n\t\tprivate readonly identityId: string,\n\t\tprivate readonly stageIds: string[],\n\t) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tawait DeleteBuilder.create().from('event_data').execute(db)\n\n\t\tconst transactionId = providers.uuid()\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('event_data')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\ttype: 'truncate',\n\t\t\t\ttable_name: null,\n\t\t\t\trow_ids: null,\n\t\t\t\tvalues: null,\n\t\t\t\tcreated_at: expr => expr.raw('clock_timestamp()'),\n\t\t\t\tschema_id: expr => expr.raw('(SELECT MAX(\"id\") FROM \"schema_migration\")'),\n\t\t\t\tidentity_id: this.identityId,\n\t\t\t\ttransaction_id: transactionId,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tfor (const stageId of this.stageIds) {\n\t\t\tawait InsertBuilder.create()\n\t\t\t\t.into('stage_transaction')\n\t\t\t\t.values({\n\t\t\t\t\ttransaction_id: transactionId,\n\t\t\t\t\tstage_id: stageId,\n\t\t\t\t\tapplied_at: expr => expr.raw('clock_timestamp()'),\n\t\t\t\t})\n\t\t\t\t.onConflict(ConflictActionType.doNothing, ['transaction_id', 'stage_id'])\n\t\t\t\t.execute(db)\n\t\t}\n\t}\n}\n"],"names":["DeleteBuilder","InsertBuilder","ConflictActionType"],"mappings":";;;AASO,MAAM,sBAA+C;AAAA,EAC3D,YACkB,YACA,UAChB;AAFgB,SAAA,aAAA;AACA,SAAA,WAAA;AAAA,EACf;AAAA,EAEH,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAMA,SAAAA,cAAc,SAAS,KAAK,YAAY,EAAE,QAAQ,EAAE;AAE1D,UAAM,gBAAgB,UAAU,KAAA;AAEhC,UAAMC,SAAAA,cAAc,OAAA,EAClB,KAAK,YAAY,EACjB,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,YAAY,CAAA,SAAQ,KAAK,IAAI,mBAAmB;AAAA,MAChD,WAAW,CAAA,SAAQ,KAAK,IAAI,4CAA4C;AAAA,MACxE,aAAa,KAAK;AAAA,MAClB,gBAAgB;AAAA,IAAA,CAChB,EACA,QAAQ,EAAE;AAEZ,eAAW,WAAW,KAAK,UAAU;AACpC,YAAMA,SAAAA,cAAc,OAAA,EAClB,KAAK,mBAAmB,EACxB,OAAO;AAAA,QACP,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,YAAY,CAAA,SAAQ,KAAK,IAAI,mBAAmB;AAAA,MAAA,CAChD,EACA,WAAWC,SAAAA,mBAAmB,WAAW,CAAC,kBAAkB,UAAU,CAAC,EACvE,QAAQ,EAAE;AAAA,IACb;AAAA,EACD;AACD;;"}
@@ -1,7 +1,30 @@
1
- import { DeleteBuilder } from "@contember/database";
1
+ import { DeleteBuilder, InsertBuilder as InsertBuilder$1, ConflictActionType } from "@contember/database";
2
2
  class TruncateEventsCommand {
3
- async execute({ db }) {
4
- return await DeleteBuilder.create().from("event_data").execute(db);
3
+ constructor(identityId, stageIds) {
4
+ this.identityId = identityId;
5
+ this.stageIds = stageIds;
6
+ }
7
+ async execute({ db, providers }) {
8
+ await DeleteBuilder.create().from("event_data").execute(db);
9
+ const transactionId = providers.uuid();
10
+ await InsertBuilder$1.create().into("event_data").values({
11
+ id: providers.uuid(),
12
+ type: "truncate",
13
+ table_name: null,
14
+ row_ids: null,
15
+ values: null,
16
+ created_at: (expr) => expr.raw("clock_timestamp()"),
17
+ schema_id: (expr) => expr.raw('(SELECT MAX("id") FROM "schema_migration")'),
18
+ identity_id: this.identityId,
19
+ transaction_id: transactionId
20
+ }).execute(db);
21
+ for (const stageId of this.stageIds) {
22
+ await InsertBuilder$1.create().into("stage_transaction").values({
23
+ transaction_id: transactionId,
24
+ stage_id: stageId,
25
+ applied_at: (expr) => expr.raw("clock_timestamp()")
26
+ }).onConflict(ConflictActionType.doNothing, ["transaction_id", "stage_id"]).execute(db);
27
+ }
5
28
  }
6
29
  }
7
30
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"TruncateEventsCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/events/TruncateEventsCommand.ts"],"sourcesContent":["import { DeleteBuilder } from '@contember/database'\nimport { Command } from '../Command'\n\nexport class TruncateEventsCommand implements Command<number> {\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\treturn await DeleteBuilder.create().from('event_data').execute(db)\n\t}\n}\n"],"names":[],"mappings":";AAGO,MAAM,sBAAiD;AAAA,EAC7D,MAAa,QAAQ,EAAE,MAAqC;AAC3D,WAAO,MAAM,cAAc,OAAA,EAAS,KAAK,YAAY,EAAE,QAAQ,EAAE;AAAA,EAClE;AACD;"}
1
+ {"version":3,"file":"TruncateEventsCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/events/TruncateEventsCommand.ts"],"sourcesContent":["import { ConflictActionType, DeleteBuilder, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command.js'\n\n/**\n * Clears the whole content event log and records a single `truncate` event in its place,\n * so the truncate operation itself is auditable through the event log (consistent with\n * how create/update/delete content mutations are logged). The truncate event is linked to\n * every stage via `stage_transaction` so it shows up in each stage's event stream.\n */\nexport class TruncateEventsCommand implements Command<void> {\n\tconstructor(\n\t\tprivate readonly identityId: string,\n\t\tprivate readonly stageIds: string[],\n\t) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tawait DeleteBuilder.create().from('event_data').execute(db)\n\n\t\tconst transactionId = providers.uuid()\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('event_data')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\ttype: 'truncate',\n\t\t\t\ttable_name: null,\n\t\t\t\trow_ids: null,\n\t\t\t\tvalues: null,\n\t\t\t\tcreated_at: expr => expr.raw('clock_timestamp()'),\n\t\t\t\tschema_id: expr => expr.raw('(SELECT MAX(\"id\") FROM \"schema_migration\")'),\n\t\t\t\tidentity_id: this.identityId,\n\t\t\t\ttransaction_id: transactionId,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tfor (const stageId of this.stageIds) {\n\t\t\tawait InsertBuilder.create()\n\t\t\t\t.into('stage_transaction')\n\t\t\t\t.values({\n\t\t\t\t\ttransaction_id: transactionId,\n\t\t\t\t\tstage_id: stageId,\n\t\t\t\t\tapplied_at: expr => expr.raw('clock_timestamp()'),\n\t\t\t\t})\n\t\t\t\t.onConflict(ConflictActionType.doNothing, ['transaction_id', 'stage_id'])\n\t\t\t\t.execute(db)\n\t\t}\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";AASO,MAAM,sBAA+C;AAAA,EAC3D,YACkB,YACA,UAChB;AAFgB,SAAA,aAAA;AACA,SAAA,WAAA;AAAA,EACf;AAAA,EAEH,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,cAAc,SAAS,KAAK,YAAY,EAAE,QAAQ,EAAE;AAE1D,UAAM,gBAAgB,UAAU,KAAA;AAEhC,UAAMA,gBAAc,OAAA,EAClB,KAAK,YAAY,EACjB,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,YAAY,CAAA,SAAQ,KAAK,IAAI,mBAAmB;AAAA,MAChD,WAAW,CAAA,SAAQ,KAAK,IAAI,4CAA4C;AAAA,MACxE,aAAa,KAAK;AAAA,MAClB,gBAAgB;AAAA,IAAA,CAChB,EACA,QAAQ,EAAE;AAEZ,eAAW,WAAW,KAAK,UAAU;AACpC,YAAMA,gBAAc,OAAA,EAClB,KAAK,mBAAmB,EACxB,OAAO;AAAA,QACP,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,YAAY,CAAA,SAAQ,KAAK,IAAI,mBAAmB;AAAA,MAAA,CAChD,EACA,WAAW,mBAAmB,WAAW,CAAC,kBAAkB,UAAU,CAAC,EACvE,QAAQ,EAAE;AAAA,IACb;AAAA,EACD;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/DeleteMigrationCommand.ts"],"sourcesContent":["import { DeleteBuilder } from '@contember/database'\nimport { Command } from '../Command'\n\nexport class DeleteMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst result = await DeleteBuilder.create() //\n\t\t\t.from('schema_migration')\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn result > 0\n\t}\n}\n"],"names":["DeleteBuilder"],"mappings":";;;AAGO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAiB;AAAjB,SAAA,UAAA;AAAA,EAAkB;AAAA,EAE/C,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,SAAS,MAAMA,uBAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO,SAAS;AAAA,EACjB;AACD;;"}
1
+ {"version":3,"file":"DeleteMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/DeleteMigrationCommand.ts"],"sourcesContent":["import { DeleteBuilder } from '@contember/database'\nimport { Command } from '../Command.js'\n\nexport class DeleteMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst result = await DeleteBuilder.create() //\n\t\t\t.from('schema_migration')\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn result > 0\n\t}\n}\n"],"names":["DeleteBuilder"],"mappings":";;;AAGO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAiB;AAAjB,SAAA,UAAA;AAAA,EAAkB;AAAA,EAE/C,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,SAAS,MAAMA,uBAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO,SAAS;AAAA,EACjB;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/DeleteMigrationCommand.ts"],"sourcesContent":["import { DeleteBuilder } from '@contember/database'\nimport { Command } from '../Command'\n\nexport class DeleteMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst result = await DeleteBuilder.create() //\n\t\t\t.from('schema_migration')\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn result > 0\n\t}\n}\n"],"names":[],"mappings":";AAGO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAiB;AAAjB,SAAA,UAAA;AAAA,EAAkB;AAAA,EAE/C,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,SAAS,MAAM,cAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO,SAAS;AAAA,EACjB;AACD;"}
1
+ {"version":3,"file":"DeleteMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/DeleteMigrationCommand.ts"],"sourcesContent":["import { DeleteBuilder } from '@contember/database'\nimport { Command } from '../Command.js'\n\nexport class DeleteMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst result = await DeleteBuilder.create() //\n\t\t\t.from('schema_migration')\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn result > 0\n\t}\n}\n"],"names":[],"mappings":";AAGO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAiB;AAAjB,SAAA,UAAA;AAAA,EAAkB;AAAA,EAE/C,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,SAAS,MAAM,cAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO,SAAS;AAAA,EACjB;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModifyMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/ModifyMigrationCommand.ts"],"sourcesContent":["import { QueryBuilder, UpdateBuilder } from '@contember/database'\nimport { calculateMigrationChecksum, Migration } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { ExecutedMigrationByVersionQuery } from '../../queries'\n\nexport class ModifyMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string, private readonly migration: Partial<Migration>) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst current = await db.createQueryHandler().fetch(new ExecutedMigrationByVersionQuery(this.version))\n\t\tif (!current) {\n\t\t\treturn false\n\t\t}\n\t\tconst newMigration = {\n\t\t\tversion: current.version,\n\t\t\tname: current.name,\n\t\t\tformatVersion: current.formatVersion,\n\t\t\tmodifications: current.modifications,\n\t\t\t...this.migration,\n\t\t}\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: newMigration.version,\n\t\t\tname: newMigration.name,\n\t\t\tmigration: JSON.stringify(newMigration),\n\t\t\tchecksum: calculateMigrationChecksum(newMigration),\n\t\t}\n\t\tawait UpdateBuilder.create() //\n\t\t\t.table('schema_migration')\n\t\t\t.values(values)\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn true\n\t}\n}\n"],"names":["ExecutedMigrationByVersionQuery","calculateMigrationChecksum","UpdateBuilder"],"mappings":";;;;;;;AAKO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAkC,WAA+B;AAAjE,SAAA,UAAA;AAAkC,SAAA,YAAA;AAAA,EAAgC;AAAA,EAE/F,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,UAAU,MAAM,GAAG,mBAAA,EAAqB,MAAM,IAAIA,gCAAAA,gCAAgC,KAAK,OAAO,CAAC;AACrG,QAAI,CAAC,SAAS;AACb,aAAO;AAAA,IACR;AACA,UAAM,eAAe;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,MACd,eAAe,QAAQ;AAAA,MACvB,eAAe,QAAQ;AAAA,MACvB,GAAG,KAAK;AAAA,IAAA;AAET,UAAM,SAA8B;AAAA,MACnC,SAAS,aAAa;AAAA,MACtB,MAAM,aAAa;AAAA,MACnB,WAAW,KAAK,UAAU,YAAY;AAAA,MACtC,UAAUC,iBAAAA,2BAA2B,YAAY;AAAA,IAAA;AAElD,UAAMC,SAAAA,cAAc,SAClB,MAAM,kBAAkB,EACxB,OAAO,MAAM,EACb,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO;AAAA,EACR;AACD;;"}
1
+ {"version":3,"file":"ModifyMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/ModifyMigrationCommand.ts"],"sourcesContent":["import { QueryBuilder, UpdateBuilder } from '@contember/database'\nimport { calculateMigrationChecksum, Migration } from '@contember/schema-migrations'\nimport { Command } from '../Command.js'\nimport { ExecutedMigrationByVersionQuery } from '../../queries/index.js'\n\nexport class ModifyMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string, private readonly migration: Partial<Migration>) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst current = await db.createQueryHandler().fetch(new ExecutedMigrationByVersionQuery(this.version))\n\t\tif (!current) {\n\t\t\treturn false\n\t\t}\n\t\tconst newMigration = {\n\t\t\tversion: current.version,\n\t\t\tname: current.name,\n\t\t\tformatVersion: current.formatVersion,\n\t\t\tmodifications: current.modifications,\n\t\t\t...this.migration,\n\t\t}\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: newMigration.version,\n\t\t\tname: newMigration.name,\n\t\t\tmigration: JSON.stringify(newMigration),\n\t\t\tchecksum: calculateMigrationChecksum(newMigration),\n\t\t}\n\t\tawait UpdateBuilder.create() //\n\t\t\t.table('schema_migration')\n\t\t\t.values(values)\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn true\n\t}\n}\n"],"names":["ExecutedMigrationByVersionQuery","calculateMigrationChecksum","UpdateBuilder"],"mappings":";;;;;;;AAKO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAkC,WAA+B;AAAjE,SAAA,UAAA;AAAkC,SAAA,YAAA;AAAA,EAAgC;AAAA,EAE/F,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,UAAU,MAAM,GAAG,mBAAA,EAAqB,MAAM,IAAIA,gCAAAA,gCAAgC,KAAK,OAAO,CAAC;AACrG,QAAI,CAAC,SAAS;AACb,aAAO;AAAA,IACR;AACA,UAAM,eAAe;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,MACd,eAAe,QAAQ;AAAA,MACvB,eAAe,QAAQ;AAAA,MACvB,GAAG,KAAK;AAAA,IAAA;AAET,UAAM,SAA8B;AAAA,MACnC,SAAS,aAAa;AAAA,MACtB,MAAM,aAAa;AAAA,MACnB,WAAW,KAAK,UAAU,YAAY;AAAA,MACtC,UAAUC,iBAAAA,2BAA2B,YAAY;AAAA,IAAA;AAElD,UAAMC,SAAAA,cAAc,SAClB,MAAM,kBAAkB,EACxB,OAAO,MAAM,EACb,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO;AAAA,EACR;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModifyMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/ModifyMigrationCommand.ts"],"sourcesContent":["import { QueryBuilder, UpdateBuilder } from '@contember/database'\nimport { calculateMigrationChecksum, Migration } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { ExecutedMigrationByVersionQuery } from '../../queries'\n\nexport class ModifyMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string, private readonly migration: Partial<Migration>) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst current = await db.createQueryHandler().fetch(new ExecutedMigrationByVersionQuery(this.version))\n\t\tif (!current) {\n\t\t\treturn false\n\t\t}\n\t\tconst newMigration = {\n\t\t\tversion: current.version,\n\t\t\tname: current.name,\n\t\t\tformatVersion: current.formatVersion,\n\t\t\tmodifications: current.modifications,\n\t\t\t...this.migration,\n\t\t}\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: newMigration.version,\n\t\t\tname: newMigration.name,\n\t\t\tmigration: JSON.stringify(newMigration),\n\t\t\tchecksum: calculateMigrationChecksum(newMigration),\n\t\t}\n\t\tawait UpdateBuilder.create() //\n\t\t\t.table('schema_migration')\n\t\t\t.values(values)\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn true\n\t}\n}\n"],"names":["UpdateBuilder"],"mappings":";;;;;AAKO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAkC,WAA+B;AAAjE,SAAA,UAAA;AAAkC,SAAA,YAAA;AAAA,EAAgC;AAAA,EAE/F,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,UAAU,MAAM,GAAG,mBAAA,EAAqB,MAAM,IAAI,gCAAgC,KAAK,OAAO,CAAC;AACrG,QAAI,CAAC,SAAS;AACb,aAAO;AAAA,IACR;AACA,UAAM,eAAe;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,MACd,eAAe,QAAQ;AAAA,MACvB,eAAe,QAAQ;AAAA,MACvB,GAAG,KAAK;AAAA,IAAA;AAET,UAAM,SAA8B;AAAA,MACnC,SAAS,aAAa;AAAA,MACtB,MAAM,aAAa;AAAA,MACnB,WAAW,KAAK,UAAU,YAAY;AAAA,MACtC,UAAU,2BAA2B,YAAY;AAAA,IAAA;AAElD,UAAMA,gBAAc,SAClB,MAAM,kBAAkB,EACxB,OAAO,MAAM,EACb,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO;AAAA,EACR;AACD;"}
1
+ {"version":3,"file":"ModifyMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/ModifyMigrationCommand.ts"],"sourcesContent":["import { QueryBuilder, UpdateBuilder } from '@contember/database'\nimport { calculateMigrationChecksum, Migration } from '@contember/schema-migrations'\nimport { Command } from '../Command.js'\nimport { ExecutedMigrationByVersionQuery } from '../../queries/index.js'\n\nexport class ModifyMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string, private readonly migration: Partial<Migration>) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst current = await db.createQueryHandler().fetch(new ExecutedMigrationByVersionQuery(this.version))\n\t\tif (!current) {\n\t\t\treturn false\n\t\t}\n\t\tconst newMigration = {\n\t\t\tversion: current.version,\n\t\t\tname: current.name,\n\t\t\tformatVersion: current.formatVersion,\n\t\t\tmodifications: current.modifications,\n\t\t\t...this.migration,\n\t\t}\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: newMigration.version,\n\t\t\tname: newMigration.name,\n\t\t\tmigration: JSON.stringify(newMigration),\n\t\t\tchecksum: calculateMigrationChecksum(newMigration),\n\t\t}\n\t\tawait UpdateBuilder.create() //\n\t\t\t.table('schema_migration')\n\t\t\t.values(values)\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn true\n\t}\n}\n"],"names":["UpdateBuilder"],"mappings":";;;;;AAKO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAkC,WAA+B;AAAjE,SAAA,UAAA;AAAkC,SAAA,YAAA;AAAA,EAAgC;AAAA,EAE/F,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,UAAU,MAAM,GAAG,mBAAA,EAAqB,MAAM,IAAI,gCAAgC,KAAK,OAAO,CAAC;AACrG,QAAI,CAAC,SAAS;AACb,aAAO;AAAA,IACR;AACA,UAAM,eAAe;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,MACd,eAAe,QAAQ;AAAA,MACvB,eAAe,QAAQ;AAAA,MACvB,GAAG,KAAK;AAAA,IAAA;AAET,UAAM,SAA8B;AAAA,MACnC,SAAS,aAAa;AAAA,MACtB,MAAM,aAAa;AAAA,MACnB,WAAW,KAAK,UAAU,YAAY;AAAA,MACtC,UAAU,2BAA2B,YAAY;AAAA,IAAA;AAElD,UAAMA,gBAAc,SAClB,MAAM,kBAAkB,EACxB,OAAO,MAAM,EACb,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO;AAAA,EACR;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SaveMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/SaveMigrationCommand.ts"],"sourcesContent":["import { InsertBuilder, Literal, QueryBuilder, SelectBuilder } from '@contember/database'\nimport { calculateMigrationChecksum } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { MigrationInput } from '../../migrations/MigrationInput'\n\nexport class SaveMigrationCommand implements Command<number> {\n\tconstructor(private readonly migration: MigrationInput) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\tconst { type, ...migrationData } = this.migration\n\n\t\tif ('queries' in migrationData) {\n\t\t\t// in case of content migration, we don't want to store the queries\n\t\t\tmigrationData.queries = []\n\t\t}\n\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: this.migration.version,\n\t\t\tname: this.migration.name,\n\t\t\ttype,\n\t\t\tmigration: JSON.stringify(migrationData),\n\t\t\tchecksum: this.migration.type === 'schema' ? calculateMigrationChecksum(this.migration) : null,\n\t\t}\n\n\t\tconst latestId = (await SelectBuilder.create<{ id: number }>()\n\t\t\t.from('schema_migration')\n\t\t\t.select(new Literal('max(id)'), 'id')\n\t\t\t.getResult(db))[0]?.id ?? 0\n\n\t\tconst newId = latestId + 1\n\t\tconst result = await InsertBuilder.create()\n\t\t\t.into('schema_migration')\n\t\t\t.values({ id: newId, ...values })\n\t\t\t.execute(db)\n\n\t\treturn newId\n\t}\n}\n"],"names":["calculateMigrationChecksum","SelectBuilder","Literal","InsertBuilder"],"mappings":";;;;AAKO,MAAM,qBAAgD;AAAA,EAC5D,YAA6B,WAA2B;AAA3B,SAAA,YAAA;AAAA,EAA4B;AAAA,EAEzD,MAAa,QAAQ,EAAE,MAAqC;AAC3D,UAAM,EAAE,MAAM,GAAG,cAAA,IAAkB,KAAK;AAExC,QAAI,aAAa,eAAe;AAE/B,oBAAc,UAAU,CAAA;AAAA,IACzB;AAEA,UAAM,SAA8B;AAAA,MACnC,SAAS,KAAK,UAAU;AAAA,MACxB,MAAM,KAAK,UAAU;AAAA,MACrB;AAAA,MACA,WAAW,KAAK,UAAU,aAAa;AAAA,MACvC,UAAU,KAAK,UAAU,SAAS,WAAWA,4CAA2B,KAAK,SAAS,IAAI;AAAA,IAAA;AAG3F,UAAM,YAAY,MAAMC,uBAAc,OAAA,EACpC,KAAK,kBAAkB,EACvB,OAAO,IAAIC,SAAAA,QAAQ,SAAS,GAAG,IAAI,EACnC,UAAU,EAAE,GAAG,CAAC,GAAG,MAAM;AAE3B,UAAM,QAAQ,WAAW;AACV,UAAMC,SAAAA,cAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,OAAO,EAAE,IAAI,OAAO,GAAG,QAAQ,EAC/B,QAAQ,EAAE;AAEZ,WAAO;AAAA,EACR;AACD;;"}
1
+ {"version":3,"file":"SaveMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/SaveMigrationCommand.ts"],"sourcesContent":["import { InsertBuilder, Literal, QueryBuilder, SelectBuilder } from '@contember/database'\nimport { calculateMigrationChecksum } from '@contember/schema-migrations'\nimport { Command } from '../Command.js'\nimport { MigrationInput } from '../../migrations/MigrationInput.js'\n\nexport class SaveMigrationCommand implements Command<number> {\n\tconstructor(private readonly migration: MigrationInput) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\tconst { type, ...migrationData } = this.migration\n\n\t\tif ('queries' in migrationData) {\n\t\t\t// in case of content migration, we don't want to store the queries\n\t\t\tmigrationData.queries = []\n\t\t}\n\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: this.migration.version,\n\t\t\tname: this.migration.name,\n\t\t\ttype,\n\t\t\tmigration: JSON.stringify(migrationData),\n\t\t\tchecksum: this.migration.type === 'schema' ? calculateMigrationChecksum(this.migration) : null,\n\t\t}\n\n\t\tconst latestId = (await SelectBuilder.create<{ id: number }>()\n\t\t\t.from('schema_migration')\n\t\t\t.select(new Literal('max(id)'), 'id')\n\t\t\t.getResult(db))[0]?.id ?? 0\n\n\t\tconst newId = latestId + 1\n\t\tconst result = await InsertBuilder.create()\n\t\t\t.into('schema_migration')\n\t\t\t.values({ id: newId, ...values })\n\t\t\t.execute(db)\n\n\t\treturn newId\n\t}\n}\n"],"names":["calculateMigrationChecksum","SelectBuilder","Literal","InsertBuilder"],"mappings":";;;;AAKO,MAAM,qBAAgD;AAAA,EAC5D,YAA6B,WAA2B;AAA3B,SAAA,YAAA;AAAA,EAA4B;AAAA,EAEzD,MAAa,QAAQ,EAAE,MAAqC;AAC3D,UAAM,EAAE,MAAM,GAAG,cAAA,IAAkB,KAAK;AAExC,QAAI,aAAa,eAAe;AAE/B,oBAAc,UAAU,CAAA;AAAA,IACzB;AAEA,UAAM,SAA8B;AAAA,MACnC,SAAS,KAAK,UAAU;AAAA,MACxB,MAAM,KAAK,UAAU;AAAA,MACrB;AAAA,MACA,WAAW,KAAK,UAAU,aAAa;AAAA,MACvC,UAAU,KAAK,UAAU,SAAS,WAAWA,4CAA2B,KAAK,SAAS,IAAI;AAAA,IAAA;AAG3F,UAAM,YAAY,MAAMC,uBAAc,OAAA,EACpC,KAAK,kBAAkB,EACvB,OAAO,IAAIC,SAAAA,QAAQ,SAAS,GAAG,IAAI,EACnC,UAAU,EAAE,GAAG,CAAC,GAAG,MAAM;AAE3B,UAAM,QAAQ,WAAW;AACV,UAAMC,SAAAA,cAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,OAAO,EAAE,IAAI,OAAO,GAAG,QAAQ,EAC/B,QAAQ,EAAE;AAEZ,WAAO;AAAA,EACR;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SaveMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/SaveMigrationCommand.ts"],"sourcesContent":["import { InsertBuilder, Literal, QueryBuilder, SelectBuilder } from '@contember/database'\nimport { calculateMigrationChecksum } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { MigrationInput } from '../../migrations/MigrationInput'\n\nexport class SaveMigrationCommand implements Command<number> {\n\tconstructor(private readonly migration: MigrationInput) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\tconst { type, ...migrationData } = this.migration\n\n\t\tif ('queries' in migrationData) {\n\t\t\t// in case of content migration, we don't want to store the queries\n\t\t\tmigrationData.queries = []\n\t\t}\n\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: this.migration.version,\n\t\t\tname: this.migration.name,\n\t\t\ttype,\n\t\t\tmigration: JSON.stringify(migrationData),\n\t\t\tchecksum: this.migration.type === 'schema' ? calculateMigrationChecksum(this.migration) : null,\n\t\t}\n\n\t\tconst latestId = (await SelectBuilder.create<{ id: number }>()\n\t\t\t.from('schema_migration')\n\t\t\t.select(new Literal('max(id)'), 'id')\n\t\t\t.getResult(db))[0]?.id ?? 0\n\n\t\tconst newId = latestId + 1\n\t\tconst result = await InsertBuilder.create()\n\t\t\t.into('schema_migration')\n\t\t\t.values({ id: newId, ...values })\n\t\t\t.execute(db)\n\n\t\treturn newId\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";;AAKO,MAAM,qBAAgD;AAAA,EAC5D,YAA6B,WAA2B;AAA3B,SAAA,YAAA;AAAA,EAA4B;AAAA,EAEzD,MAAa,QAAQ,EAAE,MAAqC;AAC3D,UAAM,EAAE,MAAM,GAAG,cAAA,IAAkB,KAAK;AAExC,QAAI,aAAa,eAAe;AAE/B,oBAAc,UAAU,CAAA;AAAA,IACzB;AAEA,UAAM,SAA8B;AAAA,MACnC,SAAS,KAAK,UAAU;AAAA,MACxB,MAAM,KAAK,UAAU;AAAA,MACrB;AAAA,MACA,WAAW,KAAK,UAAU,aAAa;AAAA,MACvC,UAAU,KAAK,UAAU,SAAS,WAAW,2BAA2B,KAAK,SAAS,IAAI;AAAA,IAAA;AAG3F,UAAM,YAAY,MAAM,cAAc,OAAA,EACpC,KAAK,kBAAkB,EACvB,OAAO,IAAI,QAAQ,SAAS,GAAG,IAAI,EACnC,UAAU,EAAE,GAAG,CAAC,GAAG,MAAM;AAE3B,UAAM,QAAQ,WAAW;AACV,UAAMA,gBAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,OAAO,EAAE,IAAI,OAAO,GAAG,QAAQ,EAC/B,QAAQ,EAAE;AAEZ,WAAO;AAAA,EACR;AACD;"}
1
+ {"version":3,"file":"SaveMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/SaveMigrationCommand.ts"],"sourcesContent":["import { InsertBuilder, Literal, QueryBuilder, SelectBuilder } from '@contember/database'\nimport { calculateMigrationChecksum } from '@contember/schema-migrations'\nimport { Command } from '../Command.js'\nimport { MigrationInput } from '../../migrations/MigrationInput.js'\n\nexport class SaveMigrationCommand implements Command<number> {\n\tconstructor(private readonly migration: MigrationInput) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\tconst { type, ...migrationData } = this.migration\n\n\t\tif ('queries' in migrationData) {\n\t\t\t// in case of content migration, we don't want to store the queries\n\t\t\tmigrationData.queries = []\n\t\t}\n\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: this.migration.version,\n\t\t\tname: this.migration.name,\n\t\t\ttype,\n\t\t\tmigration: JSON.stringify(migrationData),\n\t\t\tchecksum: this.migration.type === 'schema' ? calculateMigrationChecksum(this.migration) : null,\n\t\t}\n\n\t\tconst latestId = (await SelectBuilder.create<{ id: number }>()\n\t\t\t.from('schema_migration')\n\t\t\t.select(new Literal('max(id)'), 'id')\n\t\t\t.getResult(db))[0]?.id ?? 0\n\n\t\tconst newId = latestId + 1\n\t\tconst result = await InsertBuilder.create()\n\t\t\t.into('schema_migration')\n\t\t\t.values({ id: newId, ...values })\n\t\t\t.execute(db)\n\n\t\treturn newId\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";;AAKO,MAAM,qBAAgD;AAAA,EAC5D,YAA6B,WAA2B;AAA3B,SAAA,YAAA;AAAA,EAA4B;AAAA,EAEzD,MAAa,QAAQ,EAAE,MAAqC;AAC3D,UAAM,EAAE,MAAM,GAAG,cAAA,IAAkB,KAAK;AAExC,QAAI,aAAa,eAAe;AAE/B,oBAAc,UAAU,CAAA;AAAA,IACzB;AAEA,UAAM,SAA8B;AAAA,MACnC,SAAS,KAAK,UAAU;AAAA,MACxB,MAAM,KAAK,UAAU;AAAA,MACrB;AAAA,MACA,WAAW,KAAK,UAAU,aAAa;AAAA,MACvC,UAAU,KAAK,UAAU,SAAS,WAAW,2BAA2B,KAAK,SAAS,IAAI;AAAA,IAAA;AAG3F,UAAM,YAAY,MAAM,cAAc,OAAA,EACpC,KAAK,kBAAkB,EACvB,OAAO,IAAI,QAAQ,SAAS,GAAG,IAAI,EACnC,UAAU,EAAE,GAAG,CAAC,GAAG,MAAM;AAE3B,UAAM,QAAQ,WAAW;AACV,UAAMA,gBAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,OAAO,EAAE,IAAI,OAAO,GAAG,QAAQ,EAC/B,QAAQ,EAAE;AAEZ,WAAO;AAAA,EACR;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SaveSchemaCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/schema/SaveSchemaCommand.ts"],"sourcesContent":["import { ConflictActionType, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command'\nimport { SchemaWithMeta } from '../../migrations'\n\nexport class SaveSchemaCommand implements Command<void> {\n\tconstructor(private readonly input: SchemaWithMeta) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<void> {\n\t\tif (!this.input.meta.updatedAt) {\n\t\t\tthrow new Error('Cannot persist empty schema')\n\t\t}\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('schema')\n\t\t\t.values({\n\t\t\t\tschema: this.input.schema,\n\t\t\t\tupdated_at: this.input.meta.updatedAt.toISOString(),\n\t\t\t\tchecksum: this.input.meta.checksum,\n\t\t\t\tversion: this.input.meta.version,\n\t\t\t\tmigration_id: this.input.meta.id,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['id'], {\n\t\t\t\tschema: expr => expr.select(['excluded', 'schema']),\n\t\t\t\tupdated_at: expr => expr.select(['excluded', 'updated_at']),\n\t\t\t\tchecksum: expr => expr.select(['excluded', 'checksum']),\n\t\t\t\tversion: expr => expr.select(['excluded', 'version']),\n\t\t\t\tmigration_id: expr => expr.select(['excluded', 'migration_id']),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder","ConflictActionType"],"mappings":";;;AAIO,MAAM,kBAA2C;AAAA,EACvD,YAA6B,OAAuB;AAAvB,SAAA,QAAA;AAAA,EAAwB;AAAA,EAErD,MAAa,QAAQ,EAAE,MAAmC;AACzD,QAAI,CAAC,KAAK,MAAM,KAAK,WAAW;AAC/B,YAAM,IAAI,MAAM,6BAA6B;AAAA,IAC9C;AAEA,UAAMA,SAAAA,cAAc,OAAA,EAClB,KAAK,QAAQ,EACb,OAAO;AAAA,MACP,QAAQ,KAAK,MAAM;AAAA,MACnB,YAAY,KAAK,MAAM,KAAK,UAAU,YAAA;AAAA,MACtC,UAAU,KAAK,MAAM,KAAK;AAAA,MAC1B,SAAS,KAAK,MAAM,KAAK;AAAA,MACzB,cAAc,KAAK,MAAM,KAAK;AAAA,IAAA,CAC9B,EACA,WAAWC,SAAAA,mBAAmB,QAAQ,CAAC,IAAI,GAAG;AAAA,MAC9C,QAAQ,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,QAAQ,CAAC;AAAA,MAClD,YAAY,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,YAAY,CAAC;AAAA,MAC1D,UAAU,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,UAAU,CAAC;AAAA,MACtD,SAAS,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,SAAS,CAAC;AAAA,MACpD,cAAc,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,cAAc,CAAC;AAAA,IAAA,CAC9D,EACA,QAAQ,EAAE;AAAA,EACb;AACD;;"}
1
+ {"version":3,"file":"SaveSchemaCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/schema/SaveSchemaCommand.ts"],"sourcesContent":["import { ConflictActionType, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command.js'\nimport { SchemaWithMeta } from '../../migrations/index.js'\n\nexport class SaveSchemaCommand implements Command<void> {\n\tconstructor(private readonly input: SchemaWithMeta) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<void> {\n\t\tif (!this.input.meta.updatedAt) {\n\t\t\tthrow new Error('Cannot persist empty schema')\n\t\t}\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('schema')\n\t\t\t.values({\n\t\t\t\tschema: this.input.schema,\n\t\t\t\tupdated_at: this.input.meta.updatedAt.toISOString(),\n\t\t\t\tchecksum: this.input.meta.checksum,\n\t\t\t\tversion: this.input.meta.version,\n\t\t\t\tmigration_id: this.input.meta.id,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['id'], {\n\t\t\t\tschema: expr => expr.select(['excluded', 'schema']),\n\t\t\t\tupdated_at: expr => expr.select(['excluded', 'updated_at']),\n\t\t\t\tchecksum: expr => expr.select(['excluded', 'checksum']),\n\t\t\t\tversion: expr => expr.select(['excluded', 'version']),\n\t\t\t\tmigration_id: expr => expr.select(['excluded', 'migration_id']),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder","ConflictActionType"],"mappings":";;;AAIO,MAAM,kBAA2C;AAAA,EACvD,YAA6B,OAAuB;AAAvB,SAAA,QAAA;AAAA,EAAwB;AAAA,EAErD,MAAa,QAAQ,EAAE,MAAmC;AACzD,QAAI,CAAC,KAAK,MAAM,KAAK,WAAW;AAC/B,YAAM,IAAI,MAAM,6BAA6B;AAAA,IAC9C;AAEA,UAAMA,SAAAA,cAAc,OAAA,EAClB,KAAK,QAAQ,EACb,OAAO;AAAA,MACP,QAAQ,KAAK,MAAM;AAAA,MACnB,YAAY,KAAK,MAAM,KAAK,UAAU,YAAA;AAAA,MACtC,UAAU,KAAK,MAAM,KAAK;AAAA,MAC1B,SAAS,KAAK,MAAM,KAAK;AAAA,MACzB,cAAc,KAAK,MAAM,KAAK;AAAA,IAAA,CAC9B,EACA,WAAWC,SAAAA,mBAAmB,QAAQ,CAAC,IAAI,GAAG;AAAA,MAC9C,QAAQ,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,QAAQ,CAAC;AAAA,MAClD,YAAY,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,YAAY,CAAC;AAAA,MAC1D,UAAU,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,UAAU,CAAC;AAAA,MACtD,SAAS,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,SAAS,CAAC;AAAA,MACpD,cAAc,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,cAAc,CAAC;AAAA,IAAA,CAC9D,EACA,QAAQ,EAAE;AAAA,EACb;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SaveSchemaCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/schema/SaveSchemaCommand.ts"],"sourcesContent":["import { ConflictActionType, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command'\nimport { SchemaWithMeta } from '../../migrations'\n\nexport class SaveSchemaCommand implements Command<void> {\n\tconstructor(private readonly input: SchemaWithMeta) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<void> {\n\t\tif (!this.input.meta.updatedAt) {\n\t\t\tthrow new Error('Cannot persist empty schema')\n\t\t}\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('schema')\n\t\t\t.values({\n\t\t\t\tschema: this.input.schema,\n\t\t\t\tupdated_at: this.input.meta.updatedAt.toISOString(),\n\t\t\t\tchecksum: this.input.meta.checksum,\n\t\t\t\tversion: this.input.meta.version,\n\t\t\t\tmigration_id: this.input.meta.id,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['id'], {\n\t\t\t\tschema: expr => expr.select(['excluded', 'schema']),\n\t\t\t\tupdated_at: expr => expr.select(['excluded', 'updated_at']),\n\t\t\t\tchecksum: expr => expr.select(['excluded', 'checksum']),\n\t\t\t\tversion: expr => expr.select(['excluded', 'version']),\n\t\t\t\tmigration_id: expr => expr.select(['excluded', 'migration_id']),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";AAIO,MAAM,kBAA2C;AAAA,EACvD,YAA6B,OAAuB;AAAvB,SAAA,QAAA;AAAA,EAAwB;AAAA,EAErD,MAAa,QAAQ,EAAE,MAAmC;AACzD,QAAI,CAAC,KAAK,MAAM,KAAK,WAAW;AAC/B,YAAM,IAAI,MAAM,6BAA6B;AAAA,IAC9C;AAEA,UAAMA,gBAAc,OAAA,EAClB,KAAK,QAAQ,EACb,OAAO;AAAA,MACP,QAAQ,KAAK,MAAM;AAAA,MACnB,YAAY,KAAK,MAAM,KAAK,UAAU,YAAA;AAAA,MACtC,UAAU,KAAK,MAAM,KAAK;AAAA,MAC1B,SAAS,KAAK,MAAM,KAAK;AAAA,MACzB,cAAc,KAAK,MAAM,KAAK;AAAA,IAAA,CAC9B,EACA,WAAW,mBAAmB,QAAQ,CAAC,IAAI,GAAG;AAAA,MAC9C,QAAQ,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,QAAQ,CAAC;AAAA,MAClD,YAAY,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,YAAY,CAAC;AAAA,MAC1D,UAAU,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,UAAU,CAAC;AAAA,MACtD,SAAS,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,SAAS,CAAC;AAAA,MACpD,cAAc,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,cAAc,CAAC;AAAA,IAAA,CAC9D,EACA,QAAQ,EAAE;AAAA,EACb;AACD;"}
1
+ {"version":3,"file":"SaveSchemaCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/schema/SaveSchemaCommand.ts"],"sourcesContent":["import { ConflictActionType, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command.js'\nimport { SchemaWithMeta } from '../../migrations/index.js'\n\nexport class SaveSchemaCommand implements Command<void> {\n\tconstructor(private readonly input: SchemaWithMeta) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<void> {\n\t\tif (!this.input.meta.updatedAt) {\n\t\t\tthrow new Error('Cannot persist empty schema')\n\t\t}\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('schema')\n\t\t\t.values({\n\t\t\t\tschema: this.input.schema,\n\t\t\t\tupdated_at: this.input.meta.updatedAt.toISOString(),\n\t\t\t\tchecksum: this.input.meta.checksum,\n\t\t\t\tversion: this.input.meta.version,\n\t\t\t\tmigration_id: this.input.meta.id,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['id'], {\n\t\t\t\tschema: expr => expr.select(['excluded', 'schema']),\n\t\t\t\tupdated_at: expr => expr.select(['excluded', 'updated_at']),\n\t\t\t\tchecksum: expr => expr.select(['excluded', 'checksum']),\n\t\t\t\tversion: expr => expr.select(['excluded', 'version']),\n\t\t\t\tmigration_id: expr => expr.select(['excluded', 'migration_id']),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";AAIO,MAAM,kBAA2C;AAAA,EACvD,YAA6B,OAAuB;AAAvB,SAAA,QAAA;AAAA,EAAwB;AAAA,EAErD,MAAa,QAAQ,EAAE,MAAmC;AACzD,QAAI,CAAC,KAAK,MAAM,KAAK,WAAW;AAC/B,YAAM,IAAI,MAAM,6BAA6B;AAAA,IAC9C;AAEA,UAAMA,gBAAc,OAAA,EAClB,KAAK,QAAQ,EACb,OAAO;AAAA,MACP,QAAQ,KAAK,MAAM;AAAA,MACnB,YAAY,KAAK,MAAM,KAAK,UAAU,YAAA;AAAA,MACtC,UAAU,KAAK,MAAM,KAAK;AAAA,MAC1B,SAAS,KAAK,MAAM,KAAK;AAAA,MACzB,cAAc,KAAK,MAAM,KAAK;AAAA,IAAA,CAC9B,EACA,WAAW,mBAAmB,QAAQ,CAAC,IAAI,GAAG;AAAA,MAC9C,QAAQ,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,QAAQ,CAAC;AAAA,MAClD,YAAY,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,YAAY,CAAC;AAAA,MAC1D,UAAU,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,UAAU,CAAC;AAAA,MACtD,SAAS,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,SAAS,CAAC;AAAA,MACpD,cAAc,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,cAAc,CAAC;AAAA,IAAA,CAC9D,EACA,QAAQ,EAAE;AAAA,EACb;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateStageCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/stages/CreateStageCommand.ts"],"sourcesContent":["import { InsertBuilder, wrapIdentifier } from '@contember/database'\nimport { StageConfig } from '../../../types'\nimport { Command } from '../Command'\nimport { formatSchemaName } from '../../helpers'\n\nexport class CreateStageCommand implements Command<void> {\n\tconstructor(private readonly stage: StageConfig) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tconst schemaName = this.stage.schema ?? formatSchemaName(this.stage)\n\t\tawait InsertBuilder.create()\n\t\t\t.into('stage')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.stage.name,\n\t\t\t\tslug: this.stage.slug,\n\t\t\t\tschema: schemaName,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tawait db.query('CREATE SCHEMA IF NOT EXISTS ' + wrapIdentifier(schemaName))\n\t}\n}\n"],"names":["formatSchemaName","InsertBuilder","wrapIdentifier"],"mappings":";;;;;AAKO,MAAM,mBAA4C;AAAA,EACxD,YAA6B,OAAoB;AAApB,SAAA,QAAA;AAAA,EAAqB;AAAA,EAElD,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,aAAa,KAAK,MAAM,UAAUA,aAAAA,iBAAiB,KAAK,KAAK;AACnE,UAAMC,SAAAA,cAAc,OAAA,EAClB,KAAK,OAAO,EACZ,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM,KAAK,MAAM;AAAA,MACjB,MAAM,KAAK,MAAM;AAAA,MACjB,QAAQ;AAAA,IAAA,CACR,EACA,QAAQ,EAAE;AAEZ,UAAM,GAAG,MAAM,iCAAiCC,SAAAA,eAAe,UAAU,CAAC;AAAA,EAC3E;AACD;;"}
1
+ {"version":3,"file":"CreateStageCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/stages/CreateStageCommand.ts"],"sourcesContent":["import { InsertBuilder, wrapIdentifier } from '@contember/database'\nimport { StageConfig } from '../../../types.js'\nimport { Command } from '../Command.js'\nimport { formatSchemaName } from '../../helpers/index.js'\n\nexport class CreateStageCommand implements Command<void> {\n\tconstructor(private readonly stage: StageConfig) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tconst schemaName = this.stage.schema ?? formatSchemaName(this.stage)\n\t\tawait InsertBuilder.create()\n\t\t\t.into('stage')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.stage.name,\n\t\t\t\tslug: this.stage.slug,\n\t\t\t\tschema: schemaName,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tawait db.query('CREATE SCHEMA IF NOT EXISTS ' + wrapIdentifier(schemaName))\n\t}\n}\n"],"names":["formatSchemaName","InsertBuilder","wrapIdentifier"],"mappings":";;;;;AAKO,MAAM,mBAA4C;AAAA,EACxD,YAA6B,OAAoB;AAApB,SAAA,QAAA;AAAA,EAAqB;AAAA,EAElD,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,aAAa,KAAK,MAAM,UAAUA,aAAAA,iBAAiB,KAAK,KAAK;AACnE,UAAMC,SAAAA,cAAc,OAAA,EAClB,KAAK,OAAO,EACZ,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM,KAAK,MAAM;AAAA,MACjB,MAAM,KAAK,MAAM;AAAA,MACjB,QAAQ;AAAA,IAAA,CACR,EACA,QAAQ,EAAE;AAEZ,UAAM,GAAG,MAAM,iCAAiCC,SAAAA,eAAe,UAAU,CAAC;AAAA,EAC3E;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateStageCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/stages/CreateStageCommand.ts"],"sourcesContent":["import { InsertBuilder, wrapIdentifier } from '@contember/database'\nimport { StageConfig } from '../../../types'\nimport { Command } from '../Command'\nimport { formatSchemaName } from '../../helpers'\n\nexport class CreateStageCommand implements Command<void> {\n\tconstructor(private readonly stage: StageConfig) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tconst schemaName = this.stage.schema ?? formatSchemaName(this.stage)\n\t\tawait InsertBuilder.create()\n\t\t\t.into('stage')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.stage.name,\n\t\t\t\tslug: this.stage.slug,\n\t\t\t\tschema: schemaName,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tawait db.query('CREATE SCHEMA IF NOT EXISTS ' + wrapIdentifier(schemaName))\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";;;AAKO,MAAM,mBAA4C;AAAA,EACxD,YAA6B,OAAoB;AAApB,SAAA,QAAA;AAAA,EAAqB;AAAA,EAElD,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,aAAa,KAAK,MAAM,UAAU,iBAAiB,KAAK,KAAK;AACnE,UAAMA,gBAAc,OAAA,EAClB,KAAK,OAAO,EACZ,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM,KAAK,MAAM;AAAA,MACjB,MAAM,KAAK,MAAM;AAAA,MACjB,QAAQ;AAAA,IAAA,CACR,EACA,QAAQ,EAAE;AAEZ,UAAM,GAAG,MAAM,iCAAiC,eAAe,UAAU,CAAC;AAAA,EAC3E;AACD;"}
1
+ {"version":3,"file":"CreateStageCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/stages/CreateStageCommand.ts"],"sourcesContent":["import { InsertBuilder, wrapIdentifier } from '@contember/database'\nimport { StageConfig } from '../../../types.js'\nimport { Command } from '../Command.js'\nimport { formatSchemaName } from '../../helpers/index.js'\n\nexport class CreateStageCommand implements Command<void> {\n\tconstructor(private readonly stage: StageConfig) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tconst schemaName = this.stage.schema ?? formatSchemaName(this.stage)\n\t\tawait InsertBuilder.create()\n\t\t\t.into('stage')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.stage.name,\n\t\t\t\tslug: this.stage.slug,\n\t\t\t\tschema: schemaName,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tawait db.query('CREATE SCHEMA IF NOT EXISTS ' + wrapIdentifier(schemaName))\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";;;AAKO,MAAM,mBAA4C;AAAA,EACxD,YAA6B,OAAoB;AAApB,SAAA,QAAA;AAAA,EAAqB;AAAA,EAElD,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,aAAa,KAAK,MAAM,UAAU,iBAAiB,KAAK,KAAK;AACnE,UAAMA,gBAAc,OAAA,EAClB,KAAK,OAAO,EACZ,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM,KAAK,MAAM;AAAA,MACjB,MAAM,KAAK,MAAM;AAAA,MACjB,QAAQ;AAAA,IAAA,CACR,EACA,QAAQ,EAAE;AAEZ,UAAM,GAAG,MAAM,iCAAiC,eAAe,UAAU,CAAC;AAAA,EAC3E;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseContext.cjs","sources":["../../../../../../packages/engine-system-api/src/model/database/DatabaseContext.ts"],"sourcesContent":["import { Client, Connection, DatabaseQueryable } from '@contember/database'\nimport { QueryHandler } from '@contember/queryable'\nimport { UuidProvider } from '../../utils'\nimport { CommandBus } from '../commands'\n\nexport interface DatabaseContext<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tclient: Client<ConnectionType>\n\tqueryHandler: QueryHandler<DatabaseQueryable>\n\ttransaction: <T>(cb: (db: DatabaseContext<Connection.TransactionLike>) => Promise<T> | T) => Promise<T>\n\tscope: <T>(cb: (db: DatabaseContext<ConnectionType & Connection.AcquiredConnectionLike>) => Promise<T> | T) => Promise<T>\n\tlocked: <T>(lock: number, cb: (db: DatabaseContext<Connection.ConnectionLike>) => Promise<T> | T) => Promise<T>\n\tcommandBus: CommandBus\n}\n\nexport class DatabaseContextFactory {\n\tconstructor(\n\t\tpublic readonly schemaName: string,\n\t\tprivate readonly providers: UuidProvider,\n\t) {}\n\n\tpublic create(connection: Connection.ConnectionLike): DatabaseContext {\n\t\tconst client = new Client(connection, this.schemaName, { module: 'system' })\n\t\treturn createDatabaseContext(client, this.providers)\n\t}\n}\n\nconst createDatabaseContext = <ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike>(\n\tclient: Client<ConnectionType>,\n\tproviders: UuidProvider,\n): DatabaseContext<ConnectionType> => ({\n\tclient,\n\tqueryHandler: client.createQueryHandler(),\n\ttransaction: cb =>\n\t\tclient.transaction(async client => {\n\t\t\tawait client.query(Connection.REPEATABLE_READ)\n\t\t\treturn cb(createDatabaseContext(client, providers))\n\t\t}),\n\tscope: cb => client.scope(client => cb(createDatabaseContext(client, providers))),\n\tcommandBus: new CommandBus(client, providers),\n\tlocked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),\n})\n"],"names":["Client","client","Connection","CommandBus"],"mappings":";;;;;;AAcO,MAAM,uBAAuB;AAAA,EACnC,YACiB,YACC,WAChB;AAFe,SAAA,aAAA;AACC,SAAA,YAAA;AAAA,EACf;AAAA,EAEI,OAAO,YAAwD;AACrE,UAAM,SAAS,IAAIA,SAAAA,OAAO,YAAY,KAAK,YAAY,EAAE,QAAQ,UAAU;AAC3E,WAAO,sBAAsB,QAAQ,KAAK,SAAS;AAAA,EACpD;AACD;AAEA,MAAM,wBAAwB,CAC7B,QACA,eACsC;AAAA,EACtC;AAAA,EACA,cAAc,OAAO,mBAAA;AAAA,EACrB,aAAa,CAAA,OACZ,OAAO,YAAY,OAAMC,YAAU;AAClC,UAAMA,QAAO,MAAMC,SAAAA,WAAW,eAAe;AAC7C,WAAO,GAAG,sBAAsBD,SAAQ,SAAS,CAAC;AAAA,EACnD,CAAC;AAAA,EACF,OAAO,CAAA,OAAM,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AAAA,EAChF,YAAY,IAAIE,WAAAA,WAAW,QAAQ,SAAS;AAAA,EAC5C,QAAQ,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,CAAAF,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AACjG;;"}
1
+ {"version":3,"file":"DatabaseContext.cjs","sources":["../../../../../../packages/engine-system-api/src/model/database/DatabaseContext.ts"],"sourcesContent":["import { Client, Connection, DatabaseQueryable } from '@contember/database'\nimport { QueryHandler } from '@contember/queryable'\nimport { UuidProvider } from '../../utils/index.js'\nimport { CommandBus } from '../commands/index.js'\n\nexport interface DatabaseContext<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tclient: Client<ConnectionType>\n\tqueryHandler: QueryHandler<DatabaseQueryable>\n\ttransaction: <T>(cb: (db: DatabaseContext<Connection.TransactionLike>) => Promise<T> | T) => Promise<T>\n\tscope: <T>(cb: (db: DatabaseContext<ConnectionType & Connection.AcquiredConnectionLike>) => Promise<T> | T) => Promise<T>\n\tlocked: <T>(lock: number, cb: (db: DatabaseContext<Connection.ConnectionLike>) => Promise<T> | T) => Promise<T>\n\tcommandBus: CommandBus\n}\n\nexport class DatabaseContextFactory {\n\tconstructor(\n\t\tpublic readonly schemaName: string,\n\t\tprivate readonly providers: UuidProvider,\n\t) {}\n\n\tpublic create(connection: Connection.ConnectionLike): DatabaseContext {\n\t\tconst client = new Client(connection, this.schemaName, { module: 'system' })\n\t\treturn createDatabaseContext(client, this.providers)\n\t}\n}\n\nconst createDatabaseContext = <ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike>(\n\tclient: Client<ConnectionType>,\n\tproviders: UuidProvider,\n): DatabaseContext<ConnectionType> => ({\n\tclient,\n\tqueryHandler: client.createQueryHandler(),\n\ttransaction: cb =>\n\t\tclient.transaction(async client => {\n\t\t\tawait client.query(Connection.REPEATABLE_READ)\n\t\t\treturn cb(createDatabaseContext(client, providers))\n\t\t}),\n\tscope: cb => client.scope(client => cb(createDatabaseContext(client, providers))),\n\tcommandBus: new CommandBus(client, providers),\n\tlocked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),\n})\n"],"names":["Client","client","Connection","CommandBus"],"mappings":";;;;;;AAcO,MAAM,uBAAuB;AAAA,EACnC,YACiB,YACC,WAChB;AAFe,SAAA,aAAA;AACC,SAAA,YAAA;AAAA,EACf;AAAA,EAEI,OAAO,YAAwD;AACrE,UAAM,SAAS,IAAIA,SAAAA,OAAO,YAAY,KAAK,YAAY,EAAE,QAAQ,UAAU;AAC3E,WAAO,sBAAsB,QAAQ,KAAK,SAAS;AAAA,EACpD;AACD;AAEA,MAAM,wBAAwB,CAC7B,QACA,eACsC;AAAA,EACtC;AAAA,EACA,cAAc,OAAO,mBAAA;AAAA,EACrB,aAAa,CAAA,OACZ,OAAO,YAAY,OAAMC,YAAU;AAClC,UAAMA,QAAO,MAAMC,SAAAA,WAAW,eAAe;AAC7C,WAAO,GAAG,sBAAsBD,SAAQ,SAAS,CAAC;AAAA,EACnD,CAAC;AAAA,EACF,OAAO,CAAA,OAAM,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AAAA,EAChF,YAAY,IAAIE,WAAAA,WAAW,QAAQ,SAAS;AAAA,EAC5C,QAAQ,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,CAAAF,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AACjG;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseContext.js","sources":["../../../../../../packages/engine-system-api/src/model/database/DatabaseContext.ts"],"sourcesContent":["import { Client, Connection, DatabaseQueryable } from '@contember/database'\nimport { QueryHandler } from '@contember/queryable'\nimport { UuidProvider } from '../../utils'\nimport { CommandBus } from '../commands'\n\nexport interface DatabaseContext<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tclient: Client<ConnectionType>\n\tqueryHandler: QueryHandler<DatabaseQueryable>\n\ttransaction: <T>(cb: (db: DatabaseContext<Connection.TransactionLike>) => Promise<T> | T) => Promise<T>\n\tscope: <T>(cb: (db: DatabaseContext<ConnectionType & Connection.AcquiredConnectionLike>) => Promise<T> | T) => Promise<T>\n\tlocked: <T>(lock: number, cb: (db: DatabaseContext<Connection.ConnectionLike>) => Promise<T> | T) => Promise<T>\n\tcommandBus: CommandBus\n}\n\nexport class DatabaseContextFactory {\n\tconstructor(\n\t\tpublic readonly schemaName: string,\n\t\tprivate readonly providers: UuidProvider,\n\t) {}\n\n\tpublic create(connection: Connection.ConnectionLike): DatabaseContext {\n\t\tconst client = new Client(connection, this.schemaName, { module: 'system' })\n\t\treturn createDatabaseContext(client, this.providers)\n\t}\n}\n\nconst createDatabaseContext = <ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike>(\n\tclient: Client<ConnectionType>,\n\tproviders: UuidProvider,\n): DatabaseContext<ConnectionType> => ({\n\tclient,\n\tqueryHandler: client.createQueryHandler(),\n\ttransaction: cb =>\n\t\tclient.transaction(async client => {\n\t\t\tawait client.query(Connection.REPEATABLE_READ)\n\t\t\treturn cb(createDatabaseContext(client, providers))\n\t\t}),\n\tscope: cb => client.scope(client => cb(createDatabaseContext(client, providers))),\n\tcommandBus: new CommandBus(client, providers),\n\tlocked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),\n})\n"],"names":["client"],"mappings":";;;;AAcO,MAAM,uBAAuB;AAAA,EACnC,YACiB,YACC,WAChB;AAFe,SAAA,aAAA;AACC,SAAA,YAAA;AAAA,EACf;AAAA,EAEI,OAAO,YAAwD;AACrE,UAAM,SAAS,IAAI,OAAO,YAAY,KAAK,YAAY,EAAE,QAAQ,UAAU;AAC3E,WAAO,sBAAsB,QAAQ,KAAK,SAAS;AAAA,EACpD;AACD;AAEA,MAAM,wBAAwB,CAC7B,QACA,eACsC;AAAA,EACtC;AAAA,EACA,cAAc,OAAO,mBAAA;AAAA,EACrB,aAAa,CAAA,OACZ,OAAO,YAAY,OAAMA,YAAU;AAClC,UAAMA,QAAO,MAAM,WAAW,eAAe;AAC7C,WAAO,GAAG,sBAAsBA,SAAQ,SAAS,CAAC;AAAA,EACnD,CAAC;AAAA,EACF,OAAO,CAAA,OAAM,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AAAA,EAChF,YAAY,IAAI,WAAW,QAAQ,SAAS;AAAA,EAC5C,QAAQ,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AACjG;"}
1
+ {"version":3,"file":"DatabaseContext.js","sources":["../../../../../../packages/engine-system-api/src/model/database/DatabaseContext.ts"],"sourcesContent":["import { Client, Connection, DatabaseQueryable } from '@contember/database'\nimport { QueryHandler } from '@contember/queryable'\nimport { UuidProvider } from '../../utils/index.js'\nimport { CommandBus } from '../commands/index.js'\n\nexport interface DatabaseContext<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tclient: Client<ConnectionType>\n\tqueryHandler: QueryHandler<DatabaseQueryable>\n\ttransaction: <T>(cb: (db: DatabaseContext<Connection.TransactionLike>) => Promise<T> | T) => Promise<T>\n\tscope: <T>(cb: (db: DatabaseContext<ConnectionType & Connection.AcquiredConnectionLike>) => Promise<T> | T) => Promise<T>\n\tlocked: <T>(lock: number, cb: (db: DatabaseContext<Connection.ConnectionLike>) => Promise<T> | T) => Promise<T>\n\tcommandBus: CommandBus\n}\n\nexport class DatabaseContextFactory {\n\tconstructor(\n\t\tpublic readonly schemaName: string,\n\t\tprivate readonly providers: UuidProvider,\n\t) {}\n\n\tpublic create(connection: Connection.ConnectionLike): DatabaseContext {\n\t\tconst client = new Client(connection, this.schemaName, { module: 'system' })\n\t\treturn createDatabaseContext(client, this.providers)\n\t}\n}\n\nconst createDatabaseContext = <ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike>(\n\tclient: Client<ConnectionType>,\n\tproviders: UuidProvider,\n): DatabaseContext<ConnectionType> => ({\n\tclient,\n\tqueryHandler: client.createQueryHandler(),\n\ttransaction: cb =>\n\t\tclient.transaction(async client => {\n\t\t\tawait client.query(Connection.REPEATABLE_READ)\n\t\t\treturn cb(createDatabaseContext(client, providers))\n\t\t}),\n\tscope: cb => client.scope(client => cb(createDatabaseContext(client, providers))),\n\tcommandBus: new CommandBus(client, providers),\n\tlocked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),\n})\n"],"names":["client"],"mappings":";;;;AAcO,MAAM,uBAAuB;AAAA,EACnC,YACiB,YACC,WAChB;AAFe,SAAA,aAAA;AACC,SAAA,YAAA;AAAA,EACf;AAAA,EAEI,OAAO,YAAwD;AACrE,UAAM,SAAS,IAAI,OAAO,YAAY,KAAK,YAAY,EAAE,QAAQ,UAAU;AAC3E,WAAO,sBAAsB,QAAQ,KAAK,SAAS;AAAA,EACpD;AACD;AAEA,MAAM,wBAAwB,CAC7B,QACA,eACsC;AAAA,EACtC;AAAA,EACA,cAAc,OAAO,mBAAA;AAAA,EACrB,aAAa,CAAA,OACZ,OAAO,YAAY,OAAMA,YAAU;AAClC,UAAMA,QAAO,MAAM,WAAW,eAAe;AAC7C,WAAO,GAAG,sBAAsBA,SAAQ,SAAS,CAAC;AAAA,EACnD,CAAC;AAAA,EACF,OAAO,CAAA,OAAM,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AAAA,EAChF,YAAY,IAAI,WAAW,QAAQ,SAAS;AAAA,EAC5C,QAAQ,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AACjG;"}
@@ -15,7 +15,8 @@ class EventResponseBuilder {
15
15
  const apiEventTypeMapping = {
16
16
  [types.EventType.create]: types$1.EventType.Create,
17
17
  [types.EventType.update]: types$1.EventType.Update,
18
- [types.EventType.delete]: types$1.EventType.Delete
18
+ [types.EventType.delete]: types$1.EventType.Delete,
19
+ [types.EventType.truncate]: types$1.EventType.Truncate
19
20
  };
20
21
  const identityIds = events.map((it) => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index);
21
22
  const identities = await this.identityFetcher.fetchIdentities(identityIds);
@@ -38,6 +39,8 @@ class EventResponseBuilder {
38
39
  return (() => EventResponseHelper.appendUpdateSpecificData(commonData, it))();
39
40
  case types.EventType.delete:
40
41
  return (() => EventResponseHelper.appendDeleteSpecificData(commonData, it))();
42
+ case types.EventType.truncate:
43
+ return (() => ({ ...commonData, tableName: null, primaryKey: null }))();
41
44
  }
42
45
  assertNever.assertNever();
43
46
  });
@@ -50,6 +53,8 @@ class EventResponseBuilder {
50
53
  return `Updating ${event.tableName}#${event.rowId.join(";")}`;
51
54
  case types.EventType.delete:
52
55
  return `Deleting ${event.tableName}#${event.rowId.join(";")}`;
56
+ case types.EventType.truncate:
57
+ return "Truncating content";
53
58
  default:
54
59
  return assertNever.assertNever();
55
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EventResponseBuilder.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseBuilder.ts"],"sourcesContent":["import { ContentEvent, EventType } from './types'\nimport { CreateEvent, DeleteEvent, EventType as ApiEventType, UpdateEvent } from '../../schema'\nimport { assertNever } from '../../utils'\nimport { IdentityFetcher } from '../dependencies'\nimport { formatIdentity } from './identityUtils'\nimport { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper'\n\nexport class EventResponseBuilder {\n\tconstructor(private readonly identityFetcher: IdentityFetcher) {}\n\n\tpublic async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | UpdateEvent)[]> {\n\t\tconst apiEventTypeMapping = {\n\t\t\t[EventType.create]: ApiEventType.Create,\n\t\t\t[EventType.update]: ApiEventType.Update,\n\t\t\t[EventType.delete]: ApiEventType.Delete,\n\t\t}\n\t\tconst identityIds = events.map(it => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index)\n\t\tconst identities = await this.identityFetcher.fetchIdentities(identityIds)\n\t\tconst identitiesMap = Object.fromEntries(identities.map(it => [it.identityId, it]))\n\n\t\treturn events.map(it => {\n\t\t\tconst commonData = {\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tappliedAt: it.appliedAt,\n\t\t\t\tid: it.id,\n\t\t\t\ttype: apiEventTypeMapping[it.type],\n\t\t\t\tdescription: this.formatDescription(it),\n\t\t\t\ttransactionId: it.transactionId,\n\t\t\t\tidentityId: it.identityId,\n\t\t\t\tidentityDescription: formatIdentity(identitiesMap[it.identityId]),\n\t\t\t}\n\t\t\tswitch (it.type) {\n\t\t\t\tcase EventType.create:\n\t\t\t\t\treturn ((): CreateEvent => appendCreateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.update:\n\t\t\t\t\treturn ((): UpdateEvent => appendUpdateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.delete:\n\t\t\t\t\treturn ((): DeleteEvent => appendDeleteSpecificData(commonData, it))()\n\t\t\t}\n\t\t\tassertNever(it)\n\t\t})\n\t}\n\n\tprivate formatDescription(event: ContentEvent): string {\n\t\tswitch (event.type) {\n\t\t\tcase EventType.create:\n\t\t\t\treturn `Creating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.update:\n\t\t\t\treturn `Updating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.delete:\n\t\t\t\treturn `Deleting ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tdefault:\n\t\t\t\treturn assertNever(event)\n\t\t}\n\t}\n}\n"],"names":["EventType","ApiEventType","formatIdentity","appendCreateSpecificData","appendUpdateSpecificData","appendDeleteSpecificData","assertNever"],"mappings":";;;;;;;;;AAOO,MAAM,qBAAqB;AAAA,EACjC,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAa,cAAc,QAA8E;AACxG,UAAM,sBAAsB;AAAA,MAC3B,CAACA,MAAAA,UAAU,MAAM,GAAGC,QAAAA,UAAa;AAAA,MACjC,CAACD,MAAAA,UAAU,MAAM,GAAGC,QAAAA,UAAa;AAAA,MACjC,CAACD,MAAAA,UAAU,MAAM,GAAGC,kBAAa;AAAA,IAAA;AAElC,UAAM,cAAc,OAAO,IAAI,CAAA,OAAM,GAAG,UAAU,EAAE,OAAO,CAAC,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE,MAAM,KAAK;AACxG,UAAM,aAAa,MAAM,KAAK,gBAAgB,gBAAgB,WAAW;AACzE,UAAM,gBAAgB,OAAO,YAAY,WAAW,IAAI,CAAA,OAAM,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;AAElF,WAAO,OAAO,IAAI,CAAA,OAAM;AACvB,YAAM,aAAa;AAAA,QAClB,WAAW,GAAG;AAAA,QACd,WAAW,GAAG;AAAA,QACd,IAAI,GAAG;AAAA,QACP,MAAM,oBAAoB,GAAG,IAAI;AAAA,QACjC,aAAa,KAAK,kBAAkB,EAAE;AAAA,QACtC,eAAe,GAAG;AAAA,QAClB,YAAY,GAAG;AAAA,QACf,qBAAqBC,cAAAA,eAAe,cAAc,GAAG,UAAU,CAAC;AAAA,MAAA;AAEjE,cAAQ,GAAG,MAAA;AAAA,QACV,KAAKF,MAAAA,UAAU;AACd,kBAAQ,MAAmBG,oBAAAA,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAKH,MAAAA,UAAU;AACd,kBAAQ,MAAmBI,oBAAAA,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAKJ,MAAAA,UAAU;AACd,kBAAQ,MAAmBK,oBAAAA,yBAAyB,YAAY,EAAE,GAAA;AAAA,MAAG;AAEvEC,kBAAAA,YAAc;AAAA,IACf,CAAC;AAAA,EACF;AAAA,EAEQ,kBAAkB,OAA6B;AACtD,YAAQ,MAAM,MAAA;AAAA,MACb,KAAKN,MAAAA,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAKA,MAAAA,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAKA,MAAAA,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D;AACC,eAAOM,YAAAA,YAAiB;AAAA,IAAA;AAAA,EAE3B;AACD;;"}
1
+ {"version":3,"file":"EventResponseBuilder.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseBuilder.ts"],"sourcesContent":["import { ContentEvent, EventType } from './types.js'\nimport { CreateEvent, DeleteEvent, EventType as ApiEventType, TruncateEvent, UpdateEvent } from '../../schema/index.js'\nimport { assertNever } from '../../utils/index.js'\nimport { IdentityFetcher } from '../dependencies/index.js'\nimport { formatIdentity } from './identityUtils.js'\nimport { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper.js'\n\nexport class EventResponseBuilder {\n\tconstructor(private readonly identityFetcher: IdentityFetcher) {}\n\n\tpublic async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | TruncateEvent | UpdateEvent)[]> {\n\t\tconst apiEventTypeMapping = {\n\t\t\t[EventType.create]: ApiEventType.Create,\n\t\t\t[EventType.update]: ApiEventType.Update,\n\t\t\t[EventType.delete]: ApiEventType.Delete,\n\t\t\t[EventType.truncate]: ApiEventType.Truncate,\n\t\t}\n\t\tconst identityIds = events.map(it => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index)\n\t\tconst identities = await this.identityFetcher.fetchIdentities(identityIds)\n\t\tconst identitiesMap = Object.fromEntries(identities.map(it => [it.identityId, it]))\n\n\t\treturn events.map(it => {\n\t\t\tconst commonData = {\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tappliedAt: it.appliedAt,\n\t\t\t\tid: it.id,\n\t\t\t\ttype: apiEventTypeMapping[it.type],\n\t\t\t\tdescription: this.formatDescription(it),\n\t\t\t\ttransactionId: it.transactionId,\n\t\t\t\tidentityId: it.identityId,\n\t\t\t\tidentityDescription: formatIdentity(identitiesMap[it.identityId]),\n\t\t\t}\n\t\t\tswitch (it.type) {\n\t\t\t\tcase EventType.create:\n\t\t\t\t\treturn ((): CreateEvent => appendCreateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.update:\n\t\t\t\t\treturn ((): UpdateEvent => appendUpdateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.delete:\n\t\t\t\t\treturn ((): DeleteEvent => appendDeleteSpecificData(commonData, it))()\n\t\t\t\tcase EventType.truncate:\n\t\t\t\t\treturn ((): TruncateEvent => ({ ...commonData, tableName: null, primaryKey: null }))()\n\t\t\t}\n\t\t\tassertNever(it)\n\t\t})\n\t}\n\n\tprivate formatDescription(event: ContentEvent): string {\n\t\tswitch (event.type) {\n\t\t\tcase EventType.create:\n\t\t\t\treturn `Creating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.update:\n\t\t\t\treturn `Updating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.delete:\n\t\t\t\treturn `Deleting ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.truncate:\n\t\t\t\treturn 'Truncating content'\n\t\t\tdefault:\n\t\t\t\treturn assertNever(event)\n\t\t}\n\t}\n}\n"],"names":["EventType","ApiEventType","formatIdentity","appendCreateSpecificData","appendUpdateSpecificData","appendDeleteSpecificData","assertNever"],"mappings":";;;;;;;;;AAOO,MAAM,qBAAqB;AAAA,EACjC,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAa,cAAc,QAA8F;AACxH,UAAM,sBAAsB;AAAA,MAC3B,CAACA,MAAAA,UAAU,MAAM,GAAGC,QAAAA,UAAa;AAAA,MACjC,CAACD,MAAAA,UAAU,MAAM,GAAGC,QAAAA,UAAa;AAAA,MACjC,CAACD,MAAAA,UAAU,MAAM,GAAGC,QAAAA,UAAa;AAAA,MACjC,CAACD,MAAAA,UAAU,QAAQ,GAAGC,kBAAa;AAAA,IAAA;AAEpC,UAAM,cAAc,OAAO,IAAI,CAAA,OAAM,GAAG,UAAU,EAAE,OAAO,CAAC,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE,MAAM,KAAK;AACxG,UAAM,aAAa,MAAM,KAAK,gBAAgB,gBAAgB,WAAW;AACzE,UAAM,gBAAgB,OAAO,YAAY,WAAW,IAAI,CAAA,OAAM,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;AAElF,WAAO,OAAO,IAAI,CAAA,OAAM;AACvB,YAAM,aAAa;AAAA,QAClB,WAAW,GAAG;AAAA,QACd,WAAW,GAAG;AAAA,QACd,IAAI,GAAG;AAAA,QACP,MAAM,oBAAoB,GAAG,IAAI;AAAA,QACjC,aAAa,KAAK,kBAAkB,EAAE;AAAA,QACtC,eAAe,GAAG;AAAA,QAClB,YAAY,GAAG;AAAA,QACf,qBAAqBC,cAAAA,eAAe,cAAc,GAAG,UAAU,CAAC;AAAA,MAAA;AAEjE,cAAQ,GAAG,MAAA;AAAA,QACV,KAAKF,MAAAA,UAAU;AACd,kBAAQ,MAAmBG,oBAAAA,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAKH,MAAAA,UAAU;AACd,kBAAQ,MAAmBI,oBAAAA,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAKJ,MAAAA,UAAU;AACd,kBAAQ,MAAmBK,oBAAAA,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAKL,MAAAA,UAAU;AACd,kBAAQ,OAAsB,EAAE,GAAG,YAAY,WAAW,MAAM,YAAY,SAAK;AAAA,MAAI;AAEvFM,kBAAAA,YAAc;AAAA,IACf,CAAC;AAAA,EACF;AAAA,EAEQ,kBAAkB,OAA6B;AACtD,YAAQ,MAAM,MAAA;AAAA,MACb,KAAKN,MAAAA,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAKA,MAAAA,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAKA,MAAAA,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAKA,MAAAA,UAAU;AACd,eAAO;AAAA,MACR;AACC,eAAOM,YAAAA,YAAiB;AAAA,IAAA;AAAA,EAE3B;AACD;;"}
@@ -13,7 +13,8 @@ class EventResponseBuilder {
13
13
  const apiEventTypeMapping = {
14
14
  [EventType.create]: EventType$1.Create,
15
15
  [EventType.update]: EventType$1.Update,
16
- [EventType.delete]: EventType$1.Delete
16
+ [EventType.delete]: EventType$1.Delete,
17
+ [EventType.truncate]: EventType$1.Truncate
17
18
  };
18
19
  const identityIds = events.map((it) => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index);
19
20
  const identities = await this.identityFetcher.fetchIdentities(identityIds);
@@ -36,6 +37,8 @@ class EventResponseBuilder {
36
37
  return (() => appendUpdateSpecificData(commonData, it))();
37
38
  case EventType.delete:
38
39
  return (() => appendDeleteSpecificData(commonData, it))();
40
+ case EventType.truncate:
41
+ return (() => ({ ...commonData, tableName: null, primaryKey: null }))();
39
42
  }
40
43
  assertNever();
41
44
  });
@@ -48,6 +51,8 @@ class EventResponseBuilder {
48
51
  return `Updating ${event.tableName}#${event.rowId.join(";")}`;
49
52
  case EventType.delete:
50
53
  return `Deleting ${event.tableName}#${event.rowId.join(";")}`;
54
+ case EventType.truncate:
55
+ return "Truncating content";
51
56
  default:
52
57
  return assertNever();
53
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EventResponseBuilder.js","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseBuilder.ts"],"sourcesContent":["import { ContentEvent, EventType } from './types'\nimport { CreateEvent, DeleteEvent, EventType as ApiEventType, UpdateEvent } from '../../schema'\nimport { assertNever } from '../../utils'\nimport { IdentityFetcher } from '../dependencies'\nimport { formatIdentity } from './identityUtils'\nimport { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper'\n\nexport class EventResponseBuilder {\n\tconstructor(private readonly identityFetcher: IdentityFetcher) {}\n\n\tpublic async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | UpdateEvent)[]> {\n\t\tconst apiEventTypeMapping = {\n\t\t\t[EventType.create]: ApiEventType.Create,\n\t\t\t[EventType.update]: ApiEventType.Update,\n\t\t\t[EventType.delete]: ApiEventType.Delete,\n\t\t}\n\t\tconst identityIds = events.map(it => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index)\n\t\tconst identities = await this.identityFetcher.fetchIdentities(identityIds)\n\t\tconst identitiesMap = Object.fromEntries(identities.map(it => [it.identityId, it]))\n\n\t\treturn events.map(it => {\n\t\t\tconst commonData = {\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tappliedAt: it.appliedAt,\n\t\t\t\tid: it.id,\n\t\t\t\ttype: apiEventTypeMapping[it.type],\n\t\t\t\tdescription: this.formatDescription(it),\n\t\t\t\ttransactionId: it.transactionId,\n\t\t\t\tidentityId: it.identityId,\n\t\t\t\tidentityDescription: formatIdentity(identitiesMap[it.identityId]),\n\t\t\t}\n\t\t\tswitch (it.type) {\n\t\t\t\tcase EventType.create:\n\t\t\t\t\treturn ((): CreateEvent => appendCreateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.update:\n\t\t\t\t\treturn ((): UpdateEvent => appendUpdateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.delete:\n\t\t\t\t\treturn ((): DeleteEvent => appendDeleteSpecificData(commonData, it))()\n\t\t\t}\n\t\t\tassertNever(it)\n\t\t})\n\t}\n\n\tprivate formatDescription(event: ContentEvent): string {\n\t\tswitch (event.type) {\n\t\t\tcase EventType.create:\n\t\t\t\treturn `Creating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.update:\n\t\t\t\treturn `Updating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.delete:\n\t\t\t\treturn `Deleting ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tdefault:\n\t\t\t\treturn assertNever(event)\n\t\t}\n\t}\n}\n"],"names":["ApiEventType"],"mappings":";;;;;;;AAOO,MAAM,qBAAqB;AAAA,EACjC,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAa,cAAc,QAA8E;AACxG,UAAM,sBAAsB;AAAA,MAC3B,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,MACjC,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,MACjC,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,IAAA;AAElC,UAAM,cAAc,OAAO,IAAI,CAAA,OAAM,GAAG,UAAU,EAAE,OAAO,CAAC,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE,MAAM,KAAK;AACxG,UAAM,aAAa,MAAM,KAAK,gBAAgB,gBAAgB,WAAW;AACzE,UAAM,gBAAgB,OAAO,YAAY,WAAW,IAAI,CAAA,OAAM,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;AAElF,WAAO,OAAO,IAAI,CAAA,OAAM;AACvB,YAAM,aAAa;AAAA,QAClB,WAAW,GAAG;AAAA,QACd,WAAW,GAAG;AAAA,QACd,IAAI,GAAG;AAAA,QACP,MAAM,oBAAoB,GAAG,IAAI;AAAA,QACjC,aAAa,KAAK,kBAAkB,EAAE;AAAA,QACtC,eAAe,GAAG;AAAA,QAClB,YAAY,GAAG;AAAA,QACf,qBAAqB,eAAe,cAAc,GAAG,UAAU,CAAC;AAAA,MAAA;AAEjE,cAAQ,GAAG,MAAA;AAAA,QACV,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAA;AAAA,MAAG;AAEvE,kBAAc;AAAA,IACf,CAAC;AAAA,EACF;AAAA,EAEQ,kBAAkB,OAA6B;AACtD,YAAQ,MAAM,MAAA;AAAA,MACb,KAAK,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAK,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAK,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D;AACC,eAAO,YAAiB;AAAA,IAAA;AAAA,EAE3B;AACD;"}
1
+ {"version":3,"file":"EventResponseBuilder.js","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseBuilder.ts"],"sourcesContent":["import { ContentEvent, EventType } from './types.js'\nimport { CreateEvent, DeleteEvent, EventType as ApiEventType, TruncateEvent, UpdateEvent } from '../../schema/index.js'\nimport { assertNever } from '../../utils/index.js'\nimport { IdentityFetcher } from '../dependencies/index.js'\nimport { formatIdentity } from './identityUtils.js'\nimport { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper.js'\n\nexport class EventResponseBuilder {\n\tconstructor(private readonly identityFetcher: IdentityFetcher) {}\n\n\tpublic async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | TruncateEvent | UpdateEvent)[]> {\n\t\tconst apiEventTypeMapping = {\n\t\t\t[EventType.create]: ApiEventType.Create,\n\t\t\t[EventType.update]: ApiEventType.Update,\n\t\t\t[EventType.delete]: ApiEventType.Delete,\n\t\t\t[EventType.truncate]: ApiEventType.Truncate,\n\t\t}\n\t\tconst identityIds = events.map(it => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index)\n\t\tconst identities = await this.identityFetcher.fetchIdentities(identityIds)\n\t\tconst identitiesMap = Object.fromEntries(identities.map(it => [it.identityId, it]))\n\n\t\treturn events.map(it => {\n\t\t\tconst commonData = {\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tappliedAt: it.appliedAt,\n\t\t\t\tid: it.id,\n\t\t\t\ttype: apiEventTypeMapping[it.type],\n\t\t\t\tdescription: this.formatDescription(it),\n\t\t\t\ttransactionId: it.transactionId,\n\t\t\t\tidentityId: it.identityId,\n\t\t\t\tidentityDescription: formatIdentity(identitiesMap[it.identityId]),\n\t\t\t}\n\t\t\tswitch (it.type) {\n\t\t\t\tcase EventType.create:\n\t\t\t\t\treturn ((): CreateEvent => appendCreateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.update:\n\t\t\t\t\treturn ((): UpdateEvent => appendUpdateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.delete:\n\t\t\t\t\treturn ((): DeleteEvent => appendDeleteSpecificData(commonData, it))()\n\t\t\t\tcase EventType.truncate:\n\t\t\t\t\treturn ((): TruncateEvent => ({ ...commonData, tableName: null, primaryKey: null }))()\n\t\t\t}\n\t\t\tassertNever(it)\n\t\t})\n\t}\n\n\tprivate formatDescription(event: ContentEvent): string {\n\t\tswitch (event.type) {\n\t\t\tcase EventType.create:\n\t\t\t\treturn `Creating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.update:\n\t\t\t\treturn `Updating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.delete:\n\t\t\t\treturn `Deleting ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.truncate:\n\t\t\t\treturn 'Truncating content'\n\t\t\tdefault:\n\t\t\t\treturn assertNever(event)\n\t\t}\n\t}\n}\n"],"names":["ApiEventType"],"mappings":";;;;;;;AAOO,MAAM,qBAAqB;AAAA,EACjC,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAa,cAAc,QAA8F;AACxH,UAAM,sBAAsB;AAAA,MAC3B,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,MACjC,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,MACjC,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,MACjC,CAAC,UAAU,QAAQ,GAAGA,YAAa;AAAA,IAAA;AAEpC,UAAM,cAAc,OAAO,IAAI,CAAA,OAAM,GAAG,UAAU,EAAE,OAAO,CAAC,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE,MAAM,KAAK;AACxG,UAAM,aAAa,MAAM,KAAK,gBAAgB,gBAAgB,WAAW;AACzE,UAAM,gBAAgB,OAAO,YAAY,WAAW,IAAI,CAAA,OAAM,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;AAElF,WAAO,OAAO,IAAI,CAAA,OAAM;AACvB,YAAM,aAAa;AAAA,QAClB,WAAW,GAAG;AAAA,QACd,WAAW,GAAG;AAAA,QACd,IAAI,GAAG;AAAA,QACP,MAAM,oBAAoB,GAAG,IAAI;AAAA,QACjC,aAAa,KAAK,kBAAkB,EAAE;AAAA,QACtC,eAAe,GAAG;AAAA,QAClB,YAAY,GAAG;AAAA,QACf,qBAAqB,eAAe,cAAc,GAAG,UAAU,CAAC;AAAA,MAAA;AAEjE,cAAQ,GAAG,MAAA;AAAA,QACV,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAK,UAAU;AACd,kBAAQ,OAAsB,EAAE,GAAG,YAAY,WAAW,MAAM,YAAY,SAAK;AAAA,MAAI;AAEvF,kBAAc;AAAA,IACf,CAAC;AAAA,EACF;AAAA,EAEQ,kBAAkB,OAA6B;AACtD,YAAQ,MAAM,MAAA;AAAA,MACb,KAAK,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAK,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAK,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAK,UAAU;AACd,eAAO;AAAA,MACR;AACC,eAAO,YAAiB;AAAA,IAAA;AAAA,EAE3B;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventResponseHelper.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseHelper.ts"],"sourcesContent":["import { CreateEvent, DeleteEvent, UpdateEvent } from './types'\n\nexport const appendUpdateSpecificData = <T>(commonData: T, event: UpdateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tdiffValues: event.values,\n\toldValues: {},\n})\n\nexport const appendCreateSpecificData = <T>(commonData: T, event: CreateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tnewValues: event.values,\n})\n\nexport const appendDeleteSpecificData = <T>(commonData: T, event: DeleteEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\toldValues: {},\n})\n"],"names":[],"mappings":";;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,MAAM;AAClB;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;;;;"}
1
+ {"version":3,"file":"EventResponseHelper.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseHelper.ts"],"sourcesContent":["import { CreateEvent, DeleteEvent, UpdateEvent } from './types.js'\n\nexport const appendUpdateSpecificData = <T>(commonData: T, event: UpdateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tdiffValues: event.values,\n\toldValues: {},\n})\n\nexport const appendCreateSpecificData = <T>(commonData: T, event: CreateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tnewValues: event.values,\n})\n\nexport const appendDeleteSpecificData = <T>(commonData: T, event: DeleteEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\toldValues: {},\n})\n"],"names":[],"mappings":";;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,MAAM;AAClB;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventResponseHelper.js","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseHelper.ts"],"sourcesContent":["import { CreateEvent, DeleteEvent, UpdateEvent } from './types'\n\nexport const appendUpdateSpecificData = <T>(commonData: T, event: UpdateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tdiffValues: event.values,\n\toldValues: {},\n})\n\nexport const appendCreateSpecificData = <T>(commonData: T, event: CreateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tnewValues: event.values,\n})\n\nexport const appendDeleteSpecificData = <T>(commonData: T, event: DeleteEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\toldValues: {},\n})\n"],"names":[],"mappings":"AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,MAAM;AAClB;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;"}
1
+ {"version":3,"file":"EventResponseHelper.js","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseHelper.ts"],"sourcesContent":["import { CreateEvent, DeleteEvent, UpdateEvent } from './types.js'\n\nexport const appendUpdateSpecificData = <T>(commonData: T, event: UpdateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tdiffValues: event.values,\n\toldValues: {},\n})\n\nexport const appendCreateSpecificData = <T>(commonData: T, event: CreateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tnewValues: event.values,\n})\n\nexport const appendDeleteSpecificData = <T>(commonData: T, event: DeleteEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\toldValues: {},\n})\n"],"names":[],"mappings":"AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,MAAM;AAClB;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"identityUtils.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/identityUtils.ts"],"sourcesContent":["import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher'\nimport { assertNever } from '../../utils'\n\nexport const formatIdentity = (identity: TenantIdentity): string => {\n\tif (!identity) {\n\t\treturn '(unknown)'\n\t}\n\tif (identity.type === 'person') {\n\t\treturn identity.person.name\n\t} else if (identity.type === 'apiKey') {\n\t\treturn `API key (${identity.description})`\n\t}\n\tassertNever(identity)\n}\n"],"names":["assertNever"],"mappings":";;;AAGO,MAAM,iBAAiB,CAAC,aAAqC;AACnE,MAAI,CAAC,UAAU;AACd,WAAO;AAAA,EACR;AACA,MAAI,SAAS,SAAS,UAAU;AAC/B,WAAO,SAAS,OAAO;AAAA,EACxB,WAAW,SAAS,SAAS,UAAU;AACtC,WAAO,YAAY,SAAS,WAAW;AAAA,EACxC;AACAA,cAAAA,YAAoB;AACrB;;"}
1
+ {"version":3,"file":"identityUtils.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/identityUtils.ts"],"sourcesContent":["import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher.js'\nimport { assertNever } from '../../utils/index.js'\n\nexport const formatIdentity = (identity: TenantIdentity): string => {\n\tif (!identity) {\n\t\treturn '(unknown)'\n\t}\n\tif (identity.type === 'person') {\n\t\treturn identity.person.name\n\t} else if (identity.type === 'apiKey') {\n\t\treturn `API key (${identity.description})`\n\t}\n\tassertNever(identity)\n}\n"],"names":["assertNever"],"mappings":";;;AAGO,MAAM,iBAAiB,CAAC,aAAqC;AACnE,MAAI,CAAC,UAAU;AACd,WAAO;AAAA,EACR;AACA,MAAI,SAAS,SAAS,UAAU;AAC/B,WAAO,SAAS,OAAO;AAAA,EACxB,WAAW,SAAS,SAAS,UAAU;AACtC,WAAO,YAAY,SAAS,WAAW;AAAA,EACxC;AACAA,cAAAA,YAAoB;AACrB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"identityUtils.js","sources":["../../../../../../packages/engine-system-api/src/model/events/identityUtils.ts"],"sourcesContent":["import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher'\nimport { assertNever } from '../../utils'\n\nexport const formatIdentity = (identity: TenantIdentity): string => {\n\tif (!identity) {\n\t\treturn '(unknown)'\n\t}\n\tif (identity.type === 'person') {\n\t\treturn identity.person.name\n\t} else if (identity.type === 'apiKey') {\n\t\treturn `API key (${identity.description})`\n\t}\n\tassertNever(identity)\n}\n"],"names":[],"mappings":";AAGO,MAAM,iBAAiB,CAAC,aAAqC;AACnE,MAAI,CAAC,UAAU;AACd,WAAO;AAAA,EACR;AACA,MAAI,SAAS,SAAS,UAAU;AAC/B,WAAO,SAAS,OAAO;AAAA,EACxB,WAAW,SAAS,SAAS,UAAU;AACtC,WAAO,YAAY,SAAS,WAAW;AAAA,EACxC;AACA,cAAoB;AACrB;"}
1
+ {"version":3,"file":"identityUtils.js","sources":["../../../../../../packages/engine-system-api/src/model/events/identityUtils.ts"],"sourcesContent":["import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher.js'\nimport { assertNever } from '../../utils/index.js'\n\nexport const formatIdentity = (identity: TenantIdentity): string => {\n\tif (!identity) {\n\t\treturn '(unknown)'\n\t}\n\tif (identity.type === 'person') {\n\t\treturn identity.person.name\n\t} else if (identity.type === 'apiKey') {\n\t\treturn `API key (${identity.description})`\n\t}\n\tassertNever(identity)\n}\n"],"names":[],"mappings":";AAGO,MAAM,iBAAiB,CAAC,aAAqC;AACnE,MAAI,CAAC,UAAU;AACd,WAAO;AAAA,EACR;AACA,MAAI,SAAS,SAAS,UAAU;AAC/B,WAAO,SAAS,OAAO;AAAA,EACxB,WAAW,SAAS,SAAS,UAAU;AACtC,WAAO,YAAY,SAAS,WAAW;AAAA,EACxC;AACA,cAAoB;AACrB;"}
@@ -7,6 +7,7 @@ var EventType = /* @__PURE__ */ ((EventType2) => {
7
7
  EventType2["delete"] = "delete";
8
8
  EventType2["update"] = "update";
9
9
  EventType2["create"] = "create";
10
+ EventType2["truncate"] = "truncate";
10
11
  return EventType2;
11
12
  })(EventType || {});
12
13
  class UpdateEvent {
@@ -62,8 +63,24 @@ class DeleteEvent {
62
63
  );
63
64
  }
64
65
  }
66
+ class TruncateEvent {
67
+ constructor(id, createdAt, appliedAt, identityId, transactionId) {
68
+ this.id = id;
69
+ this.createdAt = createdAt;
70
+ this.appliedAt = appliedAt;
71
+ this.identityId = identityId;
72
+ this.transactionId = transactionId;
73
+ __publicField(
74
+ this,
75
+ "type",
76
+ "truncate"
77
+ /* truncate */
78
+ );
79
+ }
80
+ }
65
81
  exports.CreateEvent = CreateEvent;
66
82
  exports.DeleteEvent = DeleteEvent;
67
83
  exports.EventType = EventType;
84
+ exports.TruncateEvent = TruncateEvent;
68
85
  exports.UpdateEvent = UpdateEvent;
69
86
  //# sourceMappingURL=types.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/types.ts"],"sourcesContent":["export enum EventType {\n\tdelete = 'delete',\n\tupdate = 'update',\n\tcreate = 'create',\n}\n\nexport type ContentEvent = UpdateEvent | CreateEvent | DeleteEvent\n\nexport interface Event {\n\treadonly type: EventType\n\treadonly id: string\n\treadonly createdAt: Date\n\treadonly transactionId: string\n\t// readonly errors?: string[]\n}\n\nexport class UpdateEvent implements Event {\n\tpublic readonly type = EventType.update\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t\tpublic readonly values: { [column: string]: any },\n\t) {\n\t}\n}\n\nexport class CreateEvent implements Event {\n\tpublic readonly type = EventType.create\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t\tpublic readonly values: { [column: string]: any },\n\t) {\n\t}\n}\n\nexport class DeleteEvent implements Event {\n\tpublic readonly type = EventType.delete\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t) {\n\t}\n}\n"],"names":["EventType"],"mappings":";;;;;AAAO,IAAK,8BAAAA,eAAL;AACNA,aAAA,QAAA,IAAS;AACTA,aAAA,QAAA,IAAS;AACTA,aAAA,QAAA,IAAS;AAHE,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAgBL,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACA,QACf;AARe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AACA,SAAA,SAAA;AAVjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAYvB;AACD;AAEO,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACA,QACf;AARe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AACA,SAAA,SAAA;AAVjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAYvB;AACD;AAEO,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACf;AAPe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AATjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAWvB;AACD;;;;;"}
1
+ {"version":3,"file":"types.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/types.ts"],"sourcesContent":["export enum EventType {\n\tdelete = 'delete',\n\tupdate = 'update',\n\tcreate = 'create',\n\ttruncate = 'truncate',\n}\n\nexport type ContentEvent = UpdateEvent | CreateEvent | DeleteEvent | TruncateEvent\n\nexport interface Event {\n\treadonly type: EventType\n\treadonly id: string\n\treadonly createdAt: Date\n\treadonly transactionId: string\n\t// readonly errors?: string[]\n}\n\nexport class UpdateEvent implements Event {\n\tpublic readonly type = EventType.update\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t\tpublic readonly values: { [column: string]: any },\n\t) {\n\t}\n}\n\nexport class CreateEvent implements Event {\n\tpublic readonly type = EventType.create\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t\tpublic readonly values: { [column: string]: any },\n\t) {\n\t}\n}\n\nexport class DeleteEvent implements Event {\n\tpublic readonly type = EventType.delete\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t\tpublic readonly rowId: string[],\n\t\tpublic readonly tableName: string,\n\t) {\n\t}\n}\n\nexport class TruncateEvent implements Event {\n\tpublic readonly type = EventType.truncate\n\n\tconstructor(\n\t\tpublic readonly id: string,\n\t\tpublic readonly createdAt: Date,\n\t\tpublic readonly appliedAt: Date,\n\t\tpublic readonly identityId: string,\n\t\tpublic readonly transactionId: string,\n\t) {\n\t}\n}\n"],"names":["EventType"],"mappings":";;;;;AAAO,IAAK,8BAAAA,eAAL;AACNA,aAAA,QAAA,IAAS;AACTA,aAAA,QAAA,IAAS;AACTA,aAAA,QAAA,IAAS;AACTA,aAAA,UAAA,IAAW;AAJA,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAiBL,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACA,QACf;AARe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AACA,SAAA,SAAA;AAVjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAYvB;AACD;AAEO,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACA,QACf;AARe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AACA,SAAA,SAAA;AAVjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAYvB;AACD;AAEO,MAAM,YAA6B;AAAA,EAGzC,YACiB,IACA,WACA,WACA,YACA,eACA,OACA,WACf;AAPe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AACA,SAAA,QAAA;AACA,SAAA,YAAA;AATjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EAWvB;AACD;AAEO,MAAM,cAA+B;AAAA,EAG3C,YACiB,IACA,WACA,WACA,YACA,eACf;AALe,SAAA,KAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AACA,SAAA,gBAAA;AAPjB;AAAA,MAAA;AAAA,MAAgB;AAAA,MAAO;AAAA;AAAA,IAAA;AAAA,EASvB;AACD;;;;;;"}