@contember/engine-system-api 2.0.0-alpha.9 → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (533) hide show
  1. package/dist/development/index.cjs +2 -2
  2. package/dist/development/index.js +2 -2
  3. package/dist/development/src/SystemContainer.cjs +4 -3
  4. package/dist/development/src/SystemContainer.cjs.map +1 -1
  5. package/dist/development/src/SystemContainer.js +5 -4
  6. package/dist/development/src/SystemContainer.js.map +1 -1
  7. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
  8. package/dist/development/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
  9. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.cjs +1 -2
  10. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
  11. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.js +1 -2
  12. package/dist/development/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
  13. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.cjs +1 -2
  14. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
  15. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.js +1 -2
  16. package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
  17. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.cjs +1 -2
  18. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
  19. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.js +1 -2
  20. package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
  21. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs +1 -2
  22. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
  23. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js +1 -2
  24. package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
  25. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.cjs +1 -1
  26. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
  27. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.js +1 -1
  28. package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
  29. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.cjs +1 -1
  30. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
  31. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.js +1 -1
  32. package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
  33. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.cjs +1 -1
  34. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
  35. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.js +1 -1
  36. package/dist/development/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
  37. package/dist/development/src/migrations/2024-06-28-153000-schema.cjs +18 -0
  38. package/dist/development/src/migrations/2024-06-28-153000-schema.cjs.map +1 -0
  39. package/dist/development/src/migrations/2024-06-28-153000-schema.js +19 -0
  40. package/dist/development/src/migrations/2024-06-28-153000-schema.js.map +1 -0
  41. package/dist/development/src/migrations/2024-06-28-153001-schema-init.cjs +12 -0
  42. package/dist/development/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -0
  43. package/dist/development/src/migrations/2024-06-28-153001-schema-init.js +13 -0
  44. package/dist/development/src/migrations/2024-06-28-153001-schema-init.js.map +1 -0
  45. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.cjs +11 -0
  46. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.cjs.map +1 -0
  47. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.js +12 -0
  48. package/dist/development/src/migrations/2024-07-29-150000-event-data-index.js.map +1 -0
  49. package/dist/development/src/migrations/runner.cjs +11 -5
  50. package/dist/development/src/migrations/runner.cjs.map +1 -1
  51. package/dist/development/src/migrations/runner.js +11 -5
  52. package/dist/development/src/migrations/runner.js.map +1 -1
  53. package/dist/development/src/migrations/snapshot-factory.cjs +1 -1
  54. package/dist/development/src/migrations/snapshot-factory.cjs.map +1 -1
  55. package/dist/development/src/migrations/snapshot-factory.js +1 -1
  56. package/dist/development/src/migrations/snapshot-factory.js.map +1 -1
  57. package/dist/development/src/migrations/snapshot.cjs +17 -1
  58. package/dist/development/src/migrations/snapshot.cjs.map +1 -1
  59. package/dist/development/src/migrations/snapshot.js +17 -1
  60. package/dist/development/src/migrations/snapshot.js.map +1 -1
  61. package/dist/development/src/model/ProjectInitializer.cjs.map +1 -1
  62. package/dist/development/src/model/ProjectInitializer.js.map +1 -1
  63. package/dist/development/src/model/ProjectTruncateExecutor.cjs.map +1 -1
  64. package/dist/development/src/model/ProjectTruncateExecutor.js.map +1 -1
  65. package/dist/development/src/model/authorization/AuthorizationActions.cjs +1 -0
  66. package/dist/development/src/model/authorization/AuthorizationActions.cjs.map +1 -1
  67. package/dist/development/src/model/authorization/AuthorizationActions.js +1 -0
  68. package/dist/development/src/model/authorization/AuthorizationActions.js.map +1 -1
  69. package/dist/development/src/model/authorization/Identity.cjs.map +1 -1
  70. package/dist/development/src/model/authorization/Identity.js.map +1 -1
  71. package/dist/development/src/model/authorization/PermissionsFactory.cjs +1 -0
  72. package/dist/development/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  73. package/dist/development/src/model/authorization/PermissionsFactory.js +1 -0
  74. package/dist/development/src/model/authorization/PermissionsFactory.js.map +1 -1
  75. package/dist/development/src/model/authorization/StagePermissionsFactory.cjs +4 -5
  76. package/dist/development/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
  77. package/dist/development/src/model/authorization/StagePermissionsFactory.js +4 -5
  78. package/dist/development/src/model/authorization/StagePermissionsFactory.js.map +1 -1
  79. package/dist/development/src/model/authorization/StageScope.cjs +2 -2
  80. package/dist/development/src/model/authorization/StageScope.cjs.map +1 -1
  81. package/dist/development/src/model/authorization/StageScope.js +2 -2
  82. package/dist/development/src/model/authorization/StageScope.js.map +1 -1
  83. package/dist/development/src/model/authorization/SwitchEvaluatorNode.cjs.map +1 -1
  84. package/dist/development/src/model/authorization/SwitchEvaluatorNode.js.map +1 -1
  85. package/dist/development/src/model/commands/CommandBus.cjs.map +1 -1
  86. package/dist/development/src/model/commands/CommandBus.js.map +1 -1
  87. package/dist/development/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
  88. package/dist/development/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
  89. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
  90. package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
  91. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
  92. package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
  93. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
  94. package/dist/development/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
  95. package/dist/development/src/model/commands/schema/SaveSchemaCommand.cjs +28 -0
  96. package/dist/development/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -0
  97. package/dist/development/src/model/commands/schema/SaveSchemaCommand.js +28 -0
  98. package/dist/development/src/model/commands/schema/SaveSchemaCommand.js.map +1 -0
  99. package/dist/development/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
  100. package/dist/development/src/model/commands/stages/CreateStageCommand.js.map +1 -1
  101. package/dist/development/src/model/database/DatabaseContext.cjs.map +1 -1
  102. package/dist/development/src/model/database/DatabaseContext.js.map +1 -1
  103. package/dist/development/src/model/dtos/ExecutedMigration.cjs.map +1 -1
  104. package/dist/development/src/model/dtos/ExecutedMigration.js.map +1 -1
  105. package/dist/development/src/model/events/EventResponseBuilder.cjs.map +1 -1
  106. package/dist/development/src/model/events/EventResponseBuilder.js.map +1 -1
  107. package/dist/development/src/model/events/EventResponseHelper.cjs.map +1 -1
  108. package/dist/development/src/model/events/EventResponseHelper.js.map +1 -1
  109. package/dist/development/src/model/events/identityUtils.cjs.map +1 -1
  110. package/dist/development/src/model/events/identityUtils.js.map +1 -1
  111. package/dist/development/src/model/events/types.cjs.map +1 -1
  112. package/dist/development/src/model/events/types.js.map +1 -1
  113. package/dist/development/src/model/helpers/modelHelpers.cjs.map +1 -1
  114. package/dist/development/src/model/helpers/modelHelpers.js.map +1 -1
  115. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
  116. package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
  117. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
  118. package/dist/development/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
  119. package/dist/development/src/model/migrations/MigrationAlterer.cjs +10 -0
  120. package/dist/development/src/model/migrations/MigrationAlterer.cjs.map +1 -1
  121. package/dist/development/src/model/migrations/MigrationAlterer.js +10 -0
  122. package/dist/development/src/model/migrations/MigrationAlterer.js.map +1 -1
  123. package/dist/development/src/model/migrations/ProjectMigrator.cjs +29 -10
  124. package/dist/development/src/model/migrations/ProjectMigrator.cjs.map +1 -1
  125. package/dist/development/src/model/migrations/ProjectMigrator.js +30 -11
  126. package/dist/development/src/model/migrations/ProjectMigrator.js.map +1 -1
  127. package/dist/development/src/model/migrations/SchemaProvider.cjs +58 -0
  128. package/dist/development/src/model/migrations/SchemaProvider.cjs.map +1 -0
  129. package/dist/development/src/model/migrations/SchemaProvider.js +58 -0
  130. package/dist/development/src/model/migrations/SchemaProvider.js.map +1 -0
  131. package/dist/development/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
  132. package/dist/development/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  133. package/dist/development/src/model/queries/events/EventsQuery.cjs +10 -14
  134. package/dist/development/src/model/queries/events/EventsQuery.cjs.map +1 -1
  135. package/dist/development/src/model/queries/events/EventsQuery.js +10 -14
  136. package/dist/development/src/model/queries/events/EventsQuery.js.map +1 -1
  137. package/dist/development/src/model/queries/events/LatestTransactionIdByStageQuery.cjs.map +1 -1
  138. package/dist/development/src/model/queries/events/LatestTransactionIdByStageQuery.js.map +1 -1
  139. package/dist/development/src/model/queries/events/OldValuesQuery.cjs.map +1 -1
  140. package/dist/development/src/model/queries/events/OldValuesQuery.js.map +1 -1
  141. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
  142. package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  143. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
  144. package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  145. package/dist/development/src/model/queries/schema/SchemaQuery.cjs +34 -0
  146. package/dist/development/src/model/queries/schema/SchemaQuery.cjs.map +1 -0
  147. package/dist/development/src/model/queries/schema/SchemaQuery.js +34 -0
  148. package/dist/development/src/model/queries/schema/SchemaQuery.js.map +1 -0
  149. package/dist/development/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  150. package/dist/development/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  151. package/dist/development/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  152. package/dist/development/src/model/queries/stages/StagesQuery.js.map +1 -1
  153. package/dist/development/src/model/stages/StageCreator.cjs.map +1 -1
  154. package/dist/development/src/model/stages/StageCreator.js.map +1 -1
  155. package/dist/development/src/resolvers/ResolverFactory.cjs +6 -2
  156. package/dist/development/src/resolvers/ResolverFactory.cjs.map +1 -1
  157. package/dist/development/src/resolvers/ResolverFactory.js +7 -3
  158. package/dist/development/src/resolvers/ResolverFactory.js.map +1 -1
  159. package/dist/development/src/resolvers/SystemResolverContext.cjs +5 -5
  160. package/dist/development/src/resolvers/SystemResolverContext.cjs.map +1 -1
  161. package/dist/development/src/resolvers/SystemResolverContext.js +5 -5
  162. package/dist/development/src/resolvers/SystemResolverContext.js.map +1 -1
  163. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs +0 -1
  164. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  165. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js +0 -1
  166. package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  167. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.cjs +0 -1
  168. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  169. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.js +0 -1
  170. package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  171. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs +1 -1
  172. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  173. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js +1 -1
  174. package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  175. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs +0 -1
  176. package/dist/development/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  177. package/dist/development/src/resolvers/query/EventsQueryResolver.js +0 -1
  178. package/dist/development/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  179. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs +0 -1
  180. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  181. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.js +0 -1
  182. package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  183. package/dist/development/src/resolvers/query/SchemaQueryResolver.cjs +23 -0
  184. package/dist/development/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -0
  185. package/dist/development/src/resolvers/query/SchemaQueryResolver.js +23 -0
  186. package/dist/development/src/resolvers/query/SchemaQueryResolver.js.map +1 -0
  187. package/dist/development/src/resolvers/query/StagesQueryResolver.cjs +0 -1
  188. package/dist/development/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  189. package/dist/development/src/resolvers/query/StagesQueryResolver.js +0 -1
  190. package/dist/development/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  191. package/dist/development/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  192. package/dist/development/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  193. package/dist/development/src/resolvers/types/OldValuesHelpers.cjs +0 -1
  194. package/dist/development/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  195. package/dist/development/src/resolvers/types/OldValuesHelpers.js +0 -1
  196. package/dist/development/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  197. package/dist/development/src/schema/dev.graphql.cjs.map +1 -1
  198. package/dist/development/src/schema/system.graphql.cjs +3 -1
  199. package/dist/development/src/schema/system.graphql.cjs.map +1 -1
  200. package/dist/development/src/schema/system.graphql.js +3 -1
  201. package/dist/development/src/schema/system.graphql.js.map +1 -1
  202. package/dist/development/src/schema/types.cjs.map +1 -1
  203. package/dist/development/src/schema/types.js.map +1 -1
  204. package/dist/development/src/utils/MapSet.cjs.map +1 -1
  205. package/dist/development/src/utils/MapSet.js.map +1 -1
  206. package/dist/development/src/utils/Response.cjs.map +1 -1
  207. package/dist/development/src/utils/Response.js.map +1 -1
  208. package/dist/development/src/utils/batchQuery.cjs.map +1 -1
  209. package/dist/development/src/utils/batchQuery.js.map +1 -1
  210. package/dist/production/index.cjs +2 -2
  211. package/dist/production/index.js +2 -2
  212. package/dist/production/src/SystemContainer.cjs +4 -3
  213. package/dist/production/src/SystemContainer.cjs.map +1 -1
  214. package/dist/production/src/SystemContainer.js +5 -4
  215. package/dist/production/src/SystemContainer.js.map +1 -1
  216. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
  217. package/dist/production/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
  218. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.cjs +1 -2
  219. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
  220. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.js +1 -2
  221. package/dist/production/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
  222. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.cjs +1 -2
  223. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
  224. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.js +1 -2
  225. package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
  226. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.cjs +1 -2
  227. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
  228. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.js +1 -2
  229. package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
  230. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs +1 -2
  231. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
  232. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js +1 -2
  233. package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
  234. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.cjs +1 -1
  235. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
  236. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.js +1 -1
  237. package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
  238. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs +1 -1
  239. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
  240. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js +1 -1
  241. package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
  242. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs +1 -1
  243. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
  244. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js +1 -1
  245. package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
  246. package/dist/production/src/migrations/2024-06-28-153000-schema.cjs +18 -0
  247. package/dist/production/src/migrations/2024-06-28-153000-schema.cjs.map +1 -0
  248. package/dist/production/src/migrations/2024-06-28-153000-schema.js +19 -0
  249. package/dist/production/src/migrations/2024-06-28-153000-schema.js.map +1 -0
  250. package/dist/production/src/migrations/2024-06-28-153001-schema-init.cjs +12 -0
  251. package/dist/production/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -0
  252. package/dist/production/src/migrations/2024-06-28-153001-schema-init.js +13 -0
  253. package/dist/production/src/migrations/2024-06-28-153001-schema-init.js.map +1 -0
  254. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.cjs +11 -0
  255. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.cjs.map +1 -0
  256. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.js +12 -0
  257. package/dist/production/src/migrations/2024-07-29-150000-event-data-index.js.map +1 -0
  258. package/dist/production/src/migrations/runner.cjs +11 -5
  259. package/dist/production/src/migrations/runner.cjs.map +1 -1
  260. package/dist/production/src/migrations/runner.js +11 -5
  261. package/dist/production/src/migrations/runner.js.map +1 -1
  262. package/dist/production/src/migrations/snapshot-factory.cjs +1 -1
  263. package/dist/production/src/migrations/snapshot-factory.cjs.map +1 -1
  264. package/dist/production/src/migrations/snapshot-factory.js +1 -1
  265. package/dist/production/src/migrations/snapshot-factory.js.map +1 -1
  266. package/dist/production/src/migrations/snapshot.cjs +17 -1
  267. package/dist/production/src/migrations/snapshot.cjs.map +1 -1
  268. package/dist/production/src/migrations/snapshot.js +17 -1
  269. package/dist/production/src/migrations/snapshot.js.map +1 -1
  270. package/dist/production/src/model/ProjectInitializer.cjs.map +1 -1
  271. package/dist/production/src/model/ProjectInitializer.js.map +1 -1
  272. package/dist/production/src/model/ProjectTruncateExecutor.cjs.map +1 -1
  273. package/dist/production/src/model/ProjectTruncateExecutor.js.map +1 -1
  274. package/dist/production/src/model/authorization/AuthorizationActions.cjs +1 -0
  275. package/dist/production/src/model/authorization/AuthorizationActions.cjs.map +1 -1
  276. package/dist/production/src/model/authorization/AuthorizationActions.js +1 -0
  277. package/dist/production/src/model/authorization/AuthorizationActions.js.map +1 -1
  278. package/dist/production/src/model/authorization/Identity.cjs.map +1 -1
  279. package/dist/production/src/model/authorization/Identity.js.map +1 -1
  280. package/dist/production/src/model/authorization/PermissionsFactory.cjs +1 -0
  281. package/dist/production/src/model/authorization/PermissionsFactory.cjs.map +1 -1
  282. package/dist/production/src/model/authorization/PermissionsFactory.js +1 -0
  283. package/dist/production/src/model/authorization/PermissionsFactory.js.map +1 -1
  284. package/dist/production/src/model/authorization/StagePermissionsFactory.cjs +4 -5
  285. package/dist/production/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
  286. package/dist/production/src/model/authorization/StagePermissionsFactory.js +4 -5
  287. package/dist/production/src/model/authorization/StagePermissionsFactory.js.map +1 -1
  288. package/dist/production/src/model/authorization/StageScope.cjs +2 -2
  289. package/dist/production/src/model/authorization/StageScope.cjs.map +1 -1
  290. package/dist/production/src/model/authorization/StageScope.js +2 -2
  291. package/dist/production/src/model/authorization/StageScope.js.map +1 -1
  292. package/dist/production/src/model/authorization/SwitchEvaluatorNode.cjs.map +1 -1
  293. package/dist/production/src/model/authorization/SwitchEvaluatorNode.js.map +1 -1
  294. package/dist/production/src/model/commands/CommandBus.cjs.map +1 -1
  295. package/dist/production/src/model/commands/CommandBus.js.map +1 -1
  296. package/dist/production/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
  297. package/dist/production/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
  298. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
  299. package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
  300. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
  301. package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
  302. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
  303. package/dist/production/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
  304. package/dist/production/src/model/commands/schema/SaveSchemaCommand.cjs +28 -0
  305. package/dist/production/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -0
  306. package/dist/production/src/model/commands/schema/SaveSchemaCommand.js +28 -0
  307. package/dist/production/src/model/commands/schema/SaveSchemaCommand.js.map +1 -0
  308. package/dist/production/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
  309. package/dist/production/src/model/commands/stages/CreateStageCommand.js.map +1 -1
  310. package/dist/production/src/model/database/DatabaseContext.cjs.map +1 -1
  311. package/dist/production/src/model/database/DatabaseContext.js.map +1 -1
  312. package/dist/production/src/model/dtos/ExecutedMigration.cjs.map +1 -1
  313. package/dist/production/src/model/dtos/ExecutedMigration.js.map +1 -1
  314. package/dist/production/src/model/events/EventResponseBuilder.cjs.map +1 -1
  315. package/dist/production/src/model/events/EventResponseBuilder.js.map +1 -1
  316. package/dist/production/src/model/events/EventResponseHelper.cjs.map +1 -1
  317. package/dist/production/src/model/events/EventResponseHelper.js.map +1 -1
  318. package/dist/production/src/model/events/identityUtils.cjs.map +1 -1
  319. package/dist/production/src/model/events/identityUtils.js.map +1 -1
  320. package/dist/production/src/model/events/types.cjs.map +1 -1
  321. package/dist/production/src/model/events/types.js.map +1 -1
  322. package/dist/production/src/model/helpers/modelHelpers.cjs.map +1 -1
  323. package/dist/production/src/model/helpers/modelHelpers.js.map +1 -1
  324. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
  325. package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
  326. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
  327. package/dist/production/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
  328. package/dist/production/src/model/migrations/MigrationAlterer.cjs +10 -0
  329. package/dist/production/src/model/migrations/MigrationAlterer.cjs.map +1 -1
  330. package/dist/production/src/model/migrations/MigrationAlterer.js +10 -0
  331. package/dist/production/src/model/migrations/MigrationAlterer.js.map +1 -1
  332. package/dist/production/src/model/migrations/ProjectMigrator.cjs +29 -10
  333. package/dist/production/src/model/migrations/ProjectMigrator.cjs.map +1 -1
  334. package/dist/production/src/model/migrations/ProjectMigrator.js +30 -11
  335. package/dist/production/src/model/migrations/ProjectMigrator.js.map +1 -1
  336. package/dist/production/src/model/migrations/SchemaProvider.cjs +58 -0
  337. package/dist/production/src/model/migrations/SchemaProvider.cjs.map +1 -0
  338. package/dist/production/src/model/migrations/SchemaProvider.js +58 -0
  339. package/dist/production/src/model/migrations/SchemaProvider.js.map +1 -0
  340. package/dist/production/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
  341. package/dist/production/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  342. package/dist/production/src/model/queries/events/EventsQuery.cjs +10 -14
  343. package/dist/production/src/model/queries/events/EventsQuery.cjs.map +1 -1
  344. package/dist/production/src/model/queries/events/EventsQuery.js +10 -14
  345. package/dist/production/src/model/queries/events/EventsQuery.js.map +1 -1
  346. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.cjs.map +1 -1
  347. package/dist/production/src/model/queries/events/LatestTransactionIdByStageQuery.js.map +1 -1
  348. package/dist/production/src/model/queries/events/OldValuesQuery.cjs.map +1 -1
  349. package/dist/production/src/model/queries/events/OldValuesQuery.js.map +1 -1
  350. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
  351. package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  352. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
  353. package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  354. package/dist/production/src/model/queries/schema/SchemaQuery.cjs +34 -0
  355. package/dist/production/src/model/queries/schema/SchemaQuery.cjs.map +1 -0
  356. package/dist/production/src/model/queries/schema/SchemaQuery.js +34 -0
  357. package/dist/production/src/model/queries/schema/SchemaQuery.js.map +1 -0
  358. package/dist/production/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
  359. package/dist/production/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  360. package/dist/production/src/model/queries/stages/StagesQuery.cjs.map +1 -1
  361. package/dist/production/src/model/queries/stages/StagesQuery.js.map +1 -1
  362. package/dist/production/src/model/stages/StageCreator.cjs.map +1 -1
  363. package/dist/production/src/model/stages/StageCreator.js.map +1 -1
  364. package/dist/production/src/resolvers/ResolverFactory.cjs +6 -2
  365. package/dist/production/src/resolvers/ResolverFactory.cjs.map +1 -1
  366. package/dist/production/src/resolvers/ResolverFactory.js +7 -3
  367. package/dist/production/src/resolvers/ResolverFactory.js.map +1 -1
  368. package/dist/production/src/resolvers/SystemResolverContext.cjs +5 -5
  369. package/dist/production/src/resolvers/SystemResolverContext.cjs.map +1 -1
  370. package/dist/production/src/resolvers/SystemResolverContext.js +5 -5
  371. package/dist/production/src/resolvers/SystemResolverContext.js.map +1 -1
  372. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs +0 -1
  373. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
  374. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js +0 -1
  375. package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  376. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.cjs +0 -1
  377. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
  378. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.js +0 -1
  379. package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  380. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs +1 -1
  381. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
  382. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js +1 -1
  383. package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  384. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs +0 -1
  385. package/dist/production/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  386. package/dist/production/src/resolvers/query/EventsQueryResolver.js +0 -1
  387. package/dist/production/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  388. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs +0 -1
  389. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
  390. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.js +0 -1
  391. package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  392. package/dist/production/src/resolvers/query/SchemaQueryResolver.cjs +23 -0
  393. package/dist/production/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -0
  394. package/dist/production/src/resolvers/query/SchemaQueryResolver.js +23 -0
  395. package/dist/production/src/resolvers/query/SchemaQueryResolver.js.map +1 -0
  396. package/dist/production/src/resolvers/query/StagesQueryResolver.cjs +0 -1
  397. package/dist/production/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
  398. package/dist/production/src/resolvers/query/StagesQueryResolver.js +0 -1
  399. package/dist/production/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  400. package/dist/production/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
  401. package/dist/production/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  402. package/dist/production/src/resolvers/types/OldValuesHelpers.cjs +0 -1
  403. package/dist/production/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
  404. package/dist/production/src/resolvers/types/OldValuesHelpers.js +0 -1
  405. package/dist/production/src/resolvers/types/OldValuesHelpers.js.map +1 -1
  406. package/dist/production/src/schema/dev.graphql.cjs.map +1 -1
  407. package/dist/production/src/schema/system.graphql.cjs +3 -1
  408. package/dist/production/src/schema/system.graphql.cjs.map +1 -1
  409. package/dist/production/src/schema/system.graphql.js +3 -1
  410. package/dist/production/src/schema/system.graphql.js.map +1 -1
  411. package/dist/production/src/schema/types.cjs.map +1 -1
  412. package/dist/production/src/schema/types.js.map +1 -1
  413. package/dist/production/src/utils/MapSet.cjs.map +1 -1
  414. package/dist/production/src/utils/MapSet.js.map +1 -1
  415. package/dist/production/src/utils/Response.cjs.map +1 -1
  416. package/dist/production/src/utils/Response.js.map +1 -1
  417. package/dist/production/src/utils/batchQuery.cjs.map +1 -1
  418. package/dist/production/src/utils/batchQuery.js.map +1 -1
  419. package/dist/tests/cases/unit/eventsQuery.test.d.ts +2 -0
  420. package/dist/tests/cases/unit/eventsQuery.test.d.ts.map +1 -0
  421. package/dist/tests/src/uuid.d.ts +3 -0
  422. package/dist/tests/src/uuid.d.ts.map +1 -0
  423. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  424. package/dist/types/SystemContainer.d.ts +8 -6
  425. package/dist/types/SystemContainer.d.ts.map +1 -1
  426. package/dist/types/index.d.ts +1 -1
  427. package/dist/types/index.d.ts.map +1 -1
  428. package/dist/types/migrations/2024-06-28-153000-schema.d.ts +3 -0
  429. package/dist/types/migrations/2024-06-28-153000-schema.d.ts.map +1 -0
  430. package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts +4 -0
  431. package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts.map +1 -0
  432. package/dist/types/migrations/2024-07-29-150000-event-data-index.d.ts +3 -0
  433. package/dist/types/migrations/2024-07-29-150000-event-data-index.d.ts.map +1 -0
  434. package/dist/types/migrations/runner.d.ts +3 -3
  435. package/dist/types/migrations/runner.d.ts.map +1 -1
  436. package/dist/types/migrations/snapshot.d.ts.map +1 -1
  437. package/dist/types/migrations/types.d.ts +2 -2
  438. package/dist/types/migrations/types.d.ts.map +1 -1
  439. package/dist/types/model/SchemaGetter.d.ts +6 -0
  440. package/dist/types/model/SchemaGetter.d.ts.map +1 -0
  441. package/dist/types/model/authorization/AuthorizationActions.d.ts +5 -0
  442. package/dist/types/model/authorization/AuthorizationActions.d.ts.map +1 -1
  443. package/dist/types/model/authorization/PermissionsFactory.d.ts.map +1 -1
  444. package/dist/types/model/authorization/StagePermissionsFactory.d.ts +4 -4
  445. package/dist/types/model/authorization/StagePermissionsFactory.d.ts.map +1 -1
  446. package/dist/types/model/authorization/StageScope.d.ts.map +1 -1
  447. package/dist/types/model/commands/schema/SaveSchemaCommand.d.ts +8 -0
  448. package/dist/types/model/commands/schema/SaveSchemaCommand.d.ts.map +1 -0
  449. package/dist/types/model/dependencies/content/ContentQueryExecutor.d.ts +3 -2
  450. package/dist/types/model/dependencies/content/ContentQueryExecutor.d.ts.map +1 -1
  451. package/dist/types/model/migrations/MigrationAlterer.d.ts +4 -0
  452. package/dist/types/model/migrations/MigrationAlterer.d.ts.map +1 -1
  453. package/dist/types/model/migrations/ProjectMigrator.d.ts +3 -3
  454. package/dist/types/model/migrations/ProjectMigrator.d.ts.map +1 -1
  455. package/dist/types/model/migrations/SchemaProvider.d.ts +28 -0
  456. package/dist/types/model/migrations/SchemaProvider.d.ts.map +1 -0
  457. package/dist/types/model/migrations/index.d.ts +1 -1
  458. package/dist/types/model/migrations/index.d.ts.map +1 -1
  459. package/dist/types/model/queries/events/EventsQuery.d.ts.map +1 -1
  460. package/dist/types/model/queries/index.d.ts +1 -0
  461. package/dist/types/model/queries/index.d.ts.map +1 -1
  462. package/dist/types/model/queries/schema/SchemaQuery.d.ts +8 -0
  463. package/dist/types/model/queries/schema/SchemaQuery.d.ts.map +1 -0
  464. package/dist/types/model/queries/schema/index.d.ts +2 -0
  465. package/dist/types/model/queries/schema/index.d.ts.map +1 -0
  466. package/dist/types/resolvers/ResolverFactory.d.ts +3 -1
  467. package/dist/types/resolvers/ResolverFactory.d.ts.map +1 -1
  468. package/dist/types/resolvers/SystemResolverContext.d.ts +4 -4
  469. package/dist/types/resolvers/SystemResolverContext.d.ts.map +1 -1
  470. package/dist/types/resolvers/query/SchemaQueryResolver.d.ts +7 -0
  471. package/dist/types/resolvers/query/SchemaQueryResolver.d.ts.map +1 -0
  472. package/dist/types/schema/system.graphql.d.ts.map +1 -1
  473. package/dist/types/schema/types.d.ts +14 -2
  474. package/dist/types/schema/types.d.ts.map +1 -1
  475. package/dist/types/tsconfig.tsbuildinfo +1 -1
  476. package/graphql.codegen.yml +3 -1
  477. package/package.json +17 -24
  478. package/src/SystemContainer.ts +14 -13
  479. package/src/bin/runMigrations.ts +4 -4
  480. package/src/index.ts +3 -2
  481. package/src/migrations/2020-05-06-150000-composed-primary.ts +1 -1
  482. package/src/migrations/2020-06-01-103000-event-trigger-perf.ts +1 -1
  483. package/src/migrations/2021-05-07-155800-event-log-rework.ts +1 -1
  484. package/src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts +1 -1
  485. package/src/migrations/2022-10-03-110000-table-on-delete.ts +1 -1
  486. package/src/migrations/2023-09-11-174000-fix-on-delete.ts +1 -1
  487. package/src/migrations/2023-10-19-173000-fix-unique.ts +1 -1
  488. package/src/migrations/2024-06-28-153000-schema.ts +20 -0
  489. package/src/migrations/2024-06-28-153001-schema-init.ts +12 -0
  490. package/src/migrations/2024-07-29-150000-event-data-index.ts +11 -0
  491. package/src/migrations/runner.ts +10 -4
  492. package/src/migrations/snapshot-factory.ts +1 -1
  493. package/src/migrations/snapshot.ts +17 -1
  494. package/src/migrations/types.ts +2 -2
  495. package/src/model/SchemaGetter.ts +3 -0
  496. package/src/model/authorization/AuthorizationActions.ts +1 -0
  497. package/src/model/authorization/PermissionsFactory.ts +1 -0
  498. package/src/model/authorization/StagePermissionsFactory.ts +5 -5
  499. package/src/model/authorization/StageScope.ts +2 -2
  500. package/src/model/commands/schema/SaveSchemaCommand.ts +31 -0
  501. package/src/model/dependencies/content/ContentQueryExecutor.ts +3 -2
  502. package/src/model/migrations/MigrationAlterer.ts +14 -0
  503. package/src/model/migrations/ProjectMigrator.ts +34 -12
  504. package/src/model/migrations/SchemaProvider.ts +77 -0
  505. package/src/model/migrations/index.ts +1 -1
  506. package/src/model/queries/events/EventsQuery.ts +15 -17
  507. package/src/model/queries/index.ts +1 -0
  508. package/src/model/queries/schema/SchemaQuery.ts +48 -0
  509. package/src/model/queries/schema/index.ts +1 -0
  510. package/src/resolvers/ResolverFactory.ts +9 -1
  511. package/src/resolvers/SystemResolverContext.ts +8 -13
  512. package/src/resolvers/mutation/TruncateMutationResolver.ts +1 -1
  513. package/src/resolvers/query/SchemaQueryResolver.ts +19 -0
  514. package/src/schema/system.graphql.ts +3 -1
  515. package/src/schema/types.ts +13 -3
  516. package/tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts +12 -3
  517. package/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts +12 -3
  518. package/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts +20 -8
  519. package/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.ts +37 -16
  520. package/tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts +12 -3
  521. package/tests/cases/unit/eventsQuery.test.ts +39 -0
  522. package/tests/src/uuid.ts +4 -0
  523. package/dist/development/src/model/migrations/SchemaVersionBuilder.cjs +0 -37
  524. package/dist/development/src/model/migrations/SchemaVersionBuilder.cjs.map +0 -1
  525. package/dist/development/src/model/migrations/SchemaVersionBuilder.js +0 -37
  526. package/dist/development/src/model/migrations/SchemaVersionBuilder.js.map +0 -1
  527. package/dist/production/src/model/migrations/SchemaVersionBuilder.cjs +0 -37
  528. package/dist/production/src/model/migrations/SchemaVersionBuilder.cjs.map +0 -1
  529. package/dist/production/src/model/migrations/SchemaVersionBuilder.js +0 -37
  530. package/dist/production/src/model/migrations/SchemaVersionBuilder.js.map +0 -1
  531. package/dist/types/model/migrations/SchemaVersionBuilder.d.ts +0 -37
  532. package/dist/types/model/migrations/SchemaVersionBuilder.d.ts.map +0 -1
  533. package/src/model/migrations/SchemaVersionBuilder.ts +0 -43
