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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (627) 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 +1 -1
  93. package/dist/development/src/model/migrations/SchemaProvider.cjs.map +1 -1
  94. package/dist/development/src/model/migrations/SchemaProvider.js +1 -1
  95. package/dist/development/src/model/migrations/SchemaProvider.js.map +1 -1
  96. package/dist/development/src/model/queries/events/EventQueryHelpers.cjs +16 -8
  97. package/dist/development/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
  98. package/dist/development/src/model/queries/events/EventQueryHelpers.js +17 -9
  99. package/dist/development/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  100. package/dist/development/src/model/queries/events/EventsQuery.cjs.map +1 -1
  101. package/dist/development/src/model/queries/events/EventsQuery.js.map +1 -1
  102. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
  103. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  104. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
  105. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  106. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs.map +1 -1
  107. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -1
  108. package/dist/development/src/model/queries/schema/SchemaQuery.cjs +5 -1
  109. package/dist/development/src/model/queries/schema/SchemaQuery.cjs.map +1 -1
  110. package/dist/development/src/model/queries/schema/SchemaQuery.js +5 -1
  111. package/dist/development/src/model/queries/schema/SchemaQuery.js.map +1 -1
  112. package/dist/development/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  113. package/dist/development/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  114. package/dist/development/src/model/queries/stages/StageQueryFactory.cjs.map +1 -1
  115. package/dist/development/src/model/queries/stages/StageQueryFactory.js.map +1 -1
  116. package/dist/development/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  117. package/dist/development/src/model/queries/stages/StagesQuery.js.map +1 -1
  118. package/dist/development/src/model/stages/StageCreator.cjs.map +1 -1
  119. package/dist/development/src/model/stages/StageCreator.js.map +1 -1
  120. package/dist/development/src/resolvers/ResolverFactory.cjs +4 -1
  121. package/dist/development/src/resolvers/ResolverFactory.cjs.map +1 -1
  122. package/dist/development/src/resolvers/ResolverFactory.js +4 -1
  123. package/dist/development/src/resolvers/ResolverFactory.js.map +1 -1
  124. package/dist/development/src/resolvers/SystemResolverContext.cjs.map +1 -1
  125. package/dist/development/src/resolvers/SystemResolverContext.js.map +1 -1
  126. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs +49 -1
  127. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  128. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js +49 -1
  129. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  130. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  131. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  132. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs +1 -1
  133. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  134. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js +1 -1
  135. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  136. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  137. package/dist/development/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  138. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  139. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  140. package/dist/development/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -1
  141. package/dist/development/src/resolvers/query/SchemaQueryResolver.js.map +1 -1
  142. package/dist/development/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  143. package/dist/development/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  144. package/dist/development/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  145. package/dist/development/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  146. package/dist/development/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  147. package/dist/development/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  148. package/dist/development/src/schema/dev.graphql.cjs +1 -1
  149. package/dist/development/src/schema/dev.graphql.cjs.map +1 -1
  150. package/dist/development/src/schema/dev.graphql.js +1 -1
  151. package/dist/development/src/schema/dev.graphql.js.map +1 -1
  152. package/dist/development/src/schema/system.graphql.cjs +39 -3
  153. package/dist/development/src/schema/system.graphql.cjs.map +1 -1
  154. package/dist/development/src/schema/system.graphql.js +39 -3
  155. package/dist/development/src/schema/system.graphql.js.map +1 -1
  156. package/dist/development/src/schema/types.cjs +2 -0
  157. package/dist/development/src/schema/types.cjs.map +1 -1
  158. package/dist/development/src/schema/types.js +2 -0
  159. package/dist/development/src/schema/types.js.map +1 -1
  160. package/dist/development/src/utils/batchQuery.cjs.map +1 -1
  161. package/dist/development/src/utils/batchQuery.js.map +1 -1
  162. package/dist/production/src/SystemContainer.cjs.map +1 -1
  163. package/dist/production/src/SystemContainer.js.map +1 -1
  164. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
  165. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
  166. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
  167. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
  168. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
  169. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
  170. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
  171. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
  172. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
  173. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
  174. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
  175. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
  176. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
  177. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
  178. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
  179. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
  180. package/dist/production/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -1
  181. package/dist/production/src/migrations/2024-06-28-153001-schema-init.js.map +1 -1
  182. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.cjs.map +1 -1
  183. package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.js.map +1 -1
  184. package/dist/production/src/migrations/2026-06-01-120000-event-truncate.cjs +13 -0
  185. package/dist/production/src/migrations/2026-06-01-120000-event-truncate.cjs.map +1 -0
  186. package/dist/production/src/migrations/2026-06-01-120000-event-truncate.js +14 -0
  187. package/dist/production/src/migrations/2026-06-01-120000-event-truncate.js.map +1 -0
  188. package/dist/production/src/migrations/runner.cjs +3 -1
  189. package/dist/production/src/migrations/runner.cjs.map +1 -1
  190. package/dist/production/src/migrations/runner.js +3 -1
  191. package/dist/production/src/migrations/runner.js.map +1 -1
  192. package/dist/production/src/migrations/snapshot-factory.cjs.map +1 -1
  193. package/dist/production/src/migrations/snapshot-factory.js.map +1 -1
  194. package/dist/production/src/migrations/snapshot.cjs +5 -4
  195. package/dist/production/src/migrations/snapshot.cjs.map +1 -1
  196. package/dist/production/src/migrations/snapshot.js +5 -4
  197. package/dist/production/src/migrations/snapshot.js.map +1 -1
  198. package/dist/production/src/model/ProjectInitializer.cjs.map +1 -1
  199. package/dist/production/src/model/ProjectInitializer.js.map +1 -1
  200. package/dist/production/src/model/ProjectTruncateExecutor.cjs +3 -3
  201. package/dist/production/src/model/ProjectTruncateExecutor.cjs.map +1 -1
  202. package/dist/production/src/model/ProjectTruncateExecutor.js +3 -3
  203. package/dist/production/src/model/ProjectTruncateExecutor.js.map +1 -1
  204. package/dist/production/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  205. package/dist/production/src/model/authorization/PermissionsFactory.js.map +1 -1
  206. package/dist/production/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
  207. package/dist/production/src/model/authorization/StagePermissionsFactory.js.map +1 -1
  208. package/dist/production/src/model/authorization/StageScope.cjs.map +1 -1
  209. package/dist/production/src/model/authorization/StageScope.js.map +1 -1
  210. package/dist/production/src/model/commands/CommandBus.cjs.map +1 -1
  211. package/dist/production/src/model/commands/CommandBus.js.map +1 -1
  212. package/dist/production/src/model/commands/events/TruncateEventsCommand.cjs +25 -2
  213. package/dist/production/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
  214. package/dist/production/src/model/commands/events/TruncateEventsCommand.js +26 -3
  215. package/dist/production/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
  216. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
  217. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
  218. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
  219. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
  220. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
  221. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
  222. package/dist/production/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -1
  223. package/dist/production/src/model/commands/schema/SaveSchemaCommand.js.map +1 -1
  224. package/dist/production/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
  225. package/dist/production/src/model/commands/stages/CreateStageCommand.js.map +1 -1
  226. package/dist/production/src/model/database/DatabaseContext.cjs.map +1 -1
  227. package/dist/production/src/model/database/DatabaseContext.js.map +1 -1
  228. package/dist/production/src/model/events/EventResponseBuilder.cjs +6 -1
  229. package/dist/production/src/model/events/EventResponseBuilder.cjs.map +1 -1
  230. package/dist/production/src/model/events/EventResponseBuilder.js +6 -1
  231. package/dist/production/src/model/events/EventResponseBuilder.js.map +1 -1
  232. package/dist/production/src/model/events/EventResponseHelper.cjs.map +1 -1
  233. package/dist/production/src/model/events/EventResponseHelper.js.map +1 -1
  234. package/dist/production/src/model/events/identityUtils.cjs.map +1 -1
  235. package/dist/production/src/model/events/identityUtils.js.map +1 -1
  236. package/dist/production/src/model/events/types.cjs +17 -0
  237. package/dist/production/src/model/events/types.cjs.map +1 -1
  238. package/dist/production/src/model/events/types.js +17 -0
  239. package/dist/production/src/model/events/types.js.map +1 -1
  240. package/dist/production/src/model/helpers/stageHelpers.cjs.map +1 -1
  241. package/dist/production/src/model/helpers/stageHelpers.js.map +1 -1
  242. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
  243. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
  244. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
  245. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
  246. package/dist/production/src/model/migrations/MigrationAlterer.cjs.map +1 -1
  247. package/dist/production/src/model/migrations/MigrationAlterer.js.map +1 -1
  248. package/dist/production/src/model/migrations/ProjectMigrator.cjs +94 -5
  249. package/dist/production/src/model/migrations/ProjectMigrator.cjs.map +1 -1
  250. package/dist/production/src/model/migrations/ProjectMigrator.js +96 -7
  251. package/dist/production/src/model/migrations/ProjectMigrator.js.map +1 -1
  252. package/dist/production/src/model/migrations/SchemaProvider.cjs +1 -1
  253. package/dist/production/src/model/migrations/SchemaProvider.cjs.map +1 -1
  254. package/dist/production/src/model/migrations/SchemaProvider.js +1 -1
  255. package/dist/production/src/model/migrations/SchemaProvider.js.map +1 -1
  256. package/dist/production/src/model/queries/events/EventQueryHelpers.cjs +16 -8
  257. package/dist/production/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
  258. package/dist/production/src/model/queries/events/EventQueryHelpers.js +17 -9
  259. package/dist/production/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  260. package/dist/production/src/model/queries/events/EventsQuery.cjs.map +1 -1
  261. package/dist/production/src/model/queries/events/EventsQuery.js.map +1 -1
  262. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
  263. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  264. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
  265. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  266. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs.map +1 -1
  267. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -1
  268. package/dist/production/src/model/queries/schema/SchemaQuery.cjs +5 -1
  269. package/dist/production/src/model/queries/schema/SchemaQuery.cjs.map +1 -1
  270. package/dist/production/src/model/queries/schema/SchemaQuery.js +5 -1
  271. package/dist/production/src/model/queries/schema/SchemaQuery.js.map +1 -1
  272. package/dist/production/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  273. package/dist/production/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  274. package/dist/production/src/model/queries/stages/StageQueryFactory.cjs.map +1 -1
  275. package/dist/production/src/model/queries/stages/StageQueryFactory.js.map +1 -1
  276. package/dist/production/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  277. package/dist/production/src/model/queries/stages/StagesQuery.js.map +1 -1
  278. package/dist/production/src/model/stages/StageCreator.cjs.map +1 -1
  279. package/dist/production/src/model/stages/StageCreator.js.map +1 -1
  280. package/dist/production/src/resolvers/ResolverFactory.cjs +4 -1
  281. package/dist/production/src/resolvers/ResolverFactory.cjs.map +1 -1
  282. package/dist/production/src/resolvers/ResolverFactory.js +4 -1
  283. package/dist/production/src/resolvers/ResolverFactory.js.map +1 -1
  284. package/dist/production/src/resolvers/SystemResolverContext.cjs.map +1 -1
  285. package/dist/production/src/resolvers/SystemResolverContext.js.map +1 -1
  286. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs +49 -1
  287. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  288. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js +49 -1
  289. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  290. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  291. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  292. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs +1 -1
  293. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  294. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js +1 -1
  295. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  296. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  297. package/dist/production/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  298. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  299. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  300. package/dist/production/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -1
  301. package/dist/production/src/resolvers/query/SchemaQueryResolver.js.map +1 -1
  302. package/dist/production/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  303. package/dist/production/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  304. package/dist/production/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  305. package/dist/production/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  306. package/dist/production/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  307. package/dist/production/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  308. package/dist/production/src/schema/dev.graphql.cjs +1 -1
  309. package/dist/production/src/schema/dev.graphql.cjs.map +1 -1
  310. package/dist/production/src/schema/dev.graphql.js +1 -1
  311. package/dist/production/src/schema/dev.graphql.js.map +1 -1
  312. package/dist/production/src/schema/system.graphql.cjs +39 -3
  313. package/dist/production/src/schema/system.graphql.cjs.map +1 -1
  314. package/dist/production/src/schema/system.graphql.js +39 -3
  315. package/dist/production/src/schema/system.graphql.js.map +1 -1
  316. package/dist/production/src/schema/types.cjs +2 -0
  317. package/dist/production/src/schema/types.cjs.map +1 -1
  318. package/dist/production/src/schema/types.js +2 -0
  319. package/dist/production/src/schema/types.js.map +1 -1
  320. package/dist/production/src/utils/batchQuery.cjs.map +1 -1
  321. package/dist/production/src/utils/batchQuery.js.map +1 -1
  322. package/dist/tests/cases/unit/projectMigratorSchemaState.test.d.ts +2 -0
  323. package/dist/tests/cases/unit/projectMigratorSchemaState.test.d.ts.map +1 -0
  324. package/dist/tests/cases/unit/truncateEventsCommand.test.d.ts +2 -0
  325. package/dist/tests/cases/unit/truncateEventsCommand.test.d.ts.map +1 -0
  326. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  327. package/dist/types/SystemContainer.d.ts +6 -6
  328. package/dist/types/SystemContainer.d.ts.map +1 -1
  329. package/dist/types/index.d.ts +7 -7
  330. package/dist/types/index.d.ts.map +1 -1
  331. package/dist/types/migrations/2020-03-27-130000-project-migrations.d.ts +1 -1
  332. package/dist/types/migrations/2020-03-27-130000-project-migrations.d.ts.map +1 -1
  333. package/dist/types/migrations/2020-05-06-150000-composed-primary.d.ts +1 -1
  334. package/dist/types/migrations/2020-05-06-150000-composed-primary.d.ts.map +1 -1
  335. package/dist/types/migrations/2020-06-01-103000-event-trigger-perf.d.ts +1 -1
  336. package/dist/types/migrations/2020-06-01-103000-event-trigger-perf.d.ts.map +1 -1
  337. package/dist/types/migrations/2021-05-07-155800-event-log-rework.d.ts +1 -1
  338. package/dist/types/migrations/2021-05-07-155800-event-log-rework.d.ts.map +1 -1
  339. package/dist/types/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts +1 -1
  340. package/dist/types/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts.map +1 -1
  341. package/dist/types/migrations/2022-10-03-110000-table-on-delete.d.ts +1 -1
  342. package/dist/types/migrations/2022-10-03-110000-table-on-delete.d.ts.map +1 -1
  343. package/dist/types/migrations/2023-09-11-174000-fix-on-delete.d.ts +1 -1
  344. package/dist/types/migrations/2023-09-11-174000-fix-on-delete.d.ts.map +1 -1
  345. package/dist/types/migrations/2023-10-19-173000-fix-unique.d.ts +1 -1
  346. package/dist/types/migrations/2023-10-19-173000-fix-unique.d.ts.map +1 -1
  347. package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts +1 -1
  348. package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts.map +1 -1
  349. package/dist/types/migrations/2025-03-14-110000-fix-missing-index.d.ts +1 -1
  350. package/dist/types/migrations/2025-03-14-110000-fix-missing-index.d.ts.map +1 -1
  351. package/dist/types/migrations/2026-06-01-120000-event-truncate.d.ts +3 -0
  352. package/dist/types/migrations/2026-06-01-120000-event-truncate.d.ts.map +1 -0
  353. package/dist/types/migrations/index.d.ts +2 -2
  354. package/dist/types/migrations/index.d.ts.map +1 -1
  355. package/dist/types/migrations/runner.d.ts +2 -2
  356. package/dist/types/migrations/runner.d.ts.map +1 -1
  357. package/dist/types/migrations/snapshot-factory.d.ts +1 -1
  358. package/dist/types/migrations/snapshot-factory.d.ts.map +1 -1
  359. package/dist/types/migrations/snapshot.d.ts +1 -1
  360. package/dist/types/migrations/snapshot.d.ts.map +1 -1
  361. package/dist/types/migrations/types.d.ts +2 -2
  362. package/dist/types/migrations/types.d.ts.map +1 -1
  363. package/dist/types/model/ProjectInitializer.d.ts +4 -4
  364. package/dist/types/model/ProjectInitializer.d.ts.map +1 -1
  365. package/dist/types/model/ProjectTruncateExecutor.d.ts +3 -3
  366. package/dist/types/model/ProjectTruncateExecutor.d.ts.map +1 -1
  367. package/dist/types/model/authorization/StagePermissionsFactory.d.ts +1 -1
  368. package/dist/types/model/authorization/StagePermissionsFactory.d.ts.map +1 -1
  369. package/dist/types/model/authorization/StageScope.d.ts +2 -2
  370. package/dist/types/model/authorization/StageScope.d.ts.map +1 -1
  371. package/dist/types/model/authorization/index.d.ts +3 -3
  372. package/dist/types/model/authorization/index.d.ts.map +1 -1
  373. package/dist/types/model/commands/Command.d.ts +2 -2
  374. package/dist/types/model/commands/Command.d.ts.map +1 -1
  375. package/dist/types/model/commands/CommandBus.d.ts +2 -2
  376. package/dist/types/model/commands/CommandBus.d.ts.map +1 -1
  377. package/dist/types/model/commands/events/TruncateEventsCommand.d.ts +12 -3
  378. package/dist/types/model/commands/events/TruncateEventsCommand.d.ts.map +1 -1
  379. package/dist/types/model/commands/events/index.d.ts +1 -1
  380. package/dist/types/model/commands/events/index.d.ts.map +1 -1
  381. package/dist/types/model/commands/index.d.ts +5 -5
  382. package/dist/types/model/commands/index.d.ts.map +1 -1
  383. package/dist/types/model/commands/migrations/DeleteMigrationCommand.d.ts +1 -1
  384. package/dist/types/model/commands/migrations/DeleteMigrationCommand.d.ts.map +1 -1
  385. package/dist/types/model/commands/migrations/ModifyMigrationCommand.d.ts +1 -1
  386. package/dist/types/model/commands/migrations/ModifyMigrationCommand.d.ts.map +1 -1
  387. package/dist/types/model/commands/migrations/SaveMigrationCommand.d.ts +2 -2
  388. package/dist/types/model/commands/migrations/SaveMigrationCommand.d.ts.map +1 -1
  389. package/dist/types/model/commands/migrations/index.d.ts +2 -2
  390. package/dist/types/model/commands/migrations/index.d.ts.map +1 -1
  391. package/dist/types/model/commands/schema/SaveSchemaCommand.d.ts +2 -2
  392. package/dist/types/model/commands/schema/SaveSchemaCommand.d.ts.map +1 -1
  393. package/dist/types/model/commands/stages/CreateStageCommand.d.ts +2 -2
  394. package/dist/types/model/commands/stages/CreateStageCommand.d.ts.map +1 -1
  395. package/dist/types/model/commands/stages/TruncateStagesCommand.d.ts +1 -1
  396. package/dist/types/model/commands/stages/TruncateStagesCommand.d.ts.map +1 -1
  397. package/dist/types/model/commands/stages/index.d.ts +2 -2
  398. package/dist/types/model/commands/stages/index.d.ts.map +1 -1
  399. package/dist/types/model/database/DatabaseContext.d.ts +2 -2
  400. package/dist/types/model/database/DatabaseContext.d.ts.map +1 -1
  401. package/dist/types/model/database/index.d.ts +1 -1
  402. package/dist/types/model/database/index.d.ts.map +1 -1
  403. package/dist/types/model/dependencies/content/ContentQueryExecutor.d.ts +2 -2
  404. package/dist/types/model/dependencies/content/ContentQueryExecutor.d.ts.map +1 -1
  405. package/dist/types/model/dependencies/index.d.ts +2 -2
  406. package/dist/types/model/dependencies/index.d.ts.map +1 -1
  407. package/dist/types/model/dependencies/tenant/index.d.ts +1 -1
  408. package/dist/types/model/dependencies/tenant/index.d.ts.map +1 -1
  409. package/dist/types/model/dtos/index.d.ts +2 -2
  410. package/dist/types/model/dtos/index.d.ts.map +1 -1
  411. package/dist/types/model/events/EventResponseBuilder.d.ts +4 -4
  412. package/dist/types/model/events/EventResponseBuilder.d.ts.map +1 -1
  413. package/dist/types/model/events/EventResponseHelper.d.ts +1 -1
  414. package/dist/types/model/events/EventResponseHelper.d.ts.map +1 -1
  415. package/dist/types/model/events/identityUtils.d.ts +1 -1
  416. package/dist/types/model/events/identityUtils.d.ts.map +1 -1
  417. package/dist/types/model/events/index.d.ts +2 -2
  418. package/dist/types/model/events/index.d.ts.map +1 -1
  419. package/dist/types/model/events/types.d.ts +12 -2
  420. package/dist/types/model/events/types.d.ts.map +1 -1
  421. package/dist/types/model/helpers/index.d.ts +2 -2
  422. package/dist/types/model/helpers/index.d.ts.map +1 -1
  423. package/dist/types/model/helpers/stageHelpers.d.ts +1 -1
  424. package/dist/types/model/helpers/stageHelpers.d.ts.map +1 -1
  425. package/dist/types/model/index.d.ts +13 -13
  426. package/dist/types/model/index.d.ts.map +1 -1
  427. package/dist/types/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts +1 -1
  428. package/dist/types/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts.map +1 -1
  429. package/dist/types/model/metadata/index.d.ts +1 -1
  430. package/dist/types/model/metadata/index.d.ts.map +1 -1
  431. package/dist/types/model/migrations/ExecutedMigrationsResolver.d.ts +2 -2
  432. package/dist/types/model/migrations/ExecutedMigrationsResolver.d.ts.map +1 -1
  433. package/dist/types/model/migrations/MigrationAlterer.d.ts +3 -3
  434. package/dist/types/model/migrations/MigrationAlterer.d.ts.map +1 -1
  435. package/dist/types/model/migrations/MigrationInput.d.ts +6 -0
  436. package/dist/types/model/migrations/MigrationInput.d.ts.map +1 -1
  437. package/dist/types/model/migrations/ProjectMigrator.d.ts +28 -10
  438. package/dist/types/model/migrations/ProjectMigrator.d.ts.map +1 -1
  439. package/dist/types/model/migrations/SchemaProvider.d.ts +2 -2
  440. package/dist/types/model/migrations/SchemaProvider.d.ts.map +1 -1
  441. package/dist/types/model/migrations/index.d.ts +4 -4
  442. package/dist/types/model/migrations/index.d.ts.map +1 -1
  443. package/dist/types/model/queries/events/EventQueryHelpers.d.ts +4 -4
  444. package/dist/types/model/queries/events/EventQueryHelpers.d.ts.map +1 -1
  445. package/dist/types/model/queries/events/EventsQuery.d.ts +2 -2
  446. package/dist/types/model/queries/events/EventsQuery.d.ts.map +1 -1
  447. package/dist/types/model/queries/events/index.d.ts +3 -3
  448. package/dist/types/model/queries/events/index.d.ts.map +1 -1
  449. package/dist/types/model/queries/index.d.ts +4 -4
  450. package/dist/types/model/queries/index.d.ts.map +1 -1
  451. package/dist/types/model/queries/migrations/ExecutedMigrationByVersionQuery.d.ts +1 -1
  452. package/dist/types/model/queries/migrations/ExecutedMigrationByVersionQuery.d.ts.map +1 -1
  453. package/dist/types/model/queries/migrations/ExecutedMigrationsQuery.d.ts +1 -1
  454. package/dist/types/model/queries/migrations/ExecutedMigrationsQuery.d.ts.map +1 -1
  455. package/dist/types/model/queries/migrations/ExecutedMigrationsQueryHelper.d.ts +1 -1
  456. package/dist/types/model/queries/migrations/ExecutedMigrationsQueryHelper.d.ts.map +1 -1
  457. package/dist/types/model/queries/migrations/index.d.ts +3 -3
  458. package/dist/types/model/queries/migrations/index.d.ts.map +1 -1
  459. package/dist/types/model/queries/schema/SchemaQuery.d.ts +3 -2
  460. package/dist/types/model/queries/schema/SchemaQuery.d.ts.map +1 -1
  461. package/dist/types/model/queries/schema/index.d.ts +1 -1
  462. package/dist/types/model/queries/schema/index.d.ts.map +1 -1
  463. package/dist/types/model/queries/stages/StageBySlugQuery.d.ts +1 -1
  464. package/dist/types/model/queries/stages/StageBySlugQuery.d.ts.map +1 -1
  465. package/dist/types/model/queries/stages/StageQueryFactory.d.ts +1 -1
  466. package/dist/types/model/queries/stages/StageQueryFactory.d.ts.map +1 -1
  467. package/dist/types/model/queries/stages/StagesQuery.d.ts +1 -1
  468. package/dist/types/model/queries/stages/StagesQuery.d.ts.map +1 -1
  469. package/dist/types/model/queries/stages/index.d.ts +3 -3
  470. package/dist/types/model/queries/stages/index.d.ts.map +1 -1
  471. package/dist/types/model/stages/StageCreator.d.ts +2 -2
  472. package/dist/types/model/stages/StageCreator.d.ts.map +1 -1
  473. package/dist/types/model/stages/index.d.ts +1 -1
  474. package/dist/types/model/stages/index.d.ts.map +1 -1
  475. package/dist/types/resolvers/Resolver.d.ts +1 -1
  476. package/dist/types/resolvers/Resolver.d.ts.map +1 -1
  477. package/dist/types/resolvers/ResolverFactory.d.ts +5 -5
  478. package/dist/types/resolvers/ResolverFactory.d.ts.map +1 -1
  479. package/dist/types/resolvers/SystemResolverContext.d.ts +4 -4
  480. package/dist/types/resolvers/SystemResolverContext.d.ts.map +1 -1
  481. package/dist/types/resolvers/index.d.ts +5 -5
  482. package/dist/types/resolvers/index.d.ts.map +1 -1
  483. package/dist/types/resolvers/mutation/MigrateMutationResolver.d.ts +6 -4
  484. package/dist/types/resolvers/mutation/MigrateMutationResolver.d.ts.map +1 -1
  485. package/dist/types/resolvers/mutation/MigrationAlterMutationResolver.d.ts +4 -4
  486. package/dist/types/resolvers/mutation/MigrationAlterMutationResolver.d.ts.map +1 -1
  487. package/dist/types/resolvers/mutation/TruncateMutationResolver.d.ts +4 -4
  488. package/dist/types/resolvers/mutation/TruncateMutationResolver.d.ts.map +1 -1
  489. package/dist/types/resolvers/mutation/index.d.ts +3 -3
  490. package/dist/types/resolvers/mutation/index.d.ts.map +1 -1
  491. package/dist/types/resolvers/query/EventsQueryResolver.d.ts +4 -4
  492. package/dist/types/resolvers/query/EventsQueryResolver.d.ts.map +1 -1
  493. package/dist/types/resolvers/query/ExecutedMigrationsQueryResolver.d.ts +3 -3
  494. package/dist/types/resolvers/query/ExecutedMigrationsQueryResolver.d.ts.map +1 -1
  495. package/dist/types/resolvers/query/SchemaQueryResolver.d.ts +2 -2
  496. package/dist/types/resolvers/query/SchemaQueryResolver.d.ts.map +1 -1
  497. package/dist/types/resolvers/query/StagesQueryResolver.d.ts +3 -3
  498. package/dist/types/resolvers/query/StagesQueryResolver.d.ts.map +1 -1
  499. package/dist/types/resolvers/query/index.d.ts +3 -3
  500. package/dist/types/resolvers/query/index.d.ts.map +1 -1
  501. package/dist/types/resolvers/types/EventOldValuesResolver.d.ts +2 -2
  502. package/dist/types/resolvers/types/EventOldValuesResolver.d.ts.map +1 -1
  503. package/dist/types/resolvers/types/OldValuesHelpers.d.ts +2 -2
  504. package/dist/types/resolvers/types/OldValuesHelpers.d.ts.map +1 -1
  505. package/dist/types/resolvers/types/index.d.ts +1 -1
  506. package/dist/types/resolvers/types/index.d.ts.map +1 -1
  507. package/dist/types/schema/index.d.ts +2 -2
  508. package/dist/types/schema/index.d.ts.map +1 -1
  509. package/dist/types/schema/system.graphql.d.ts.map +1 -1
  510. package/dist/types/schema/types.d.ts +80 -54
  511. package/dist/types/schema/types.d.ts.map +1 -1
  512. package/dist/types/tsconfig.tsbuildinfo +1 -1
  513. package/dist/types/utils/index.d.ts +7 -7
  514. package/dist/types/utils/index.d.ts.map +1 -1
  515. package/dist/types/utils/providers.d.ts +1 -1
  516. package/dist/types/utils/providers.d.ts.map +1 -1
  517. package/package.json +12 -12
  518. package/src/SystemContainer.ts +6 -6
  519. package/src/bin/runMigrations.ts +2 -2
  520. package/src/index.ts +7 -7
  521. package/src/migrations/2020-03-27-130000-project-migrations.ts +1 -1
  522. package/src/migrations/2020-05-06-150000-composed-primary.ts +2 -2
  523. package/src/migrations/2020-06-01-103000-event-trigger-perf.ts +2 -2
  524. package/src/migrations/2021-05-07-155800-event-log-rework.ts +2 -2
  525. package/src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts +2 -2
  526. package/src/migrations/2022-10-03-110000-table-on-delete.ts +1 -1
  527. package/src/migrations/2023-09-11-174000-fix-on-delete.ts +1 -1
  528. package/src/migrations/2023-10-19-173000-fix-unique.ts +1 -1
  529. package/src/migrations/2024-06-28-153001-schema-init.ts +1 -1
  530. package/src/migrations/2025-03-14-110000-fix-missing-index.ts +1 -1
  531. package/src/migrations/2026-06-01-120000-event-truncate.ts +18 -0
  532. package/src/migrations/index.ts +2 -2
  533. package/src/migrations/runner.ts +31 -29
  534. package/src/migrations/snapshot-factory.ts +1 -1
  535. package/src/migrations/snapshot-template-start.txt +1 -1
  536. package/src/migrations/snapshot.ts +6 -5
  537. package/src/migrations/types.ts +2 -2
  538. package/src/model/ProjectInitializer.ts +4 -4
  539. package/src/model/ProjectTruncateExecutor.ts +8 -8
  540. package/src/model/authorization/PermissionsFactory.ts +1 -1
  541. package/src/model/authorization/StagePermissionsFactory.ts +2 -2
  542. package/src/model/authorization/StageScope.ts +3 -3
  543. package/src/model/authorization/index.ts +3 -3
  544. package/src/model/commands/Command.ts +2 -2
  545. package/src/model/commands/CommandBus.ts +2 -2
  546. package/src/model/commands/events/TruncateEventsCommand.ts +45 -5
  547. package/src/model/commands/events/index.ts +1 -1
  548. package/src/model/commands/index.ts +5 -5
  549. package/src/model/commands/migrations/DeleteMigrationCommand.ts +1 -1
  550. package/src/model/commands/migrations/ModifyMigrationCommand.ts +2 -2
  551. package/src/model/commands/migrations/SaveMigrationCommand.ts +2 -2
  552. package/src/model/commands/migrations/index.ts +2 -2
  553. package/src/model/commands/schema/SaveSchemaCommand.ts +2 -2
  554. package/src/model/commands/stages/CreateStageCommand.ts +3 -3
  555. package/src/model/commands/stages/TruncateStagesCommand.ts +1 -1
  556. package/src/model/commands/stages/index.ts +2 -2
  557. package/src/model/database/DatabaseContext.ts +2 -2
  558. package/src/model/database/index.ts +1 -1
  559. package/src/model/dependencies/content/ContentQueryExecutor.ts +2 -2
  560. package/src/model/dependencies/index.ts +2 -2
  561. package/src/model/dependencies/tenant/index.ts +1 -1
  562. package/src/model/dtos/index.ts +2 -2
  563. package/src/model/events/EventResponseBuilder.ts +12 -7
  564. package/src/model/events/EventResponseHelper.ts +1 -1
  565. package/src/model/events/identityUtils.ts +2 -2
  566. package/src/model/events/index.ts +2 -2
  567. package/src/model/events/types.ts +15 -1
  568. package/src/model/helpers/index.ts +2 -2
  569. package/src/model/helpers/stageHelpers.ts +1 -1
  570. package/src/model/index.ts +13 -13
  571. package/src/model/metadata/SchemaDatabaseMetadataResolverStore.ts +1 -1
  572. package/src/model/metadata/index.ts +1 -1
  573. package/src/model/migrations/ExecutedMigrationsResolver.ts +3 -3
  574. package/src/model/migrations/MigrationAlterer.ts +6 -6
  575. package/src/model/migrations/MigrationInput.ts +7 -0
  576. package/src/model/migrations/ProjectMigrator.ts +133 -17
  577. package/src/model/migrations/SchemaProvider.ts +4 -4
  578. package/src/model/migrations/index.ts +4 -4
  579. package/src/model/queries/events/EventQueryHelpers.ts +21 -13
  580. package/src/model/queries/events/EventsQuery.ts +3 -3
  581. package/src/model/queries/events/index.ts +3 -3
  582. package/src/model/queries/index.ts +4 -4
  583. package/src/model/queries/migrations/ExecutedMigrationByVersionQuery.ts +2 -2
  584. package/src/model/queries/migrations/ExecutedMigrationsQuery.ts +2 -2
  585. package/src/model/queries/migrations/ExecutedMigrationsQueryHelper.ts +1 -1
  586. package/src/model/queries/migrations/index.ts +3 -3
  587. package/src/model/queries/schema/SchemaQuery.ts +5 -1
  588. package/src/model/queries/schema/index.ts +1 -1
  589. package/src/model/queries/stages/StageBySlugQuery.ts +2 -2
  590. package/src/model/queries/stages/StageQueryFactory.ts +1 -1
  591. package/src/model/queries/stages/StagesQuery.ts +2 -2
  592. package/src/model/queries/stages/index.ts +3 -3
  593. package/src/model/stages/StageCreator.ts +4 -4
  594. package/src/model/stages/index.ts +1 -1
  595. package/src/resolvers/Resolver.ts +1 -1
  596. package/src/resolvers/ResolverFactory.ts +9 -6
  597. package/src/resolvers/SystemResolverContext.ts +6 -6
  598. package/src/resolvers/index.ts +5 -5
  599. package/src/resolvers/mutation/MigrateMutationResolver.ts +64 -7
  600. package/src/resolvers/mutation/MigrationAlterMutationResolver.ts +4 -4
  601. package/src/resolvers/mutation/TruncateMutationResolver.ts +5 -5
  602. package/src/resolvers/mutation/index.ts +3 -3
  603. package/src/resolvers/query/EventsQueryResolver.ts +4 -4
  604. package/src/resolvers/query/ExecutedMigrationsQueryResolver.ts +4 -4
  605. package/src/resolvers/query/SchemaQueryResolver.ts +3 -3
  606. package/src/resolvers/query/StagesQueryResolver.ts +4 -4
  607. package/src/resolvers/query/index.ts +3 -3
  608. package/src/resolvers/types/EventOldValuesResolver.ts +3 -3
  609. package/src/resolvers/types/OldValuesHelpers.ts +3 -3
  610. package/src/resolvers/types/index.ts +1 -1
  611. package/src/schema/dev.graphql.ts +1 -1
  612. package/src/schema/index.ts +4 -2
  613. package/src/schema/system.graphql.ts +39 -3
  614. package/src/schema/types.ts +108 -38
  615. package/src/utils/batchQuery.ts +1 -1
  616. package/src/utils/index.ts +7 -7
  617. package/src/utils/providers.ts +1 -1
  618. package/tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts +1 -1
  619. package/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts +1 -1
  620. package/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts +1 -1
  621. package/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.ts +1 -1
  622. package/tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts +1 -1
  623. package/tests/cases/migrations/2025-03-14-110000-fix-missing-index.test.ts +1 -1
  624. package/tests/cases/unit/eventsQuery.test.ts +3 -3
  625. package/tests/cases/unit/projectMigratorSchemaState.test.ts +48 -0
  626. package/tests/cases/unit/truncateEventsCommand.test.ts +54 -0
  627. package/vitest.config.ts +0 -3
