@contember/engine-system-api 2.1.0-beta.2 → 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 (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,11 +1,8 @@
1
+ /** Internal type. DO NOT USE DIRECTLY. */
2
+ export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never }
1
3
  import { GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig } from 'graphql'
2
4
  export type Maybe<T> = T | null
3
5
  export type InputMaybe<T> = Maybe<T>
4
- export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] }
5
- export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> }
6
- export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> }
7
- export type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never }
8
- export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never }
9
6
  export type RequireFields<T, K extends keyof T> = Omit<T, K> & { [P in K]-?: NonNullable<T[P]> }
10
7
  /** All built-in and custom scalars, mapped to their actual values */
11
8
  export type Scalars = {
@@ -17,7 +14,7 @@ export type Scalars = {
17
14
  DateTime: { input: Date; output: Date }
18
15
  Json: { input: unknown; output: unknown }
19
16
  PrimaryKey: { input: string | number; output: string | number }
20
- Schema: { input: any; output: any }
17
+ Schema: { input: unknown; output: unknown }
21
18
  }
22
19
 
23
20
  export type ContentMigration = {
@@ -64,8 +61,8 @@ export type Event = {
64
61
  readonly id: Scalars['String']['output']
65
62
  readonly identityDescription: Scalars['String']['output']
66
63
  readonly identityId: Scalars['String']['output']
67
- readonly primaryKey: ReadonlyArray<Scalars['PrimaryKey']['output']>
68
- readonly tableName: Scalars['String']['output']
64
+ readonly primaryKey?: Maybe<ReadonlyArray<Scalars['PrimaryKey']['output']>>
65
+ readonly tableName?: Maybe<Scalars['String']['output']>
69
66
  readonly transactionId: Scalars['String']['output']
70
67
  readonly type: EventType
71
68
  }
@@ -78,6 +75,7 @@ export type EventFilterRow = {
78
75
  export enum EventType {
79
76
  Create = 'CREATE',
80
77
  Delete = 'DELETE',
78
+ Truncate = 'TRUNCATE',
81
79
  Update = 'UPDATE',
82
80
  }
83
81
 
@@ -137,6 +135,7 @@ export enum MigrateErrorCode {
137
135
  InvalidSchema = 'INVALID_SCHEMA',
138
136
  MigrationFailed = 'MIGRATION_FAILED',
139
137
  MustFollowLatest = 'MUST_FOLLOW_LATEST',
138
+ ProjectNotEmpty = 'PROJECT_NOT_EMPTY',
140
139
  }
141
140
 
142
141
  export type MigrateResponse = {
@@ -221,6 +220,12 @@ export type Mutation = {
221
220
  readonly __typename?: 'Mutation'
222
221
  readonly forceMigrate: MigrateResponse
223
222
  readonly migrate: MigrateResponse
223
+ /**
224
+ * Bootstraps an empty project from a snapshot: applies the collapsed schema in a
225
+ * single step and records the covered migrations as executed without replaying them.
226
+ * Refused (PROJECT_NOT_EMPTY) when any migration has already been executed.
227
+ */
228
+ readonly migrateFromSnapshot: MigrateResponse
224
229
  readonly migrationDelete: MigrationDeleteResponse
225
230
  readonly migrationModify: MigrationModifyResponse
226
231
  readonly truncate: TruncateResponse
@@ -228,10 +233,17 @@ export type Mutation = {
228
233
 
229
234
  export type MutationForceMigrateArgs = {
230
235
  migrations: ReadonlyArray<Migration>
236
+ schemaState?: InputMaybe<SchemaStateInput>
231
237
  }
232
238
 
233
239
  export type MutationMigrateArgs = {
234
240
  migrations: ReadonlyArray<Migration>
241
+ schemaState?: InputMaybe<SchemaStateInput>
242
+ }
243
+
244
+ export type MutationMigrateFromSnapshotArgs = {
245
+ schemaState?: InputMaybe<SchemaStateInput>
246
+ snapshot: SnapshotInput
235
247
  }
236
248
 
237
249
  export type MutationMigrationDeleteArgs = {
@@ -265,6 +277,21 @@ export type SchemaMigration = {
265
277
  readonly skippedErrors?: InputMaybe<ReadonlyArray<MigrationSkippedError>>
266
278
  }
267
279
 
280
+ export type SchemaStateInput = {
281
+ readonly acl: Scalars['Json']['input']
282
+ readonly actions: Scalars['Json']['input']
283
+ readonly settings: Scalars['Json']['input']
284
+ readonly validation: Scalars['Json']['input']
285
+ }
286
+
287
+ export type SnapshotInput = {
288
+ /** Migrations subsumed by the snapshot, recorded as executed without running their SQL. */
289
+ readonly covers: ReadonlyArray<Migration>
290
+ /** Collapsed schema (empty -> target) applied once to every stage. */
291
+ readonly formatVersion: Scalars['Int']['input']
292
+ readonly modifications: ReadonlyArray<Scalars['Json']['input']>
293
+ }
294
+
268
295
  export type Stage = {
269
296
  readonly __typename?: 'Stage'
270
297
  readonly id: Scalars['String']['output']
@@ -272,6 +299,20 @@ export type Stage = {
272
299
  readonly slug: Scalars['String']['output']
273
300
  }
274
301
 
302
+ export type TruncateEvent = Event & {
303
+ readonly __typename?: 'TruncateEvent'
304
+ readonly appliedAt: Scalars['DateTime']['output']
305
+ readonly createdAt: Scalars['DateTime']['output']
306
+ readonly description: Scalars['String']['output']
307
+ readonly id: Scalars['String']['output']
308
+ readonly identityDescription: Scalars['String']['output']
309
+ readonly identityId: Scalars['String']['output']
310
+ readonly primaryKey?: Maybe<ReadonlyArray<Scalars['PrimaryKey']['output']>>
311
+ readonly tableName?: Maybe<Scalars['String']['output']>
312
+ readonly transactionId: Scalars['String']['output']
313
+ readonly type: EventType
314
+ }
315
+
275
316
  export type TruncateResponse = {
276
317
  readonly __typename?: 'TruncateResponse'
277
318
  readonly ok: Scalars['Boolean']['output']
@@ -298,7 +339,7 @@ export type ResolverTypeWrapper<T> = Promise<T> | T
298
339
  export type ResolverWithResolve<TResult, TParent, TContext, TArgs> = {
299
340
  resolve: ResolverFn<TResult, TParent, TContext, TArgs>
300
341
  }
301
- export type Resolver<TResult, TParent = {}, TContext = {}, TArgs = {}> =
342
+ export type Resolver<TResult, TParent = Record<PropertyKey, never>, TContext = Record<PropertyKey, never>, TArgs = Record<PropertyKey, never>> =
302
343
  | ResolverFn<TResult, TParent, TContext, TArgs>
303
344
  | ResolverWithResolve<TResult, TParent, TContext, TArgs>
304
345
 
@@ -337,21 +378,36 @@ export type SubscriptionObject<TResult, TKey extends string, TParent, TContext,
337
378
  | SubscriptionSubscriberObject<TResult, TKey, TParent, TContext, TArgs>
338
379
  | SubscriptionResolverObject<TResult, TParent, TContext, TArgs>
339
380
 
340
- export type SubscriptionResolver<TResult, TKey extends string, TParent = {}, TContext = {}, TArgs = {}> =
381
+ export type SubscriptionResolver<
382
+ TResult,
383
+ TKey extends string,
384
+ TParent = Record<PropertyKey, never>,
385
+ TContext = Record<PropertyKey, never>,
386
+ TArgs = Record<PropertyKey, never>,
387
+ > =
341
388
  | ((...args: any[]) => SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>)
342
389
  | SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>
343
390
 
344
- export type TypeResolveFn<TTypes, TParent = {}, TContext = {}> = (
391
+ export type TypeResolveFn<TTypes, TParent = Record<PropertyKey, never>, TContext = Record<PropertyKey, never>> = (
345
392
  parent: TParent,
346
393
  context: TContext,
347
394
  info: GraphQLResolveInfo,
348
395
  ) => Maybe<TTypes> | Promise<Maybe<TTypes>>
349
396
 
350
- export type IsTypeOfResolverFn<T = {}, TContext = {}> = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise<boolean>
397
+ export type IsTypeOfResolverFn<T = Record<PropertyKey, never>, TContext = Record<PropertyKey, never>> = (
398
+ obj: T,
399
+ context: TContext,
400
+ info: GraphQLResolveInfo,
401
+ ) => boolean | Promise<boolean>
351
402
 
352
403
  export type NextResolverFn<T> = () => Promise<T>
353
404
 
354
- export type DirectiveResolverFn<TResult = {}, TParent = {}, TContext = {}, TArgs = {}> = (
405
+ export type DirectiveResolverFn<
406
+ TResult = Record<PropertyKey, never>,
407
+ TParent = Record<PropertyKey, never>,
408
+ TContext = Record<PropertyKey, never>,
409
+ TArgs = Record<PropertyKey, never>,
410
+ > = (
355
411
  next: NextResolverFn<TResult>,
356
412
  parent: TParent,
357
413
  args: TArgs,
@@ -361,7 +417,11 @@ export type DirectiveResolverFn<TResult = {}, TParent = {}, TContext = {}, TArgs
361
417
 
362
418
  /** Mapping of interface types */
363
419
  export type ResolversInterfaceTypes<_RefType extends Record<string, unknown>> = {
364
- Event: (CreateEvent) | (DeleteEvent) | (UpdateEvent)
420
+ Event:
421
+ | (CreateEvent)
422
+ | (DeleteEvent)
423
+ | (TruncateEvent)
424
+ | (UpdateEvent)
365
425
  }
366
426
 
367
427
  /** Mapping between all available schema types and the resolvers types */
@@ -395,13 +455,16 @@ export type ResolversTypes = {
395
455
  MigrationModifyResponse: ResolverTypeWrapper<MigrationModifyResponse>
396
456
  MigrationSkippedError: MigrationSkippedError
397
457
  MigrationType: MigrationType
398
- Mutation: ResolverTypeWrapper<{}>
458
+ Mutation: ResolverTypeWrapper<Record<PropertyKey, never>>
399
459
  PrimaryKey: ResolverTypeWrapper<Scalars['PrimaryKey']['output']>
400
- Query: ResolverTypeWrapper<{}>
460
+ Query: ResolverTypeWrapper<Record<PropertyKey, never>>
401
461
  Schema: ResolverTypeWrapper<Scalars['Schema']['output']>
402
462
  SchemaMigration: SchemaMigration
463
+ SchemaStateInput: SchemaStateInput
464
+ SnapshotInput: SnapshotInput
403
465
  Stage: ResolverTypeWrapper<Stage>
404
466
  String: ResolverTypeWrapper<Scalars['String']['output']>
467
+ TruncateEvent: ResolverTypeWrapper<TruncateEvent>
405
468
  TruncateResponse: ResolverTypeWrapper<TruncateResponse>
406
469
  UpdateEvent: ResolverTypeWrapper<UpdateEvent>
407
470
  }
@@ -431,13 +494,16 @@ export type ResolversParentTypes = {
431
494
  MigrationModifyError: MigrationModifyError
432
495
  MigrationModifyResponse: MigrationModifyResponse
433
496
  MigrationSkippedError: MigrationSkippedError
434
- Mutation: {}
497
+ Mutation: Record<PropertyKey, never>
435
498
  PrimaryKey: Scalars['PrimaryKey']['output']
436
- Query: {}
499
+ Query: Record<PropertyKey, never>
437
500
  Schema: Scalars['Schema']['output']
438
501
  SchemaMigration: SchemaMigration
502
+ SchemaStateInput: SchemaStateInput
503
+ SnapshotInput: SnapshotInput
439
504
  Stage: Stage
440
505
  String: Scalars['String']['output']
506
+ TruncateEvent: TruncateEvent
441
507
  TruncateResponse: TruncateResponse
442
508
  UpdateEvent: UpdateEvent
443
509
  }
@@ -477,17 +543,7 @@ export type DeleteEventResolvers<ContextType = any, ParentType extends Resolvers
477
543
  }
478
544
 
479
545
  export type EventResolvers<ContextType = any, ParentType extends ResolversParentTypes['Event'] = ResolversParentTypes['Event']> = {
480
- __resolveType: TypeResolveFn<'CreateEvent' | 'DeleteEvent' | 'UpdateEvent', ParentType, ContextType>
481
- appliedAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>
482
- createdAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>
483
- description?: Resolver<ResolversTypes['String'], ParentType, ContextType>
484
- id?: Resolver<ResolversTypes['String'], ParentType, ContextType>
485
- identityDescription?: Resolver<ResolversTypes['String'], ParentType, ContextType>
486
- identityId?: Resolver<ResolversTypes['String'], ParentType, ContextType>
487
- primaryKey?: Resolver<ReadonlyArray<ResolversTypes['PrimaryKey']>, ParentType, ContextType>
488
- tableName?: Resolver<ResolversTypes['String'], ParentType, ContextType>
489
- transactionId?: Resolver<ResolversTypes['String'], ParentType, ContextType>
490
- type?: Resolver<ResolversTypes['EventType'], ParentType, ContextType>
546
+ __resolveType: TypeResolveFn<'CreateEvent' | 'DeleteEvent' | 'TruncateEvent' | 'UpdateEvent', ParentType, ContextType>
491
547
  }
492
548
 
493
549
  export type ExecutedMigrationResolvers<
@@ -500,7 +556,6 @@ export type ExecutedMigrationResolvers<
500
556
  modifications?: Resolver<Maybe<ReadonlyArray<ResolversTypes['Json']>>, ParentType, ContextType>
501
557
  name?: Resolver<ResolversTypes['String'], ParentType, ContextType>
502
558
  version?: Resolver<ResolversTypes['String'], ParentType, ContextType>
503
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
504
559
  }
505
560
 
506
561
  export interface JsonScalarConfig extends GraphQLScalarTypeConfig<ResolversTypes['Json'], any> {
@@ -512,7 +567,6 @@ export type MigrateErrorResolvers<ContextType = any, ParentType extends Resolver
512
567
  code?: Resolver<ResolversTypes['MigrateErrorCode'], ParentType, ContextType>
513
568
  developerMessage?: Resolver<ResolversTypes['String'], ParentType, ContextType>
514
569
  migration?: Resolver<ResolversTypes['String'], ParentType, ContextType>
515
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
516
570
  }
517
571
 
518
572
  export type MigrateResponseResolvers<
@@ -523,7 +577,6 @@ export type MigrateResponseResolvers<
523
577
  errors?: Resolver<ReadonlyArray<ResolversTypes['MigrateError']>, ParentType, ContextType>
524
578
  ok?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>
525
579
  result?: Resolver<Maybe<ResolversTypes['MigrateResult']>, ParentType, ContextType>
526
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
527
580
  }
528
581
 
529
582
  export type MigrateResultResolvers<
@@ -531,7 +584,6 @@ export type MigrateResultResolvers<
531
584
  ParentType extends ResolversParentTypes['MigrateResult'] = ResolversParentTypes['MigrateResult'],
532
585
  > = {
533
586
  message?: Resolver<ResolversTypes['String'], ParentType, ContextType>
534
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
535
587
  }
536
588
 
537
589
  export type MigrationDeleteErrorResolvers<
@@ -540,7 +592,6 @@ export type MigrationDeleteErrorResolvers<
540
592
  > = {
541
593
  code?: Resolver<ResolversTypes['MigrationDeleteErrorCode'], ParentType, ContextType>
542
594
  developerMessage?: Resolver<ResolversTypes['String'], ParentType, ContextType>
543
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
544
595
  }
545
596
 
546
597
  export type MigrationDeleteResponseResolvers<
@@ -549,7 +600,6 @@ export type MigrationDeleteResponseResolvers<
549
600
  > = {
550
601
  error?: Resolver<Maybe<ResolversTypes['MigrationDeleteError']>, ParentType, ContextType>
551
602
  ok?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>
552
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
553
603
  }
554
604
 
555
605
  export type MigrationModifyErrorResolvers<
@@ -558,7 +608,6 @@ export type MigrationModifyErrorResolvers<
558
608
  > = {
559
609
  code?: Resolver<ResolversTypes['MigrationModifyErrorCode'], ParentType, ContextType>
560
610
  developerMessage?: Resolver<ResolversTypes['String'], ParentType, ContextType>
561
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
562
611
  }
563
612
 
564
613
  export type MigrationModifyResponseResolvers<
@@ -567,12 +616,17 @@ export type MigrationModifyResponseResolvers<
567
616
  > = {
568
617
  error?: Resolver<Maybe<ResolversTypes['MigrationModifyError']>, ParentType, ContextType>
569
618
  ok?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>
570
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
571
619
  }
572
620
 
573
621
  export type MutationResolvers<ContextType = any, ParentType extends ResolversParentTypes['Mutation'] = ResolversParentTypes['Mutation']> = {
574
622
  forceMigrate?: Resolver<ResolversTypes['MigrateResponse'], ParentType, ContextType, RequireFields<MutationForceMigrateArgs, 'migrations'>>
575
623
  migrate?: Resolver<ResolversTypes['MigrateResponse'], ParentType, ContextType, RequireFields<MutationMigrateArgs, 'migrations'>>
624
+ migrateFromSnapshot?: Resolver<
625
+ ResolversTypes['MigrateResponse'],
626
+ ParentType,
627
+ ContextType,
628
+ RequireFields<MutationMigrateFromSnapshotArgs, 'snapshot'>
629
+ >
576
630
  migrationDelete?: Resolver<
577
631
  ResolversTypes['MigrationDeleteResponse'],
578
632
  ParentType,
@@ -607,6 +661,22 @@ export type StageResolvers<ContextType = any, ParentType extends ResolversParent
607
661
  id?: Resolver<ResolversTypes['String'], ParentType, ContextType>
608
662
  name?: Resolver<ResolversTypes['String'], ParentType, ContextType>
609
663
  slug?: Resolver<ResolversTypes['String'], ParentType, ContextType>
664
+ }
665
+
666
+ export type TruncateEventResolvers<
667
+ ContextType = any,
668
+ ParentType extends ResolversParentTypes['TruncateEvent'] = ResolversParentTypes['TruncateEvent'],
669
+ > = {
670
+ appliedAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>
671
+ createdAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>
672
+ description?: Resolver<ResolversTypes['String'], ParentType, ContextType>
673
+ id?: Resolver<ResolversTypes['String'], ParentType, ContextType>
674
+ identityDescription?: Resolver<ResolversTypes['String'], ParentType, ContextType>
675
+ identityId?: Resolver<ResolversTypes['String'], ParentType, ContextType>
676
+ primaryKey?: Resolver<Maybe<ReadonlyArray<ResolversTypes['PrimaryKey']>>, ParentType, ContextType>
677
+ tableName?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>
678
+ transactionId?: Resolver<ResolversTypes['String'], ParentType, ContextType>
679
+ type?: Resolver<ResolversTypes['EventType'], ParentType, ContextType>
610
680
  __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
611
681
  }
612
682
 
@@ -615,7 +685,6 @@ export type TruncateResponseResolvers<
615
685
  ParentType extends ResolversParentTypes['TruncateResponse'] = ResolversParentTypes['TruncateResponse'],
616
686
  > = {
617
687
  ok?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>
618
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
619
688
  }
620
689
 
621
690
  export type UpdateEventResolvers<ContextType = any, ParentType extends ResolversParentTypes['UpdateEvent'] = ResolversParentTypes['UpdateEvent']> = {
@@ -653,6 +722,7 @@ export type Resolvers<ContextType = any> = {
653
722
  Query?: QueryResolvers<ContextType>
654
723
  Schema?: GraphQLScalarType
655
724
  Stage?: StageResolvers<ContextType>
725
+ TruncateEvent?: TruncateEventResolvers<ContextType>
656
726
  TruncateResponse?: TruncateResponseResolvers<ContextType>
657
727
  UpdateEvent?: UpdateEventResolvers<ContextType>
658
728
  }
@@ -1,4 +1,4 @@
1
- import { waitForTick } from './tick'
1
+ import { waitForTick } from './tick.js'
2
2
 
3
3
  export type ItemLoader<Arg, Item> = (args: Arg) => Promise<Item>
4
4
 
@@ -1,7 +1,7 @@
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'
@@ -1,3 +1,3 @@
1
- import { UuidProvider } from './uuid'
1
+ import { UuidProvider } from './uuid.js'
2
2
 
3
3
  export type Providers = UuidProvider
@@ -1,5 +1,5 @@
1
1
  import { emptyDatabaseMetadata } from '@contember/database'
2
- import migration from '../../../src/migrations/2020-05-06-150000-composed-primary'
2
+ import migration from '../../../src/migrations/2020-05-06-150000-composed-primary.js'
3
3
  import { createMigrationBuilder } from '@contember/database-migrations'
4
4
  import { expect, test } from 'bun:test'
5
5
  import { c, createSchema } from '@contember/schema-definition'
@@ -1,4 +1,4 @@
1
- import migration from '../../../src/migrations/2020-06-01-103000-event-trigger-perf'
1
+ import migration from '../../../src/migrations/2020-06-01-103000-event-trigger-perf.js'
2
2
  import { createMigrationBuilder } from '@contember/database-migrations'
3
3
  import { expect, test } from 'bun:test'
4
4
  import { emptyDatabaseMetadata } from '@contember/database'
@@ -1,4 +1,4 @@
1
- import migration from '../../../src/migrations/2022-10-03-110000-table-on-delete'
1
+ import migration from '../../../src/migrations/2022-10-03-110000-table-on-delete.js'
2
2
  import { createMigrationBuilder } from '@contember/database-migrations'
3
3
  import { expect, test } from 'bun:test'
4
4
  import { SchemaBuilder } from '@contember/schema-definition'
@@ -1,4 +1,4 @@
1
- import migration from '../../../src/migrations/2023-09-11-174000-fix-on-delete'
1
+ import migration from '../../../src/migrations/2023-09-11-174000-fix-on-delete.js'
2
2
  import { createMigrationBuilder } from '@contember/database-migrations'
3
3
  import { expect, test } from 'bun:test'
4
4
  import { SchemaBuilder } from '@contember/schema-definition'
@@ -1,4 +1,4 @@
1
- import migration from '../../../src/migrations/2023-10-19-173000-fix-unique'
1
+ import migration from '../../../src/migrations/2023-10-19-173000-fix-unique.js'
2
2
  import { createMigrationBuilder } from '@contember/database-migrations'
3
3
  import { expect, test } from 'bun:test'
4
4
  import { c, createSchema } from '@contember/schema-definition'
@@ -1,4 +1,4 @@
1
- import migration from '../../../src/migrations/2025-03-14-110000-fix-missing-index'
1
+ import migration from '../../../src/migrations/2025-03-14-110000-fix-missing-index.js'
2
2
  import { createMigrationBuilder } from '@contember/database-migrations'
3
3
  import { expect, test } from 'bun:test'
4
4
  import { c, createSchema } from '@contember/schema-definition'
@@ -1,7 +1,7 @@
1
1
  import { expect, test } from 'bun:test'
2
- import { EventsQuery } from '../../../src/model'
3
- import { testUuid } from '../../src/uuid'
4
- import { EventsOrder } from '../../../src/schema'
2
+ import { EventsQuery } from '../../../src/model/index.js'
3
+ import { testUuid } from '../../src/uuid.js'
4
+ import { EventsOrder } from '../../../src/schema/index.js'
5
5
 
6
6
  test('events query', async () => {
7
7
  const query = new EventsQuery(
@@ -0,0 +1,48 @@
1
+ import { expect, test } from 'bun:test'
2
+ import { InvalidSchemaError, MigrationError, ProjectMigrator } from '../../../src/model/index.js'
3
+ import { SchemaStateInput } from '../../../src/model/migrations/MigrationInput.js'
4
+ import { emptySchema } from '@contember/schema-utils'
5
+
6
+ // The state-only path never touches the database (no migrations to apply, no schema row to save on a
7
+ // fresh project), so the collaborators that would hit the DB can be stubbed.
8
+ const buildMigrator = () =>
9
+ new ProjectMigrator(
10
+ {} as any, // migrationDescriber — unused without schema migrations
11
+ { fetch: async () => ({ schema: emptySchema, meta: {} }) } as any, // SchemaProvider: fresh project, no schema row
12
+ { getMigrations: async () => [] } as any, // ExecutedMigrationsResolver: nothing executed
13
+ { create: () => ({ getMetadata: async () => ({}), invalidate: () => {} }) } as any,
14
+ {} as any, // contentQueryExecutor — unused
15
+ )
16
+
17
+ const migrate = (schemaState: SchemaStateInput) =>
18
+ buildMigrator().migrate({
19
+ db: {} as any,
20
+ project: { slug: 'test', systemSchema: 'system' },
21
+ identity: { id: '00000000-0000-0000-0000-000000000000' },
22
+ stages: [],
23
+ migrationsToExecute: [],
24
+ schemaState,
25
+ options: {},
26
+ })
27
+
28
+ const stateWith = (acl: unknown): SchemaStateInput => ({
29
+ acl,
30
+ validation: emptySchema.validation,
31
+ actions: emptySchema.actions,
32
+ settings: emptySchema.settings,
33
+ })
34
+
35
+ test('state-only migrate on a fresh project (no migrations) is a clean no-op, not a crash', async () => {
36
+ // Regression: previously the `!id` guard threw ImplementationException before the intended
37
+ // fresh-project early return — and ImplementationException is not a MigrationError, so it leaked.
38
+ const validAcl = { roles: { admin: { variables: {}, stages: '*', entities: {} } } }
39
+ await expect(migrate(stateWith(validAcl))).resolves.toBeUndefined()
40
+ })
41
+
42
+ test('invalid overlaid schema state is rejected as a MigrationError (clean INVALID_SCHEMA)', async () => {
43
+ // acl referencing an entity that does not exist in the model
44
+ const invalidAcl = { roles: { admin: { variables: {}, stages: '*', entities: { Unknown: { predicates: {}, operations: {} } } } } }
45
+ const err = await migrate(stateWith(invalidAcl)).then(() => null, e => e)
46
+ expect(err).toBeInstanceOf(InvalidSchemaError)
47
+ expect(err).toBeInstanceOf(MigrationError)
48
+ })
@@ -0,0 +1,54 @@
1
+ import { expect, test } from 'bun:test'
2
+ import { TruncateEventsCommand } from '../../../src/model/index.js'
3
+ import { testUuid } from '../../src/uuid.js'
4
+
5
+ const createMockDb = () => {
6
+ const queries: { sql: string; params: any[] }[] = []
7
+ return {
8
+ queries,
9
+ db: {
10
+ schema: 'public',
11
+ query: async (sql: string, params: any[] = []) => {
12
+ queries.push({ sql, params })
13
+ return { rows: [], rowCount: 0 }
14
+ },
15
+ } as any,
16
+ }
17
+ }
18
+
19
+ test('truncate events command clears the event log and records a truncate event', async () => {
20
+ const { db, queries } = createMockDb()
21
+ let uuidCounter = 100
22
+ const providers = { uuid: () => testUuid(uuidCounter++) }
23
+
24
+ const command = new TruncateEventsCommand(testUuid(1), [testUuid(2), testUuid(3)])
25
+ await command.execute({ db, providers, bus: {} as any })
26
+
27
+ // 1x delete + 1x insert into event_data + 2x insert into stage_transaction
28
+ expect(queries.length).toBe(4)
29
+
30
+ const [del, insertEvent, stage1, stage2] = queries
31
+
32
+ expect(del.sql).toContain('delete from')
33
+ expect(del.sql).toContain('"event_data"')
34
+
35
+ expect(insertEvent.sql).toContain('insert into')
36
+ expect(insertEvent.sql).toContain('"event_data"')
37
+ expect(insertEvent.sql).toContain('clock_timestamp()')
38
+ expect(insertEvent.sql).toContain('MAX("id")')
39
+ expect(insertEvent.sql).toContain('"schema_migration"')
40
+ // type 'truncate' and identity id are passed as bound params
41
+ expect(insertEvent.params).toContain('truncate')
42
+ expect(insertEvent.params).toContain(testUuid(1))
43
+
44
+ for (const stageInsert of [stage1, stage2]) {
45
+ expect(stageInsert.sql).toContain('insert into')
46
+ expect(stageInsert.sql).toContain('"stage_transaction"')
47
+ expect(stageInsert.sql).toContain('on conflict')
48
+ expect(stageInsert.sql).toContain('do nothing')
49
+ }
50
+ // both stages linked to the same (single) truncate transaction
51
+ const stageIds = [...stage1.params, ...stage2.params]
52
+ expect(stageIds).toContain(testUuid(2))
53
+ expect(stageIds).toContain(testUuid(3))
54
+ })