@@ -1 +1 @@
1
- {"version":3,"file":"OldValuesQuery.js","sources":["../../../../../../../packages/engine-system-api/src/model/queries/events/OldValuesQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable, Literal, Operator, SelectBuilder } from '@contember/database'\n\nexport class OldValuesQuery extends DatabaseQuery<Record<string, any>> {\n\tconstructor(private readonly ids: string[]) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<Record<string, any>> {\n\t\tconst qb = SelectBuilder.create()\n\t\t\t.select(expr => expr.raw('JSONB_OBJECT_AGG(values.key, values.value ORDER BY previous.created_at ASC)'), 'values')\n\t\t\t.select(['event_data', 'id'])\n\t\t\t.from('event_data')\n\t\t\t.join('event_data', 'previous', on => on\n\t\t\t\t.columnsEq(['event_data', 'row_ids'], ['previous', 'row_ids'])\n\t\t\t\t.compareColumns(['event_data', 'created_at'], Operator.gt, ['previous', 'created_at']),\n\t\t\t)\n\t\t\t.join(new Literal('JSONB_EACH(previous.values)'), 'values')\n\t\t\t.where(where => where.in(['event_data', 'id'], this.ids))\n\t\t\t.groupBy(['event_data', 'id'])\n\n\t\treturn Object.fromEntries((await qb.getResult(queryable.db)).map(it => [it.id, it.values]))\n\t}\n}\n"],"names":[],"mappings":";AAEO,MAAM,uBAAuB,cAAmC;AAAA,EACtE,YAA6B,KAAe;AACrC;AADsB,SAAA,MAAA;AAAA,EAE7B;AAAA,EAEA,MAAM,MAAM,WAA4D;AACjE,UAAA,KAAK,cAAc,OAAO,EAC9B,OAAO,CAAQ,SAAA,KAAK,IAAI,6EAA6E,GAAG,QAAQ,EAChH,OAAO,CAAC,cAAc,IAAI,CAAC,EAC3B,KAAK,YAAY,EACjB;AAAA,MAAK;AAAA,MAAc;AAAA,MAAY,CAAA,OAAM,GACpC,UAAU,CAAC,cAAc,SAAS,GAAG,CAAC,YAAY,SAAS,CAAC,EAC5D,eAAe,CAAC,cAAc,YAAY,GAAG,SAAS,IAAI,CAAC,YAAY,YAAY,CAAC;AAAA,IAAA,EAErF,KAAK,IAAI,QAAQ,6BAA6B,GAAG,QAAQ,EACzD,MAAM,CAAA,UAAS,MAAM,GAAG,CAAC,cAAc,IAAI,GAAG,KAAK,GAAG,CAAC,EACvD,QAAQ,CAAC,cAAc,IAAI,CAAC;AAE9B,WAAO,OAAO,aAAa,MAAM,GAAG,UAAU,UAAU,EAAE,GAAG,IAAI,CAAA,OAAM,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;AAAA,EAC3F;AACD;"}
1
+ {"version":3,"file":"OldValuesQuery.js","sources":["../../../../../../../packages/engine-system-api/src/model/queries/events/OldValuesQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable, Literal, Operator, SelectBuilder } from '@contember/database'\n\nexport class OldValuesQuery extends DatabaseQuery<Record<string, any>> {\n\tconstructor(private readonly ids: string[]) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<Record<string, any>> {\n\t\tconst qb = SelectBuilder.create()\n\t\t\t.select(expr => expr.raw('JSONB_OBJECT_AGG(values.key, values.value ORDER BY previous.created_at ASC)'), 'values')\n\t\t\t.select(['event_data', 'id'])\n\t\t\t.from('event_data')\n\t\t\t.join('event_data', 'previous', on => on\n\t\t\t\t.columnsEq(['event_data', 'row_ids'], ['previous', 'row_ids'])\n\t\t\t\t.compareColumns(['event_data', 'created_at'], Operator.gt, ['previous', 'created_at']),\n\t\t\t)\n\t\t\t.join(new Literal('JSONB_EACH(previous.values)'), 'values')\n\t\t\t.where(where => where.in(['event_data', 'id'], this.ids))\n\t\t\t.groupBy(['event_data', 'id'])\n\n\t\treturn Object.fromEntries((await qb.getResult(queryable.db)).map(it => [it.id, it.values]))\n\t}\n}\n"],"names":[],"mappings":";AAEO,MAAM,uBAAuB,cAAmC;AAAA,EACtE,YAA6B,KAAe;AACrC,UAAA;AADsB,SAAA,MAAA;AAAA,EAAA;AAAA,EAI7B,MAAM,MAAM,WAA4D;AACjE,UAAA,KAAK,cAAc,OAAO,EAC9B,OAAO,CAAQ,SAAA,KAAK,IAAI,6EAA6E,GAAG,QAAQ,EAChH,OAAO,CAAC,cAAc,IAAI,CAAC,EAC3B,KAAK,YAAY,EACjB;AAAA,MAAK;AAAA,MAAc;AAAA,MAAY,CAAA,OAAM,GACpC,UAAU,CAAC,cAAc,SAAS,GAAG,CAAC,YAAY,SAAS,CAAC,EAC5D,eAAe,CAAC,cAAc,YAAY,GAAG,SAAS,IAAI,CAAC,YAAY,YAAY,CAAC;AAAA,IAAA,EAErF,KAAK,IAAI,QAAQ,6BAA6B,GAAG,QAAQ,EACzD,MAAM,CAAA,UAAS,MAAM,GAAG,CAAC,cAAc,IAAI,GAAG,KAAK,GAAG,CAAC,EACvD,QAAQ,CAAC,cAAc,IAAI,CAAC;AAE9B,WAAO,OAAO,aAAa,MAAM,GAAG,UAAU,UAAU,EAAE,GAAG,IAAI,CAAA,OAAM,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;AAAA,EAAA;AAE5F;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutedMigrationByVersionQuery.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/queries/migrations/ExecutedMigrationByVersionQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable } from '@contember/database'\nimport { ExecutedMigration } from '../../dtos'\nimport { createExecutedMigrationDto, createExecutedMigrationQueryBuilder } from './ExecutedMigrationsQueryHelper'\n\nexport class ExecutedMigrationByVersionQuery extends DatabaseQuery<ExecutedMigration | null> {\n\tconstructor(private version: string) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<ExecutedMigration | null> {\n\t\tconst builder = createExecutedMigrationQueryBuilder().where({ version: this.version })\n\t\tconst rows = await builder.getResult(queryable.db)\n\t\tconst migration = await this.fetchOneOrNull(rows)\n\t\treturn migration ? createExecutedMigrationDto(migration) : null\n\t}\n}\n"],"names":["DatabaseQuery","createExecutedMigrationQueryBuilder","createExecutedMigrationDto"],"mappings":";;;;AAIO,MAAM,wCAAwCA,SAAAA,cAAwC;AAAA,EAC5F,YAAoB,SAAiB;AAC9B;AADa,SAAA,UAAA;AAAA,EAEpB;AAAA,EAEA,MAAM,MAAM,WAAiE;AACtE,UAAA,UAAUC,oEAAsC,MAAM,EAAE,SAAS,KAAK,SAAS;AACrF,UAAM,OAAO,MAAM,QAAQ,UAAU,UAAU,EAAE;AACjD,UAAM,YAAY,MAAM,KAAK,eAAe,IAAI;AACzC,WAAA,YAAYC,8BAAAA,2BAA2B,SAAS,IAAI;AAAA,EAC5D;AACD;;"}
1
+ {"version":3,"file":"ExecutedMigrationByVersionQuery.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/queries/migrations/ExecutedMigrationByVersionQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable } from '@contember/database'\nimport { ExecutedMigration } from '../../dtos'\nimport { createExecutedMigrationDto, createExecutedMigrationQueryBuilder } from './ExecutedMigrationsQueryHelper'\n\nexport class ExecutedMigrationByVersionQuery extends DatabaseQuery<ExecutedMigration | null> {\n\tconstructor(private version: string) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<ExecutedMigration | null> {\n\t\tconst builder = createExecutedMigrationQueryBuilder().where({ version: this.version })\n\t\tconst rows = await builder.getResult(queryable.db)\n\t\tconst migration = await this.fetchOneOrNull(rows)\n\t\treturn migration ? createExecutedMigrationDto(migration) : null\n\t}\n}\n"],"names":["DatabaseQuery","createExecutedMigrationQueryBuilder","createExecutedMigrationDto"],"mappings":";;;;AAIO,MAAM,wCAAwCA,SAAAA,cAAwC;AAAA,EAC5F,YAAoB,SAAiB;AAC9B,UAAA;AADa,SAAA,UAAA;AAAA,EAAA;AAAA,EAIpB,MAAM,MAAM,WAAiE;AACtE,UAAA,UAAUC,8BAAAA,sCAAsC,MAAM,EAAE,SAAS,KAAK,SAAS;AACrF,UAAM,OAAO,MAAM,QAAQ,UAAU,UAAU,EAAE;AACjD,UAAM,YAAY,MAAM,KAAK,eAAe,IAAI;AACzC,WAAA,YAAYC,8BAAAA,2BAA2B,SAAS,IAAI;AAAA,EAAA;AAE7D;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutedMigrationByVersionQuery.js","sources":["../../../../../../../packages/engine-system-api/src/model/queries/migrations/ExecutedMigrationByVersionQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable } from '@contember/database'\nimport { ExecutedMigration } from '../../dtos'\nimport { createExecutedMigrationDto, createExecutedMigrationQueryBuilder } from './ExecutedMigrationsQueryHelper'\n\nexport class ExecutedMigrationByVersionQuery extends DatabaseQuery<ExecutedMigration | null> {\n\tconstructor(private version: string) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<ExecutedMigration | null> {\n\t\tconst builder = createExecutedMigrationQueryBuilder().where({ version: this.version })\n\t\tconst rows = await builder.getResult(queryable.db)\n\t\tconst migration = await this.fetchOneOrNull(rows)\n\t\treturn migration ? createExecutedMigrationDto(migration) : null\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,wCAAwC,cAAwC;AAAA,EAC5F,YAAoB,SAAiB;AAC9B;AADa,SAAA,UAAA;AAAA,EAEpB;AAAA,EAEA,MAAM,MAAM,WAAiE;AACtE,UAAA,UAAU,sCAAsC,MAAM,EAAE,SAAS,KAAK,SAAS;AACrF,UAAM,OAAO,MAAM,QAAQ,UAAU,UAAU,EAAE;AACjD,UAAM,YAAY,MAAM,KAAK,eAAe,IAAI;AACzC,WAAA,YAAY,2BAA2B,SAAS,IAAI;AAAA,EAC5D;AACD;"}
1
+ {"version":3,"file":"ExecutedMigrationByVersionQuery.js","sources":["../../../../../../../packages/engine-system-api/src/model/queries/migrations/ExecutedMigrationByVersionQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable } from '@contember/database'\nimport { ExecutedMigration } from '../../dtos'\nimport { createExecutedMigrationDto, createExecutedMigrationQueryBuilder } from './ExecutedMigrationsQueryHelper'\n\nexport class ExecutedMigrationByVersionQuery extends DatabaseQuery<ExecutedMigration | null> {\n\tconstructor(private version: string) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<ExecutedMigration | null> {\n\t\tconst builder = createExecutedMigrationQueryBuilder().where({ version: this.version })\n\t\tconst rows = await builder.getResult(queryable.db)\n\t\tconst migration = await this.fetchOneOrNull(rows)\n\t\treturn migration ? createExecutedMigrationDto(migration) : null\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,wCAAwC,cAAwC;AAAA,EAC5F,YAAoB,SAAiB;AAC9B,UAAA;AADa,SAAA,UAAA;AAAA,EAAA;AAAA,EAIpB,MAAM,MAAM,WAAiE;AACtE,UAAA,UAAU,sCAAsC,MAAM,EAAE,SAAS,KAAK,SAAS;AACrF,UAAM,OAAO,MAAM,QAAQ,UAAU,UAAU,EAAE;AACjD,UAAM,YAAY,MAAM,KAAK,eAAe,IAAI;AACzC,WAAA,YAAY,2BAA2B,SAAS,IAAI;AAAA,EAAA;AAE7D;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutedMigrationsQuery.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/queries/migrations/ExecutedMigrationsQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable, Operator } from '@contember/database'\nimport { ExecutedMigration } from '../../dtos'\nimport { createExecutedMigrationDto, createExecutedMigrationQueryBuilder } from './ExecutedMigrationsQueryHelper'\n\nexport class ExecutedMigrationsQuery extends DatabaseQuery<ExecutedMigration[]> {\n\tconstructor(private afterVersion?: string) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<ExecutedMigration[]> {\n\t\tconst builder = createExecutedMigrationQueryBuilder()\n\t\tconst afterVersion = this.afterVersion\n\t\tconst builderWithWhere = afterVersion\n\t\t\t? builder.where(expr => expr.compare('version', Operator.gt, afterVersion))\n\t\t\t: builder\n\n\t\tconst result = await builderWithWhere.getResult(queryable.db)\n\t\treturn result.map(createExecutedMigrationDto)\n\t}\n}\n"],"names":["DatabaseQuery","createExecutedMigrationQueryBuilder","Operator","createExecutedMigrationDto"],"mappings":";;;;AAIO,MAAM,gCAAgCA,SAAAA,cAAmC;AAAA,EAC/E,YAAoB,cAAuB;AACpC;AADa,SAAA,eAAA;AAAA,EAEpB;AAAA,EAEA,MAAM,MAAM,WAA4D;AACvE,UAAM,UAAUC,8BAAAA;AAChB,UAAM,eAAe,KAAK;AAC1B,UAAM,mBAAmB,eACtB,QAAQ,MAAM,CAAQ,SAAA,KAAK,QAAQ,WAAWC,SAAAA,SAAS,IAAI,YAAY,CAAC,IACxE;AAEH,UAAM,SAAS,MAAM,iBAAiB,UAAU,UAAU,EAAE;AACrD,WAAA,OAAO,IAAIC,8BAAAA,0BAA0B;AAAA,EAC7C;AACD;;"}
1
+ {"version":3,"file":"ExecutedMigrationsQuery.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/queries/migrations/ExecutedMigrationsQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable, Operator } from '@contember/database'\nimport { ExecutedMigration } from '../../dtos'\nimport { createExecutedMigrationDto, createExecutedMigrationQueryBuilder } from './ExecutedMigrationsQueryHelper'\n\nexport class ExecutedMigrationsQuery extends DatabaseQuery<ExecutedMigration[]> {\n\tconstructor(private afterVersion?: string) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<ExecutedMigration[]> {\n\t\tconst builder = createExecutedMigrationQueryBuilder()\n\t\tconst afterVersion = this.afterVersion\n\t\tconst builderWithWhere = afterVersion\n\t\t\t? builder.where(expr => expr.compare('version', Operator.gt, afterVersion))\n\t\t\t: builder\n\n\t\tconst result = await builderWithWhere.getResult(queryable.db)\n\t\treturn result.map(createExecutedMigrationDto)\n\t}\n}\n"],"names":["DatabaseQuery","createExecutedMigrationQueryBuilder","Operator","createExecutedMigrationDto"],"mappings":";;;;AAIO,MAAM,gCAAgCA,SAAAA,cAAmC;AAAA,EAC/E,YAAoB,cAAuB;AACpC,UAAA;AADa,SAAA,eAAA;AAAA,EAAA;AAAA,EAIpB,MAAM,MAAM,WAA4D;AACvE,UAAM,UAAUC,8BAAAA,oCAAoC;AACpD,UAAM,eAAe,KAAK;AAC1B,UAAM,mBAAmB,eACtB,QAAQ,MAAM,CAAQ,SAAA,KAAK,QAAQ,WAAWC,SAAS,SAAA,IAAI,YAAY,CAAC,IACxE;AAEH,UAAM,SAAS,MAAM,iBAAiB,UAAU,UAAU,EAAE;AACrD,WAAA,OAAO,IAAIC,wDAA0B;AAAA,EAAA;AAE9C;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutedMigrationsQuery.js","sources":["../../../../../../../packages/engine-system-api/src/model/queries/migrations/ExecutedMigrationsQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable, Operator } from '@contember/database'\nimport { ExecutedMigration } from '../../dtos'\nimport { createExecutedMigrationDto, createExecutedMigrationQueryBuilder } from './ExecutedMigrationsQueryHelper'\n\nexport class ExecutedMigrationsQuery extends DatabaseQuery<ExecutedMigration[]> {\n\tconstructor(private afterVersion?: string) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<ExecutedMigration[]> {\n\t\tconst builder = createExecutedMigrationQueryBuilder()\n\t\tconst afterVersion = this.afterVersion\n\t\tconst builderWithWhere = afterVersion\n\t\t\t? builder.where(expr => expr.compare('version', Operator.gt, afterVersion))\n\t\t\t: builder\n\n\t\tconst result = await builderWithWhere.getResult(queryable.db)\n\t\treturn result.map(createExecutedMigrationDto)\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,gCAAgC,cAAmC;AAAA,EAC/E,YAAoB,cAAuB;AACpC;AADa,SAAA,eAAA;AAAA,EAEpB;AAAA,EAEA,MAAM,MAAM,WAA4D;AACvE,UAAM,UAAU;AAChB,UAAM,eAAe,KAAK;AAC1B,UAAM,mBAAmB,eACtB,QAAQ,MAAM,CAAQ,SAAA,KAAK,QAAQ,WAAW,SAAS,IAAI,YAAY,CAAC,IACxE;AAEH,UAAM,SAAS,MAAM,iBAAiB,UAAU,UAAU,EAAE;AACrD,WAAA,OAAO,IAAI,0BAA0B;AAAA,EAC7C;AACD;"}
1
+ {"version":3,"file":"ExecutedMigrationsQuery.js","sources":["../../../../../../../packages/engine-system-api/src/model/queries/migrations/ExecutedMigrationsQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable, Operator } from '@contember/database'\nimport { ExecutedMigration } from '../../dtos'\nimport { createExecutedMigrationDto, createExecutedMigrationQueryBuilder } from './ExecutedMigrationsQueryHelper'\n\nexport class ExecutedMigrationsQuery extends DatabaseQuery<ExecutedMigration[]> {\n\tconstructor(private afterVersion?: string) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<ExecutedMigration[]> {\n\t\tconst builder = createExecutedMigrationQueryBuilder()\n\t\tconst afterVersion = this.afterVersion\n\t\tconst builderWithWhere = afterVersion\n\t\t\t? builder.where(expr => expr.compare('version', Operator.gt, afterVersion))\n\t\t\t: builder\n\n\t\tconst result = await builderWithWhere.getResult(queryable.db)\n\t\treturn result.map(createExecutedMigrationDto)\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,gCAAgC,cAAmC;AAAA,EAC/E,YAAoB,cAAuB;AACpC,UAAA;AADa,SAAA,eAAA;AAAA,EAAA;AAAA,EAIpB,MAAM,MAAM,WAA4D;AACvE,UAAM,UAAU,oCAAoC;AACpD,UAAM,eAAe,KAAK;AAC1B,UAAM,mBAAmB,eACtB,QAAQ,MAAM,CAAQ,SAAA,KAAK,QAAQ,WAAW,SAAS,IAAI,YAAY,CAAC,IACxE;AAEH,UAAM,SAAS,MAAM,iBAAiB,UAAU,UAAU,EAAE;AACrD,WAAA,OAAO,IAAI,0BAA0B;AAAA,EAAA;AAE9C;"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Database = require("@contember/database");
4
+ class SchemaQuery extends Database.DatabaseQuery {
5
+ constructor(currentHash) {
6
+ super();
7
+ this.currentHash = currentHash;
8
+ }
9
+ async fetch(queryable) {
10
+ const query = Database.SelectBuilder.create().from("schema").select(new Database.Literal("*")).where({
11
+ id: "single"
12
+ }).match((it) => {
13
+ if (!this.currentHash) {
14
+ return it;
15
+ }
16
+ return it.where((it2) => it2.raw("checksum != ?", this.currentHash));
17
+ });
18
+ const row = this.fetchOneOrNull(await query.getResult(queryable.db));
19
+ if (!row) {
20
+ return null;
21
+ }
22
+ return {
23
+ schema: row.schema,
24
+ meta: {
25
+ checksum: row.checksum,
26
+ version: row.version,
27
+ updatedAt: row.updated_at,
28
+ id: row.migration_id
29
+ }
30
+ };
31
+ }
32
+ }
33
+ exports.SchemaQuery = SchemaQuery;
34
+ //# sourceMappingURL=SchemaQuery.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaQuery.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/queries/schema/SchemaQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable, Literal, SelectBuilder } from '@contember/database'\nimport { Schema } from '@contember/schema'\nimport { SchemaWithMeta } from '../../migrations'\n\nexport class SchemaQuery extends DatabaseQuery<SchemaWithMeta | null> {\n\n\tconstructor(\n\t\tprivate readonly currentHash?: string,\n\t) {\n\t\tsuper()\n\t}\n\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<SchemaWithMeta | null> {\n\t\tconst query = SelectBuilder.create<{\n\t\t\tschema: Schema\n\t\t\tchecksum: string\n\t\t\tversion: string\n\t\t\tupdated_at: Date\n\t\t\tmigration_id: number\n\t\t}>()\n\t\t\t.from('schema')\n\t\t\t.select(new Literal('*'))\n\t\t\t.where({\n\t\t\t\tid: 'single',\n\t\t\t})\n\t\t\t.match(it => {\n\t\t\t\tif (!this.currentHash) {\n\t\t\t\t\treturn it\n\t\t\t\t}\n\t\t\t\treturn it.where(it => it.raw('checksum != ?', this.currentHash))\n\t\t\t})\n\n\t\tconst row = this.fetchOneOrNull(await query.getResult(queryable.db))\n\t\tif (!row) {\n\t\t\treturn null\n\t\t}\n\t\treturn {\n\t\t\tschema: row.schema,\n\t\t\tmeta: {\n\t\t\t\tchecksum: row.checksum,\n\t\t\t\tversion: row.version,\n\t\t\t\tupdatedAt: row.updated_at,\n\t\t\t\tid: row.migration_id,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["DatabaseQuery","SelectBuilder","Literal","it"],"mappings":";;;AAIO,MAAM,oBAAoBA,SAAAA,cAAqC;AAAA,EAErE,YACkB,aAChB;AACK,UAAA;AAFW,SAAA,cAAA;AAAA,EAAA;AAAA,EAMlB,MAAM,MAAM,WAA8D;AACzE,UAAM,QAAQC,SAAAA,cAAc,OAMzB,EACD,KAAK,QAAQ,EACb,OAAO,IAAIC,SAAA,QAAQ,GAAG,CAAC,EACvB,MAAM;AAAA,MACN,IAAI;AAAA,IAAA,CACJ,EACA,MAAM,CAAM,OAAA;AACR,UAAA,CAAC,KAAK,aAAa;AACf,eAAA;AAAA,MAAA;AAED,aAAA,GAAG,MAAM,CAAAC,QAAMA,IAAG,IAAI,iBAAiB,KAAK,WAAW,CAAC;AAAA,IAAA,CAC/D;AAEI,UAAA,MAAO,KAAK,eAAe,MAAM,MAAM,UAAU,UAAU,EAAE,CAAC;AACpE,QAAI,CAAC,KAAK;AACF,aAAA;AAAA,IAAA;AAED,WAAA;AAAA,MACN,QAAQ,IAAI;AAAA,MACZ,MAAM;AAAA,QACL,UAAU,IAAI;AAAA,QACd,SAAS,IAAI;AAAA,QACb,WAAW,IAAI;AAAA,QACf,IAAI,IAAI;AAAA,MAAA;AAAA,IAEV;AAAA,EAAA;AAEF;;"}
@@ -0,0 +1,34 @@
1
+ import { DatabaseQuery, SelectBuilder, Literal } from "@contember/database";
2
+ class SchemaQuery extends DatabaseQuery {
3
+ constructor(currentHash) {
4
+ super();
5
+ this.currentHash = currentHash;
6
+ }
7
+ async fetch(queryable) {
8
+ const query = SelectBuilder.create().from("schema").select(new Literal("*")).where({
9
+ id: "single"
10
+ }).match((it) => {
11
+ if (!this.currentHash) {
12
+ return it;
13
+ }
14
+ return it.where((it2) => it2.raw("checksum != ?", this.currentHash));
15
+ });
16
+ const row = this.fetchOneOrNull(await query.getResult(queryable.db));
17
+ if (!row) {
18
+ return null;
19
+ }
20
+ return {
21
+ schema: row.schema,
22
+ meta: {
23
+ checksum: row.checksum,
24
+ version: row.version,
25
+ updatedAt: row.updated_at,
26
+ id: row.migration_id
27
+ }
28
+ };
29
+ }
30
+ }
31
+ export {
32
+ SchemaQuery
33
+ };
34
+ //# sourceMappingURL=SchemaQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaQuery.js","sources":["../../../../../../../packages/engine-system-api/src/model/queries/schema/SchemaQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable, Literal, SelectBuilder } from '@contember/database'\nimport { Schema } from '@contember/schema'\nimport { SchemaWithMeta } from '../../migrations'\n\nexport class SchemaQuery extends DatabaseQuery<SchemaWithMeta | null> {\n\n\tconstructor(\n\t\tprivate readonly currentHash?: string,\n\t) {\n\t\tsuper()\n\t}\n\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<SchemaWithMeta | null> {\n\t\tconst query = SelectBuilder.create<{\n\t\t\tschema: Schema\n\t\t\tchecksum: string\n\t\t\tversion: string\n\t\t\tupdated_at: Date\n\t\t\tmigration_id: number\n\t\t}>()\n\t\t\t.from('schema')\n\t\t\t.select(new Literal('*'))\n\t\t\t.where({\n\t\t\t\tid: 'single',\n\t\t\t})\n\t\t\t.match(it => {\n\t\t\t\tif (!this.currentHash) {\n\t\t\t\t\treturn it\n\t\t\t\t}\n\t\t\t\treturn it.where(it => it.raw('checksum != ?', this.currentHash))\n\t\t\t})\n\n\t\tconst row = this.fetchOneOrNull(await query.getResult(queryable.db))\n\t\tif (!row) {\n\t\t\treturn null\n\t\t}\n\t\treturn {\n\t\t\tschema: row.schema,\n\t\t\tmeta: {\n\t\t\t\tchecksum: row.checksum,\n\t\t\t\tversion: row.version,\n\t\t\t\tupdatedAt: row.updated_at,\n\t\t\t\tid: row.migration_id,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["it"],"mappings":";AAIO,MAAM,oBAAoB,cAAqC;AAAA,EAErE,YACkB,aAChB;AACK,UAAA;AAFW,SAAA,cAAA;AAAA,EAAA;AAAA,EAMlB,MAAM,MAAM,WAA8D;AACzE,UAAM,QAAQ,cAAc,OAMzB,EACD,KAAK,QAAQ,EACb,OAAO,IAAI,QAAQ,GAAG,CAAC,EACvB,MAAM;AAAA,MACN,IAAI;AAAA,IAAA,CACJ,EACA,MAAM,CAAM,OAAA;AACR,UAAA,CAAC,KAAK,aAAa;AACf,eAAA;AAAA,MAAA;AAED,aAAA,GAAG,MAAM,CAAAA,QAAMA,IAAG,IAAI,iBAAiB,KAAK,WAAW,CAAC;AAAA,IAAA,CAC/D;AAEI,UAAA,MAAO,KAAK,eAAe,MAAM,MAAM,UAAU,UAAU,EAAE,CAAC;AACpE,QAAI,CAAC,KAAK;AACF,aAAA;AAAA,IAAA;AAED,WAAA;AAAA,MACN,QAAQ,IAAI;AAAA,MACZ,MAAM;AAAA,QACL,UAAU,IAAI;AAAA,QACd,SAAS,IAAI;AAAA,QACb,WAAW,IAAI;AAAA,QACf,IAAI,IAAI;AAAA,MAAA;AAAA,IAEV;AAAA,EAAA;AAEF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"StageBySlugQuery.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/queries/stages/StageBySlugQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable } from '@contember/database'\nimport { prepareStageQueryBuilder } from './StageQueryFactory'\nimport { Stage } from '../../dtos'\n\nclass StageBySlugQuery extends DatabaseQuery<StageBySlugQuery.Result> {\n\tconstructor(private readonly slug: string) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<StageBySlugQuery.Result> {\n\t\tlet selectBuilder = prepareStageQueryBuilder().where({ slug: this.slug })\n\n\t\tconst rows = await selectBuilder.getResult(queryable.db)\n\n\t\treturn this.fetchOneOrNull(rows)\n\t}\n}\n\nnamespace StageBySlugQuery {\n\texport type Result = null | Stage\n}\n\nexport { StageBySlugQuery }\n"],"names":["DatabaseQuery","prepareStageQueryBuilder"],"mappings":";;;;AAIA,MAAM,yBAAyBA,SAAAA,cAAuC;AAAA,EACrE,YAA6B,MAAc;AACpC;AADsB,SAAA,OAAA;AAAA,EAE7B;AAAA,EAEA,MAAM,MAAM,WAAgE;AACvE,QAAA,gBAAgBC,6CAA2B,MAAM,EAAE,MAAM,KAAK,MAAM;AAExE,UAAM,OAAO,MAAM,cAAc,UAAU,UAAU,EAAE;AAEhD,WAAA,KAAK,eAAe,IAAI;AAAA,EAChC;AACD;;"}
1
+ {"version":3,"file":"StageBySlugQuery.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/queries/stages/StageBySlugQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable } from '@contember/database'\nimport { prepareStageQueryBuilder } from './StageQueryFactory'\nimport { Stage } from '../../dtos'\n\nclass StageBySlugQuery extends DatabaseQuery<StageBySlugQuery.Result> {\n\tconstructor(private readonly slug: string) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<StageBySlugQuery.Result> {\n\t\tlet selectBuilder = prepareStageQueryBuilder().where({ slug: this.slug })\n\n\t\tconst rows = await selectBuilder.getResult(queryable.db)\n\n\t\treturn this.fetchOneOrNull(rows)\n\t}\n}\n\nnamespace StageBySlugQuery {\n\texport type Result = null | Stage\n}\n\nexport { StageBySlugQuery }\n"],"names":["DatabaseQuery","prepareStageQueryBuilder"],"mappings":";;;;AAIA,MAAM,yBAAyBA,SAAAA,cAAuC;AAAA,EACrE,YAA6B,MAAc;AACpC,UAAA;AADsB,SAAA,OAAA;AAAA,EAAA;AAAA,EAI7B,MAAM,MAAM,WAAgE;AACvE,QAAA,gBAAgBC,kBAAAA,2BAA2B,MAAM,EAAE,MAAM,KAAK,MAAM;AAExE,UAAM,OAAO,MAAM,cAAc,UAAU,UAAU,EAAE;AAEhD,WAAA,KAAK,eAAe,IAAI;AAAA,EAAA;AAEjC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"StageBySlugQuery.js","sources":["../../../../../../../packages/engine-system-api/src/model/queries/stages/StageBySlugQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable } from '@contember/database'\nimport { prepareStageQueryBuilder } from './StageQueryFactory'\nimport { Stage } from '../../dtos'\n\nclass StageBySlugQuery extends DatabaseQuery<StageBySlugQuery.Result> {\n\tconstructor(private readonly slug: string) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<StageBySlugQuery.Result> {\n\t\tlet selectBuilder = prepareStageQueryBuilder().where({ slug: this.slug })\n\n\t\tconst rows = await selectBuilder.getResult(queryable.db)\n\n\t\treturn this.fetchOneOrNull(rows)\n\t}\n}\n\nnamespace StageBySlugQuery {\n\texport type Result = null | Stage\n}\n\nexport { StageBySlugQuery }\n"],"names":[],"mappings":";;AAIA,MAAM,yBAAyB,cAAuC;AAAA,EACrE,YAA6B,MAAc;AACpC;AADsB,SAAA,OAAA;AAAA,EAE7B;AAAA,EAEA,MAAM,MAAM,WAAgE;AACvE,QAAA,gBAAgB,2BAA2B,MAAM,EAAE,MAAM,KAAK,MAAM;AAExE,UAAM,OAAO,MAAM,cAAc,UAAU,UAAU,EAAE;AAEhD,WAAA,KAAK,eAAe,IAAI;AAAA,EAChC;AACD;"}
1
+ {"version":3,"file":"StageBySlugQuery.js","sources":["../../../../../../../packages/engine-system-api/src/model/queries/stages/StageBySlugQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable } from '@contember/database'\nimport { prepareStageQueryBuilder } from './StageQueryFactory'\nimport { Stage } from '../../dtos'\n\nclass StageBySlugQuery extends DatabaseQuery<StageBySlugQuery.Result> {\n\tconstructor(private readonly slug: string) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<StageBySlugQuery.Result> {\n\t\tlet selectBuilder = prepareStageQueryBuilder().where({ slug: this.slug })\n\n\t\tconst rows = await selectBuilder.getResult(queryable.db)\n\n\t\treturn this.fetchOneOrNull(rows)\n\t}\n}\n\nnamespace StageBySlugQuery {\n\texport type Result = null | Stage\n}\n\nexport { StageBySlugQuery }\n"],"names":[],"mappings":";;AAIA,MAAM,yBAAyB,cAAuC;AAAA,EACrE,YAA6B,MAAc;AACpC,UAAA;AADsB,SAAA,OAAA;AAAA,EAAA;AAAA,EAI7B,MAAM,MAAM,WAAgE;AACvE,QAAA,gBAAgB,2BAA2B,MAAM,EAAE,MAAM,KAAK,MAAM;AAExE,UAAM,OAAO,MAAM,cAAc,UAAU,UAAU,EAAE;AAEhD,WAAA,KAAK,eAAe,IAAI;AAAA,EAAA;AAEjC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"StagesQuery.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/queries/stages/StagesQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable } from '@contember/database'\nimport { prepareStageQueryBuilder } from './StageQueryFactory'\nimport { Stage } from '../../dtos'\n\nclass StagesQuery extends DatabaseQuery<Stage[]> {\n\tasync fetch(queryable: DatabaseQueryable): Promise<Stage[]> {\n\t\tconst select = prepareStageQueryBuilder()\n\n\t\treturn await select.getResult(queryable.db)\n\t}\n}\n\nexport { StagesQuery }\n"],"names":["DatabaseQuery","prepareStageQueryBuilder"],"mappings":";;;;AAIA,MAAM,oBAAoBA,SAAAA,cAAuB;AAAA,EAChD,MAAM,MAAM,WAAgD;AAC3D,UAAM,SAASC,kBAAAA;AAEf,WAAO,MAAM,OAAO,UAAU,UAAU,EAAE;AAAA,EAC3C;AACD;;"}
1
+ {"version":3,"file":"StagesQuery.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/queries/stages/StagesQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable } from '@contember/database'\nimport { prepareStageQueryBuilder } from './StageQueryFactory'\nimport { Stage } from '../../dtos'\n\nclass StagesQuery extends DatabaseQuery<Stage[]> {\n\tasync fetch(queryable: DatabaseQueryable): Promise<Stage[]> {\n\t\tconst select = prepareStageQueryBuilder()\n\n\t\treturn await select.getResult(queryable.db)\n\t}\n}\n\nexport { StagesQuery }\n"],"names":["DatabaseQuery","prepareStageQueryBuilder"],"mappings":";;;;AAIA,MAAM,oBAAoBA,SAAAA,cAAuB;AAAA,EAChD,MAAM,MAAM,WAAgD;AAC3D,UAAM,SAASC,kBAAAA,yBAAyB;AAExC,WAAO,MAAM,OAAO,UAAU,UAAU,EAAE;AAAA,EAAA;AAE5C;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"StagesQuery.js","sources":["../../../../../../../packages/engine-system-api/src/model/queries/stages/StagesQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable } from '@contember/database'\nimport { prepareStageQueryBuilder } from './StageQueryFactory'\nimport { Stage } from '../../dtos'\n\nclass StagesQuery extends DatabaseQuery<Stage[]> {\n\tasync fetch(queryable: DatabaseQueryable): Promise<Stage[]> {\n\t\tconst select = prepareStageQueryBuilder()\n\n\t\treturn await select.getResult(queryable.db)\n\t}\n}\n\nexport { StagesQuery }\n"],"names":[],"mappings":";;AAIA,MAAM,oBAAoB,cAAuB;AAAA,EAChD,MAAM,MAAM,WAAgD;AAC3D,UAAM,SAAS;AAEf,WAAO,MAAM,OAAO,UAAU,UAAU,EAAE;AAAA,EAC3C;AACD;"}
1
+ {"version":3,"file":"StagesQuery.js","sources":["../../../../../../../packages/engine-system-api/src/model/queries/stages/StagesQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable } from '@contember/database'\nimport { prepareStageQueryBuilder } from './StageQueryFactory'\nimport { Stage } from '../../dtos'\n\nclass StagesQuery extends DatabaseQuery<Stage[]> {\n\tasync fetch(queryable: DatabaseQueryable): Promise<Stage[]> {\n\t\tconst select = prepareStageQueryBuilder()\n\n\t\treturn await select.getResult(queryable.db)\n\t}\n}\n\nexport { StagesQuery }\n"],"names":[],"mappings":";;AAIA,MAAM,oBAAoB,cAAuB;AAAA,EAChD,MAAM,MAAM,WAAgD;AAC3D,UAAM,SAAS,yBAAyB;AAExC,WAAO,MAAM,OAAO,UAAU,UAAU,EAAE;AAAA,EAAA;AAE5C;"}
@@ -1 +1 @@
1
- {"version":3,"file":"StageCreator.cjs","sources":["../../../../../../packages/engine-system-api/src/model/stages/StageCreator.ts"],"sourcesContent":["import { CreateStageCommand } from '../commands'\nimport { StageBySlugQuery } from '../queries'\nimport { StageConfig } from '../../types'\nimport { DatabaseContext } from '../database'\n\nclass StageCreator {\n\tconstructor() {}\n\n\tpublic async createStage(\n\t\tdb: DatabaseContext,\n\t\tstage: StageConfig,\n\t): Promise<boolean> {\n\t\tconst stageRow = await db.queryHandler.fetch(new StageBySlugQuery(stage.slug))\n\t\tif (stageRow) {\n\t\t\treturn false\n\t\t}\n\t\tawait db.commandBus.execute(new CreateStageCommand(stage))\n\t\treturn true\n\t}\n}\n\nexport { StageCreator }\n"],"names":["StageBySlugQuery","CreateStageCommand"],"mappings":";;;;;;;;AAKA,MAAM,aAAa;AAAA,EAClB,cAAc;AAAA,EAAC;AAAA,EAEf,MAAa,YACZ,IACA,OACmB;AACb,UAAA,WAAW,MAAM,GAAG,aAAa,MAAM,IAAIA,kCAAiB,MAAM,IAAI,CAAC;AAC7E,QAAI,UAAU;AACN,aAAA;AAAA,IACR;AACA,UAAM,GAAG,WAAW,QAAQ,IAAIC,mBAAA,mBAAmB,KAAK,CAAC;AAClD,WAAA;AAAA,EACR;AACD;;"}
1
+ {"version":3,"file":"StageCreator.cjs","sources":["../../../../../../packages/engine-system-api/src/model/stages/StageCreator.ts"],"sourcesContent":["import { CreateStageCommand } from '../commands'\nimport { StageBySlugQuery } from '../queries'\nimport { StageConfig } from '../../types'\nimport { DatabaseContext } from '../database'\n\nclass StageCreator {\n\tconstructor() {}\n\n\tpublic async createStage(\n\t\tdb: DatabaseContext,\n\t\tstage: StageConfig,\n\t): Promise<boolean> {\n\t\tconst stageRow = await db.queryHandler.fetch(new StageBySlugQuery(stage.slug))\n\t\tif (stageRow) {\n\t\t\treturn false\n\t\t}\n\t\tawait db.commandBus.execute(new CreateStageCommand(stage))\n\t\treturn true\n\t}\n}\n\nexport { StageCreator }\n"],"names":["StageBySlugQuery","CreateStageCommand"],"mappings":";;;;;;;;AAKA,MAAM,aAAa;AAAA,EAClB,cAAc;AAAA,EAAA;AAAA,EAEd,MAAa,YACZ,IACA,OACmB;AACb,UAAA,WAAW,MAAM,GAAG,aAAa,MAAM,IAAIA,iBAAA,iBAAiB,MAAM,IAAI,CAAC;AAC7E,QAAI,UAAU;AACN,aAAA;AAAA,IAAA;AAER,UAAM,GAAG,WAAW,QAAQ,IAAIC,mBAAA,mBAAmB,KAAK,CAAC;AAClD,WAAA;AAAA,EAAA;AAET;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"StageCreator.js","sources":["../../../../../../packages/engine-system-api/src/model/stages/StageCreator.ts"],"sourcesContent":["import { CreateStageCommand } from '../commands'\nimport { StageBySlugQuery } from '../queries'\nimport { StageConfig } from '../../types'\nimport { DatabaseContext } from '../database'\n\nclass StageCreator {\n\tconstructor() {}\n\n\tpublic async createStage(\n\t\tdb: DatabaseContext,\n\t\tstage: StageConfig,\n\t): Promise<boolean> {\n\t\tconst stageRow = await db.queryHandler.fetch(new StageBySlugQuery(stage.slug))\n\t\tif (stageRow) {\n\t\t\treturn false\n\t\t}\n\t\tawait db.commandBus.execute(new CreateStageCommand(stage))\n\t\treturn true\n\t}\n}\n\nexport { StageCreator }\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,aAAa;AAAA,EAClB,cAAc;AAAA,EAAC;AAAA,EAEf,MAAa,YACZ,IACA,OACmB;AACb,UAAA,WAAW,MAAM,GAAG,aAAa,MAAM,IAAI,iBAAiB,MAAM,IAAI,CAAC;AAC7E,QAAI,UAAU;AACN,aAAA;AAAA,IACR;AACA,UAAM,GAAG,WAAW,QAAQ,IAAI,mBAAmB,KAAK,CAAC;AAClD,WAAA;AAAA,EACR;AACD;"}
1
+ {"version":3,"file":"StageCreator.js","sources":["../../../../../../packages/engine-system-api/src/model/stages/StageCreator.ts"],"sourcesContent":["import { CreateStageCommand } from '../commands'\nimport { StageBySlugQuery } from '../queries'\nimport { StageConfig } from '../../types'\nimport { DatabaseContext } from '../database'\n\nclass StageCreator {\n\tconstructor() {}\n\n\tpublic async createStage(\n\t\tdb: DatabaseContext,\n\t\tstage: StageConfig,\n\t): Promise<boolean> {\n\t\tconst stageRow = await db.queryHandler.fetch(new StageBySlugQuery(stage.slug))\n\t\tif (stageRow) {\n\t\t\treturn false\n\t\t}\n\t\tawait db.commandBus.execute(new CreateStageCommand(stage))\n\t\treturn true\n\t}\n}\n\nexport { StageCreator }\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,aAAa;AAAA,EAClB,cAAc;AAAA,EAAA;AAAA,EAEd,MAAa,YACZ,IACA,OACmB;AACb,UAAA,WAAW,MAAM,GAAG,aAAa,MAAM,IAAI,iBAAiB,MAAM,IAAI,CAAC;AAC7E,QAAI,UAAU;AACN,aAAA;AAAA,IAAA;AAER,UAAM,GAAG,WAAW,QAAQ,IAAI,mBAAmB,KAAK,CAAC;AAClD,WAAA;AAAA,EAAA;AAET;"}
@@ -7,7 +7,7 @@ const assertNever = require("../utils/assertNever.cjs");
7
7
  const graphqlUtils = require("@contember/graphql-utils");
8
8
  const graphql = require("graphql");
9
9
  class ResolverFactory {
10
- constructor(stagesQueryResolver, executedMigrationsQueryResolver, migrateMutationResolver, truncateMutationResolver, migrationAlterMutationResolver, eventsQueryResolver, eventOldValuesResolver) {
10
+ constructor(stagesQueryResolver, executedMigrationsQueryResolver, migrateMutationResolver, truncateMutationResolver, migrationAlterMutationResolver, eventsQueryResolver, eventOldValuesResolver, schemaQueryResolver) {
11
11
  this.stagesQueryResolver = stagesQueryResolver;
12
12
  this.executedMigrationsQueryResolver = executedMigrationsQueryResolver;
13
13
  this.migrateMutationResolver = migrateMutationResolver;
@@ -15,12 +15,14 @@ class ResolverFactory {
15
15
  this.migrationAlterMutationResolver = migrationAlterMutationResolver;
16
16
  this.eventsQueryResolver = eventsQueryResolver;
17
17
  this.eventOldValuesResolver = eventOldValuesResolver;
18
+ this.schemaQueryResolver = schemaQueryResolver;
18
19
  }
19
20
  create(debugMode) {
20
21
  const resolvers = {
21
22
  DateTime: graphqlUtils.DateTimeType,
22
23
  Json: graphqlUtils.JSONType,
23
24
  PrimaryKey: PrimaryKeyType,
25
+ Schema: SchemaType,
24
26
  Event: {
25
27
  __resolveType: (obj) => {
26
28
  switch (obj.type) {
@@ -41,7 +43,8 @@ class ResolverFactory {
41
43
  Query: {
42
44
  stages: this.stagesQueryResolver.stages.bind(this.stagesQueryResolver),
43
45
  executedMigrations: this.executedMigrationsQueryResolver.executedMigrations.bind(this.executedMigrationsQueryResolver),
44
- events: this.eventsQueryResolver.events.bind(this.eventsQueryResolver)
46
+ events: this.eventsQueryResolver.events.bind(this.eventsQueryResolver),
47
+ schema: this.schemaQueryResolver.schema.bind(this.schemaQueryResolver)
45
48
  },
46
49
  Mutation: {
47
50
  migrate: this.migrateMutationResolver.migrate.bind(this.migrateMutationResolver)
@@ -68,6 +71,7 @@ const parseValue = (value) => {
68
71
  }
69
72
  throw new graphql.GraphQLError("PrimaryKey cannot represent value: " + JSON.stringify(value));
70
73
  };
74
+ const SchemaType = graphqlUtils.createJsonLikeType("Schema", "Content schema custom scalar type");
71
75
  const PrimaryKeyType = new graphql.GraphQLScalarType({
72
76
  name: "PrimaryKey",
73
77
  description: "PrimaryKey custom scalar type. Can be Int or String",
@@ -1 +1 @@
1
- {"version":3,"file":"ResolverFactory.cjs","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 { DateTimeType, JSONType } from '@contember/graphql-utils'\nimport { EventOldValuesResolver } from './types'\nimport { GraphQLError, GraphQLScalarType, Kind } from 'graphql'\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) {}\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\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},\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' && isFinite(value) && Math.floor(value) === value) {\n\t\treturn value\n\t}\n\tthrow new GraphQLError('PrimaryKey cannot represent value: ' + JSON.stringify(value))\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":["DateTimeType","JSONType","EventType","assertNever","GraphQLError","GraphQLScalarType","Kind"],"mappings":";;;;;;;;AAQO,MAAM,gBAAgB;AAAA,EACrB,YACW,qBACA,iCACA,yBACA,0BACA,gCACA,qBACA,wBAChB;AAPgB,SAAA,sBAAA;AACA,SAAA,kCAAA;AACA,SAAA,0BAAA;AACA,SAAA,2BAAA;AACA,SAAA,iCAAA;AACA,SAAA,sBAAA;AACA,SAAA,yBAAA;AAAA,EACf;AAAA,EAEH,OAAO,WAA+B;AACrC,UAAM,YAA+D;AAAA,MACpE,UAAUA,aAAA;AAAA,MACV,MAAMC,aAAA;AAAA,MACN,YAAY;AAAA,MACZ,OAAO;AAAA,QACN,eAAe,CAAC,QAAe;AAC9B,kBAAQ,IAAI,MAAM;AAAA,YACjB,KAAKC,MAAU,UAAA;AACP,qBAAA;AAAA,YACR,KAAKA,MAAU,UAAA;AACP,qBAAA;AAAA,YACR,KAAKA,MAAU,UAAA;AACP,qBAAA;AAAA,YACR,KAAK;AAAA,YACL,KAAK;AACG,qBAAA;AAAA,YACR;AACQ,qBAAAC,YAAA,YAAY,IAAI,IAAI;AAAA,UAC7B;AAAA,QACD;AAAA,MACD;AAAA,MACA,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,MACtE;AAAA,MACA,UAAU;AAAA,QACT,SAAS,KAAK,wBAAwB,QAAQ,KAAK,KAAK,uBAAuB;AAAA,MAChF;AAAA,MACA,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAClF;AAAA,MACA,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAClF;AAAA,IAAA;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;AACO,WAAA;AAAA,EACR;AACD;AAEA,MAAM,aAAa,CAAC,UAAgB;AACnC,MAAK,OAAO,UAAU,YAAY,UAAU,MAAO,OAAO,UAAU,YAAY,SAAS,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,OAAO;AACxH,WAAA;AAAA,EACR;AACA,QAAM,IAAIC,QAAa,aAAA,wCAAwC,KAAK,UAAU,KAAK,CAAC;AACrF;AACa,MAAA,iBAAiB,IAAIC,QAAAA,kBAAkB;AAAA,EACnD,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,aAAa,KAAK;AACb,QAAA,IAAI,SAASC,QAAA,KAAK,QAAQ;AAC7B,aAAO,IAAI;AAAA,IACZ;AACI,QAAA,IAAI,SAASA,QAAA,KAAK,KAAK;AAC1B,aAAO,OAAO,SAAS,IAAI,OAAO,EAAE;AAAA,IACrC;AACO,WAAA;AAAA,EACR;AACD,CAAC;;;"}
1
+ {"version":3,"file":"ResolverFactory.cjs","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 { DateTimeType, JSONType, createJsonLikeType } 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' && 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\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":["DateTimeType","JSONType","EventType","assertNever","GraphQLError","createJsonLikeType","GraphQLScalarType","Kind"],"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,EAAA;AAAA,EAGlB,OAAO,WAA+B;AACrC,UAAM,YAA+D;AAAA,MACpE,UAAUA,aAAA;AAAA,MACV,MAAMC,aAAA;AAAA,MACN,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,OAAO;AAAA,QACN,eAAe,CAAC,QAAe;AAC9B,kBAAQ,IAAI,MAAM;AAAA,YACjB,KAAKC,MAAU,UAAA;AACP,qBAAA;AAAA,YACR,KAAKA,MAAU,UAAA;AACP,qBAAA;AAAA,YACR,KAAKA,MAAU,UAAA;AACP,qBAAA;AAAA,YACR,KAAK;AAAA,YACL,KAAK;AACG,qBAAA;AAAA,YACR;AACQ,qBAAAC,YAAA,YAAY,IAAI,IAAI;AAAA,UAAA;AAAA,QAC7B;AAAA,MAEF;AAAA,MACA,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,MACtE;AAAA,MACA,UAAU;AAAA,QACT,SAAS,KAAK,wBAAwB,QAAQ,KAAK,KAAK,uBAAuB;AAAA,MAChF;AAAA,MACA,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAClF;AAAA,MACA,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAAA;AAAA,IAEnF;AACA,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,IAAA;AAEvG,WAAA;AAAA,EAAA;AAET;AAEA,MAAM,aAAa,CAAC,UAAgB;AACnC,MAAK,OAAO,UAAU,YAAY,UAAU,MAAO,OAAO,UAAU,YAAY,SAAS,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,OAAO;AACxH,WAAA;AAAA,EAAA;AAER,QAAM,IAAIC,QAAa,aAAA,wCAAwC,KAAK,UAAU,KAAK,CAAC;AACrF;AAEA,MAAM,aAAaC,aAAAA,mBAAmB,UAAU,mCAAmC;AAGtE,MAAA,iBAAiB,IAAIC,QAAAA,kBAAkB;AAAA,EACnD,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,aAAa,KAAK;AACb,QAAA,IAAI,SAASC,QAAA,KAAK,QAAQ;AAC7B,aAAO,IAAI;AAAA,IAAA;AAER,QAAA,IAAI,SAASA,QAAA,KAAK,KAAK;AAC1B,aAAO,OAAO,SAAS,IAAI,OAAO,EAAE;AAAA,IAAA;AAE9B,WAAA;AAAA,EAAA;AAET,CAAC;;;"}
@@ -2,10 +2,10 @@ import { EventType } from "../schema/types.js";
2
2
  import "../schema/dev.graphql.js";
3
3
  import "../schema/system.graphql.js";
4
4
  import { assertNever } from "../utils/assertNever.js";
5
- import { DateTimeType, JSONType } from "@contember/graphql-utils";
5
+ import { createJsonLikeType, DateTimeType, JSONType } from "@contember/graphql-utils";
6
6
  import { GraphQLScalarType, Kind, GraphQLError } from "graphql";
7
7
  class ResolverFactory {
8
- constructor(stagesQueryResolver, executedMigrationsQueryResolver, migrateMutationResolver, truncateMutationResolver, migrationAlterMutationResolver, eventsQueryResolver, eventOldValuesResolver) {
8
+ constructor(stagesQueryResolver, executedMigrationsQueryResolver, migrateMutationResolver, truncateMutationResolver, migrationAlterMutationResolver, eventsQueryResolver, eventOldValuesResolver, schemaQueryResolver) {
9
9
  this.stagesQueryResolver = stagesQueryResolver;
10
10
  this.executedMigrationsQueryResolver = executedMigrationsQueryResolver;
11
11
  this.migrateMutationResolver = migrateMutationResolver;
@@ -13,12 +13,14 @@ class ResolverFactory {
13
13
  this.migrationAlterMutationResolver = migrationAlterMutationResolver;
14
14
  this.eventsQueryResolver = eventsQueryResolver;
15
15
  this.eventOldValuesResolver = eventOldValuesResolver;
16
+ this.schemaQueryResolver = schemaQueryResolver;
16
17
  }
17
18
  create(debugMode) {
18
19
  const resolvers = {
19
20
  DateTime: DateTimeType,
20
21
  Json: JSONType,
21
22
  PrimaryKey: PrimaryKeyType,
23
+ Schema: SchemaType,
22
24
  Event: {
23
25
  __resolveType: (obj) => {
24
26
  switch (obj.type) {
@@ -39,7 +41,8 @@ class ResolverFactory {
39
41
  Query: {
40
42
  stages: this.stagesQueryResolver.stages.bind(this.stagesQueryResolver),
41
43
  executedMigrations: this.executedMigrationsQueryResolver.executedMigrations.bind(this.executedMigrationsQueryResolver),
42
- events: this.eventsQueryResolver.events.bind(this.eventsQueryResolver)
44
+ events: this.eventsQueryResolver.events.bind(this.eventsQueryResolver),
45
+ schema: this.schemaQueryResolver.schema.bind(this.schemaQueryResolver)
43
46
  },
44
47
  Mutation: {
45
48
  migrate: this.migrateMutationResolver.migrate.bind(this.migrateMutationResolver)
@@ -66,6 +69,7 @@ const parseValue = (value) => {
66
69
  }
67
70
  throw new GraphQLError("PrimaryKey cannot represent value: " + JSON.stringify(value));
68
71
  };
72
+ const SchemaType = createJsonLikeType("Schema", "Content schema custom scalar type");
69
73
  const PrimaryKeyType = new GraphQLScalarType({
70
74
  name: "PrimaryKey",
71
75
  description: "PrimaryKey custom scalar type. Can be Int or String",
@@ -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 { DateTimeType, JSONType } from '@contember/graphql-utils'\nimport { EventOldValuesResolver } from './types'\nimport { GraphQLError, GraphQLScalarType, Kind } from 'graphql'\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) {}\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\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},\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' && isFinite(value) && Math.floor(value) === value) {\n\t\treturn value\n\t}\n\tthrow new GraphQLError('PrimaryKey cannot represent value: ' + JSON.stringify(value))\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":";;;;;;AAQO,MAAM,gBAAgB;AAAA,EACrB,YACW,qBACA,iCACA,yBACA,0BACA,gCACA,qBACA,wBAChB;AAPgB,SAAA,sBAAA;AACA,SAAA,kCAAA;AACA,SAAA,0BAAA;AACA,SAAA,2BAAA;AACA,SAAA,iCAAA;AACA,SAAA,sBAAA;AACA,SAAA,yBAAA;AAAA,EACf;AAAA,EAEH,OAAO,WAA+B;AACrC,UAAM,YAA+D;AAAA,MACpE,UAAU;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,OAAO;AAAA,QACN,eAAe,CAAC,QAAe;AAC9B,kBAAQ,IAAI,MAAM;AAAA,YACjB,KAAK,UAAU;AACP,qBAAA;AAAA,YACR,KAAK,UAAU;AACP,qBAAA;AAAA,YACR,KAAK,UAAU;AACP,qBAAA;AAAA,YACR,KAAK;AAAA,YACL,KAAK;AACG,qBAAA;AAAA,YACR;AACQ,qBAAA,YAAY,IAAI,IAAI;AAAA,UAC7B;AAAA,QACD;AAAA,MACD;AAAA,MACA,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,MACtE;AAAA,MACA,UAAU;AAAA,QACT,SAAS,KAAK,wBAAwB,QAAQ,KAAK,KAAK,uBAAuB;AAAA,MAChF;AAAA,MACA,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAClF;AAAA,MACA,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAClF;AAAA,IAAA;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;AACO,WAAA;AAAA,EACR;AACD;AAEA,MAAM,aAAa,CAAC,UAAgB;AACnC,MAAK,OAAO,UAAU,YAAY,UAAU,MAAO,OAAO,UAAU,YAAY,SAAS,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,OAAO;AACxH,WAAA;AAAA,EACR;AACA,QAAM,IAAI,aAAa,wCAAwC,KAAK,UAAU,KAAK,CAAC;AACrF;AACa,MAAA,iBAAiB,IAAI,kBAAkB;AAAA,EACnD,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,aAAa,KAAK;AACb,QAAA,IAAI,SAAS,KAAK,QAAQ;AAC7B,aAAO,IAAI;AAAA,IACZ;AACI,QAAA,IAAI,SAAS,KAAK,KAAK;AAC1B,aAAO,OAAO,SAAS,IAAI,OAAO,EAAE;AAAA,IACrC;AACO,WAAA;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'\nimport { Event, EventType, Resolvers } from '../schema'\nimport { assertNever } from '../utils'\nimport { MigrateMutationResolver, MigrationAlterMutationResolver, TruncateMutationResolver } from './mutation'\nimport { DateTimeType, JSONType, createJsonLikeType } 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' && 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\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,EAAA;AAAA,EAGlB,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,MAAM;AAAA,YACjB,KAAK,UAAU;AACP,qBAAA;AAAA,YACR,KAAK,UAAU;AACP,qBAAA;AAAA,YACR,KAAK,UAAU;AACP,qBAAA;AAAA,YACR,KAAK;AAAA,YACL,KAAK;AACG,qBAAA;AAAA,YACR;AACQ,qBAAA,YAAY,IAAI,IAAI;AAAA,UAAA;AAAA,QAC7B;AAAA,MAEF;AAAA,MACA,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,MACtE;AAAA,MACA,UAAU;AAAA,QACT,SAAS,KAAK,wBAAwB,QAAQ,KAAK,KAAK,uBAAuB;AAAA,MAChF;AAAA,MACA,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAClF;AAAA,MACA,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAAA;AAAA,IAEnF;AACA,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,IAAA;AAEvG,WAAA;AAAA,EAAA;AAET;AAEA,MAAM,aAAa,CAAC,UAAgB;AACnC,MAAK,OAAO,UAAU,YAAY,UAAU,MAAO,OAAO,UAAU,YAAY,SAAS,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,OAAO;AACxH,WAAA;AAAA,EAAA;AAER,QAAM,IAAI,aAAa,wCAAwC,KAAK,UAAU,KAAK,CAAC;AACrF;AAEA,MAAM,aAAa,mBAAmB,UAAU,mCAAmC;AAGtE,MAAA,iBAAiB,IAAI,kBAAkB;AAAA,EACnD,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,aAAa,KAAK;AACb,QAAA,IAAI,SAAS,KAAK,QAAQ;AAC7B,aAAO,IAAI;AAAA,IAAA;AAER,QAAA,IAAI,SAAS,KAAK,KAAK;AAC1B,aAAO,OAAO,SAAS,IAAI,OAAO,EAAE;AAAA,IAAA;AAE9B,WAAA;AAAA,EAAA;AAET,CAAC;"}
@@ -7,15 +7,15 @@ class SystemResolverContextFactory {
7
7
  constructor(authorizator) {
8
8
  this.authorizator = authorizator;
9
9
  }
10
- async create(schema, systemDbContext, project, identity) {
11
- const stagePermissionsFactory = new StagePermissionsFactory.StagePermissionsFactory(schema);
10
+ async create({ getSchema, identity, project, db }) {
11
+ const stagePermissionsFactory = new StagePermissionsFactory.StagePermissionsFactory(getSchema);
12
12
  const loaders = /* @__PURE__ */ new Map();
13
13
  return {
14
14
  project,
15
15
  identity,
16
- schema,
16
+ getSchema,
17
17
  authorizator: this.authorizator,
18
- db: systemDbContext,
18
+ db,
19
19
  requireAccess: async (action, stage, message) => {
20
20
  if (!await this.authorizator.isAllowed(identity, new StageScope.StageScope(stage, stagePermissionsFactory), action)) {
21
21
  throw new graphqlUtils.ForbiddenError(message || "Forbidden");
@@ -26,7 +26,7 @@ class SystemResolverContextFactory {
26
26
  if (loader) {
27
27
  return loader;
28
28
  }
29
- const newLoader = loaderFactory(systemDbContext);
29
+ const newLoader = loaderFactory(db);
30
30
  loaders.set(loaderFactory, newLoader);
31
31
  return newLoader;
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SystemResolverContext.cjs","sources":["../../../../../packages/engine-system-api/src/resolvers/SystemResolverContext.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\nimport { Schema } from '@contember/schema'\nimport { ForbiddenError } from '@contember/graphql-utils'\nimport { DatabaseContext, Identity, VersionedSchema } from '../model'\nimport { ProjectConfig } from '../types'\nimport { StagePermissionsFactory } from '../model/authorization/StagePermissionsFactory'\nimport { StageScope } from '../model/authorization/StageScope'\nimport { ItemLoader } from '../utils/batchQuery'\n\nexport class SystemResolverContextFactory {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator<Identity>,\n\t) {}\n\n\tpublic async create(\n\t\tschema: VersionedSchema,\n\t\tsystemDbContext: DatabaseContext,\n\t\tproject: ProjectConfig,\n\t\tidentity: Identity,\n\t): Promise<SystemResolverContext> {\n\t\tconst stagePermissionsFactory = new StagePermissionsFactory(schema)\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\tschema,\n\t\t\tauthorizator: this.authorizator,\n\t\t\tdb: systemDbContext,\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(systemDbContext)\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 schema: Schema\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,QACA,iBACA,SACA,UACiC;AAC3B,UAAA,0BAA0B,IAAIA,gDAAwB,MAAM;AAC5D,UAAA,8BAAc;AACb,WAAA;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,MACnB,IAAI;AAAA,MACJ,eAAe,OAAO,QAAQ,OAAO,YAAa;AACjD,YAAI,CAAE,MAAM,KAAK,aAAa,UAAU,UAAU,IAAIC,WAAAA,WAAW,OAAO,uBAAuB,GAAG,MAAM,GAAI;AACrG,gBAAA,IAAIC,aAAe,eAAA,WAAW,WAAW;AAAA,QAChD;AAAA,MACD;AAAA,MACA,WAAW,CAAiB,kBAAA;AACrB,cAAA,SAAS,QAAQ,IAAI,aAAa;AACxC,YAAI,QAAQ;AACJ,iBAAA;AAAA,QACR;AACM,cAAA,YAAY,cAAc,eAAe;AACvC,gBAAA,IAAI,eAAe,SAAS;AAC7B,eAAA;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'\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({ getSchema, identity, project, db }: Pick<SystemResolverContext, 'getSchema' | 'db' | 'identity' | 'project'>): 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,EAAA;AAAA,EAGlB,MAAa,OAAO,EAAE,WAAW,UAAU,SAAS,MAAgH;AAC7J,UAAA,0BAA0B,IAAIA,wBAAA,wBAAwB,SAAS;AAC/D,UAAA,8BAAc,IAAmD;AAChE,WAAA;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;AACrG,gBAAA,IAAIC,aAAAA,eAAe,WAAW,WAAW;AAAA,QAAA;AAAA,MAEjD;AAAA,MACA,WAAW,CAAiB,kBAAA;AACrB,cAAA,SAAS,QAAQ,IAAI,aAAa;AACxC,YAAI,QAAQ;AACJ,iBAAA;AAAA,QAAA;AAEF,cAAA,YAAY,cAAc,EAAE;AAC1B,gBAAA,IAAI,eAAe,SAAS;AAC7B,eAAA;AAAA,MAAA;AAAA,IAET;AAAA,EAAA;AAEF;;"}
@@ -5,15 +5,15 @@ class SystemResolverContextFactory {
5
5
  constructor(authorizator) {
6
6
  this.authorizator = authorizator;
7
7
  }
8
- async create(schema, systemDbContext, project, identity) {
9
- const stagePermissionsFactory = new StagePermissionsFactory(schema);
8
+ async create({ getSchema, identity, project, db }) {
9
+ const stagePermissionsFactory = new StagePermissionsFactory(getSchema);
10
10
  const loaders = /* @__PURE__ */ new Map();
11
11
  return {
12
12
  project,
13
13
  identity,
14
- schema,
14
+ getSchema,
15
15
  authorizator: this.authorizator,
16
- db: systemDbContext,
16
+ db,
17
17
  requireAccess: async (action, stage, message) => {
18
18
  if (!await this.authorizator.isAllowed(identity, new StageScope(stage, stagePermissionsFactory), action)) {
19
19
  throw new ForbiddenError(message || "Forbidden");
@@ -24,7 +24,7 @@ class SystemResolverContextFactory {
24
24
  if (loader) {
25
25
  return loader;
26
26
  }
27
- const newLoader = loaderFactory(systemDbContext);
27
+ const newLoader = loaderFactory(db);
28
28
  loaders.set(loaderFactory, newLoader);
29
29
  return newLoader;
30
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SystemResolverContext.js","sources":["../../../../../packages/engine-system-api/src/resolvers/SystemResolverContext.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\nimport { Schema } from '@contember/schema'\nimport { ForbiddenError } from '@contember/graphql-utils'\nimport { DatabaseContext, Identity, VersionedSchema } from '../model'\nimport { ProjectConfig } from '../types'\nimport { StagePermissionsFactory } from '../model/authorization/StagePermissionsFactory'\nimport { StageScope } from '../model/authorization/StageScope'\nimport { ItemLoader } from '../utils/batchQuery'\n\nexport class SystemResolverContextFactory {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator<Identity>,\n\t) {}\n\n\tpublic async create(\n\t\tschema: VersionedSchema,\n\t\tsystemDbContext: DatabaseContext,\n\t\tproject: ProjectConfig,\n\t\tidentity: Identity,\n\t): Promise<SystemResolverContext> {\n\t\tconst stagePermissionsFactory = new StagePermissionsFactory(schema)\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\tschema,\n\t\t\tauthorizator: this.authorizator,\n\t\t\tdb: systemDbContext,\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(systemDbContext)\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 schema: Schema\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,QACA,iBACA,SACA,UACiC;AAC3B,UAAA,0BAA0B,IAAI,wBAAwB,MAAM;AAC5D,UAAA,8BAAc;AACb,WAAA;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,MACnB,IAAI;AAAA,MACJ,eAAe,OAAO,QAAQ,OAAO,YAAa;AACjD,YAAI,CAAE,MAAM,KAAK,aAAa,UAAU,UAAU,IAAI,WAAW,OAAO,uBAAuB,GAAG,MAAM,GAAI;AACrG,gBAAA,IAAI,eAAe,WAAW,WAAW;AAAA,QAChD;AAAA,MACD;AAAA,MACA,WAAW,CAAiB,kBAAA;AACrB,cAAA,SAAS,QAAQ,IAAI,aAAa;AACxC,YAAI,QAAQ;AACJ,iBAAA;AAAA,QACR;AACM,cAAA,YAAY,cAAc,eAAe;AACvC,gBAAA,IAAI,eAAe,SAAS;AAC7B,eAAA;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'\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({ getSchema, identity, project, db }: Pick<SystemResolverContext, 'getSchema' | 'db' | 'identity' | 'project'>): 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,EAAA;AAAA,EAGlB,MAAa,OAAO,EAAE,WAAW,UAAU,SAAS,MAAgH;AAC7J,UAAA,0BAA0B,IAAI,wBAAwB,SAAS;AAC/D,UAAA,8BAAc,IAAmD;AAChE,WAAA;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;AACrG,gBAAA,IAAI,eAAe,WAAW,WAAW;AAAA,QAAA;AAAA,MAEjD;AAAA,MACA,WAAW,CAAiB,kBAAA;AACrB,cAAA,SAAS,QAAQ,IAAI,aAAa;AACxC,YAAI,QAAQ;AACJ,iBAAA;AAAA,QAAA;AAEF,cAAA,YAAY,cAAc,EAAE;AAC1B,gBAAA,IAAI,eAAe,SAAS;AAC7B,eAAA;AAAA,MAAA;AAAA,IAET;AAAA,EAAA;AAEF;"}
@@ -12,7 +12,6 @@ require("@contember/schema-utils");
12
12
  const assertNever = require("../../utils/assertNever.cjs");
13
13
  const StagesQuery = require("../../model/queries/stages/StagesQuery.cjs");
14
14
  const ProjectMigrator = require("../../model/migrations/ProjectMigrator.cjs");
15
- require("../../model/migrations/SchemaVersionBuilder.cjs");
16
15
  require("@contember/logger");
17
16
  const graphqlUtils = require("@contember/graphql-utils");
18
17
  const pg_lock_id = 1597474138739147;
@@ -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 => db.transaction(async trx => {\n\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\tfor (const stage of stages) {\n\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tawait this.projectMigrator.migrate({\n\t\t\t\t\tdb: trx,\n\t\t\t\t\tproject: context.project,\n\t\t\t\t\tidentity: context.identity,\n\t\t\t\t\tstages,\n\t\t\t\t\tmigrationsToExecute: migrations,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tignoreOrder: force,\n\t\t\t\t\t\tskipExecuted: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\tconst error = {\n\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tok: false,\n\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\terror,\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthrow e\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t\terrors: [],\n\t\t\t}\n\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;AACrB,UAAA,aAAa,KAAK,oBAAoB,IAAI;AAEzC,WAAA,QAAQ,GAAG,OAAO,YAAY,QAAM,GAAG,YAAY,OAAM,QAAO;AACtE,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAIA,yBAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAC7E;AACI,UAAA;AACG,cAAA,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,UACf;AAAA,QAAA,CACA;AAAA,eACO,GAAG;AACX,YAAI,aAAaC,gBAAAA,gBAAgB;AAC1B,gBAAA,IAAI,OAAO,WAAW,SAAS;AACrC,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UAAA;AAEd,iBAAA;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UAAA;AAAA,QACD,OACM;AACA,gBAAA;AAAA,QACP;AAAA,MACD;AACO,aAAA;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAC;AAAA,MAAA;AAAA,IAEV,CAAA,CAAC;AAAA,EACH;AAAA,EAEQ,oBAAoB,MAA6C;AACxE,WAAO,KAAK,WAAW,IAAI,CAAC,OAAuB;AAC9C,UAAA,CAAC,GAAG,MAAM;AACb,YAAI,CAAC,GAAG,iBAAiB,CAAC,GAAG,eAAe;AACrC,gBAAA,IAAIC,aAAAA,eAAe,0BAA0B;AAAA,QACpD;AACO,eAAA;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;AACI,UAAA,GAAG,SAASC,MAAA,cAAc,QAAQ;AACjC,YAAA,CAAC,GAAG,iBAAiB;AAClB,gBAAA,IAAID,aAAAA,eAAe,iDAAiD;AAAA,QAC3E;AACO,eAAA;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,GAAI,GAAG;AAAA,QAAA;AAAA,MAET;AACI,UAAA,GAAG,SAASC,MAAA,cAAc,SAAS;AAClC,YAAA,CAAC,GAAG,kBAAkB;AACnB,gBAAA,IAAID,aAAAA,eAAe,mDAAmD;AAAA,QAC7E;AACO,eAAA;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;AACO,aAAAC,YAAA,YAAY,GAAG,IAAI;AAAA,IAAA,CAC1B;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'\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 => db.transaction(async trx => {\n\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\tfor (const stage of stages) {\n\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tawait this.projectMigrator.migrate({\n\t\t\t\t\tdb: trx,\n\t\t\t\t\tproject: context.project,\n\t\t\t\t\tidentity: context.identity,\n\t\t\t\t\tstages,\n\t\t\t\t\tmigrationsToExecute: migrations,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tignoreOrder: force,\n\t\t\t\t\t\tskipExecuted: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\tconst error = {\n\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tok: false,\n\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\terror,\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthrow e\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t\terrors: [],\n\t\t\t}\n\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,EAAA;AAAA,EAE7B,MAAM,aACL,QACA,MACA,SACA,MAC2B;AAC3B,WAAO,KAAK,QAAQ,QAAQ,MAAM,SAAS,MAAM,IAAI;AAAA,EAAA;AAAA,EAGtD,MAAM,QACL,QACA,MACA,SACA,MACA,QAAQ,OACmB;AACrB,UAAA,aAAa,KAAK,oBAAoB,IAAI;AAEzC,WAAA,QAAQ,GAAG,OAAO,YAAY,QAAM,GAAG,YAAY,OAAM,QAAO;AACtE,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAIA,YAAAA,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAAA;AAEzE,UAAA;AACG,cAAA,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,eACO,GAAG;AACX,YAAI,aAAaC,gBAAAA,gBAAgB;AAC1B,gBAAA,IAAI,OAAO,WAAW,SAAS;AACrC,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UACrB;AACO,iBAAA;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UACD;AAAA,QAAA,OACM;AACA,gBAAA;AAAA,QAAA;AAAA,MACP;AAEM,aAAA;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAA;AAAA,MACT;AAAA,IAAA,CACA,CAAC;AAAA,EAAA;AAAA,EAGK,oBAAoB,MAA6C;AACxE,WAAO,KAAK,WAAW,IAAI,CAAC,OAAuB;AAC9C,UAAA,CAAC,GAAG,MAAM;AACb,YAAI,CAAC,GAAG,iBAAiB,CAAC,GAAG,eAAe;AACrC,gBAAA,IAAIC,4BAAe,0BAA0B;AAAA,QAAA;AAE7C,eAAA;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,QACxE;AAAA,MAAA;AAEG,UAAA,GAAG,SAASC,MAAA,cAAc,QAAQ;AACjC,YAAA,CAAC,GAAG,iBAAiB;AAClB,gBAAA,IAAID,4BAAe,iDAAiD;AAAA,QAAA;AAEpE,eAAA;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,GAAI,GAAG;AAAA,QACR;AAAA,MAAA;AAEG,UAAA,GAAG,SAASC,MAAA,cAAc,SAAS;AAClC,YAAA,CAAC,GAAG,kBAAkB;AACnB,gBAAA,IAAID,4BAAe,mDAAmD;AAAA,QAAA;AAEtE,eAAA;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,QACH;AAAA,MAAA;AAEM,aAAAC,YAAA,YAAY,GAAG,IAAI;AAAA,IAAA,CAC1B;AAAA,EAAA;AAEH;;"}
@@ -10,7 +10,6 @@ import "@contember/schema-utils";
10
10
  import { assertNever } from "../../utils/assertNever.js";
11
11
  import { StagesQuery } from "../../model/queries/stages/StagesQuery.js";
12
12
  import { MigrationError } from "../../model/migrations/ProjectMigrator.js";
13
- import "../../model/migrations/SchemaVersionBuilder.js";
14
13
  import "@contember/logger";
15
14
  import { UserInputError } from "@contember/graphql-utils";
16
15
  const pg_lock_id = 1597474138739147;
@@ -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 => db.transaction(async trx => {\n\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\tfor (const stage of stages) {\n\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tawait this.projectMigrator.migrate({\n\t\t\t\t\tdb: trx,\n\t\t\t\t\tproject: context.project,\n\t\t\t\t\tidentity: context.identity,\n\t\t\t\t\tstages,\n\t\t\t\t\tmigrationsToExecute: migrations,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tignoreOrder: force,\n\t\t\t\t\t\tskipExecuted: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\tconst error = {\n\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tok: false,\n\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\terror,\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthrow e\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t\terrors: [],\n\t\t\t}\n\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;AACrB,UAAA,aAAa,KAAK,oBAAoB,IAAI;AAEzC,WAAA,QAAQ,GAAG,OAAO,YAAY,QAAM,GAAG,YAAY,OAAM,QAAO;AACtE,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAI,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAc,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAC7E;AACI,UAAA;AACG,cAAA,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,UACf;AAAA,QAAA,CACA;AAAA,eACO,GAAG;AACX,YAAI,aAAa,gBAAgB;AAC1B,gBAAA,IAAI,OAAO,WAAW,SAAS;AACrC,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UAAA;AAEd,iBAAA;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UAAA;AAAA,QACD,OACM;AACA,gBAAA;AAAA,QACP;AAAA,MACD;AACO,aAAA;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAC;AAAA,MAAA;AAAA,IAEV,CAAA,CAAC;AAAA,EACH;AAAA,EAEQ,oBAAoB,MAA6C;AACxE,WAAO,KAAK,WAAW,IAAI,CAAC,OAAuB;AAC9C,UAAA,CAAC,GAAG,MAAM;AACb,YAAI,CAAC,GAAG,iBAAiB,CAAC,GAAG,eAAe;AACrC,gBAAA,IAAI,eAAe,0BAA0B;AAAA,QACpD;AACO,eAAA;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;AACI,UAAA,GAAG,SAAS,cAAc,QAAQ;AACjC,YAAA,CAAC,GAAG,iBAAiB;AAClB,gBAAA,IAAI,eAAe,iDAAiD;AAAA,QAC3E;AACO,eAAA;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,GAAI,GAAG;AAAA,QAAA;AAAA,MAET;AACI,UAAA,GAAG,SAAS,cAAc,SAAS;AAClC,YAAA,CAAC,GAAG,kBAAkB;AACnB,gBAAA,IAAI,eAAe,mDAAmD;AAAA,QAC7E;AACO,eAAA;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;AACO,aAAA,YAAY,GAAG,IAAI;AAAA,IAAA,CAC1B;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'\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 => db.transaction(async trx => {\n\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\tfor (const stage of stages) {\n\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tawait this.projectMigrator.migrate({\n\t\t\t\t\tdb: trx,\n\t\t\t\t\tproject: context.project,\n\t\t\t\t\tidentity: context.identity,\n\t\t\t\t\tstages,\n\t\t\t\t\tmigrationsToExecute: migrations,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tignoreOrder: force,\n\t\t\t\t\t\tskipExecuted: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\tconst error = {\n\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tok: false,\n\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\terror,\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthrow e\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t\terrors: [],\n\t\t\t}\n\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,EAAA;AAAA,EAE7B,MAAM,aACL,QACA,MACA,SACA,MAC2B;AAC3B,WAAO,KAAK,QAAQ,QAAQ,MAAM,SAAS,MAAM,IAAI;AAAA,EAAA;AAAA,EAGtD,MAAM,QACL,QACA,MACA,SACA,MACA,QAAQ,OACmB;AACrB,UAAA,aAAa,KAAK,oBAAoB,IAAI;AAEzC,WAAA,QAAQ,GAAG,OAAO,YAAY,QAAM,GAAG,YAAY,OAAM,QAAO;AACtE,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAI,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAc,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAAA;AAEzE,UAAA;AACG,cAAA,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,eACO,GAAG;AACX,YAAI,aAAa,gBAAgB;AAC1B,gBAAA,IAAI,OAAO,WAAW,SAAS;AACrC,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UACrB;AACO,iBAAA;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UACD;AAAA,QAAA,OACM;AACA,gBAAA;AAAA,QAAA;AAAA,MACP;AAEM,aAAA;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAA;AAAA,MACT;AAAA,IAAA,CACA,CAAC;AAAA,EAAA;AAAA,EAGK,oBAAoB,MAA6C;AACxE,WAAO,KAAK,WAAW,IAAI,CAAC,OAAuB;AAC9C,UAAA,CAAC,GAAG,MAAM;AACb,YAAI,CAAC,GAAG,iBAAiB,CAAC,GAAG,eAAe;AACrC,gBAAA,IAAI,eAAe,0BAA0B;AAAA,QAAA;AAE7C,eAAA;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,QACxE;AAAA,MAAA;AAEG,UAAA,GAAG,SAAS,cAAc,QAAQ;AACjC,YAAA,CAAC,GAAG,iBAAiB;AAClB,gBAAA,IAAI,eAAe,iDAAiD;AAAA,QAAA;AAEpE,eAAA;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,GAAI,GAAG;AAAA,QACR;AAAA,MAAA;AAEG,UAAA,GAAG,SAAS,cAAc,SAAS;AAClC,YAAA,CAAC,GAAG,kBAAkB;AACnB,gBAAA,IAAI,eAAe,mDAAmD;AAAA,QAAA;AAEtE,eAAA;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,QACH;AAAA,MAAA;AAEM,aAAA,YAAY,GAAG,IAAI;AAAA,IAAA,CAC1B;AAAA,EAAA;AAEH;"}
@@ -11,7 +11,6 @@ require("@contember/schema-migrations");
11
11
  require("@contember/schema-utils");
12
12
  const MigrationAlterer = require("../../model/migrations/MigrationAlterer.cjs");
13
13
  require("@contember/logger");
14
- require("../../model/migrations/SchemaVersionBuilder.cjs");
15
14
  class MigrationAlterMutationResolver {
16
15
  constructor(migrationAlterer) {
17
16
  this.migrationAlterer = migrationAlterer;
@@ -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\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,EAE/H,YAA6B,kBAAoC;AAApC,SAAA,mBAAA;AAAA,EAAqC;AAAA,EAElE,MAAM,gBACL,QACA,MACA,SACA,MACmC;AAC7B,UAAA,SAAS,MAAM,KAAK,iBAAiB;AAAA,MAC1C,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAEN,QAAI,OAAO,IAAI;AACP,aAAA;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAACA,iBAAA,yBAAyB,QAAQ,GAAGC,MAAAA,yBAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACP,WAAA,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,aAAA;EAC7D;AAAA,EAEA,MAAM,gBACL,QACA,MACA,SACA,MACmC;AAC7B,UAAA,SAAS,MAAM,KAAK,iBAAiB,gBAAgB,QAAQ,IAAI,KAAK,SAAS;AACrF,QAAI,OAAO,IAAI;AACP,aAAA;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAACC,iBAAA,yBAAyB,QAAQ,GAAGC,MAAAA,yBAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACP,WAAA,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,aAAA;EAC7D;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'\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\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,EAE/H,YAA6B,kBAAoC;AAApC,SAAA,mBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,gBACL,QACA,MACA,SACA,MACmC;AAC7B,UAAA,SAAS,MAAM,KAAK,iBAAiB;AAAA,MAC1C,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AACA,QAAI,OAAO,IAAI;AACP,aAAA;AAAA,QACN,IAAI;AAAA,MACL;AAAA,IAAA;AAED,UAAM,OAAO;AAAA,MACZ,CAACA,iBAAA,yBAAyB,QAAQ,GAAGC,+BAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACP,WAAA,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAe;AAAA,EAAA;AAAA,EAG5E,MAAM,gBACL,QACA,MACA,SACA,MACmC;AAC7B,UAAA,SAAS,MAAM,KAAK,iBAAiB,gBAAgB,QAAQ,IAAI,KAAK,SAAS;AACrF,QAAI,OAAO,IAAI;AACP,aAAA;AAAA,QACN,IAAI;AAAA,MACL;AAAA,IAAA;AAED,UAAM,OAAO;AAAA,MACZ,CAACC,iBAAA,yBAAyB,QAAQ,GAAGC,+BAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACP,WAAA,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAe;AAAA,EAAA;AAE7E;;"}
@@ -9,7 +9,6 @@ import "@contember/schema-migrations";
9
9
  import "@contember/schema-utils";
10
10
  import { UpdateMigrationErrorCode, DeleteMigrationErrorCode } from "../../model/migrations/MigrationAlterer.js";
11
11
  import "@contember/logger";
12
- import "../../model/migrations/SchemaVersionBuilder.js";
13
12
  class MigrationAlterMutationResolver {
14
13
  constructor(migrationAlterer) {
15
14
  this.migrationAlterer = migrationAlterer;