@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 +1 @@
1
- {"version":3,"file":"ResolverFactory.js","sources":["../../../../../packages/engine-system-api/src/resolvers/ResolverFactory.ts"],"sourcesContent":["import { EventsQueryResolver, ExecutedMigrationsQueryResolver, StagesQueryResolver } from './query'\nimport { Event, EventType, Resolvers } from '../schema'\nimport { assertNever } from '../utils'\nimport { MigrateMutationResolver, MigrationAlterMutationResolver, TruncateMutationResolver } from './mutation'\nimport { createJsonLikeType, DateTimeType, JSONType } from '@contember/graphql-utils'\nimport { EventOldValuesResolver } from './types'\nimport { GraphQLError, GraphQLScalarType, Kind } from 'graphql'\nimport { SchemaQueryResolver } from './query/SchemaQueryResolver'\n\nexport class ResolverFactory {\n\tpublic constructor(\n\t\tprivate readonly stagesQueryResolver: StagesQueryResolver,\n\t\tprivate readonly executedMigrationsQueryResolver: ExecutedMigrationsQueryResolver,\n\t\tprivate readonly migrateMutationResolver: MigrateMutationResolver,\n\t\tprivate readonly truncateMutationResolver: TruncateMutationResolver,\n\t\tprivate readonly migrationAlterMutationResolver: MigrationAlterMutationResolver,\n\t\tprivate readonly eventsQueryResolver: EventsQueryResolver,\n\t\tprivate readonly eventOldValuesResolver: EventOldValuesResolver,\n\t\tprivate readonly schemaQueryResolver: SchemaQueryResolver,\n\t) {}\n\n\tcreate(debugMode: boolean): Resolvers {\n\t\tconst resolvers: Resolvers & Required<Pick<Resolvers, 'Mutation'>> = {\n\t\t\tDateTime: DateTimeType,\n\t\t\tJson: JSONType,\n\t\t\tPrimaryKey: PrimaryKeyType,\n\t\t\tSchema: SchemaType,\n\t\t\tEvent: {\n\t\t\t\t__resolveType: (obj: Event) => {\n\t\t\t\t\tswitch (obj.type) {\n\t\t\t\t\t\tcase EventType.Create:\n\t\t\t\t\t\t\treturn 'CreateEvent'\n\t\t\t\t\t\tcase EventType.Update:\n\t\t\t\t\t\t\treturn 'UpdateEvent'\n\t\t\t\t\t\tcase EventType.Delete:\n\t\t\t\t\t\t\treturn 'DeleteEvent'\n\t\t\t\t\t\tcase null:\n\t\t\t\t\t\tcase undefined:\n\t\t\t\t\t\t\treturn null\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn assertNever(obj.type)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t\tQuery: {\n\t\t\t\tstages: this.stagesQueryResolver.stages.bind(this.stagesQueryResolver),\n\t\t\t\texecutedMigrations: this.executedMigrationsQueryResolver.executedMigrations.bind(this.executedMigrationsQueryResolver),\n\t\t\t\tevents: this.eventsQueryResolver.events.bind(this.eventsQueryResolver),\n\t\t\t\tschema: this.schemaQueryResolver.schema.bind(this.schemaQueryResolver),\n\t\t\t},\n\t\t\tMutation: {\n\t\t\t\tmigrate: this.migrateMutationResolver.migrate.bind(this.migrateMutationResolver),\n\t\t\t},\n\t\t\tDeleteEvent: {\n\t\t\t\toldValues: this.eventOldValuesResolver.oldValues.bind(this.eventOldValuesResolver),\n\t\t\t},\n\t\t\tUpdateEvent: {\n\t\t\t\toldValues: this.eventOldValuesResolver.oldValues.bind(this.eventOldValuesResolver),\n\t\t\t},\n\t\t}\n\t\tif (debugMode) {\n\t\t\tresolvers.Mutation.truncate = this.truncateMutationResolver.truncate.bind(this.truncateMutationResolver)\n\t\t\tresolvers.Mutation.migrationDelete = this.migrationAlterMutationResolver.migrationDelete.bind(this.migrationAlterMutationResolver)\n\t\t\tresolvers.Mutation.migrationModify = this.migrationAlterMutationResolver.migrationModify.bind(this.migrationAlterMutationResolver)\n\t\t\tresolvers.Mutation.forceMigrate = this.migrateMutationResolver.migrateForce.bind(this.migrateMutationResolver)\n\t\t}\n\t\treturn resolvers\n\t}\n}\n\nconst parseValue = (value: any) => {\n\tif ((typeof value === 'string' && value !== '') || typeof value === 'number' && Number.isFinite(value) && Math.floor(value) === value) {\n\t\treturn value\n\t}\n\tthrow new GraphQLError('PrimaryKey cannot represent value: ' + JSON.stringify(value))\n}\n\nconst SchemaType = createJsonLikeType('Schema', 'Content schema custom scalar type')\n\nexport const PrimaryKeyType = new GraphQLScalarType({\n\tname: 'PrimaryKey',\n\tdescription: 'PrimaryKey custom scalar type. Can be Int or String',\n\tserialize: parseValue,\n\tparseValue: parseValue,\n\tparseLiteral(ast) {\n\t\tif (ast.kind === Kind.STRING) {\n\t\t\treturn ast.value\n\t\t}\n\t\tif (ast.kind === Kind.INT) {\n\t\t\treturn Number.parseInt(ast.value, 10)\n\t\t}\n\t\treturn null\n\t},\n})\n"],"names":[],"mappings":";;;;;;AASO,MAAM,gBAAgB;AAAA,EACrB,YACW,qBACA,iCACA,yBACA,0BACA,gCACA,qBACA,wBACA,qBAChB;AARgB,SAAA,sBAAA;AACA,SAAA,kCAAA;AACA,SAAA,0BAAA;AACA,SAAA,2BAAA;AACA,SAAA,iCAAA;AACA,SAAA,sBAAA;AACA,SAAA,yBAAA;AACA,SAAA,sBAAA;AAAA,EACf;AAAA,EAEH,OAAO,WAA+B;AACrC,UAAM,YAA+D;AAAA,MACpE,UAAU;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,OAAO;AAAA,QACN,eAAe,CAAC,QAAe;AAC9B,kBAAQ,IAAI,MAAA;AAAA,YACX,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK;AAAA,YACL,KAAK;AACJ,qBAAO;AAAA,YACR;AACC,qBAAO,YAAY,IAAI,IAAI;AAAA,UAAA;AAAA,QAE9B;AAAA,MAAA;AAAA,MAED,OAAO;AAAA,QACN,QAAQ,KAAK,oBAAoB,OAAO,KAAK,KAAK,mBAAmB;AAAA,QACrE,oBAAoB,KAAK,gCAAgC,mBAAmB,KAAK,KAAK,+BAA+B;AAAA,QACrH,QAAQ,KAAK,oBAAoB,OAAO,KAAK,KAAK,mBAAmB;AAAA,QACrE,QAAQ,KAAK,oBAAoB,OAAO,KAAK,KAAK,mBAAmB;AAAA,MAAA;AAAA,MAEtE,UAAU;AAAA,QACT,SAAS,KAAK,wBAAwB,QAAQ,KAAK,KAAK,uBAAuB;AAAA,MAAA;AAAA,MAEhF,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAAA;AAAA,MAElF,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAAA;AAAA,IAClF;AAED,QAAI,WAAW;AACd,gBAAU,SAAS,WAAW,KAAK,yBAAyB,SAAS,KAAK,KAAK,wBAAwB;AACvG,gBAAU,SAAS,kBAAkB,KAAK,+BAA+B,gBAAgB,KAAK,KAAK,8BAA8B;AACjI,gBAAU,SAAS,kBAAkB,KAAK,+BAA+B,gBAAgB,KAAK,KAAK,8BAA8B;AACjI,gBAAU,SAAS,eAAe,KAAK,wBAAwB,aAAa,KAAK,KAAK,uBAAuB;AAAA,IAC9G;AACA,WAAO;AAAA,EACR;AACD;AAEA,MAAM,aAAa,CAAC,UAAe;AAClC,MAAK,OAAO,UAAU,YAAY,UAAU,MAAO,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,OAAO;AACtI,WAAO;AAAA,EACR;AACA,QAAM,IAAI,aAAa,wCAAwC,KAAK,UAAU,KAAK,CAAC;AACrF;AAEA,MAAM,aAAa,mBAAmB,UAAU,mCAAmC;AAE5E,MAAM,iBAAiB,IAAI,kBAAkB;AAAA,EACnD,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,aAAa,KAAK;AACjB,QAAI,IAAI,SAAS,KAAK,QAAQ;AAC7B,aAAO,IAAI;AAAA,IACZ;AACA,QAAI,IAAI,SAAS,KAAK,KAAK;AAC1B,aAAO,OAAO,SAAS,IAAI,OAAO,EAAE;AAAA,IACrC;AACA,WAAO;AAAA,EACR;AACD,CAAC;"}
1
+ {"version":3,"file":"ResolverFactory.js","sources":["../../../../../packages/engine-system-api/src/resolvers/ResolverFactory.ts"],"sourcesContent":["import { EventsQueryResolver, ExecutedMigrationsQueryResolver, StagesQueryResolver } from './query/index.js'\nimport { Event, EventType, Resolvers } from '../schema/index.js'\nimport { assertNever } from '../utils/index.js'\nimport { MigrateMutationResolver, MigrationAlterMutationResolver, TruncateMutationResolver } from './mutation/index.js'\nimport { createJsonLikeType, DateTimeType, JSONType } from '@contember/graphql-utils'\nimport { EventOldValuesResolver } from './types/index.js'\nimport { GraphQLError, GraphQLScalarType, Kind } from 'graphql'\nimport { SchemaQueryResolver } from './query/SchemaQueryResolver.js'\n\nexport class ResolverFactory {\n\tpublic constructor(\n\t\tprivate readonly stagesQueryResolver: StagesQueryResolver,\n\t\tprivate readonly executedMigrationsQueryResolver: ExecutedMigrationsQueryResolver,\n\t\tprivate readonly migrateMutationResolver: MigrateMutationResolver,\n\t\tprivate readonly truncateMutationResolver: TruncateMutationResolver,\n\t\tprivate readonly migrationAlterMutationResolver: MigrationAlterMutationResolver,\n\t\tprivate readonly eventsQueryResolver: EventsQueryResolver,\n\t\tprivate readonly eventOldValuesResolver: EventOldValuesResolver,\n\t\tprivate readonly schemaQueryResolver: SchemaQueryResolver,\n\t) {}\n\n\tcreate(debugMode: boolean): Resolvers {\n\t\tconst resolvers: Resolvers & Required<Pick<Resolvers, 'Mutation'>> = {\n\t\t\tDateTime: DateTimeType,\n\t\t\tJson: JSONType,\n\t\t\tPrimaryKey: PrimaryKeyType,\n\t\t\tSchema: SchemaType,\n\t\t\tEvent: {\n\t\t\t\t__resolveType: (obj: Event) => {\n\t\t\t\t\tswitch (obj.type) {\n\t\t\t\t\t\tcase EventType.Create:\n\t\t\t\t\t\t\treturn 'CreateEvent'\n\t\t\t\t\t\tcase EventType.Update:\n\t\t\t\t\t\t\treturn 'UpdateEvent'\n\t\t\t\t\t\tcase EventType.Delete:\n\t\t\t\t\t\t\treturn 'DeleteEvent'\n\t\t\t\t\t\tcase EventType.Truncate:\n\t\t\t\t\t\t\treturn 'TruncateEvent'\n\t\t\t\t\t\tcase null:\n\t\t\t\t\t\tcase undefined:\n\t\t\t\t\t\t\treturn null\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn assertNever(obj.type)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t\tQuery: {\n\t\t\t\tstages: this.stagesQueryResolver.stages.bind(this.stagesQueryResolver),\n\t\t\t\texecutedMigrations: this.executedMigrationsQueryResolver.executedMigrations.bind(this.executedMigrationsQueryResolver),\n\t\t\t\tevents: this.eventsQueryResolver.events.bind(this.eventsQueryResolver),\n\t\t\t\tschema: this.schemaQueryResolver.schema.bind(this.schemaQueryResolver),\n\t\t\t},\n\t\t\tMutation: {\n\t\t\t\tmigrate: this.migrateMutationResolver.migrate.bind(this.migrateMutationResolver),\n\t\t\t\tmigrateFromSnapshot: this.migrateMutationResolver.migrateFromSnapshot.bind(this.migrateMutationResolver),\n\t\t\t},\n\t\t\tDeleteEvent: {\n\t\t\t\toldValues: this.eventOldValuesResolver.oldValues.bind(this.eventOldValuesResolver),\n\t\t\t},\n\t\t\tUpdateEvent: {\n\t\t\t\toldValues: this.eventOldValuesResolver.oldValues.bind(this.eventOldValuesResolver),\n\t\t\t},\n\t\t}\n\t\tif (debugMode) {\n\t\t\tresolvers.Mutation.truncate = this.truncateMutationResolver.truncate.bind(this.truncateMutationResolver)\n\t\t\tresolvers.Mutation.migrationDelete = this.migrationAlterMutationResolver.migrationDelete.bind(this.migrationAlterMutationResolver)\n\t\t\tresolvers.Mutation.migrationModify = this.migrationAlterMutationResolver.migrationModify.bind(this.migrationAlterMutationResolver)\n\t\t\tresolvers.Mutation.forceMigrate = this.migrateMutationResolver.migrateForce.bind(this.migrateMutationResolver)\n\t\t}\n\t\treturn resolvers\n\t}\n}\n\nconst parseValue = (value: any) => {\n\tif ((typeof value === 'string' && value !== '') || typeof value === 'number' && Number.isFinite(value) && Math.floor(value) === value) {\n\t\treturn value\n\t}\n\tthrow new GraphQLError('PrimaryKey cannot represent value: ' + JSON.stringify(value))\n}\n\nconst SchemaType = createJsonLikeType('Schema', 'Content schema custom scalar type')\n\nexport const PrimaryKeyType = new GraphQLScalarType({\n\tname: 'PrimaryKey',\n\tdescription: 'PrimaryKey custom scalar type. Can be Int or String',\n\tserialize: parseValue,\n\tparseValue: parseValue,\n\tparseLiteral(ast) {\n\t\tif (ast.kind === Kind.STRING) {\n\t\t\treturn ast.value\n\t\t}\n\t\tif (ast.kind === Kind.INT) {\n\t\t\treturn Number.parseInt(ast.value, 10)\n\t\t}\n\t\treturn null\n\t},\n})\n"],"names":[],"mappings":";;;;;;AASO,MAAM,gBAAgB;AAAA,EACrB,YACW,qBACA,iCACA,yBACA,0BACA,gCACA,qBACA,wBACA,qBAChB;AARgB,SAAA,sBAAA;AACA,SAAA,kCAAA;AACA,SAAA,0BAAA;AACA,SAAA,2BAAA;AACA,SAAA,iCAAA;AACA,SAAA,sBAAA;AACA,SAAA,yBAAA;AACA,SAAA,sBAAA;AAAA,EACf;AAAA,EAEH,OAAO,WAA+B;AACrC,UAAM,YAA+D;AAAA,MACpE,UAAU;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,OAAO;AAAA,QACN,eAAe,CAAC,QAAe;AAC9B,kBAAQ,IAAI,MAAA;AAAA,YACX,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK;AAAA,YACL,KAAK;AACJ,qBAAO;AAAA,YACR;AACC,qBAAO,YAAY,IAAI,IAAI;AAAA,UAAA;AAAA,QAE9B;AAAA,MAAA;AAAA,MAED,OAAO;AAAA,QACN,QAAQ,KAAK,oBAAoB,OAAO,KAAK,KAAK,mBAAmB;AAAA,QACrE,oBAAoB,KAAK,gCAAgC,mBAAmB,KAAK,KAAK,+BAA+B;AAAA,QACrH,QAAQ,KAAK,oBAAoB,OAAO,KAAK,KAAK,mBAAmB;AAAA,QACrE,QAAQ,KAAK,oBAAoB,OAAO,KAAK,KAAK,mBAAmB;AAAA,MAAA;AAAA,MAEtE,UAAU;AAAA,QACT,SAAS,KAAK,wBAAwB,QAAQ,KAAK,KAAK,uBAAuB;AAAA,QAC/E,qBAAqB,KAAK,wBAAwB,oBAAoB,KAAK,KAAK,uBAAuB;AAAA,MAAA;AAAA,MAExG,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAAA;AAAA,MAElF,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAAA;AAAA,IAClF;AAED,QAAI,WAAW;AACd,gBAAU,SAAS,WAAW,KAAK,yBAAyB,SAAS,KAAK,KAAK,wBAAwB;AACvG,gBAAU,SAAS,kBAAkB,KAAK,+BAA+B,gBAAgB,KAAK,KAAK,8BAA8B;AACjI,gBAAU,SAAS,kBAAkB,KAAK,+BAA+B,gBAAgB,KAAK,KAAK,8BAA8B;AACjI,gBAAU,SAAS,eAAe,KAAK,wBAAwB,aAAa,KAAK,KAAK,uBAAuB;AAAA,IAC9G;AACA,WAAO;AAAA,EACR;AACD;AAEA,MAAM,aAAa,CAAC,UAAe;AAClC,MAAK,OAAO,UAAU,YAAY,UAAU,MAAO,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,OAAO;AACtI,WAAO;AAAA,EACR;AACA,QAAM,IAAI,aAAa,wCAAwC,KAAK,UAAU,KAAK,CAAC;AACrF;AAEA,MAAM,aAAa,mBAAmB,UAAU,mCAAmC;AAE5E,MAAM,iBAAiB,IAAI,kBAAkB;AAAA,EACnD,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,aAAa,KAAK;AACjB,QAAI,IAAI,SAAS,KAAK,QAAQ;AAC7B,aAAO,IAAI;AAAA,IACZ;AACA,QAAI,IAAI,SAAS,KAAK,KAAK;AAC1B,aAAO,OAAO,SAAS,IAAI,OAAO,EAAE;AAAA,IACrC;AACA,WAAO;AAAA,EACR;AACD,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SystemResolverContext.cjs","sources":["../../../../../packages/engine-system-api/src/resolvers/SystemResolverContext.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\nimport { ForbiddenError } from '@contember/graphql-utils'\nimport { DatabaseContext, Identity } from '../model'\nimport { ProjectConfig } from '../types'\nimport { StagePermissionsFactory } from '../model/authorization/StagePermissionsFactory'\nimport { StageScope } from '../model/authorization/StageScope'\nimport { ItemLoader } from '../utils/batchQuery'\nimport { SchemaGetter } from '../model/SchemaGetter'\n\nexport class SystemResolverContextFactory {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator<Identity>,\n\t) {}\n\n\tpublic async create(\n\t\t{ getSchema, identity, project, db }: Pick<SystemResolverContext, 'getSchema' | 'db' | 'identity' | 'project'>,\n\t): Promise<SystemResolverContext> {\n\t\tconst stagePermissionsFactory = new StagePermissionsFactory(getSchema)\n\t\tconst loaders = new Map<LoaderFactory<any, any>, ItemLoader<any, any>>()\n\t\treturn {\n\t\t\tproject,\n\t\t\tidentity,\n\t\t\tgetSchema,\n\t\t\tauthorizator: this.authorizator,\n\t\t\tdb,\n\t\t\trequireAccess: async (action, stage, message?) => {\n\t\t\t\tif (!(await this.authorizator.isAllowed(identity, new StageScope(stage, stagePermissionsFactory), action))) {\n\t\t\t\t\tthrow new ForbiddenError(message || 'Forbidden')\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLoader: loaderFactory => {\n\t\t\t\tconst loader = loaders.get(loaderFactory)\n\t\t\t\tif (loader) {\n\t\t\t\t\treturn loader\n\t\t\t\t}\n\t\t\t\tconst newLoader = loaderFactory(db)\n\t\t\t\tloaders.set(loaderFactory, newLoader)\n\t\t\t\treturn newLoader\n\t\t\t},\n\t\t}\n\t}\n}\n\nexport type LoaderFactory<Args, Item> = (db: DatabaseContext) => ItemLoader<Args, Item>\n\nexport interface SystemResolverContext {\n\treadonly project: ProjectConfig\n\treadonly getSchema: SchemaGetter\n\treadonly identity: Identity\n\treadonly db: DatabaseContext\n\treadonly authorizator: Authorizator<Identity>\n\treadonly requireAccess: (action: Authorizator.Action, stage: string, message?: string) => Promise<void>\n\treadonly getLoader: <Args, Item>(loaderFactory: LoaderFactory<Args, Item>) => ItemLoader<Args, Item>\n}\n"],"names":["StagePermissionsFactory","StageScope","ForbiddenError"],"mappings":";;;;;AASO,MAAM,6BAA6B;AAAA,EACzC,YACkB,cAChB;AADgB,SAAA,eAAA;AAAA,EACf;AAAA,EAEH,MAAa,OACZ,EAAE,WAAW,UAAU,SAAS,MACC;AACjC,UAAM,0BAA0B,IAAIA,wBAAAA,wBAAwB,SAAS;AACrE,UAAM,8BAAc,IAAA;AACpB,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,MACnB;AAAA,MACA,eAAe,OAAO,QAAQ,OAAO,YAAa;AACjD,YAAI,CAAE,MAAM,KAAK,aAAa,UAAU,UAAU,IAAIC,WAAAA,WAAW,OAAO,uBAAuB,GAAG,MAAM,GAAI;AAC3G,gBAAM,IAAIC,aAAAA,eAAe,WAAW,WAAW;AAAA,QAChD;AAAA,MACD;AAAA,MACA,WAAW,CAAA,kBAAiB;AAC3B,cAAM,SAAS,QAAQ,IAAI,aAAa;AACxC,YAAI,QAAQ;AACX,iBAAO;AAAA,QACR;AACA,cAAM,YAAY,cAAc,EAAE;AAClC,gBAAQ,IAAI,eAAe,SAAS;AACpC,eAAO;AAAA,MACR;AAAA,IAAA;AAAA,EAEF;AACD;;"}
1
+ {"version":3,"file":"SystemResolverContext.cjs","sources":["../../../../../packages/engine-system-api/src/resolvers/SystemResolverContext.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\nimport { ForbiddenError } from '@contember/graphql-utils'\nimport { DatabaseContext, Identity } from '../model/index.js'\nimport { ProjectConfig } from '../types.js'\nimport { StagePermissionsFactory } from '../model/authorization/StagePermissionsFactory.js'\nimport { StageScope } from '../model/authorization/StageScope.js'\nimport { ItemLoader } from '../utils/batchQuery.js'\nimport { SchemaGetter } from '../model/SchemaGetter.js'\n\nexport class SystemResolverContextFactory {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator<Identity>,\n\t) {}\n\n\tpublic async create(\n\t\t{ getSchema, identity, project, db }: Pick<SystemResolverContext, 'getSchema' | 'db' | 'identity' | 'project'>,\n\t): Promise<SystemResolverContext> {\n\t\tconst stagePermissionsFactory = new StagePermissionsFactory(getSchema)\n\t\tconst loaders = new Map<LoaderFactory<any, any>, ItemLoader<any, any>>()\n\t\treturn {\n\t\t\tproject,\n\t\t\tidentity,\n\t\t\tgetSchema,\n\t\t\tauthorizator: this.authorizator,\n\t\t\tdb,\n\t\t\trequireAccess: async (action, stage, message?) => {\n\t\t\t\tif (!(await this.authorizator.isAllowed(identity, new StageScope(stage, stagePermissionsFactory), action))) {\n\t\t\t\t\tthrow new ForbiddenError(message || 'Forbidden')\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLoader: loaderFactory => {\n\t\t\t\tconst loader = loaders.get(loaderFactory)\n\t\t\t\tif (loader) {\n\t\t\t\t\treturn loader\n\t\t\t\t}\n\t\t\t\tconst newLoader = loaderFactory(db)\n\t\t\t\tloaders.set(loaderFactory, newLoader)\n\t\t\t\treturn newLoader\n\t\t\t},\n\t\t}\n\t}\n}\n\nexport type LoaderFactory<Args, Item> = (db: DatabaseContext) => ItemLoader<Args, Item>\n\nexport interface SystemResolverContext {\n\treadonly project: ProjectConfig\n\treadonly getSchema: SchemaGetter\n\treadonly identity: Identity\n\treadonly db: DatabaseContext\n\treadonly authorizator: Authorizator<Identity>\n\treadonly requireAccess: (action: Authorizator.Action, stage: string, message?: string) => Promise<void>\n\treadonly getLoader: <Args, Item>(loaderFactory: LoaderFactory<Args, Item>) => ItemLoader<Args, Item>\n}\n"],"names":["StagePermissionsFactory","StageScope","ForbiddenError"],"mappings":";;;;;AASO,MAAM,6BAA6B;AAAA,EACzC,YACkB,cAChB;AADgB,SAAA,eAAA;AAAA,EACf;AAAA,EAEH,MAAa,OACZ,EAAE,WAAW,UAAU,SAAS,MACC;AACjC,UAAM,0BAA0B,IAAIA,wBAAAA,wBAAwB,SAAS;AACrE,UAAM,8BAAc,IAAA;AACpB,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,MACnB;AAAA,MACA,eAAe,OAAO,QAAQ,OAAO,YAAa;AACjD,YAAI,CAAE,MAAM,KAAK,aAAa,UAAU,UAAU,IAAIC,WAAAA,WAAW,OAAO,uBAAuB,GAAG,MAAM,GAAI;AAC3G,gBAAM,IAAIC,aAAAA,eAAe,WAAW,WAAW;AAAA,QAChD;AAAA,MACD;AAAA,MACA,WAAW,CAAA,kBAAiB;AAC3B,cAAM,SAAS,QAAQ,IAAI,aAAa;AACxC,YAAI,QAAQ;AACX,iBAAO;AAAA,QACR;AACA,cAAM,YAAY,cAAc,EAAE;AAClC,gBAAQ,IAAI,eAAe,SAAS;AACpC,eAAO;AAAA,MACR;AAAA,IAAA;AAAA,EAEF;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SystemResolverContext.js","sources":["../../../../../packages/engine-system-api/src/resolvers/SystemResolverContext.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\nimport { ForbiddenError } from '@contember/graphql-utils'\nimport { DatabaseContext, Identity } from '../model'\nimport { ProjectConfig } from '../types'\nimport { StagePermissionsFactory } from '../model/authorization/StagePermissionsFactory'\nimport { StageScope } from '../model/authorization/StageScope'\nimport { ItemLoader } from '../utils/batchQuery'\nimport { SchemaGetter } from '../model/SchemaGetter'\n\nexport class SystemResolverContextFactory {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator<Identity>,\n\t) {}\n\n\tpublic async create(\n\t\t{ getSchema, identity, project, db }: Pick<SystemResolverContext, 'getSchema' | 'db' | 'identity' | 'project'>,\n\t): Promise<SystemResolverContext> {\n\t\tconst stagePermissionsFactory = new StagePermissionsFactory(getSchema)\n\t\tconst loaders = new Map<LoaderFactory<any, any>, ItemLoader<any, any>>()\n\t\treturn {\n\t\t\tproject,\n\t\t\tidentity,\n\t\t\tgetSchema,\n\t\t\tauthorizator: this.authorizator,\n\t\t\tdb,\n\t\t\trequireAccess: async (action, stage, message?) => {\n\t\t\t\tif (!(await this.authorizator.isAllowed(identity, new StageScope(stage, stagePermissionsFactory), action))) {\n\t\t\t\t\tthrow new ForbiddenError(message || 'Forbidden')\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLoader: loaderFactory => {\n\t\t\t\tconst loader = loaders.get(loaderFactory)\n\t\t\t\tif (loader) {\n\t\t\t\t\treturn loader\n\t\t\t\t}\n\t\t\t\tconst newLoader = loaderFactory(db)\n\t\t\t\tloaders.set(loaderFactory, newLoader)\n\t\t\t\treturn newLoader\n\t\t\t},\n\t\t}\n\t}\n}\n\nexport type LoaderFactory<Args, Item> = (db: DatabaseContext) => ItemLoader<Args, Item>\n\nexport interface SystemResolverContext {\n\treadonly project: ProjectConfig\n\treadonly getSchema: SchemaGetter\n\treadonly identity: Identity\n\treadonly db: DatabaseContext\n\treadonly authorizator: Authorizator<Identity>\n\treadonly requireAccess: (action: Authorizator.Action, stage: string, message?: string) => Promise<void>\n\treadonly getLoader: <Args, Item>(loaderFactory: LoaderFactory<Args, Item>) => ItemLoader<Args, Item>\n}\n"],"names":[],"mappings":";;;AASO,MAAM,6BAA6B;AAAA,EACzC,YACkB,cAChB;AADgB,SAAA,eAAA;AAAA,EACf;AAAA,EAEH,MAAa,OACZ,EAAE,WAAW,UAAU,SAAS,MACC;AACjC,UAAM,0BAA0B,IAAI,wBAAwB,SAAS;AACrE,UAAM,8BAAc,IAAA;AACpB,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,MACnB;AAAA,MACA,eAAe,OAAO,QAAQ,OAAO,YAAa;AACjD,YAAI,CAAE,MAAM,KAAK,aAAa,UAAU,UAAU,IAAI,WAAW,OAAO,uBAAuB,GAAG,MAAM,GAAI;AAC3G,gBAAM,IAAI,eAAe,WAAW,WAAW;AAAA,QAChD;AAAA,MACD;AAAA,MACA,WAAW,CAAA,kBAAiB;AAC3B,cAAM,SAAS,QAAQ,IAAI,aAAa;AACxC,YAAI,QAAQ;AACX,iBAAO;AAAA,QACR;AACA,cAAM,YAAY,cAAc,EAAE;AAClC,gBAAQ,IAAI,eAAe,SAAS;AACpC,eAAO;AAAA,MACR;AAAA,IAAA;AAAA,EAEF;AACD;"}
1
+ {"version":3,"file":"SystemResolverContext.js","sources":["../../../../../packages/engine-system-api/src/resolvers/SystemResolverContext.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\nimport { ForbiddenError } from '@contember/graphql-utils'\nimport { DatabaseContext, Identity } from '../model/index.js'\nimport { ProjectConfig } from '../types.js'\nimport { StagePermissionsFactory } from '../model/authorization/StagePermissionsFactory.js'\nimport { StageScope } from '../model/authorization/StageScope.js'\nimport { ItemLoader } from '../utils/batchQuery.js'\nimport { SchemaGetter } from '../model/SchemaGetter.js'\n\nexport class SystemResolverContextFactory {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator<Identity>,\n\t) {}\n\n\tpublic async create(\n\t\t{ getSchema, identity, project, db }: Pick<SystemResolverContext, 'getSchema' | 'db' | 'identity' | 'project'>,\n\t): Promise<SystemResolverContext> {\n\t\tconst stagePermissionsFactory = new StagePermissionsFactory(getSchema)\n\t\tconst loaders = new Map<LoaderFactory<any, any>, ItemLoader<any, any>>()\n\t\treturn {\n\t\t\tproject,\n\t\t\tidentity,\n\t\t\tgetSchema,\n\t\t\tauthorizator: this.authorizator,\n\t\t\tdb,\n\t\t\trequireAccess: async (action, stage, message?) => {\n\t\t\t\tif (!(await this.authorizator.isAllowed(identity, new StageScope(stage, stagePermissionsFactory), action))) {\n\t\t\t\t\tthrow new ForbiddenError(message || 'Forbidden')\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLoader: loaderFactory => {\n\t\t\t\tconst loader = loaders.get(loaderFactory)\n\t\t\t\tif (loader) {\n\t\t\t\t\treturn loader\n\t\t\t\t}\n\t\t\t\tconst newLoader = loaderFactory(db)\n\t\t\t\tloaders.set(loaderFactory, newLoader)\n\t\t\t\treturn newLoader\n\t\t\t},\n\t\t}\n\t}\n}\n\nexport type LoaderFactory<Args, Item> = (db: DatabaseContext) => ItemLoader<Args, Item>\n\nexport interface SystemResolverContext {\n\treadonly project: ProjectConfig\n\treadonly getSchema: SchemaGetter\n\treadonly identity: Identity\n\treadonly db: DatabaseContext\n\treadonly authorizator: Authorizator<Identity>\n\treadonly requireAccess: (action: Authorizator.Action, stage: string, message?: string) => Promise<void>\n\treadonly getLoader: <Args, Item>(loaderFactory: LoaderFactory<Args, Item>) => ItemLoader<Args, Item>\n}\n"],"names":[],"mappings":";;;AASO,MAAM,6BAA6B;AAAA,EACzC,YACkB,cAChB;AADgB,SAAA,eAAA;AAAA,EACf;AAAA,EAEH,MAAa,OACZ,EAAE,WAAW,UAAU,SAAS,MACC;AACjC,UAAM,0BAA0B,IAAI,wBAAwB,SAAS;AACrE,UAAM,8BAAc,IAAA;AACpB,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,MACnB;AAAA,MACA,eAAe,OAAO,QAAQ,OAAO,YAAa;AACjD,YAAI,CAAE,MAAM,KAAK,aAAa,UAAU,UAAU,IAAI,WAAW,OAAO,uBAAuB,GAAG,MAAM,GAAI;AAC3G,gBAAM,IAAI,eAAe,WAAW,WAAW;AAAA,QAChD;AAAA,MACD;AAAA,MACA,WAAW,CAAA,kBAAiB;AAC3B,cAAM,SAAS,QAAQ,IAAI,aAAa;AACxC,YAAI,QAAQ;AACX,iBAAO;AAAA,QACR;AACA,cAAM,YAAY,cAAc,EAAE;AAClC,gBAAQ,IAAI,eAAe,SAAS;AACpC,eAAO;AAAA,MACR;AAAA,IAAA;AAAA,EAEF;AACD;"}
@@ -24,6 +24,7 @@ class MigrateMutationResolver {
24
24
  }