@@ -1,8 +1,8 @@
1
- export * from './assertNever';
2
- export * from './exceptions';
3
- export * from './providers';
4
- export * from './uuid';
5
- export * from './MapSet';
6
- export * from './Response';
7
- export * from './tuple';
1
+ export * from './assertNever.js';
2
+ export * from './exceptions.js';
3
+ export * from './providers.js';
4
+ export * from './uuid.js';
5
+ export * from './MapSet.js';
6
+ export * from './Response.js';
7
+ export * from './tuple.js';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA"}
@@ -1,3 +1,3 @@
1
- import { UuidProvider } from './uuid';
1
+ import { UuidProvider } from './uuid.js';
2
2
  export type Providers = UuidProvider;
3
3
  //# sourceMappingURL=providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/utils/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC,MAAM,MAAM,SAAS,GAAG,YAAY,CAAA"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/utils/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,MAAM,MAAM,SAAS,GAAG,YAAY,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contember/engine-system-api",
3
- "version": "2.1.0-beta.1",
3
+ "version": "2.2.0-alpha.1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/production/index.js",
6
6
  "typings": "./dist/types/index.d.ts",
@@ -23,21 +23,21 @@
23
23
  }
24
24
  },
25
25
  "dependencies": {
26
- "@contember/authorization": "2.1.0-beta.1",
27
- "@contember/database": "2.1.0-beta.1",
28
- "@contember/database-migrations": "2.1.0-beta.1",
29
- "@contember/dic": "2.1.0-beta.1",
30
- "@contember/graphql-utils": "2.1.0-beta.1",
31
- "@contember/logger": "2.1.0-beta.1",
32
- "@contember/queryable": "2.1.0-beta.1",
33
- "@contember/schema": "2.1.0-beta.1",
34
- "@contember/schema-migrations": "2.1.0-beta.1",
35
- "@contember/schema-utils": "2.1.0-beta.1",
26
+ "@contember/authorization": "2.1.0-beta.2",
27
+ "@contember/database": "2.1.0-beta.2",
28
+ "@contember/database-migrations": "2.1.0-beta.2",
29
+ "@contember/dic": "2.1.0-beta.2",
30
+ "@contember/graphql-utils": "2.1.0-beta.2",
31
+ "@contember/logger": "2.1.0-beta.2",
32
+ "@contember/queryable": "2.1.0-beta.2",
33
+ "@contember/schema": "2.1.0-beta.2",
34
+ "@contember/schema-migrations": "2.1.0-beta.2",
35
+ "@contember/schema-utils": "2.1.0-beta.2",
36
36
  "@graphql-tools/utils": "^11.0.0",
37
37
  "graphql-tag": "^2.12.6"
38
38
  },