25
25
  async migrate(parent, args, context, info, force = false) {
26
26
  const migrations = this.parseMigrationInput(args);
27
+ const schemaState = args.schemaState ?? void 0;
27
28
  return context.db.locked(pg_lock_id, (db) => db.transaction(async (trx) => {
28
29
  const stages = await trx.queryHandler.fetch(new StagesQuery.StagesQuery());
29
30
  for (const stage of stages) {
@@ -36,6 +37,7 @@ class MigrateMutationResolver {
36
37
  identity: context.identity,
37
38
  stages,
38
39
  migrationsToExecute: migrations,
40
+ schemaState,
39
41
  options: {
40
42
  ignoreOrder: force,
41
43
  skipExecuted: true
@@ -64,8 +66,54 @@ class MigrateMutationResolver {
64
66
  };
65
67
  }));
66
68
  }
69
+ async migrateFromSnapshot(parent, args, context, info) {
70
+ const covers = this.parseMigrations(args.snapshot.covers);
71
+ const schemaState = args.schemaState ?? void 0;
72
+ return context.db.locked(pg_lock_id, (db) => db.transaction(async (trx) => {
73
+ const stages = await trx.queryHandler.fetch(new StagesQuery.StagesQuery());
74
+ for (const stage of stages) {
75
+ await context.requireAccess(AuthorizationActions.AuthorizationActions.PROJECT_MIGRATE, stage.slug);
76
+ }
77
+ try {
78
+ await this.projectMigrator.migrateFromSnapshot({
79
+ db: trx,
80
+ project: context.project,
81
+ stages,
82
+ snapshot: {
83
+ formatVersion: args.snapshot.formatVersion,
84
+ modifications: args.snapshot.modifications
85
+ },
86
+ covers,
87
+ schemaState
88
+ });
89
+ } catch (e) {
90
+ if (e instanceof ProjectMigrator.MigrationError) {
91
+ await trx.client.connection.rollback();
92
+ const error = {
93
+ code: e.code,
94
+ migration: e.version,
95
+ developerMessage: e.message
96
+ };
97
+ return {
98
+ ok: false,
99
+ errors: [error],
100
+ error
101
+ };
102
+ } else {
103
+ throw e;
104
+ }
105
+ }
106
+ return {
107
+ ok: true,
108
+ errors: []
109
+ };
110
+ }));
111
+ }
67
112
  parseMigrationInput(args) {
68
- return args.migrations.map((it) => {
113
+ return this.parseMigrations(args.migrations);
114
+ }
115
+ parseMigrations(migrations) {
116
+ return migrations.map((it) => {
69
117
  if (!it.type) {
70
118
  if (!it.modifications || !it.formatVersion) {
71
119
  throw new graphqlUtils.UserInputError("invalid migration format");
@@ -1 +1 @@
1
- {"version":3,"file":"MigrateMutationResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { MutationResolver } from '../Resolver'\nimport { MigrateResponse, MigrationType, MutationMigrateArgs } from '../../schema'\nimport { Migration } from '@contember/schema-migrations'\nimport { AuthorizationActions, MigrationError, ProjectMigrator, StagesQuery } from '../../model'\nimport { MigrationInput } from '../../model/migrations/MigrationInput'\nimport { UserInputError } from '@contember/graphql-utils'\nimport { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { assertNever } from '../../utils'\n\nconst pg_lock_id = 1597474138739147\n\nexport class MigrateMutationResolver implements MutationResolver<'migrate'> {\n\tconstructor(private readonly projectMigrator: ProjectMigrator) {}\n\n\tasync migrateForce(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrateResponse> {\n\t\treturn this.migrate(parent, args, context, info, true)\n\t}\n\n\tasync migrate(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t\tforce = false,\n\t): Promise<MigrateResponse> {\n\t\tconst migrations = this.parseMigrationInput(args)\n\n\t\treturn context.db.locked(pg_lock_id, db =>\n\t\t\tdb.transaction(async trx => {\n\t\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\t\tfor (const stage of stages) {\n\t\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tawait this.projectMigrator.migrate({\n\t\t\t\t\t\tdb: trx,\n\t\t\t\t\t\tproject: context.project,\n\t\t\t\t\t\tidentity: context.identity,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tmigrationsToExecute: migrations,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tignoreOrder: force,\n\t\t\t\t\t\t\tskipExecuted: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tok: false,\n\t\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tok: true,\n\t\t\t\t\terrors: [],\n\t\t\t\t}\n\t\t\t}))\n\t}\n\n\tprivate parseMigrationInput(args: MutationMigrateArgs): MigrationInput[] {\n\t\treturn args.migrations.map((it): MigrationInput => {\n\t\t\tif (!it.type) {\n\t\t\t\tif (!it.modifications || !it.formatVersion) {\n\t\t\t\t\tthrow new UserInputError('invalid migration format')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tformatVersion: it.formatVersion,\n\t\t\t\t\tmodifications: it.modifications as Migration.Modification[],\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tskippedErrors: (it.skippedErrors as SchemaValidatorSkippedErrors[]) ?? undefined,\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Schema) {\n\t\t\t\tif (!it.schemaMigration) {\n\t\t\t\t\tthrow new UserInputError('schemaMigration must be defined for SCHEMA type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\t...(it.schemaMigration as Omit<Migration, 'name' | 'version'>),\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Content) {\n\t\t\t\tif (!it.contentMigration) {\n\t\t\t\t\tthrow new UserInputError('contentMigration must be defined for CONTENT type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'content',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tqueries: it.contentMigration.map(it => ({\n\t\t\t\t\t\tquery: it.query,\n\t\t\t\t\t\tstage: it.stage ?? undefined,\n\t\t\t\t\t\tvariables: it.variables ?? undefined,\n\t\t\t\t\t})),\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn assertNever(it.type)\n\t\t})\n\t}\n}\n"],"names":["StagesQuery","AuthorizationActions","MigrationError","UserInputError","MigrationType","it","assertNever"],"mappings":";;;;;;;;;;;;;;;;AAWA,MAAM,aAAa;AAEZ,MAAM,wBAA+D;AAAA,EAC3E,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAM,aACL,QACA,MACA,SACA,MAC2B;AAC3B,WAAO,KAAK,QAAQ,QAAQ,MAAM,SAAS,MAAM,IAAI;AAAA,EACtD;AAAA,EAEA,MAAM,QACL,QACA,MACA,SACA,MACA,QAAQ,OACmB;AAC3B,UAAM,aAAa,KAAK,oBAAoB,IAAI;AAEhD,WAAO,QAAQ,GAAG,OAAO,YAAY,QACpC,GAAG,YAAY,OAAM,QAAO;AAC3B,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAIA,YAAAA,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAC7E;AACA,UAAI;AACH,cAAM,KAAK,gBAAgB,QAAQ;AAAA,UAClC,IAAI;AAAA,UACJ,SAAS,QAAQ;AAAA,UACjB,UAAU,QAAQ;AAAA,UAClB;AAAA,UACA,qBAAqB;AAAA,UACrB,SAAS;AAAA,YACR,aAAa;AAAA,YACb,cAAc;AAAA,UAAA;AAAA,QACf,CACA;AAAA,MACF,SAAS,GAAG;AACX,YAAI,aAAaC,gBAAAA,gBAAgB;AAChC,gBAAM,IAAI,OAAO,WAAW,SAAA;AAC5B,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UAAA;AAErB,iBAAO;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UAAA;AAAA,QAEF,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAA;AAAA,MAAC;AAAA,IAEX,CAAC,CAAC;AAAA,EACJ;AAAA,EAEQ,oBAAoB,MAA6C;AACxE,WAAO,KAAK,WAAW,IAAI,CAAC,OAAuB;AAClD,UAAI,CAAC,GAAG,MAAM;AACb,YAAI,CAAC,GAAG,iBAAiB,CAAC,GAAG,eAAe;AAC3C,gBAAM,IAAIC,aAAAA,eAAe,0BAA0B;AAAA,QACpD;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,eAAe,GAAG;AAAA,UAClB,eAAe,GAAG;AAAA,UAClB,SAAS,GAAG;AAAA,UACZ,MAAM,GAAG;AAAA,UACT,eAAgB,GAAG,iBAAoD;AAAA,QAAA;AAAA,MAEzE;AACA,UAAI,GAAG,SAASC,MAAAA,cAAc,QAAQ;AACrC,YAAI,CAAC,GAAG,iBAAiB;AACxB,gBAAM,IAAID,aAAAA,eAAe,iDAAiD;AAAA,QAC3E;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,GAAI,GAAG;AAAA,QAAA;AAAA,MAET;AACA,UAAI,GAAG,SAASC,MAAAA,cAAc,SAAS;AACtC,YAAI,CAAC,GAAG,kBAAkB;AACzB,gBAAM,IAAID,aAAAA,eAAe,mDAAmD;AAAA,QAC7E;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,SAAS,GAAG,iBAAiB,IAAI,CAAAE,SAAO;AAAA,YACvC,OAAOA,IAAG;AAAA,YACV,OAAOA,IAAG,SAAS;AAAA,YACnB,WAAWA,IAAG,aAAa;AAAA,UAAA,EAC1B;AAAA,QAAA;AAAA,MAEJ;AACA,aAAOC,YAAAA,YAAY,GAAG,IAAI;AAAA,IAC3B,CAAC;AAAA,EACF;AACD;;"}
1
+ {"version":3,"file":"MigrateMutationResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { MutationResolver } from '../Resolver.js'\nimport { MigrateResponse, MigrationType, MutationMigrateArgs, MutationMigrateFromSnapshotArgs } from '../../schema/index.js'\nimport { Migration } from '@contember/schema-migrations'\nimport { AuthorizationActions, MigrationError, ProjectMigrator, StagesQuery } from '../../model/index.js'\nimport { MigrationInput } from '../../model/migrations/MigrationInput.js'\nimport { UserInputError } from '@contember/graphql-utils'\nimport { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { assertNever } from '../../utils/index.js'\n\nconst pg_lock_id = 1597474138739147\n\nexport class MigrateMutationResolver implements MutationResolver<'migrate'> {\n\tconstructor(private readonly projectMigrator: ProjectMigrator) {}\n\n\tasync migrateForce(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrateResponse> {\n\t\treturn this.migrate(parent, args, context, info, true)\n\t}\n\n\tasync migrate(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t\tforce = false,\n\t): Promise<MigrateResponse> {\n\t\tconst migrations = this.parseMigrationInput(args)\n\t\tconst schemaState = args.schemaState ?? undefined\n\n\t\treturn context.db.locked(pg_lock_id, db =>\n\t\t\tdb.transaction(async trx => {\n\t\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\t\tfor (const stage of stages) {\n\t\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tawait this.projectMigrator.migrate({\n\t\t\t\t\t\tdb: trx,\n\t\t\t\t\t\tproject: context.project,\n\t\t\t\t\t\tidentity: context.identity,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tmigrationsToExecute: migrations,\n\t\t\t\t\t\tschemaState,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tignoreOrder: force,\n\t\t\t\t\t\t\tskipExecuted: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tok: false,\n\t\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tok: true,\n\t\t\t\t\terrors: [],\n\t\t\t\t}\n\t\t\t}))\n\t}\n\n\tasync migrateFromSnapshot(\n\t\tparent: any,\n\t\targs: MutationMigrateFromSnapshotArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrateResponse> {\n\t\tconst covers = this.parseMigrations(args.snapshot.covers)\n\t\tconst schemaState = args.schemaState ?? undefined\n\n\t\treturn context.db.locked(pg_lock_id, db =>\n\t\t\tdb.transaction(async trx => {\n\t\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\t\tfor (const stage of stages) {\n\t\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tawait this.projectMigrator.migrateFromSnapshot({\n\t\t\t\t\t\tdb: trx,\n\t\t\t\t\t\tproject: context.project,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tsnapshot: {\n\t\t\t\t\t\t\tformatVersion: args.snapshot.formatVersion,\n\t\t\t\t\t\t\tmodifications: args.snapshot.modifications as Migration.Modification[],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcovers,\n\t\t\t\t\t\tschemaState,\n\t\t\t\t\t})\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tok: false,\n\t\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tok: true,\n\t\t\t\t\terrors: [],\n\t\t\t\t}\n\t\t\t}))\n\t}\n\n\tprivate parseMigrationInput(args: MutationMigrateArgs): MigrationInput[] {\n\t\treturn this.parseMigrations(args.migrations)\n\t}\n\n\tprivate parseMigrations(migrations: MutationMigrateArgs['migrations']): MigrationInput[] {\n\t\treturn migrations.map((it): MigrationInput => {\n\t\t\tif (!it.type) {\n\t\t\t\tif (!it.modifications || !it.formatVersion) {\n\t\t\t\t\tthrow new UserInputError('invalid migration format')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tformatVersion: it.formatVersion,\n\t\t\t\t\tmodifications: it.modifications as Migration.Modification[],\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tskippedErrors: (it.skippedErrors as SchemaValidatorSkippedErrors[]) ?? undefined,\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Schema) {\n\t\t\t\tif (!it.schemaMigration) {\n\t\t\t\t\tthrow new UserInputError('schemaMigration must be defined for SCHEMA type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\t...(it.schemaMigration as Omit<Migration, 'name' | 'version'>),\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Content) {\n\t\t\t\tif (!it.contentMigration) {\n\t\t\t\t\tthrow new UserInputError('contentMigration must be defined for CONTENT type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'content',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tqueries: it.contentMigration.map(it => ({\n\t\t\t\t\t\tquery: it.query,\n\t\t\t\t\t\tstage: it.stage ?? undefined,\n\t\t\t\t\t\tvariables: it.variables ?? undefined,\n\t\t\t\t\t})),\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn assertNever(it.type)\n\t\t})\n\t}\n}\n"],"names":["StagesQuery","AuthorizationActions","MigrationError","UserInputError","MigrationType","it","assertNever"],"mappings":";;;;;;;;;;;;;;;;AAWA,MAAM,aAAa;AAEZ,MAAM,wBAA+D;AAAA,EAC3E,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAM,aACL,QACA,MACA,SACA,MAC2B;AAC3B,WAAO,KAAK,QAAQ,QAAQ,MAAM,SAAS,MAAM,IAAI;AAAA,EACtD;AAAA,EAEA,MAAM,QACL,QACA,MACA,SACA,MACA,QAAQ,OACmB;AAC3B,UAAM,aAAa,KAAK,oBAAoB,IAAI;AAChD,UAAM,cAAc,KAAK,eAAe;AAExC,WAAO,QAAQ,GAAG,OAAO,YAAY,QACpC,GAAG,YAAY,OAAM,QAAO;AAC3B,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAIA,YAAAA,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAC7E;AACA,UAAI;AACH,cAAM,KAAK,gBAAgB,QAAQ;AAAA,UAClC,IAAI;AAAA,UACJ,SAAS,QAAQ;AAAA,UACjB,UAAU,QAAQ;AAAA,UAClB;AAAA,UACA,qBAAqB;AAAA,UACrB;AAAA,UACA,SAAS;AAAA,YACR,aAAa;AAAA,YACb,cAAc;AAAA,UAAA;AAAA,QACf,CACA;AAAA,MACF,SAAS,GAAG;AACX,YAAI,aAAaC,gBAAAA,gBAAgB;AAChC,gBAAM,IAAI,OAAO,WAAW,SAAA;AAC5B,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UAAA;AAErB,iBAAO;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UAAA;AAAA,QAEF,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAA;AAAA,MAAC;AAAA,IAEX,CAAC,CAAC;AAAA,EACJ;AAAA,EAEA,MAAM,oBACL,QACA,MACA,SACA,MAC2B;AAC3B,UAAM,SAAS,KAAK,gBAAgB,KAAK,SAAS,MAAM;AACxD,UAAM,cAAc,KAAK,eAAe;AAExC,WAAO,QAAQ,GAAG,OAAO,YAAY,QACpC,GAAG,YAAY,OAAM,QAAO;AAC3B,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAIF,YAAAA,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAC7E;AACA,UAAI;AACH,cAAM,KAAK,gBAAgB,oBAAoB;AAAA,UAC9C,IAAI;AAAA,UACJ,SAAS,QAAQ;AAAA,UACjB;AAAA,UACA,UAAU;AAAA,YACT,eAAe,KAAK,SAAS;AAAA,YAC7B,eAAe,KAAK,SAAS;AAAA,UAAA;AAAA,UAE9B;AAAA,UACA;AAAA,QAAA,CACA;AAAA,MACF,SAAS,GAAG;AACX,YAAI,aAAaC,gBAAAA,gBAAgB;AAChC,gBAAM,IAAI,OAAO,WAAW,SAAA;AAC5B,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UAAA;AAErB,iBAAO;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UAAA;AAAA,QAEF,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAA;AAAA,MAAC;AAAA,IAEX,CAAC,CAAC;AAAA,EACJ;AAAA,EAEQ,oBAAoB,MAA6C;AACxE,WAAO,KAAK,gBAAgB,KAAK,UAAU;AAAA,EAC5C;AAAA,EAEQ,gBAAgB,YAAiE;AACxF,WAAO,WAAW,IAAI,CAAC,OAAuB;AAC7C,UAAI,CAAC,GAAG,MAAM;AACb,YAAI,CAAC,GAAG,iBAAiB,CAAC,GAAG,eAAe;AAC3C,gBAAM,IAAIC,aAAAA,eAAe,0BAA0B;AAAA,QACpD;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,eAAe,GAAG;AAAA,UAClB,eAAe,GAAG;AAAA,UAClB,SAAS,GAAG;AAAA,UACZ,MAAM,GAAG;AAAA,UACT,eAAgB,GAAG,iBAAoD;AAAA,QAAA;AAAA,MAEzE;AACA,UAAI,GAAG,SAASC,MAAAA,cAAc,QAAQ;AACrC,YAAI,CAAC,GAAG,iBAAiB;AACxB,gBAAM,IAAID,aAAAA,eAAe,iDAAiD;AAAA,QAC3E;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,GAAI,GAAG;AAAA,QAAA;AAAA,MAET;AACA,UAAI,GAAG,SAASC,MAAAA,cAAc,SAAS;AACtC,YAAI,CAAC,GAAG,kBAAkB;AACzB,gBAAM,IAAID,aAAAA,eAAe,mDAAmD;AAAA,QAC7E;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,SAAS,GAAG,iBAAiB,IAAI,CAAAE,SAAO;AAAA,YACvC,OAAOA,IAAG;AAAA,YACV,OAAOA,IAAG,SAAS;AAAA,YACnB,WAAWA,IAAG,aAAa;AAAA,UAAA,EAC1B;AAAA,QAAA;AAAA,MAEJ;AACA,aAAOC,YAAAA,YAAY,GAAG,IAAI;AAAA,IAC3B,CAAC;AAAA,EACF;AACD;;"}
@@ -22,6 +22,7 @@ class MigrateMutationResolver {
22
22
  }
23
23
  async migrate(parent, args, context, info, force = false) {
24
24
  const migrations = this.parseMigrationInput(args);
25
+ const schemaState = args.schemaState ?? void 0;
25
26
  return context.db.locked(pg_lock_id, (db) => db.transaction(async (trx) => {
26
27
  const stages = await trx.queryHandler.fetch(new StagesQuery());
27
28
  for (const stage of stages) {
@@ -34,6 +35,7 @@ class MigrateMutationResolver {
34
35
  identity: context.identity,
35
36
  stages,
36
37
  migrationsToExecute: migrations,
38
+ schemaState,
37
39
  options: {
38
40
  ignoreOrder: force,
39
41
  skipExecuted: true
@@ -62,8 +64,54 @@ class MigrateMutationResolver {
62
64
  };
63
65
  }));
64
66
  }
67
+ async migrateFromSnapshot(parent, args, context, info) {
68
+ const covers = this.parseMigrations(args.snapshot.covers);
69
+ const schemaState = args.schemaState ?? void 0;
70
+ return context.db.locked(pg_lock_id, (db) => db.transaction(async (trx) => {
71
+ const stages = await trx.queryHandler.fetch(new StagesQuery());
72
+ for (const stage of stages) {
73
+ await context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug);
74
+ }
75
+ try {
76
+ await this.projectMigrator.migrateFromSnapshot({
77
+ db: trx,
78
+ project: context.project,
79
+ stages,
80
+ snapshot: {
81
+ formatVersion: args.snapshot.formatVersion,
82
+ modifications: args.snapshot.modifications
83
+ },
84
+ covers,
85
+ schemaState
86
+ });
87
+ } catch (e) {
88
+ if (e instanceof MigrationError) {
89
+ await trx.client.connection.rollback();
90
+ const error = {
91
+ code: e.code,
92
+ migration: e.version,
93
+ developerMessage: e.message
94
+ };
95
+ return {
96
+ ok: false,
97
+ errors: [error],
98
+ error
99
+ };
100
+ } else {
101
+ throw e;
102
+ }
103
+ }
104
+ return {
105
+ ok: true,
106
+ errors: []
107
+ };
108
+ }));
109
+ }
65
110
  parseMigrationInput(args) {
66
- return args.migrations.map((it) => {
111
+ return this.parseMigrations(args.migrations);
112
+ }
113
+ parseMigrations(migrations) {
114
+ return migrations.map((it) => {
67
115
  if (!it.type) {
68
116
  if (!it.modifications || !it.formatVersion) {
69
117
  throw new UserInputError("invalid migration format");
@@ -1 +1 @@
1
- {"version":3,"file":"MigrateMutationResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { MutationResolver } from '../Resolver'\nimport { MigrateResponse, MigrationType, MutationMigrateArgs } from '../../schema'\nimport { Migration } from '@contember/schema-migrations'\nimport { AuthorizationActions, MigrationError, ProjectMigrator, StagesQuery } from '../../model'\nimport { MigrationInput } from '../../model/migrations/MigrationInput'\nimport { UserInputError } from '@contember/graphql-utils'\nimport { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { assertNever } from '../../utils'\n\nconst pg_lock_id = 1597474138739147\n\nexport class MigrateMutationResolver implements MutationResolver<'migrate'> {\n\tconstructor(private readonly projectMigrator: ProjectMigrator) {}\n\n\tasync migrateForce(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrateResponse> {\n\t\treturn this.migrate(parent, args, context, info, true)\n\t}\n\n\tasync migrate(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t\tforce = false,\n\t): Promise<MigrateResponse> {\n\t\tconst migrations = this.parseMigrationInput(args)\n\n\t\treturn context.db.locked(pg_lock_id, db =>\n\t\t\tdb.transaction(async trx => {\n\t\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\t\tfor (const stage of stages) {\n\t\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tawait this.projectMigrator.migrate({\n\t\t\t\t\t\tdb: trx,\n\t\t\t\t\t\tproject: context.project,\n\t\t\t\t\t\tidentity: context.identity,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tmigrationsToExecute: migrations,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tignoreOrder: force,\n\t\t\t\t\t\t\tskipExecuted: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tok: false,\n\t\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tok: true,\n\t\t\t\t\terrors: [],\n\t\t\t\t}\n\t\t\t}))\n\t}\n\n\tprivate parseMigrationInput(args: MutationMigrateArgs): MigrationInput[] {\n\t\treturn args.migrations.map((it): MigrationInput => {\n\t\t\tif (!it.type) {\n\t\t\t\tif (!it.modifications || !it.formatVersion) {\n\t\t\t\t\tthrow new UserInputError('invalid migration format')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tformatVersion: it.formatVersion,\n\t\t\t\t\tmodifications: it.modifications as Migration.Modification[],\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tskippedErrors: (it.skippedErrors as SchemaValidatorSkippedErrors[]) ?? undefined,\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Schema) {\n\t\t\t\tif (!it.schemaMigration) {\n\t\t\t\t\tthrow new UserInputError('schemaMigration must be defined for SCHEMA type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\t...(it.schemaMigration as Omit<Migration, 'name' | 'version'>),\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Content) {\n\t\t\t\tif (!it.contentMigration) {\n\t\t\t\t\tthrow new UserInputError('contentMigration must be defined for CONTENT type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'content',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tqueries: it.contentMigration.map(it => ({\n\t\t\t\t\t\tquery: it.query,\n\t\t\t\t\t\tstage: it.stage ?? undefined,\n\t\t\t\t\t\tvariables: it.variables ?? undefined,\n\t\t\t\t\t})),\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn assertNever(it.type)\n\t\t})\n\t}\n}\n"],"names":["it"],"mappings":";;;;;;;;;;;;;;AAWA,MAAM,aAAa;AAEZ,MAAM,wBAA+D;AAAA,EAC3E,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAM,aACL,QACA,MACA,SACA,MAC2B;AAC3B,WAAO,KAAK,QAAQ,QAAQ,MAAM,SAAS,MAAM,IAAI;AAAA,EACtD;AAAA,EAEA,MAAM,QACL,QACA,MACA,SACA,MACA,QAAQ,OACmB;AAC3B,UAAM,aAAa,KAAK,oBAAoB,IAAI;AAEhD,WAAO,QAAQ,GAAG,OAAO,YAAY,QACpC,GAAG,YAAY,OAAM,QAAO;AAC3B,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAI,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAc,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAC7E;AACA,UAAI;AACH,cAAM,KAAK,gBAAgB,QAAQ;AAAA,UAClC,IAAI;AAAA,UACJ,SAAS,QAAQ;AAAA,UACjB,UAAU,QAAQ;AAAA,UAClB;AAAA,UACA,qBAAqB;AAAA,UACrB,SAAS;AAAA,YACR,aAAa;AAAA,YACb,cAAc;AAAA,UAAA;AAAA,QACf,CACA;AAAA,MACF,SAAS,GAAG;AACX,YAAI,aAAa,gBAAgB;AAChC,gBAAM,IAAI,OAAO,WAAW,SAAA;AAC5B,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UAAA;AAErB,iBAAO;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UAAA;AAAA,QAEF,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAA;AAAA,MAAC;AAAA,IAEX,CAAC,CAAC;AAAA,EACJ;AAAA,EAEQ,oBAAoB,MAA6C;AACxE,WAAO,KAAK,WAAW,IAAI,CAAC,OAAuB;AAClD,UAAI,CAAC,GAAG,MAAM;AACb,YAAI,CAAC,GAAG,iBAAiB,CAAC,GAAG,eAAe;AAC3C,gBAAM,IAAI,eAAe,0BAA0B;AAAA,QACpD;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,eAAe,GAAG;AAAA,UAClB,eAAe,GAAG;AAAA,UAClB,SAAS,GAAG;AAAA,UACZ,MAAM,GAAG;AAAA,UACT,eAAgB,GAAG,iBAAoD;AAAA,QAAA;AAAA,MAEzE;AACA,UAAI,GAAG,SAAS,cAAc,QAAQ;AACrC,YAAI,CAAC,GAAG,iBAAiB;AACxB,gBAAM,IAAI,eAAe,iDAAiD;AAAA,QAC3E;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,GAAI,GAAG;AAAA,QAAA;AAAA,MAET;AACA,UAAI,GAAG,SAAS,cAAc,SAAS;AACtC,YAAI,CAAC,GAAG,kBAAkB;AACzB,gBAAM,IAAI,eAAe,mDAAmD;AAAA,QAC7E;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,SAAS,GAAG,iBAAiB,IAAI,CAAAA,SAAO;AAAA,YACvC,OAAOA,IAAG;AAAA,YACV,OAAOA,IAAG,SAAS;AAAA,YACnB,WAAWA,IAAG,aAAa;AAAA,UAAA,EAC1B;AAAA,QAAA;AAAA,MAEJ;AACA,aAAO,YAAY,GAAG,IAAI;AAAA,IAC3B,CAAC;AAAA,EACF;AACD;"}
1
+ {"version":3,"file":"MigrateMutationResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { MutationResolver } from '../Resolver.js'\nimport { MigrateResponse, MigrationType, MutationMigrateArgs, MutationMigrateFromSnapshotArgs } from '../../schema/index.js'\nimport { Migration } from '@contember/schema-migrations'\nimport { AuthorizationActions, MigrationError, ProjectMigrator, StagesQuery } from '../../model/index.js'\nimport { MigrationInput } from '../../model/migrations/MigrationInput.js'\nimport { UserInputError } from '@contember/graphql-utils'\nimport { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { assertNever } from '../../utils/index.js'\n\nconst pg_lock_id = 1597474138739147\n\nexport class MigrateMutationResolver implements MutationResolver<'migrate'> {\n\tconstructor(private readonly projectMigrator: ProjectMigrator) {}\n\n\tasync migrateForce(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrateResponse> {\n\t\treturn this.migrate(parent, args, context, info, true)\n\t}\n\n\tasync migrate(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t\tforce = false,\n\t): Promise<MigrateResponse> {\n\t\tconst migrations = this.parseMigrationInput(args)\n\t\tconst schemaState = args.schemaState ?? undefined\n\n\t\treturn context.db.locked(pg_lock_id, db =>\n\t\t\tdb.transaction(async trx => {\n\t\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\t\tfor (const stage of stages) {\n\t\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tawait this.projectMigrator.migrate({\n\t\t\t\t\t\tdb: trx,\n\t\t\t\t\t\tproject: context.project,\n\t\t\t\t\t\tidentity: context.identity,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tmigrationsToExecute: migrations,\n\t\t\t\t\t\tschemaState,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tignoreOrder: force,\n\t\t\t\t\t\t\tskipExecuted: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tok: false,\n\t\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tok: true,\n\t\t\t\t\terrors: [],\n\t\t\t\t}\n\t\t\t}))\n\t}\n\n\tasync migrateFromSnapshot(\n\t\tparent: any,\n\t\targs: MutationMigrateFromSnapshotArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrateResponse> {\n\t\tconst covers = this.parseMigrations(args.snapshot.covers)\n\t\tconst schemaState = args.schemaState ?? undefined\n\n\t\treturn context.db.locked(pg_lock_id, db =>\n\t\t\tdb.transaction(async trx => {\n\t\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\t\tfor (const stage of stages) {\n\t\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tawait this.projectMigrator.migrateFromSnapshot({\n\t\t\t\t\t\tdb: trx,\n\t\t\t\t\t\tproject: context.project,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tsnapshot: {\n\t\t\t\t\t\t\tformatVersion: args.snapshot.formatVersion,\n\t\t\t\t\t\t\tmodifications: args.snapshot.modifications as Migration.Modification[],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcovers,\n\t\t\t\t\t\tschemaState,\n\t\t\t\t\t})\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tok: false,\n\t\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tok: true,\n\t\t\t\t\terrors: [],\n\t\t\t\t}\n\t\t\t}))\n\t}\n\n\tprivate parseMigrationInput(args: MutationMigrateArgs): MigrationInput[] {\n\t\treturn this.parseMigrations(args.migrations)\n\t}\n\n\tprivate parseMigrations(migrations: MutationMigrateArgs['migrations']): MigrationInput[] {\n\t\treturn migrations.map((it): MigrationInput => {\n\t\t\tif (!it.type) {\n\t\t\t\tif (!it.modifications || !it.formatVersion) {\n\t\t\t\t\tthrow new UserInputError('invalid migration format')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tformatVersion: it.formatVersion,\n\t\t\t\t\tmodifications: it.modifications as Migration.Modification[],\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tskippedErrors: (it.skippedErrors as SchemaValidatorSkippedErrors[]) ?? undefined,\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Schema) {\n\t\t\t\tif (!it.schemaMigration) {\n\t\t\t\t\tthrow new UserInputError('schemaMigration must be defined for SCHEMA type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\t...(it.schemaMigration as Omit<Migration, 'name' | 'version'>),\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Content) {\n\t\t\t\tif (!it.contentMigration) {\n\t\t\t\t\tthrow new UserInputError('contentMigration must be defined for CONTENT type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'content',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tqueries: it.contentMigration.map(it => ({\n\t\t\t\t\t\tquery: it.query,\n\t\t\t\t\t\tstage: it.stage ?? undefined,\n\t\t\t\t\t\tvariables: it.variables ?? undefined,\n\t\t\t\t\t})),\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn assertNever(it.type)\n\t\t})\n\t}\n}\n"],"names":["it"],"mappings":";;;;;;;;;;;;;;AAWA,MAAM,aAAa;AAEZ,MAAM,wBAA+D;AAAA,EAC3E,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAM,aACL,QACA,MACA,SACA,MAC2B;AAC3B,WAAO,KAAK,QAAQ,QAAQ,MAAM,SAAS,MAAM,IAAI;AAAA,EACtD;AAAA,EAEA,MAAM,QACL,QACA,MACA,SACA,MACA,QAAQ,OACmB;AAC3B,UAAM,aAAa,KAAK,oBAAoB,IAAI;AAChD,UAAM,cAAc,KAAK,eAAe;AAExC,WAAO,QAAQ,GAAG,OAAO,YAAY,QACpC,GAAG,YAAY,OAAM,QAAO;AAC3B,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAI,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAc,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAC7E;AACA,UAAI;AACH,cAAM,KAAK,gBAAgB,QAAQ;AAAA,UAClC,IAAI;AAAA,UACJ,SAAS,QAAQ;AAAA,UACjB,UAAU,QAAQ;AAAA,UAClB;AAAA,UACA,qBAAqB;AAAA,UACrB;AAAA,UACA,SAAS;AAAA,YACR,aAAa;AAAA,YACb,cAAc;AAAA,UAAA;AAAA,QACf,CACA;AAAA,MACF,SAAS,GAAG;AACX,YAAI,aAAa,gBAAgB;AAChC,gBAAM,IAAI,OAAO,WAAW,SAAA;AAC5B,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UAAA;AAErB,iBAAO;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UAAA;AAAA,QAEF,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAA;AAAA,MAAC;AAAA,IAEX,CAAC,CAAC;AAAA,EACJ;AAAA,EAEA,MAAM,oBACL,QACA,MACA,SACA,MAC2B;AAC3B,UAAM,SAAS,KAAK,gBAAgB,KAAK,SAAS,MAAM;AACxD,UAAM,cAAc,KAAK,eAAe;AAExC,WAAO,QAAQ,GAAG,OAAO,YAAY,QACpC,GAAG,YAAY,OAAM,QAAO;AAC3B,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAI,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAc,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAC7E;AACA,UAAI;AACH,cAAM,KAAK,gBAAgB,oBAAoB;AAAA,UAC9C,IAAI;AAAA,UACJ,SAAS,QAAQ;AAAA,UACjB;AAAA,UACA,UAAU;AAAA,YACT,eAAe,KAAK,SAAS;AAAA,YAC7B,eAAe,KAAK,SAAS;AAAA,UAAA;AAAA,UAE9B;AAAA,UACA;AAAA,QAAA,CACA;AAAA,MACF,SAAS,GAAG;AACX,YAAI,aAAa,gBAAgB;AAChC,gBAAM,IAAI,OAAO,WAAW,SAAA;AAC5B,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UAAA;AAErB,iBAAO;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UAAA;AAAA,QAEF,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAA;AAAA,MAAC;AAAA,IAEX,CAAC,CAAC;AAAA,EACJ;AAAA,EAEQ,oBAAoB,MAA6C;AACxE,WAAO,KAAK,gBAAgB,KAAK,UAAU;AAAA,EAC5C;AAAA,EAEQ,gBAAgB,YAAiE;AACxF,WAAO,WAAW,IAAI,CAAC,OAAuB;AAC7C,UAAI,CAAC,GAAG,MAAM;AACb,YAAI,CAAC,GAAG,iBAAiB,CAAC,GAAG,eAAe;AAC3C,gBAAM,IAAI,eAAe,0BAA0B;AAAA,QACpD;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,eAAe,GAAG;AAAA,UAClB,eAAe,GAAG;AAAA,UAClB,SAAS,GAAG;AAAA,UACZ,MAAM,GAAG;AAAA,UACT,eAAgB,GAAG,iBAAoD;AAAA,QAAA;AAAA,MAEzE;AACA,UAAI,GAAG,SAAS,cAAc,QAAQ;AACrC,YAAI,CAAC,GAAG,iBAAiB;AACxB,gBAAM,IAAI,eAAe,iDAAiD;AAAA,QAC3E;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,GAAI,GAAG;AAAA,QAAA;AAAA,MAET;AACA,UAAI,GAAG,SAAS,cAAc,SAAS;AACtC,YAAI,CAAC,GAAG,kBAAkB;AACzB,gBAAM,IAAI,eAAe,mDAAmD;AAAA,QAC7E;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,SAAS,GAAG,iBAAiB,IAAI,CAAAA,SAAO;AAAA,YACvC,OAAOA,IAAG;AAAA,YACV,OAAOA,IAAG,SAAS;AAAA,YACnB,WAAWA,IAAG,aAAa;AAAA,UAAA,EAC1B;AAAA,QAAA;AAAA,MAEJ;AACA,aAAO,YAAY,GAAG,IAAI;AAAA,IAC3B,CAAC;AAAA,EACF;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationAlterMutationResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrationAlterMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { MutationResolver } from '../Resolver'\nimport {\n\tMigrationDeleteErrorCode,\n\tMigrationDeleteResponse,\n\tMigrationModifyErrorCode,\n\tMigrationModifyResponse,\n\tMutationMigrationDeleteArgs,\n\tMutationMigrationModifyArgs,\n} from '../../schema'\nimport { DeleteMigrationErrorCode, MigrationAlterer, UpdateMigrationErrorCode } from '../../model'\nimport { Migration } from '@contember/schema-migrations'\n\nexport class MigrationAlterMutationResolver implements MutationResolver<'migrationModify'>, MutationResolver<'migrationDelete'> {\n\tconstructor(private readonly migrationAlterer: MigrationAlterer) {}\n\n\tasync migrationModify(\n\t\tparent: any,\n\t\targs: MutationMigrationModifyArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationModifyResponse> {\n\t\tconst result = await this.migrationAlterer.modifyMigration(\n\t\t\tcontext.db,\n\t\t\targs.migration,\n\t\t\targs.modification as Partial<Migration>,\n\t\t)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[UpdateMigrationErrorCode.notFound]: MigrationModifyErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n\n\tasync migrationDelete(\n\t\tparent: any,\n\t\targs: MutationMigrationDeleteArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationDeleteResponse> {\n\t\tconst result = await this.migrationAlterer.deleteMigration(context.db, args.migration)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[DeleteMigrationErrorCode.notFound]: MigrationDeleteErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n}\n"],"names":["UpdateMigrationErrorCode","MigrationModifyErrorCode","DeleteMigrationErrorCode","MigrationDeleteErrorCode"],"mappings":";;;;;;;;;;;;;AAcO,MAAM,+BAAmH;AAAA,EAC/H,YAA6B,kBAAoC;AAApC,SAAA,mBAAA;AAAA,EAAqC;AAAA,EAElE,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB;AAAA,MAC1C,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAEN,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAACA,iBAAAA,yBAAyB,QAAQ,GAAGC,+BAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AAAA,EAEA,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB,gBAAgB,QAAQ,IAAI,KAAK,SAAS;AACrF,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAACC,iBAAAA,yBAAyB,QAAQ,GAAGC,+BAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AACD;;"}
1
+ {"version":3,"file":"MigrationAlterMutationResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrationAlterMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { MutationResolver } from '../Resolver.js'\nimport {\n\tMigrationDeleteErrorCode,\n\tMigrationDeleteResponse,\n\tMigrationModifyErrorCode,\n\tMigrationModifyResponse,\n\tMutationMigrationDeleteArgs,\n\tMutationMigrationModifyArgs,\n} from '../../schema/index.js'\nimport { DeleteMigrationErrorCode, MigrationAlterer, UpdateMigrationErrorCode } from '../../model/index.js'\nimport { Migration } from '@contember/schema-migrations'\n\nexport class MigrationAlterMutationResolver implements MutationResolver<'migrationModify'>, MutationResolver<'migrationDelete'> {\n\tconstructor(private readonly migrationAlterer: MigrationAlterer) {}\n\n\tasync migrationModify(\n\t\tparent: any,\n\t\targs: MutationMigrationModifyArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationModifyResponse> {\n\t\tconst result = await this.migrationAlterer.modifyMigration(\n\t\t\tcontext.db,\n\t\t\targs.migration,\n\t\t\targs.modification as Partial<Migration>,\n\t\t)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[UpdateMigrationErrorCode.notFound]: MigrationModifyErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n\n\tasync migrationDelete(\n\t\tparent: any,\n\t\targs: MutationMigrationDeleteArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationDeleteResponse> {\n\t\tconst result = await this.migrationAlterer.deleteMigration(context.db, args.migration)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[DeleteMigrationErrorCode.notFound]: MigrationDeleteErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n}\n"],"names":["UpdateMigrationErrorCode","MigrationModifyErrorCode","DeleteMigrationErrorCode","MigrationDeleteErrorCode"],"mappings":";;;;;;;;;;;;;AAcO,MAAM,+BAAmH;AAAA,EAC/H,YAA6B,kBAAoC;AAApC,SAAA,mBAAA;AAAA,EAAqC;AAAA,EAElE,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB;AAAA,MAC1C,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAEN,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAACA,iBAAAA,yBAAyB,QAAQ,GAAGC,+BAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AAAA,EAEA,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB,gBAAgB,QAAQ,IAAI,KAAK,SAAS;AACrF,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAACC,iBAAAA,yBAAyB,QAAQ,GAAGC,+BAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationAlterMutationResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrationAlterMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { MutationResolver } from '../Resolver'\nimport {\n\tMigrationDeleteErrorCode,\n\tMigrationDeleteResponse,\n\tMigrationModifyErrorCode,\n\tMigrationModifyResponse,\n\tMutationMigrationDeleteArgs,\n\tMutationMigrationModifyArgs,\n} from '../../schema'\nimport { DeleteMigrationErrorCode, MigrationAlterer, UpdateMigrationErrorCode } from '../../model'\nimport { Migration } from '@contember/schema-migrations'\n\nexport class MigrationAlterMutationResolver implements MutationResolver<'migrationModify'>, MutationResolver<'migrationDelete'> {\n\tconstructor(private readonly migrationAlterer: MigrationAlterer) {}\n\n\tasync migrationModify(\n\t\tparent: any,\n\t\targs: MutationMigrationModifyArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationModifyResponse> {\n\t\tconst result = await this.migrationAlterer.modifyMigration(\n\t\t\tcontext.db,\n\t\t\targs.migration,\n\t\t\targs.modification as Partial<Migration>,\n\t\t)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[UpdateMigrationErrorCode.notFound]: MigrationModifyErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n\n\tasync migrationDelete(\n\t\tparent: any,\n\t\targs: MutationMigrationDeleteArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationDeleteResponse> {\n\t\tconst result = await this.migrationAlterer.deleteMigration(context.db, args.migration)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[DeleteMigrationErrorCode.notFound]: MigrationDeleteErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAcO,MAAM,+BAAmH;AAAA,EAC/H,YAA6B,kBAAoC;AAApC,SAAA,mBAAA;AAAA,EAAqC;AAAA,EAElE,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB;AAAA,MAC1C,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAEN,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAAC,yBAAyB,QAAQ,GAAG,yBAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AAAA,EAEA,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB,gBAAgB,QAAQ,IAAI,KAAK,SAAS;AACrF,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAAC,yBAAyB,QAAQ,GAAG,yBAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AACD;"}
1
+ {"version":3,"file":"MigrationAlterMutationResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrationAlterMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { MutationResolver } from '../Resolver.js'\nimport {\n\tMigrationDeleteErrorCode,\n\tMigrationDeleteResponse,\n\tMigrationModifyErrorCode,\n\tMigrationModifyResponse,\n\tMutationMigrationDeleteArgs,\n\tMutationMigrationModifyArgs,\n} from '../../schema/index.js'\nimport { DeleteMigrationErrorCode, MigrationAlterer, UpdateMigrationErrorCode } from '../../model/index.js'\nimport { Migration } from '@contember/schema-migrations'\n\nexport class MigrationAlterMutationResolver implements MutationResolver<'migrationModify'>, MutationResolver<'migrationDelete'> {\n\tconstructor(private readonly migrationAlterer: MigrationAlterer) {}\n\n\tasync migrationModify(\n\t\tparent: any,\n\t\targs: MutationMigrationModifyArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationModifyResponse> {\n\t\tconst result = await this.migrationAlterer.modifyMigration(\n\t\t\tcontext.db,\n\t\t\targs.migration,\n\t\t\targs.modification as Partial<Migration>,\n\t\t)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[UpdateMigrationErrorCode.notFound]: MigrationModifyErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n\n\tasync migrationDelete(\n\t\tparent: any,\n\t\targs: MutationMigrationDeleteArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationDeleteResponse> {\n\t\tconst result = await this.migrationAlterer.deleteMigration(context.db, args.migration)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[DeleteMigrationErrorCode.notFound]: MigrationDeleteErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAcO,MAAM,+BAAmH;AAAA,EAC/H,YAA6B,kBAAoC;AAApC,SAAA,mBAAA;AAAA,EAAqC;AAAA,EAElE,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB;AAAA,MAC1C,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAEN,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAAC,yBAAyB,QAAQ,GAAG,yBAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AAAA,EAEA,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB,gBAAgB,QAAQ,IAAI,KAAK,SAAS;AACrF,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAAC,yBAAyB,QAAQ,GAAG,yBAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AACD;"}
@@ -5,7 +5,7 @@ class TruncateMutationResolver {
5
5
  this.projectTruncateExecutor = projectTruncateExecutor;
6
6
  }
7
7
  async truncate(parent, args, context, info) {
8
- await this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema());
8
+ await this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema(), context.identity.id);
9
9
  return {
10
10
  ok: true
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TruncateMutationResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/TruncateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { MutationResolver } from '../Resolver'\nimport { TruncateResponse } from '../../schema'\nimport { ProjectTruncateExecutor } from '../../model'\n\nexport class TruncateMutationResolver implements MutationResolver<'truncate'> {\n\tconstructor(private readonly projectTruncateExecutor: ProjectTruncateExecutor) {}\n\tasync truncate(\n\t\tparent: any,\n\t\targs: any,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<TruncateResponse> {\n\t\tawait this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema())\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAMO,MAAM,yBAAiE;AAAA,EAC7E,YAA6B,yBAAkD;AAAlD,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAChF,MAAM,SACL,QACA,MACA,SACA,MAC4B;AAC5B,UAAM,KAAK,wBAAwB,gBAAgB,QAAQ,IAAI,QAAQ,SAAS,MAAM,QAAQ,WAAW;AACzG,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;;"}
1
+ {"version":3,"file":"TruncateMutationResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/TruncateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { MutationResolver } from '../Resolver.js'\nimport { TruncateResponse } from '../../schema/index.js'\nimport { ProjectTruncateExecutor } from '../../model/index.js'\n\nexport class TruncateMutationResolver implements MutationResolver<'truncate'> {\n\tconstructor(private readonly projectTruncateExecutor: ProjectTruncateExecutor) {}\n\tasync truncate(\n\t\tparent: any,\n\t\targs: any,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<TruncateResponse> {\n\t\tawait this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema(), context.identity.id)\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAMO,MAAM,yBAAiE;AAAA,EAC7E,YAA6B,yBAAkD;AAAlD,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAChF,MAAM,SACL,QACA,MACA,SACA,MAC4B;AAC5B,UAAM,KAAK,wBAAwB,gBAAgB,QAAQ,IAAI,QAAQ,SAAS,MAAM,QAAQ,UAAA,GAAa,QAAQ,SAAS,EAAE;AAC9H,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;;"}
@@ -3,7 +3,7 @@ class TruncateMutationResolver {
3
3
  this.projectTruncateExecutor = projectTruncateExecutor;
4
4
  }
5
5
  async truncate(parent, args, context, info) {
6
- await this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema());
6
+ await this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema(), context.identity.id);
7
7
  return {
8
8
  ok: true
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TruncateMutationResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/TruncateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { MutationResolver } from '../Resolver'\nimport { TruncateResponse } from '../../schema'\nimport { ProjectTruncateExecutor } from '../../model'\n\nexport class TruncateMutationResolver implements MutationResolver<'truncate'> {\n\tconstructor(private readonly projectTruncateExecutor: ProjectTruncateExecutor) {}\n\tasync truncate(\n\t\tparent: any,\n\t\targs: any,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<TruncateResponse> {\n\t\tawait this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema())\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"AAMO,MAAM,yBAAiE;AAAA,EAC7E,YAA6B,yBAAkD;AAAlD,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAChF,MAAM,SACL,QACA,MACA,SACA,MAC4B;AAC5B,UAAM,KAAK,wBAAwB,gBAAgB,QAAQ,IAAI,QAAQ,SAAS,MAAM,QAAQ,WAAW;AACzG,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;"}
1
+ {"version":3,"file":"TruncateMutationResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/TruncateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { MutationResolver } from '../Resolver.js'\nimport { TruncateResponse } from '../../schema/index.js'\nimport { ProjectTruncateExecutor } from '../../model/index.js'\n\nexport class TruncateMutationResolver implements MutationResolver<'truncate'> {\n\tconstructor(private readonly projectTruncateExecutor: ProjectTruncateExecutor) {}\n\tasync truncate(\n\t\tparent: any,\n\t\targs: any,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<TruncateResponse> {\n\t\tawait this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema(), context.identity.id)\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"AAMO,MAAM,yBAAiE;AAAA,EAC7E,YAA6B,yBAAkD;AAAlD,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAChF,MAAM,SACL,QACA,MACA,SACA,MAC4B;AAC5B,UAAM,KAAK,wBAAwB,gBAAgB,QAAQ,IAAI,QAAQ,SAAS,MAAM,QAAQ,UAAA,GAAa,QAAQ,SAAS,EAAE;AAC9H,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventsQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/EventsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { EventsOrder, QueryEventsArgs, ResolversTypes } from '../../schema'\nimport { AuthorizationActions, EventResponseBuilder, EventsQuery, StageBySlugQuery } from '../../model'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class EventsQueryResolver implements QueryResolver<'events'> {\n\tconstructor(\n\t\tprivate readonly eventResponseBuilder: EventResponseBuilder,\n\t) {\n\t}\n\n\tasync events(\n\t\tparent: any,\n\t\t{ args }: QueryEventsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ResolversTypes['Event'][]> {\n\t\treturn context.db.transaction(async db => {\n\t\t\tconst stageSlug = args?.stage ?? context.project.stages[0].slug\n\t\t\tconst stage = await db.queryHandler.fetch(new StageBySlugQuery(stageSlug))\n\t\t\tif (!stage) {\n\t\t\t\tthrow new UserInputError(`Stage ${stageSlug} not found`)\n\t\t\t}\n\t\t\tawait context.requireAccess(\n\t\t\t\tAuthorizationActions.PROJECT_HISTORY_ANY,\n\t\t\t\tstage.slug,\n\t\t\t\t'You are not allowed to view a history.',\n\t\t\t)\n\n\t\t\tconst history = await db.queryHandler.fetch(\n\t\t\t\tnew EventsQuery(\n\t\t\t\t\targs?.filter ?? {},\n\t\t\t\t\targs?.order ?? EventsOrder.AppliedAtDesc,\n\t\t\t\t\targs?.offset ?? 0,\n\t\t\t\t\tMath.min(args?.limit ?? 1000, 10000),\n\t\t\t\t),\n\t\t\t)\n\n\t\t\treturn await this.eventResponseBuilder.buildResponse(history)\n\t\t})\n\t}\n}\n"],"names":["StageBySlugQuery","UserInputError","AuthorizationActions","EventsQuery","EventsOrder"],"mappings":";;;;;;;;;;;;;;;AAOO,MAAM,oBAAuD;AAAA,EACnE,YACkB,sBAChB;AADgB,SAAA,uBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,OACL,QACA,EAAE,KAAA,GACF,SACA,MACqC;AACrC,WAAO,QAAQ,GAAG,YAAY,OAAM,OAAM;AACzC,YAAM,YAAY,MAAM,SAAS,QAAQ,QAAQ,OAAO,CAAC,EAAE;AAC3D,YAAM,QAAQ,MAAM,GAAG,aAAa,MAAM,IAAIA,iBAAAA,iBAAiB,SAAS,CAAC;AACzE,UAAI,CAAC,OAAO;AACX,cAAM,IAAIC,aAAAA,eAAe,SAAS,SAAS,YAAY;AAAA,MACxD;AACA,YAAM,QAAQ;AAAA,QACbC,qBAAAA,qBAAqB;AAAA,QACrB,MAAM;AAAA,QACN;AAAA,MAAA;AAGD,YAAM,UAAU,MAAM,GAAG,aAAa;AAAA,QACrC,IAAIC,YAAAA;AAAAA,UACH,MAAM,UAAU,CAAA;AAAA,UAChB,MAAM,SAASC,MAAAA,YAAY;AAAA,UAC3B,MAAM,UAAU;AAAA,UAChB,KAAK,IAAI,MAAM,SAAS,KAAM,GAAK;AAAA,QAAA;AAAA,MACpC;AAGD,aAAO,MAAM,KAAK,qBAAqB,cAAc,OAAO;AAAA,IAC7D,CAAC;AAAA,EACF;AACD;;"}
1
+ {"version":3,"file":"EventsQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/EventsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { EventsOrder, QueryEventsArgs, ResolversTypes } from '../../schema/index.js'\nimport { AuthorizationActions, EventResponseBuilder, EventsQuery, StageBySlugQuery } from '../../model/index.js'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class EventsQueryResolver implements QueryResolver<'events'> {\n\tconstructor(\n\t\tprivate readonly eventResponseBuilder: EventResponseBuilder,\n\t) {\n\t}\n\n\tasync events(\n\t\tparent: any,\n\t\t{ args }: QueryEventsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ResolversTypes['Event'][]> {\n\t\treturn context.db.transaction(async db => {\n\t\t\tconst stageSlug = args?.stage ?? context.project.stages[0].slug\n\t\t\tconst stage = await db.queryHandler.fetch(new StageBySlugQuery(stageSlug))\n\t\t\tif (!stage) {\n\t\t\t\tthrow new UserInputError(`Stage ${stageSlug} not found`)\n\t\t\t}\n\t\t\tawait context.requireAccess(\n\t\t\t\tAuthorizationActions.PROJECT_HISTORY_ANY,\n\t\t\t\tstage.slug,\n\t\t\t\t'You are not allowed to view a history.',\n\t\t\t)\n\n\t\t\tconst history = await db.queryHandler.fetch(\n\t\t\t\tnew EventsQuery(\n\t\t\t\t\targs?.filter ?? {},\n\t\t\t\t\targs?.order ?? EventsOrder.AppliedAtDesc,\n\t\t\t\t\targs?.offset ?? 0,\n\t\t\t\t\tMath.min(args?.limit ?? 1000, 10000),\n\t\t\t\t),\n\t\t\t)\n\n\t\t\treturn await this.eventResponseBuilder.buildResponse(history)\n\t\t})\n\t}\n}\n"],"names":["StageBySlugQuery","UserInputError","AuthorizationActions","EventsQuery","EventsOrder"],"mappings":";;;;;;;;;;;;;;;AAOO,MAAM,oBAAuD;AAAA,EACnE,YACkB,sBAChB;AADgB,SAAA,uBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,OACL,QACA,EAAE,KAAA,GACF,SACA,MACqC;AACrC,WAAO,QAAQ,GAAG,YAAY,OAAM,OAAM;AACzC,YAAM,YAAY,MAAM,SAAS,QAAQ,QAAQ,OAAO,CAAC,EAAE;AAC3D,YAAM,QAAQ,MAAM,GAAG,aAAa,MAAM,IAAIA,iBAAAA,iBAAiB,SAAS,CAAC;AACzE,UAAI,CAAC,OAAO;AACX,cAAM,IAAIC,aAAAA,eAAe,SAAS,SAAS,YAAY;AAAA,MACxD;AACA,YAAM,QAAQ;AAAA,QACbC,qBAAAA,qBAAqB;AAAA,QACrB,MAAM;AAAA,QACN;AAAA,MAAA;AAGD,YAAM,UAAU,MAAM,GAAG,aAAa;AAAA,QACrC,IAAIC,YAAAA;AAAAA,UACH,MAAM,UAAU,CAAA;AAAA,UAChB,MAAM,SAASC,MAAAA,YAAY;AAAA,UAC3B,MAAM,UAAU;AAAA,UAChB,KAAK,IAAI,MAAM,SAAS,KAAM,GAAK;AAAA,QAAA;AAAA,MACpC;AAGD,aAAO,MAAM,KAAK,qBAAqB,cAAc,OAAO;AAAA,IAC7D,CAAC;AAAA,EACF;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventsQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/EventsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { EventsOrder, QueryEventsArgs, ResolversTypes } from '../../schema'\nimport { AuthorizationActions, EventResponseBuilder, EventsQuery, StageBySlugQuery } from '../../model'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class EventsQueryResolver implements QueryResolver<'events'> {\n\tconstructor(\n\t\tprivate readonly eventResponseBuilder: EventResponseBuilder,\n\t) {\n\t}\n\n\tasync events(\n\t\tparent: any,\n\t\t{ args }: QueryEventsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ResolversTypes['Event'][]> {\n\t\treturn context.db.transaction(async db => {\n\t\t\tconst stageSlug = args?.stage ?? context.project.stages[0].slug\n\t\t\tconst stage = await db.queryHandler.fetch(new StageBySlugQuery(stageSlug))\n\t\t\tif (!stage) {\n\t\t\t\tthrow new UserInputError(`Stage ${stageSlug} not found`)\n\t\t\t}\n\t\t\tawait context.requireAccess(\n\t\t\t\tAuthorizationActions.PROJECT_HISTORY_ANY,\n\t\t\t\tstage.slug,\n\t\t\t\t'You are not allowed to view a history.',\n\t\t\t)\n\n\t\t\tconst history = await db.queryHandler.fetch(\n\t\t\t\tnew EventsQuery(\n\t\t\t\t\targs?.filter ?? {},\n\t\t\t\t\targs?.order ?? EventsOrder.AppliedAtDesc,\n\t\t\t\t\targs?.offset ?? 0,\n\t\t\t\t\tMath.min(args?.limit ?? 1000, 10000),\n\t\t\t\t),\n\t\t\t)\n\n\t\t\treturn await this.eventResponseBuilder.buildResponse(history)\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAOO,MAAM,oBAAuD;AAAA,EACnE,YACkB,sBAChB;AADgB,SAAA,uBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,OACL,QACA,EAAE,KAAA,GACF,SACA,MACqC;AACrC,WAAO,QAAQ,GAAG,YAAY,OAAM,OAAM;AACzC,YAAM,YAAY,MAAM,SAAS,QAAQ,QAAQ,OAAO,CAAC,EAAE;AAC3D,YAAM,QAAQ,MAAM,GAAG,aAAa,MAAM,IAAI,iBAAiB,SAAS,CAAC;AACzE,UAAI,CAAC,OAAO;AACX,cAAM,IAAI,eAAe,SAAS,SAAS,YAAY;AAAA,MACxD;AACA,YAAM,QAAQ;AAAA,QACb,qBAAqB;AAAA,QACrB,MAAM;AAAA,QACN;AAAA,MAAA;AAGD,YAAM,UAAU,MAAM,GAAG,aAAa;AAAA,QACrC,IAAI;AAAA,UACH,MAAM,UAAU,CAAA;AAAA,UAChB,MAAM,SAAS,YAAY;AAAA,UAC3B,MAAM,UAAU;AAAA,UAChB,KAAK,IAAI,MAAM,SAAS,KAAM,GAAK;AAAA,QAAA;AAAA,MACpC;AAGD,aAAO,MAAM,KAAK,qBAAqB,cAAc,OAAO;AAAA,IAC7D,CAAC;AAAA,EACF;AACD;"}
1
+ {"version":3,"file":"EventsQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/EventsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { EventsOrder, QueryEventsArgs, ResolversTypes } from '../../schema/index.js'\nimport { AuthorizationActions, EventResponseBuilder, EventsQuery, StageBySlugQuery } from '../../model/index.js'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class EventsQueryResolver implements QueryResolver<'events'> {\n\tconstructor(\n\t\tprivate readonly eventResponseBuilder: EventResponseBuilder,\n\t) {\n\t}\n\n\tasync events(\n\t\tparent: any,\n\t\t{ args }: QueryEventsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ResolversTypes['Event'][]> {\n\t\treturn context.db.transaction(async db => {\n\t\t\tconst stageSlug = args?.stage ?? context.project.stages[0].slug\n\t\t\tconst stage = await db.queryHandler.fetch(new StageBySlugQuery(stageSlug))\n\t\t\tif (!stage) {\n\t\t\t\tthrow new UserInputError(`Stage ${stageSlug} not found`)\n\t\t\t}\n\t\t\tawait context.requireAccess(\n\t\t\t\tAuthorizationActions.PROJECT_HISTORY_ANY,\n\t\t\t\tstage.slug,\n\t\t\t\t'You are not allowed to view a history.',\n\t\t\t)\n\n\t\t\tconst history = await db.queryHandler.fetch(\n\t\t\t\tnew EventsQuery(\n\t\t\t\t\targs?.filter ?? {},\n\t\t\t\t\targs?.order ?? EventsOrder.AppliedAtDesc,\n\t\t\t\t\targs?.offset ?? 0,\n\t\t\t\t\tMath.min(args?.limit ?? 1000, 10000),\n\t\t\t\t),\n\t\t\t)\n\n\t\t\treturn await this.eventResponseBuilder.buildResponse(history)\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAOO,MAAM,oBAAuD;AAAA,EACnE,YACkB,sBAChB;AADgB,SAAA,uBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,OACL,QACA,EAAE,KAAA,GACF,SACA,MACqC;AACrC,WAAO,QAAQ,GAAG,YAAY,OAAM,OAAM;AACzC,YAAM,YAAY,MAAM,SAAS,QAAQ,QAAQ,OAAO,CAAC,EAAE;AAC3D,YAAM,QAAQ,MAAM,GAAG,aAAa,MAAM,IAAI,iBAAiB,SAAS,CAAC;AACzE,UAAI,CAAC,OAAO;AACX,cAAM,IAAI,eAAe,SAAS,SAAS,YAAY;AAAA,MACxD;AACA,YAAM,QAAQ;AAAA,QACb,qBAAqB;AAAA,QACrB,MAAM;AAAA,QACN;AAAA,MAAA;AAGD,YAAM,UAAU,MAAM,GAAG,aAAa;AAAA,QACrC,IAAI;AAAA,UACH,MAAM,UAAU,CAAA;AAAA,UAChB,MAAM,SAAS,YAAY;AAAA,UAC3B,MAAM,UAAU;AAAA,UAChB,KAAK,IAAI,MAAM,SAAS,KAAM,GAAK;AAAA,QAAA;AAAA,MACpC;AAGD,aAAO,MAAM,KAAK,qBAAqB,cAAc,OAAO;AAAA,IAC7D,CAAC;AAAA,EACF;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutedMigrationsQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/ExecutedMigrationsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { ExecutedMigration, QueryExecutedMigrationsArgs } from '../../schema'\nimport { AuthorizationActions, ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery, StagesQuery } from '../../model'\n\nexport class ExecutedMigrationsQueryResolver implements QueryResolver<'executedMigrations'> {\n\tasync executedMigrations(\n\t\tparent: any,\n\t\targs: QueryExecutedMigrationsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ExecutedMigration[]> {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_LIST_MIGRATIONS, stage.slug)\n\t\t}\n\n\t\tif (args.version) {\n\t\t\tconst migration = await context.db.queryHandler.fetch(new ExecutedMigrationByVersionQuery(args.version))\n\t\t\treturn migration ? [migration] : []\n\t\t}\n\t\treturn await context.db.queryHandler.fetch(new ExecutedMigrationsQuery())\n\t}\n}\n"],"names":["StagesQuery","AuthorizationActions","ExecutedMigrationByVersionQuery","ExecutedMigrationsQuery"],"mappings":";;;;;;;;;;;;;;AAMO,MAAM,gCAA+E;AAAA,EAC3F,MAAM,mBACL,QACA,MACA,SACA,MAC+B;AAC/B,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIA,YAAAA,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,yBAAyB,MAAM,IAAI;AAAA,IACrF;AAEA,QAAI,KAAK,SAAS;AACjB,YAAM,YAAY,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIC,gCAAAA,gCAAgC,KAAK,OAAO,CAAC;AACvG,aAAO,YAAY,CAAC,SAAS,IAAI,CAAA;AAAA,IAClC;AACA,WAAO,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIC,wBAAAA,yBAAyB;AAAA,EACzE;AACD;;"}
1
+ {"version":3,"file":"ExecutedMigrationsQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/ExecutedMigrationsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { ExecutedMigration, QueryExecutedMigrationsArgs } from '../../schema/index.js'\nimport { AuthorizationActions, ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery, StagesQuery } from '../../model/index.js'\n\nexport class ExecutedMigrationsQueryResolver implements QueryResolver<'executedMigrations'> {\n\tasync executedMigrations(\n\t\tparent: any,\n\t\targs: QueryExecutedMigrationsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ExecutedMigration[]> {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_LIST_MIGRATIONS, stage.slug)\n\t\t}\n\n\t\tif (args.version) {\n\t\t\tconst migration = await context.db.queryHandler.fetch(new ExecutedMigrationByVersionQuery(args.version))\n\t\t\treturn migration ? [migration] : []\n\t\t}\n\t\treturn await context.db.queryHandler.fetch(new ExecutedMigrationsQuery())\n\t}\n}\n"],"names":["StagesQuery","AuthorizationActions","ExecutedMigrationByVersionQuery","ExecutedMigrationsQuery"],"mappings":";;;;;;;;;;;;;;AAMO,MAAM,gCAA+E;AAAA,EAC3F,MAAM,mBACL,QACA,MACA,SACA,MAC+B;AAC/B,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIA,YAAAA,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,yBAAyB,MAAM,IAAI;AAAA,IACrF;AAEA,QAAI,KAAK,SAAS;AACjB,YAAM,YAAY,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIC,gCAAAA,gCAAgC,KAAK,OAAO,CAAC;AACvG,aAAO,YAAY,CAAC,SAAS,IAAI,CAAA;AAAA,IAClC;AACA,WAAO,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIC,wBAAAA,yBAAyB;AAAA,EACzE;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutedMigrationsQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/ExecutedMigrationsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { ExecutedMigration, QueryExecutedMigrationsArgs } from '../../schema'\nimport { AuthorizationActions, ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery, StagesQuery } from '../../model'\n\nexport class ExecutedMigrationsQueryResolver implements QueryResolver<'executedMigrations'> {\n\tasync executedMigrations(\n\t\tparent: any,\n\t\targs: QueryExecutedMigrationsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ExecutedMigration[]> {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_LIST_MIGRATIONS, stage.slug)\n\t\t}\n\n\t\tif (args.version) {\n\t\t\tconst migration = await context.db.queryHandler.fetch(new ExecutedMigrationByVersionQuery(args.version))\n\t\t\treturn migration ? [migration] : []\n\t\t}\n\t\treturn await context.db.queryHandler.fetch(new ExecutedMigrationsQuery())\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAMO,MAAM,gCAA+E;AAAA,EAC3F,MAAM,mBACL,QACA,MACA,SACA,MAC+B;AAC/B,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAc,qBAAqB,yBAAyB,MAAM,IAAI;AAAA,IACrF;AAEA,QAAI,KAAK,SAAS;AACjB,YAAM,YAAY,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,gCAAgC,KAAK,OAAO,CAAC;AACvG,aAAO,YAAY,CAAC,SAAS,IAAI,CAAA;AAAA,IAClC;AACA,WAAO,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,yBAAyB;AAAA,EACzE;AACD;"}
1
+ {"version":3,"file":"ExecutedMigrationsQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/ExecutedMigrationsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { ExecutedMigration, QueryExecutedMigrationsArgs } from '../../schema/index.js'\nimport { AuthorizationActions, ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery, StagesQuery } from '../../model/index.js'\n\nexport class ExecutedMigrationsQueryResolver implements QueryResolver<'executedMigrations'> {\n\tasync executedMigrations(\n\t\tparent: any,\n\t\targs: QueryExecutedMigrationsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ExecutedMigration[]> {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_LIST_MIGRATIONS, stage.slug)\n\t\t}\n\n\t\tif (args.version) {\n\t\t\tconst migration = await context.db.queryHandler.fetch(new ExecutedMigrationByVersionQuery(args.version))\n\t\t\treturn migration ? [migration] : []\n\t\t}\n\t\treturn await context.db.queryHandler.fetch(new ExecutedMigrationsQuery())\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAMO,MAAM,gCAA+E;AAAA,EAC3F,MAAM,mBACL,QACA,MACA,SACA,MAC+B;AAC/B,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAc,qBAAqB,yBAAyB,MAAM,IAAI;AAAA,IACrF;AAEA,QAAI,KAAK,SAAS;AACjB,YAAM,YAAY,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,gCAAgC,KAAK,OAAO,CAAC;AACvG,aAAO,YAAY,CAAC,SAAS,IAAI,CAAA;AAAA,IAClC;AACA,WAAO,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,yBAAyB;AAAA,EACzE;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/SchemaQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { AuthorizationActions, StagesQuery } from '../../model'\n\nexport class SchemaQueryResolver implements QueryResolver<'schema'> {\n\tasync schema(\n\t\tparent: any,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t) {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_SHOW_SCHEMA, stage.slug)\n\t\t}\n\t\treturn context.getSchema()\n\t}\n}\n"],"names":["StagesQuery","AuthorizationActions"],"mappings":";;;;;;;;;;;;AAKO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OACL,QACA,MACA,SACA,MACC;AACD,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIA,YAAAA,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,qBAAqB,MAAM,IAAI;AAAA,IACjF;AACA,WAAO,QAAQ,UAAA;AAAA,EAChB;AACD;;"}
1
+ {"version":3,"file":"SchemaQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/SchemaQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { AuthorizationActions, StagesQuery } from '../../model/index.js'\n\nexport class SchemaQueryResolver implements QueryResolver<'schema'> {\n\tasync schema(\n\t\tparent: any,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t) {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_SHOW_SCHEMA, stage.slug)\n\t\t}\n\t\treturn context.getSchema()\n\t}\n}\n"],"names":["StagesQuery","AuthorizationActions"],"mappings":";;;;;;;;;;;;AAKO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OACL,QACA,MACA,SACA,MACC;AACD,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIA,YAAAA,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,qBAAqB,MAAM,IAAI;AAAA,IACjF;AACA,WAAO,QAAQ,UAAA;AAAA,EAChB;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/SchemaQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { AuthorizationActions, StagesQuery } from '../../model'\n\nexport class SchemaQueryResolver implements QueryResolver<'schema'> {\n\tasync schema(\n\t\tparent: any,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t) {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_SHOW_SCHEMA, stage.slug)\n\t\t}\n\t\treturn context.getSchema()\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;AAKO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OACL,QACA,MACA,SACA,MACC;AACD,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAc,qBAAqB,qBAAqB,MAAM,IAAI;AAAA,IACjF;AACA,WAAO,QAAQ,UAAA;AAAA,EAChB;AACD;"}
1
+ {"version":3,"file":"SchemaQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/SchemaQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { AuthorizationActions, StagesQuery } from '../../model/index.js'\n\nexport class SchemaQueryResolver implements QueryResolver<'schema'> {\n\tasync schema(\n\t\tparent: any,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t) {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_SHOW_SCHEMA, stage.slug)\n\t\t}\n\t\treturn context.getSchema()\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;AAKO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OACL,QACA,MACA,SACA,MACC;AACD,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAc,qBAAqB,qBAAqB,MAAM,IAAI;AAAA,IACjF;AACA,WAAO,QAAQ,UAAA;AAAA,EAChB;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"StagesQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/StagesQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { Stage } from '../../schema'\nimport { StagesQuery } from '../../model'\n\nexport class StagesQueryResolver implements QueryResolver<'stages'> {\n\tasync stages(parent: any, args: any, context: SystemResolverContext, info: GraphQLResolveInfo): Promise<Stage[]> {\n\t\treturn context.db.queryHandler.fetch(new StagesQuery())\n\t}\n}\n"],"names":["StagesQuery"],"mappings":";;;;;;;;;;;;AAMO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OAAO,QAAa,MAAW,SAAgC,MAA4C;AAChH,WAAO,QAAQ,GAAG,aAAa,MAAM,IAAIA,YAAAA,aAAa;AAAA,EACvD;AACD;;"}
1
+ {"version":3,"file":"StagesQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/StagesQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { Stage } from '../../schema/index.js'\nimport { StagesQuery } from '../../model/index.js'\n\nexport class StagesQueryResolver implements QueryResolver<'stages'> {\n\tasync stages(parent: any, args: any, context: SystemResolverContext, info: GraphQLResolveInfo): Promise<Stage[]> {\n\t\treturn context.db.queryHandler.fetch(new StagesQuery())\n\t}\n}\n"],"names":["StagesQuery"],"mappings":";;;;;;;;;;;;AAMO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OAAO,QAAa,MAAW,SAAgC,MAA4C;AAChH,WAAO,QAAQ,GAAG,aAAa,MAAM,IAAIA,YAAAA,aAAa;AAAA,EACvD;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"StagesQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/StagesQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { Stage } from '../../schema'\nimport { StagesQuery } from '../../model'\n\nexport class StagesQueryResolver implements QueryResolver<'stages'> {\n\tasync stages(parent: any, args: any, context: SystemResolverContext, info: GraphQLResolveInfo): Promise<Stage[]> {\n\t\treturn context.db.queryHandler.fetch(new StagesQuery())\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;AAMO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OAAO,QAAa,MAAW,SAAgC,MAA4C;AAChH,WAAO,QAAQ,GAAG,aAAa,MAAM,IAAI,aAAa;AAAA,EACvD;AACD;"}
1
+ {"version":3,"file":"StagesQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/StagesQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { Stage } from '../../schema/index.js'\nimport { StagesQuery } from '../../model/index.js'\n\nexport class StagesQueryResolver implements QueryResolver<'stages'> {\n\tasync stages(parent: any, args: any, context: SystemResolverContext, info: GraphQLResolveInfo): Promise<Stage[]> {\n\t\treturn context.db.queryHandler.fetch(new StagesQuery())\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;AAMO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OAAO,QAAa,MAAW,SAAgC,MAA4C;AAChH,WAAO,QAAQ,GAAG,aAAa,MAAM,IAAI,aAAa;AAAA,EACvD;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventOldValuesResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/EventOldValuesResolver.ts"],"sourcesContent":["import { DeleteEvent, DeleteEventResolvers, UpdateEvent, UpdateEventResolvers } from '../../schema'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { oldValuesLoaderFactory } from './OldValuesHelpers'\n\nexport class EventOldValuesResolver implements UpdateEventResolvers<SystemResolverContext>, DeleteEventResolvers<SystemResolverContext> {\n\tasync oldValues(\n\t\tparent: UpdateEvent | DeleteEvent,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t): Promise<object> {\n\t\treturn await context.getLoader(oldValuesLoaderFactory)(parent.id)\n\t}\n}\n"],"names":["oldValuesLoaderFactory"],"mappings":";;;AAIO,MAAM,uBAA2H;AAAA,EACvI,MAAM,UACL,QACA,MACA,SACkB;AAClB,WAAO,MAAM,QAAQ,UAAUA,iBAAAA,sBAAsB,EAAE,OAAO,EAAE;AAAA,EACjE;AACD;;"}
1
+ {"version":3,"file":"EventOldValuesResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/EventOldValuesResolver.ts"],"sourcesContent":["import { DeleteEvent, DeleteEventResolvers, UpdateEvent, UpdateEventResolvers } from '../../schema/index.js'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { oldValuesLoaderFactory } from './OldValuesHelpers.js'\n\nexport class EventOldValuesResolver implements UpdateEventResolvers<SystemResolverContext>, DeleteEventResolvers<SystemResolverContext> {\n\tasync oldValues(\n\t\tparent: UpdateEvent | DeleteEvent,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t): Promise<object> {\n\t\treturn await context.getLoader(oldValuesLoaderFactory)(parent.id)\n\t}\n}\n"],"names":["oldValuesLoaderFactory"],"mappings":";;;AAIO,MAAM,uBAA2H;AAAA,EACvI,MAAM,UACL,QACA,MACA,SACkB;AAClB,WAAO,MAAM,QAAQ,UAAUA,iBAAAA,sBAAsB,EAAE,OAAO,EAAE;AAAA,EACjE;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventOldValuesResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/EventOldValuesResolver.ts"],"sourcesContent":["import { DeleteEvent, DeleteEventResolvers, UpdateEvent, UpdateEventResolvers } from '../../schema'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { oldValuesLoaderFactory } from './OldValuesHelpers'\n\nexport class EventOldValuesResolver implements UpdateEventResolvers<SystemResolverContext>, DeleteEventResolvers<SystemResolverContext> {\n\tasync oldValues(\n\t\tparent: UpdateEvent | DeleteEvent,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t): Promise<object> {\n\t\treturn await context.getLoader(oldValuesLoaderFactory)(parent.id)\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,uBAA2H;AAAA,EACvI,MAAM,UACL,QACA,MACA,SACkB;AAClB,WAAO,MAAM,QAAQ,UAAU,sBAAsB,EAAE,OAAO,EAAE;AAAA,EACjE;AACD;"}
1
+ {"version":3,"file":"EventOldValuesResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/EventOldValuesResolver.ts"],"sourcesContent":["import { DeleteEvent, DeleteEventResolvers, UpdateEvent, UpdateEventResolvers } from '../../schema/index.js'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { oldValuesLoaderFactory } from './OldValuesHelpers.js'\n\nexport class EventOldValuesResolver implements UpdateEventResolvers<SystemResolverContext>, DeleteEventResolvers<SystemResolverContext> {\n\tasync oldValues(\n\t\tparent: UpdateEvent | DeleteEvent,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t): Promise<object> {\n\t\treturn await context.getLoader(oldValuesLoaderFactory)(parent.id)\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,uBAA2H;AAAA,EACvI,MAAM,UACL,QACA,MACA,SACkB;AAClB,WAAO,MAAM,QAAQ,UAAU,sBAAsB,EAAE,OAAO,EAAE;AAAA,EACjE;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OldValuesHelpers.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/OldValuesHelpers.ts"],"sourcesContent":["import { DatabaseContext } from '../../model'\nimport { createBatchLoader } from '../../utils/batchQuery'\nimport { OldValuesQuery } from '../../model'\n\nexport const oldValuesLoaderFactory = (db: DatabaseContext) =>\n\tcreateBatchLoader<string, Record<string, object>, object>(\n\t\tasync ids => {\n\t\t\treturn db.queryHandler.fetch(new OldValuesQuery(ids))\n\t\t},\n\t\t(id, items) => items[id] ?? {},\n\t)\n"],"names":["createBatchLoader","OldValuesQuery"],"mappings":";;;;;;;;;;;;;AAIO,MAAM,yBAAyB,CAAC,OACtCA,WAAAA;AAAAA,EACC,OAAM,QAAO;AACZ,WAAO,GAAG,aAAa,MAAM,IAAIC,eAAAA,eAAe,GAAG,CAAC;AAAA,EACrD;AAAA,EACA,CAAC,IAAI,UAAU,MAAM,EAAE,KAAK,CAAA;AAC7B;;"}
1
+ {"version":3,"file":"OldValuesHelpers.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/OldValuesHelpers.ts"],"sourcesContent":["import { DatabaseContext } from '../../model/index.js'\nimport { createBatchLoader } from '../../utils/batchQuery.js'\nimport { OldValuesQuery } from '../../model/index.js'\n\nexport const oldValuesLoaderFactory = (db: DatabaseContext) =>\n\tcreateBatchLoader<string, Record<string, object>, object>(\n\t\tasync ids => {\n\t\t\treturn db.queryHandler.fetch(new OldValuesQuery(ids))\n\t\t},\n\t\t(id, items) => items[id] ?? {},\n\t)\n"],"names":["createBatchLoader","OldValuesQuery"],"mappings":";;;;;;;;;;;;;AAIO,MAAM,yBAAyB,CAAC,OACtCA,WAAAA;AAAAA,EACC,OAAM,QAAO;AACZ,WAAO,GAAG,aAAa,MAAM,IAAIC,eAAAA,eAAe,GAAG,CAAC;AAAA,EACrD;AAAA,EACA,CAAC,IAAI,UAAU,MAAM,EAAE,KAAK,CAAA;AAC7B;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OldValuesHelpers.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/OldValuesHelpers.ts"],"sourcesContent":["import { DatabaseContext } from '../../model'\nimport { createBatchLoader } from '../../utils/batchQuery'\nimport { OldValuesQuery } from '../../model'\n\nexport const oldValuesLoaderFactory = (db: DatabaseContext) =>\n\tcreateBatchLoader<string, Record<string, object>, object>(\n\t\tasync ids => {\n\t\t\treturn db.queryHandler.fetch(new OldValuesQuery(ids))\n\t\t},\n\t\t(id, items) => items[id] ?? {},\n\t)\n"],"names":[],"mappings":";;;;;;;;;;;AAIO,MAAM,yBAAyB,CAAC,OACtC;AAAA,EACC,OAAM,QAAO;AACZ,WAAO,GAAG,aAAa,MAAM,IAAI,eAAe,GAAG,CAAC;AAAA,EACrD;AAAA,EACA,CAAC,IAAI,UAAU,MAAM,EAAE,KAAK,CAAA;AAC7B;"}
1
+ {"version":3,"file":"OldValuesHelpers.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/OldValuesHelpers.ts"],"sourcesContent":["import { DatabaseContext } from '../../model/index.js'\nimport { createBatchLoader } from '../../utils/batchQuery.js'\nimport { OldValuesQuery } from '../../model/index.js'\n\nexport const oldValuesLoaderFactory = (db: DatabaseContext) =>\n\tcreateBatchLoader<string, Record<string, object>, object>(\n\t\tasync ids => {\n\t\t\treturn db.queryHandler.fetch(new OldValuesQuery(ids))\n\t\t},\n\t\t(id, items) => items[id] ?? {},\n\t)\n"],"names":[],"mappings":";;;;;;;;;;;AAIO,MAAM,yBAAyB,CAAC,OACtC;AAAA,EACC,OAAM,QAAO;AACZ,WAAO,GAAG,aAAa,MAAM,IAAI,eAAe,GAAG,CAAC;AAAA,EACrD;AAAA,EACA,CAAC,IAAI,UAAU,MAAM,EAAE,KAAK,CAAA;AAC7B;"}
@@ -7,7 +7,7 @@ const schema = graphqlTag.gql`
7
7
 
8
8
  type Mutation {
9
9
  truncate: TruncateResponse!
10
- forceMigrate(migrations: [Migration!]!): MigrateResponse!
10
+ forceMigrate(migrations: [Migration!]!, schemaState: SchemaStateInput): MigrateResponse!
11
11
  migrationModify(migration: String!, modification: MigrationModification!): MigrationModifyResponse!
12
12
  migrationDelete(migration: String!): MigrationDeleteResponse!
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dev.graphql.cjs","sources":["../../../../../packages/engine-system-api/src/schema/dev.graphql.ts"],"sourcesContent":["import { gql } from 'graphql-tag'\nimport { DocumentNode } from 'graphql'\n\nconst schema: DocumentNode = gql`\n\tschema {\n\t\tmutation: Mutation\n\t}\n\n\ttype Mutation {\n\t\ttruncate: TruncateResponse!\n\t\tforceMigrate(migrations: [Migration!]!): MigrateResponse!\n\t\tmigrationModify(migration: String!, modification: MigrationModification!): MigrationModifyResponse!\n\t\tmigrationDelete(migration: String!): MigrationDeleteResponse!\n\t}\n\n\ttype TruncateResponse {\n\t\tok: Boolean!\n\t}\n\n\tinput MigrationModification {\n\t\tversion: String\n\t\tname: String\n\t\tformatVersion: Int\n\t\tmodifications: [Json!]\n\t}\n\n\tenum MigrationModifyErrorCode {\n\t\tNOT_FOUND\n\t}\n\n\ttype MigrationModifyError {\n\t\tcode: MigrationModifyErrorCode!\n\t\tdeveloperMessage: String!\n\t}\n\n\ttype MigrationModifyResponse {\n\t\tok: Boolean!\n\t\terror: MigrationModifyError\n\t}\n\n\tenum MigrationDeleteErrorCode {\n\t\tNOT_FOUND\n\t\tINVALID_FORMAT\n\t}\n\n\ttype MigrationDeleteError {\n\t\tcode: MigrationDeleteErrorCode!\n\t\tdeveloperMessage: String!\n\t}\n\n\ttype MigrationDeleteResponse {\n\t\tok: Boolean!\n\t\terror: MigrationDeleteError\n\t}\n`\n\nexport default schema\n"],"names":["gql"],"mappings":";;AAGA,MAAM,SAAuBA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;"}
1
+ {"version":3,"file":"dev.graphql.cjs","sources":["../../../../../packages/engine-system-api/src/schema/dev.graphql.ts"],"sourcesContent":["import { gql } from 'graphql-tag'\nimport { DocumentNode } from 'graphql'\n\nconst schema: DocumentNode = gql`\n\tschema {\n\t\tmutation: Mutation\n\t}\n\n\ttype Mutation {\n\t\ttruncate: TruncateResponse!\n\t\tforceMigrate(migrations: [Migration!]!, schemaState: SchemaStateInput): MigrateResponse!\n\t\tmigrationModify(migration: String!, modification: MigrationModification!): MigrationModifyResponse!\n\t\tmigrationDelete(migration: String!): MigrationDeleteResponse!\n\t}\n\n\ttype TruncateResponse {\n\t\tok: Boolean!\n\t}\n\n\tinput MigrationModification {\n\t\tversion: String\n\t\tname: String\n\t\tformatVersion: Int\n\t\tmodifications: [Json!]\n\t}\n\n\tenum MigrationModifyErrorCode {\n\t\tNOT_FOUND\n\t}\n\n\ttype MigrationModifyError {\n\t\tcode: MigrationModifyErrorCode!\n\t\tdeveloperMessage: String!\n\t}\n\n\ttype MigrationModifyResponse {\n\t\tok: Boolean!\n\t\terror: MigrationModifyError\n\t}\n\n\tenum MigrationDeleteErrorCode {\n\t\tNOT_FOUND\n\t\tINVALID_FORMAT\n\t}\n\n\ttype MigrationDeleteError {\n\t\tcode: MigrationDeleteErrorCode!\n\t\tdeveloperMessage: String!\n\t}\n\n\ttype MigrationDeleteResponse {\n\t\tok: Boolean!\n\t\terror: MigrationDeleteError\n\t}\n`\n\nexport default schema\n"],"names":["gql"],"mappings":";;AAGA,MAAM,SAAuBA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;"}
@@ -6,7 +6,7 @@ const schema = gql`
6
6
 
7
7
  type Mutation {
8
8
  truncate: TruncateResponse!
9
- forceMigrate(migrations: [Migration!]!): MigrateResponse!
9
+ forceMigrate(migrations: [Migration!]!, schemaState: SchemaStateInput): MigrateResponse!
10
10
  migrationModify(migration: String!, modification: MigrationModification!): MigrationModifyResponse!
11
11
  migrationDelete(migration: String!): MigrationDeleteResponse!
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dev.graphql.js","sources":["../../../../../packages/engine-system-api/src/schema/dev.graphql.ts"],"sourcesContent":["import { gql } from 'graphql-tag'\nimport { DocumentNode } from 'graphql'\n\nconst schema: DocumentNode = gql`\n\tschema {\n\t\tmutation: Mutation\n\t}\n\n\ttype Mutation {\n\t\ttruncate: TruncateResponse!\n\t\tforceMigrate(migrations: [Migration!]!): MigrateResponse!\n\t\tmigrationModify(migration: String!, modification: MigrationModification!): MigrationModifyResponse!\n\t\tmigrationDelete(migration: String!): MigrationDeleteResponse!\n\t}\n\n\ttype TruncateResponse {\n\t\tok: Boolean!\n\t}\n\n\tinput MigrationModification {\n\t\tversion: String\n\t\tname: String\n\t\tformatVersion: Int\n\t\tmodifications: [Json!]\n\t}\n\n\tenum MigrationModifyErrorCode {\n\t\tNOT_FOUND\n\t}\n\n\ttype MigrationModifyError {\n\t\tcode: MigrationModifyErrorCode!\n\t\tdeveloperMessage: String!\n\t}\n\n\ttype MigrationModifyResponse {\n\t\tok: Boolean!\n\t\terror: MigrationModifyError\n\t}\n\n\tenum MigrationDeleteErrorCode {\n\t\tNOT_FOUND\n\t\tINVALID_FORMAT\n\t}\n\n\ttype MigrationDeleteError {\n\t\tcode: MigrationDeleteErrorCode!\n\t\tdeveloperMessage: String!\n\t}\n\n\ttype MigrationDeleteResponse {\n\t\tok: Boolean!\n\t\terror: MigrationDeleteError\n\t}\n`\n\nexport default schema\n"],"names":[],"mappings":";AAGA,MAAM,SAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"dev.graphql.js","sources":["../../../../../packages/engine-system-api/src/schema/dev.graphql.ts"],"sourcesContent":["import { gql } from 'graphql-tag'\nimport { DocumentNode } from 'graphql'\n\nconst schema: DocumentNode = gql`\n\tschema {\n\t\tmutation: Mutation\n\t}\n\n\ttype Mutation {\n\t\ttruncate: TruncateResponse!\n\t\tforceMigrate(migrations: [Migration!]!, schemaState: SchemaStateInput): MigrateResponse!\n\t\tmigrationModify(migration: String!, modification: MigrationModification!): MigrationModifyResponse!\n\t\tmigrationDelete(migration: String!): MigrationDeleteResponse!\n\t}\n\n\ttype TruncateResponse {\n\t\tok: Boolean!\n\t}\n\n\tinput MigrationModification {\n\t\tversion: String\n\t\tname: String\n\t\tformatVersion: Int\n\t\tmodifications: [Json!]\n\t}\n\n\tenum MigrationModifyErrorCode {\n\t\tNOT_FOUND\n\t}\n\n\ttype MigrationModifyError {\n\t\tcode: MigrationModifyErrorCode!\n\t\tdeveloperMessage: String!\n\t}\n\n\ttype MigrationModifyResponse {\n\t\tok: Boolean!\n\t\terror: MigrationModifyError\n\t}\n\n\tenum MigrationDeleteErrorCode {\n\t\tNOT_FOUND\n\t\tINVALID_FORMAT\n\t}\n\n\ttype MigrationDeleteError {\n\t\tcode: MigrationDeleteErrorCode!\n\t\tdeveloperMessage: String!\n\t}\n\n\ttype MigrationDeleteResponse {\n\t\tok: Boolean!\n\t\terror: MigrationDeleteError\n\t}\n`\n\nexport default schema\n"],"names":[],"mappings":";AAGA,MAAM,SAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}