39
39
  "devDependencies": {
40
- "@contember/schema-definition": "2.1.0-beta.1",
40
+ "@contember/schema-definition": "2.1.0-beta.2",
41
41
  "@types/node": "^24.12.0",
42
42
  "graphql": "^16.13.1",
43
43
  "pg": "^8.20.0"
@@ -11,8 +11,8 @@ import {
11
11
  PermissionsFactory,
12
12
  ProjectMigrator,
13
13
  ProjectTruncateExecutor,
14
- } from './model'
15
- import { UuidProvider } from './utils'
14
+ } from './model/index.js'
15
+ import { UuidProvider } from './utils/index.js'
16
16
  import {
17
17
  EventsQueryResolver,
18
18
  ExecutedMigrationsQueryResolver,
@@ -22,11 +22,11 @@ import {
22
22
  StagesQueryResolver,
23
23
  SystemResolverContextFactory,
24
24
  TruncateMutationResolver,
25
- } from './resolvers'
26
- import { EventOldValuesResolver } from './resolvers/types'
25
+ } from './resolvers/index.js'
26
+ import { EventOldValuesResolver } from './resolvers/types/index.js'
27
27
  import { DatabaseMetadataResolver } from '@contember/database'
28
- import { SchemaProvider } from './model'
29
- import { SchemaQueryResolver } from './resolvers/query/SchemaQueryResolver'
28
+ import { SchemaProvider } from './model/index.js'
29
+ import { SchemaQueryResolver } from './resolvers/query/SchemaQueryResolver.js'
30
30
 
31
31
  export interface SystemContainer {
32
32
  systemResolversFactory: ResolverFactory
@@ -1,5 +1,5 @@
1
- import { SystemMigrationsRunner } from '../migrations'
2
- import { DatabaseContextFactory, emptyVersionedSchema, SchemaProvider } from '../model'
1
+ import { SystemMigrationsRunner } from '../migrations/index.js'
2
+ import { DatabaseContextFactory, emptyVersionedSchema, SchemaProvider } from '../model/index.js'
3
3
  import { DatabaseMetadataResolver, emptyDatabaseMetadata } from '@contember/database'
4
4
  import { createLogger, PrettyPrintLoggerHandler } from '@contember/logger'
5
5
  ;(async () => {
package/src/index.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { SchemaMigrator } from '@contember/schema-migrations'
2
2
 
3
- export { devTypeDefs, Schema, typeDefs } from './schema'
3
+ export { devTypeDefs, Schema, typeDefs } from './schema/index.js'
4
4
 
5
5
  export {
6
6
  type Command,
@@ -23,9 +23,9 @@ export {
23
23
  StageBySlugQuery,
24
24
  StageCreator,
25
25
  StagesQuery,
26
- } from './model'
27
- export * from './SystemContainer'
28
- export * from './resolvers'
29
- export * from './types'
30
- export * from './utils'
31
- export * from './migrations'
26
+ } from './model/index.js'
27
+ export * from './SystemContainer.js'
28
+ export * from './resolvers/index.js'
29
+ export * from './types.js'
30
+ export * from './utils/index.js'
31
+ export * from './migrations/index.js'
@@ -1,5 +1,5 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
- import { SystemMigrationArgs } from './types'
2
+ import { SystemMigrationArgs } from './types.js'
3
3
 
4
4
  export default async function(builder: MigrationBuilder, args: SystemMigrationArgs) {
5
5
  builder.createTable(
@@ -1,6 +1,6 @@
1
1
  import { escapeValue, MigrationBuilder, Name } from '@contember/database-migrations'
2
- import { SystemMigrationArgs } from './types'
3
- import { getJunctionTables } from '../model'
2
+ import { SystemMigrationArgs } from './types.js'
3
+ import { getJunctionTables } from '../model/index.js'
4
4
  import { MigrationArgs } from '@contember/database-migrations'
5
5
 
6
6
  const createEventTrigger = (builder: MigrationBuilder, tableName: Name, primaryColumns: string[]) => {
@@ -1,6 +1,6 @@
1
1
  import { MigrationBuilder, Name } from '@contember/database-migrations'
2
- import { SystemMigrationArgs } from './types'
3
- import { getJunctionTables } from '../model'
2
+ import { SystemMigrationArgs } from './types.js'
3
+ import { getJunctionTables } from '../model/index.js'
4
4
  import { MigrationArgs } from '@contember/database-migrations'
5
5
 
6
6
  const createEventStatementTrigger = (builder: MigrationBuilder, tableName: Name) => {
@@ -1,6 +1,6 @@
1
1
  import { MigrationBuilder, Name } from '@contember/database-migrations'
2
- import { SystemMigrationArgs } from './types'
3
- import { getJunctionTables } from '../model'
2
+ import { SystemMigrationArgs } from './types.js'
3
+ import { getJunctionTables } from '../model/index.js'
4
4
  import { MigrationArgs } from '@contember/database-migrations'
5
5
 
6
6
  const createTrxEvent = (builder: MigrationBuilder, tableName: Name) => {
@@ -1,6 +1,6 @@
1
1
  import { MigrationBuilder, Name } from '@contember/database-migrations'
2
- import { SystemMigrationArgs } from './types'
3
- import { getJunctionTables } from '../model'
2
+ import { SystemMigrationArgs } from './types.js'
3
+ import { getJunctionTables } from '../model/index.js'
4
4
  import { MigrationArgs } from '@contember/database-migrations'
5
5
 
6
6
  const recreateTrigger = (builder: MigrationBuilder, tableName: Name) => {
@@ -1,6 +1,6 @@
1
1
  import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'
2
2
  import { DatabaseMetadata, wrapIdentifier } from '@contember/database'
3
- import { SystemMigrationArgs } from './types'
3
+ import { SystemMigrationArgs } from './types.js'
4
4
  import { acceptFieldVisitor } from '@contember/schema-utils'
5
5
  import { Model } from '@contember/schema'
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'
2
2
  import { DatabaseMetadata, ForeignKeyDeleteAction, wrapIdentifier } from '@contember/database'
3
- import { SystemMigrationArgs } from './types'
3
+ import { SystemMigrationArgs } from './types.js'
4
4
  import { acceptFieldVisitor } from '@contember/schema-utils'
5
5
  import { Model } from '@contember/schema'
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'
2
2
  import { DatabaseMetadata, wrapIdentifier } from '@contember/database'
3
- import { SystemMigrationArgs } from './types'
3
+ import { SystemMigrationArgs } from './types.js'
4
4
  import { getUniqueConstraintColumns } from '@contember/schema-migrations'
5
5
 
6
6
  export default async function(builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {
@@ -1,5 +1,5 @@
1
1
  import { escapeValue, MigrationArgs, MigrationBuilder } from '@contember/database-migrations'
2
- import { SystemMigrationArgs } from './types'
2
+ import { SystemMigrationArgs } from './types.js'
3
3
 
4
4
  export default async function(builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) {
5
5
  const schema = await args.schemaResolver(args.connection)
@@ -1,6 +1,6 @@
1
1
  import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'
2
2
  import { DatabaseMetadata } from '@contember/database'
3
- import { SystemMigrationArgs } from './types'
3
+ import { SystemMigrationArgs } from './types.js'
4
4
  import { wrapIdentifier } from '@contember/database'
5
5
  import { Model } from '@contember/schema'
6
6
  import { acceptFieldVisitor } from '@contember/schema-utils'
@@ -0,0 +1,18 @@
1
+ import { MigrationBuilder } from '@contember/database-migrations'
2
+
3
+ // The new domain constraint is a strict superset of the old one (it only adds 'truncate'),
4
+ // so every existing `event_data` row is already known-valid. We add it as NOT VALID to skip
5
+ // the full validation scan of `event_data` — which is the content event log and typically the
6
+ // largest table in the system schema — that PostgreSQL would otherwise run while holding locks
7
+ // inside the migration transaction. New/updated rows are still checked, and no VALIDATE is needed.
8
+ const sql = `
9
+ ALTER DOMAIN "event_data_type" DROP CONSTRAINT "event_data_type_check";
10
+ ALTER DOMAIN "event_data_type"
11
+ ADD CONSTRAINT "event_data_type_check" CHECK ((VALUE = ANY (ARRAY['create'::"text", 'update'::"text", 'delete'::"text", 'truncate'::"text"]))) NOT VALID;
12
+ ALTER TABLE "event_data" ALTER COLUMN "table_name" DROP NOT NULL;
13
+ ALTER TABLE "event_data" ALTER COLUMN "row_ids" DROP NOT NULL;
14
+ `
15
+
16
+ export default async function(builder: MigrationBuilder) {
17
+ builder.sql(sql)
18
+ }
@@ -1,2 +1,2 @@
1
- export * from './runner'
2
- export * from './types'
1
+ export * from './runner.js'
2
+ export * from './types.js'
@@ -4,37 +4,38 @@ import {
4
4
  MigrationsRunner as DbMigrationsRunner,
5
5
  SnapshotMigrationResolver,
6
6
  } from '@contember/database-migrations'
7
- import _20180804102200init from './2018-08-04-102200-init'
8
- import _20180805130501triggereventfunction from './2018-08-05-130501-trigger-event-function'
9
- import _20190114143432eventtrxid from './2019-01-14-143432-event-trx-id'
10
- import _20190204154500eventrebase from './2019-02-04-154500-event-rebase'
11
- import _20190318104147eventrunmigrationstruct from './2019-03-18-104147-event-run-migration-struct'
12
- import _20190729103000triggereventfunctionfix from './2019-07-29-103000-trigger-event-function-fix'
13
- import _20191128100000missingsettingfallback from './2019-11-28-100000-missing-setting-fallback'
14
- import _20200327130000projectmigrations from './2020-03-27-130000-project-migrations'
15
- import _20200506150000composedprimary from './2020-05-06-150000-composed-primary'
16
- import _20200601103000eventtriggerperf from './2020-06-01-103000-event-trigger-perf'
17
- import _20210323110000timestampfix from './2021-03-23-110000-timestamp-fix'
18
- import _20210507155800eventlogrework from './2021-05-07-155800-event-log-rework'
19
- import _202105191232000eventlogfixconstraint from './2021-05-19-1232000-event-log-fix-constraint'
20
- import _20211221155500eventsup from './2021-12-21-155500-events-up'
21
- import _20220208132600fnsearchpath from './2022-02-08-132600-fn-search-path'
22
- import _20220208140500dropdeadcode from './2022-02-08-140500-drop-deadcode'
23
- import _20220208144400dynamicstageschema from './2022-02-08-144400-dynamic-stage-schema'
24
- import _20221003110000tableondelete from './2022-10-03-110000-table-on-delete'
25
- import _20230911174000fixondelete from './2023-09-11-174000-fix-on-delete'
26
- import _20231019173000fixunique from './2023-10-19-173000-fix-unique'
27
- import _20231024140000schemanullablechecksum from './2023-10-24-140000-schema-nullable-checksum'
28
- import _20240628150000migrationsdropsequence from './2024-06-28-150000-migrations-drop-sequence'
29
- import _20240628153000schema from './2024-06-28-153000-schema'
30
- import _20240628153001schemainit from './2024-06-28-153001-schema-init'
31
- import _20240729150000eventdataindex from './2024-07-29-150000-event-data-index'
32
- import _20250314110000fixmissingindex from './2025-03-14-110000-fix-missing-index'
33
- import snapshot from './snapshot'
7
+ import _20180804102200init from './2018-08-04-102200-init.js'
8
+ import _20180805130501triggereventfunction from './2018-08-05-130501-trigger-event-function.js'
9
+ import _20190114143432eventtrxid from './2019-01-14-143432-event-trx-id.js'
10
+ import _20190204154500eventrebase from './2019-02-04-154500-event-rebase.js'
11
+ import _20190318104147eventrunmigrationstruct from './2019-03-18-104147-event-run-migration-struct.js'
12
+ import _20190729103000triggereventfunctionfix from './2019-07-29-103000-trigger-event-function-fix.js'
13
+ import _20191128100000missingsettingfallback from './2019-11-28-100000-missing-setting-fallback.js'
14
+ import _20200327130000projectmigrations from './2020-03-27-130000-project-migrations.js'
15
+ import _20200506150000composedprimary from './2020-05-06-150000-composed-primary.js'
16
+ import _20200601103000eventtriggerperf from './2020-06-01-103000-event-trigger-perf.js'
17
+ import _20210323110000timestampfix from './2021-03-23-110000-timestamp-fix.js'
18
+ import _20210507155800eventlogrework from './2021-05-07-155800-event-log-rework.js'
19
+ import _202105191232000eventlogfixconstraint from './2021-05-19-1232000-event-log-fix-constraint.js'
20
+ import _20211221155500eventsup from './2021-12-21-155500-events-up.js'
21
+ import _20220208132600fnsearchpath from './2022-02-08-132600-fn-search-path.js'
22
+ import _20220208140500dropdeadcode from './2022-02-08-140500-drop-deadcode.js'
23
+ import _20220208144400dynamicstageschema from './2022-02-08-144400-dynamic-stage-schema.js'
24
+ import _20221003110000tableondelete from './2022-10-03-110000-table-on-delete.js'
25
+ import _20230911174000fixondelete from './2023-09-11-174000-fix-on-delete.js'
26
+ import _20231019173000fixunique from './2023-10-19-173000-fix-unique.js'
27
+ import _20231024140000schemanullablechecksum from './2023-10-24-140000-schema-nullable-checksum.js'
28
+ import _20240628150000migrationsdropsequence from './2024-06-28-150000-migrations-drop-sequence.js'
29
+ import _20240628153000schema from './2024-06-28-153000-schema.js'
30
+ import _20240628153001schemainit from './2024-06-28-153001-schema-init.js'
31
+ import _20240729150000eventdataindex from './2024-07-29-150000-event-data-index.js'
32
+ import _20250314110000fixmissingindex from './2025-03-14-110000-fix-missing-index.js'
33
+ import _20260601120000eventtruncate from './2026-06-01-120000-event-truncate.js'
34
+ import snapshot from './snapshot.js'
34
35
 
35
36
  import { Connection, createDatabaseIfNotExists, DatabaseConfig, DatabaseMetadataResolver } from '@contember/database'
36
- import { DatabaseContextFactory, SchemaProvider } from '../model'
37
- import { ProjectConfig } from '../types'
37
+ import { DatabaseContextFactory, SchemaProvider } from '../model/index.js'
38
+ import { ProjectConfig } from '../types.js'
38
39
  import { Logger } from '@contember/logger'
39
40
 
40
41
  const migrations = {
@@ -64,6 +65,7 @@ const migrations = {
64
65
  '2024-06-28-153001-schema-init': _20240628153001schemainit,
65
66
  '2024-07-29-150000-event-data-index': _20240729150000eventdataindex,
66
67
  '2025-03-14-110000-fix-missing-index': _20250314110000fixmissingindex,
68
+ '2026-06-01-120000-event-truncate': _20260601120000eventtruncate,
67
69
  }
68
70
 
69
71
  export class SystemMigrationsRunner {
@@ -1,5 +1,5 @@
1
1
  import { MigrationArgs, MigrationBuilder } from '@contember/database-migrations'
2
- import { SystemMigrationArgs } from './types'
2
+ import { SystemMigrationArgs } from './types.js'
3
3
 
4
4
  export const snapshotMigration = (sqlFactory: (args: { randomUuidFn: string }) => string) => {
5
5
  return async (builder: MigrationBuilder, args: MigrationArgs<SystemMigrationArgs>) => {
@@ -1,2 +1,2 @@
1
- import { snapshotMigration } from './snapshot-factory'
1
+ import { snapshotMigration } from './snapshot-factory.js'
2
2
  export default snapshotMigration(({randomUuidFn}) => `
@@ -1,7 +1,6 @@
1
- import { snapshotMigration } from './snapshot-factory'
1
+ import { snapshotMigration } from './snapshot-factory.js'
2
2
  export default snapshotMigration(({ randomUuidFn }) => `
3
- CREATE DOMAIN "event_data_type" AS "text"
4
- CONSTRAINT "event_data_type_check" CHECK ((VALUE = ANY (ARRAY['create'::"text", 'update'::"text", 'delete'::"text"])));
3
+ CREATE DOMAIN "event_data_type" AS "text";
5
4
  CREATE DOMAIN "event_type" AS "text"
6
5
  CONSTRAINT "event_type_check" CHECK ((VALUE = ANY (ARRAY['init'::"text", 'create'::"text", 'update'::"text", 'delete'::"text", 'run_migration'::"text"])));
7
6
  CREATE TYPE "schema_migration_type" AS ENUM (
@@ -110,8 +109,8 @@ $$;
110
109
  CREATE TABLE "event_data" (
111
110
  "id" "uuid" NOT NULL,
112
111
  "type" "event_data_type" NOT NULL,
113
- "table_name" "text" NOT NULL,
114
- "row_ids" "jsonb" NOT NULL,
112
+ "table_name" "text",
113
+ "row_ids" "jsonb",
115
114
  "values" "jsonb",
116
115
  "created_at" timestamp with time zone DEFAULT "clock_timestamp"() NOT NULL,
117
116
  "schema_id" integer NOT NULL,
@@ -148,6 +147,8 @@ CREATE TABLE "stage_transaction" (
148
147
  );
149
148
  ALTER TABLE ONLY "event_data"
150
149
  ADD CONSTRAINT "event_data_pkey" PRIMARY KEY ("id");
150
+ ALTER DOMAIN "event_data_type"
151
+ ADD CONSTRAINT "event_data_type_check" CHECK ((VALUE = ANY (ARRAY['create'::"text", 'update'::"text", 'delete'::"text", 'truncate'::"text"]))) NOT VALID;
151
152
  ALTER TABLE ONLY "schema_migration"
152
153
  ADD CONSTRAINT "schema_migration_name_key" UNIQUE ("name");
153
154
  ALTER TABLE ONLY "schema_migration"
@@ -1,6 +1,6 @@
1
- import { ProjectConfig } from '../types'
1
+ import { ProjectConfig } from '../types.js'
2
2
  import { Connection, DatabaseMetadata } from '@contember/database'
3
- import { SchemaWithMeta } from '../model'
3
+ import { SchemaWithMeta } from '../model/index.js'
4
4
 
5
5
  export interface SystemMigrationArgs {
6
6
  schemaResolver: (connection: Connection.ConnectionLike) => Promise<SchemaWithMeta>
@@ -1,9 +1,9 @@
1
- import { ProjectConfig } from '../types'
2
- import { StageCreator } from './stages'
3
- import { DatabaseContext } from './database'
1
+ import { ProjectConfig } from '../types.js'
2
+ import { StageCreator } from './stages/index.js'
3
+ import { DatabaseContext } from './database/index.js'
4
4
  import { Connection, retryTransaction } from '@contember/database'
5
5
  import { FingerCrossedLoggerHandler, Logger } from '@contember/logger'
6
- import { SystemMigrationsRunner } from '../migrations'
6
+ import { SystemMigrationsRunner } from '../migrations/index.js'
7
7
 
8
8
  export class ProjectInitializer {
9
9
  constructor(
@@ -1,13 +1,13 @@
1
- import { DatabaseContext } from './database'
2
- import { ProjectConfig } from '../types'
3
- import { TruncateEventsCommand } from './commands'
4
- import { getJunctionTables } from './helpers'
1
+ import { DatabaseContext } from './database/index.js'
2
+ import { ProjectConfig } from '../types.js'
3
+ import { TruncateEventsCommand } from './commands/index.js'
4
+ import { getJunctionTables } from './helpers/index.js'
5
5
  import { Schema } from '@contember/schema'
6
6
  import { wrapIdentifier } from '@contember/database'
7
- import { StagesQuery } from './queries'
7
+ import { StagesQuery } from './queries/index.js'
8
8
 
9
9
  export class ProjectTruncateExecutor {
10
- public async truncateProject(db: DatabaseContext, project: ProjectConfig, schema: Schema) {
10
+ public async truncateProject(db: DatabaseContext, project: ProjectConfig, schema: Schema, identityId: string) {
11
11
  const tableNames = Object.values(schema.model.entities).filter(it => !it.view).map(it => it.tableName)
12
12
  const junctionTableNames = getJunctionTables(schema.model).map(it => it.tableName)
13
13
  const allTableNames = [...tableNames, ...junctionTableNames]
@@ -16,13 +16,13 @@ export class ProjectTruncateExecutor {
16
16
  }
17
17
  await db.transaction(async trx => {
18
18
  await trx.client.query('SET CONSTRAINTS ALL DEFERRED')
19
- const stages = await db.queryHandler.fetch(new StagesQuery())
19
+ const stages = await trx.queryHandler.fetch(new StagesQuery())
20
20
  for (const stage of stages) {
21
21
  const wrappedNames = allTableNames.map(it => `${wrapIdentifier(stage.schema)}.${wrapIdentifier(it)}`)
22
22
  await trx.client.query(`TRUNCATE ${wrappedNames}`)
23
23
  }
24
24
  await trx.client.query('SET CONSTRAINTS ALL IMMEDIATE')
25
- await trx.commandBus.execute(new TruncateEventsCommand())
25
+ await trx.commandBus.execute(new TruncateEventsCommand(identityId, stages.map(it => it.id)))
26
26
  })
27
27
  }
28
28
  }
@@ -1,6 +1,6 @@
1
1
  import { Permissions } from '@contember/authorization'
2
2
  import { ProjectRole } from '@contember/schema'
3
- import { AuthorizationActions } from './AuthorizationActions'
3
+ import { AuthorizationActions } from './AuthorizationActions.js'
4
4
 
5
5
  export class PermissionsFactory {
6
6
  public create(): Permissions {
@@ -1,7 +1,7 @@
1
1
  import { Acl } from '@contember/schema'
2
2
  import { Permissions } from '@contember/authorization'
3
- import { AuthorizationActions } from './AuthorizationActions'
4
- import { SchemaGetter } from '../SchemaGetter'
3
+ import { AuthorizationActions } from './AuthorizationActions.js'
4
+ import { SchemaGetter } from '../SchemaGetter.js'
5
5
 
6
6
  export class StagePermissionsFactory {
7
7
  constructor(private readonly getSchema: SchemaGetter) {}
@@ -1,7 +1,7 @@
1
1
  import { AccessEvaluator, AccessNode, AuthorizationScope } from '@contember/authorization'
2
- import { Identity } from './Identity'
3
- import { SwitchEvaluatorNode } from './SwitchEvaluatorNode'
4
- import { StagePermissionsFactory } from './StagePermissionsFactory'
2
+ import { Identity } from './Identity.js'
3
+ import { SwitchEvaluatorNode } from './SwitchEvaluatorNode.js'
4
+ import { StagePermissionsFactory } from './StagePermissionsFactory.js'
5
5
 
6
6
  export class StageScope implements AuthorizationScope<Identity> {
7
7
  constructor(private readonly stage: string, private readonly stagePermissionsFactory: StagePermissionsFactory) {}
@@ -1,3 +1,3 @@
1
- export * from './Identity'
2
- export * from './AuthorizationActions'
3
- export * from './PermissionsFactory'
1
+ export * from './Identity.js'
2
+ export * from './AuthorizationActions.js'
3
+ export * from './PermissionsFactory.js'
@@ -1,6 +1,6 @@
1
1
  import { Client } from '@contember/database'
2
- import { CommandBus } from './CommandBus'
3
- import { Providers } from '../../utils'
2
+ import { CommandBus } from './CommandBus.js'
3
+ import { Providers } from '../../utils/index.js'
4
4
 
5
5
  interface Command<Result> {
6
6
  execute(args: Command.Args): Promise<Result>
@@ -1,6 +1,6 @@
1
- import { Command } from './Command'
1
+ import { Command } from './Command.js'
2
2
  import { Client, Connection } from '@contember/database'
3
- import { Providers } from '../../utils'
3
+ import { Providers } from '../../utils/index.js'
4
4
 
5
5
  export class CommandBus<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {
6
6
  constructor(public readonly client: Client<ConnectionType>, private readonly providers: Providers) {}
@@ -1,8 +1,48 @@
1
- import { DeleteBuilder } from '@contember/database'
2
- import { Command } from '../Command'
1
+ import { ConflictActionType, DeleteBuilder, InsertBuilder } from '@contember/database'
2
+ import { Command } from '../Command.js'
3
3
 
4
- export class TruncateEventsCommand implements Command<number> {
5
- public async execute({ db }: Command.Args): Promise<number> {
6
- return await DeleteBuilder.create().from('event_data').execute(db)
4
+ /**
5
+ * Clears the whole content event log and records a single `truncate` event in its place,
6
+ * so the truncate operation itself is auditable through the event log (consistent with
7
+ * how create/update/delete content mutations are logged). The truncate event is linked to
8
+ * every stage via `stage_transaction` so it shows up in each stage's event stream.
9
+ */
10
+ export class TruncateEventsCommand implements Command<void> {
11
+ constructor(
12
+ private readonly identityId: string,
13
+ private readonly stageIds: string[],
14
+ ) {}
15
+
16
+ public async execute({ db, providers }: Command.Args): Promise<void> {
17
+ await DeleteBuilder.create().from('event_data').execute(db)
18
+
19
+ const transactionId = providers.uuid()
20
+
21
+ await InsertBuilder.create()
22
+ .into('event_data')
23
+ .values({
24
+ id: providers.uuid(),
25
+ type: 'truncate',
26
+ table_name: null,
27
+ row_ids: null,
28
+ values: null,
29
+ created_at: expr => expr.raw('clock_timestamp()'),
30
+ schema_id: expr => expr.raw('(SELECT MAX("id") FROM "schema_migration")'),
31
+ identity_id: this.identityId,
32
+ transaction_id: transactionId,
33
+ })
34
+ .execute(db)
35
+
36
+ for (const stageId of this.stageIds) {
37
+ await InsertBuilder.create()
38
+ .into('stage_transaction')
39
+ .values({
40
+ transaction_id: transactionId,
41
+ stage_id: stageId,
42
+ applied_at: expr => expr.raw('clock_timestamp()'),
43
+ })
44
+ .onConflict(ConflictActionType.doNothing, ['transaction_id', 'stage_id'])
45
+ .execute(db)
46
+ }
7
47
  }
8
48
  }
@@ -1 +1 @@
1
- export * from './TruncateEventsCommand'
1
+ export * from './TruncateEventsCommand.js'
@@ -1,5 +1,5 @@
1
- export * from './Command'
2
- export * from './CommandBus'
3
- export * from './events'
4
- export * from './migrations'
5
- export * from './stages'
1
+ export * from './Command.js'
2
+ export * from './CommandBus.js'
3
+ export * from './events/index.js'
4
+ export * from './migrations/index.js'
5
+ export * from './stages/index.js'
@@ -1,5 +1,5 @@
1
1
  import { DeleteBuilder } from '@contember/database'
2
- import { Command } from '../Command'
2
+ import { Command } from '../Command.js'
3
3
 
4
4
  export class DeleteMigrationCommand implements Command<boolean> {
5
5
  constructor(private readonly version: string) {}
@@ -1,7 +1,7 @@
1
1
  import { QueryBuilder, UpdateBuilder } from '@contember/database'
2
2
  import { calculateMigrationChecksum, Migration } from '@contember/schema-migrations'
3
- import { Command } from '../Command'
4
- import { ExecutedMigrationByVersionQuery } from '../../queries'
3
+ import { Command } from '../Command.js'
4
+ import { ExecutedMigrationByVersionQuery } from '../../queries/index.js'
5
5
 
6
6
  export class ModifyMigrationCommand implements Command<boolean> {
7
7
  constructor(private readonly version: string, private readonly migration: Partial<Migration>) {}
@@ -1,7 +1,7 @@
1
1
  import { InsertBuilder, Literal, QueryBuilder, SelectBuilder } from '@contember/database'
2
2
  import { calculateMigrationChecksum } from '@contember/schema-migrations'
3
- import { Command } from '../Command'
4
- import { MigrationInput } from '../../migrations/MigrationInput'
3
+ import { Command } from '../Command.js'
4
+ import { MigrationInput } from '../../migrations/MigrationInput.js'
5
5
 
6
6
  export class SaveMigrationCommand implements Command<number> {
7
7
  constructor(private readonly migration: MigrationInput) {}
@@ -1,2 +1,2 @@
1
- export * from './DeleteMigrationCommand'
2
- export * from './SaveMigrationCommand'
1
+ export * from './DeleteMigrationCommand.js'
2
+ export * from './SaveMigrationCommand.js'