@contember/engine-actions 2.1.0-alpha.9 → 2.1.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 (405) hide show
  1. package/CLAUDE.md +47 -0
  2. package/dist/development/index.cjs +54 -24
  3. package/dist/development/index.cjs.map +1 -1
  4. package/dist/development/index.js +54 -24
  5. package/dist/development/index.js.map +1 -1
  6. package/dist/development/src/ActionsExecutionContainerHookFactory.cjs +24 -11
  7. package/dist/development/src/ActionsExecutionContainerHookFactory.cjs.map +1 -1
  8. package/dist/development/src/ActionsExecutionContainerHookFactory.js +24 -11
  9. package/dist/development/src/ActionsExecutionContainerHookFactory.js.map +1 -1
  10. package/dist/development/src/ListenerStoreProvider.cjs.map +1 -1
  11. package/dist/development/src/ListenerStoreProvider.js.map +1 -1
  12. package/dist/development/src/authorization/ActionsAuthorizationActions.cjs +2 -0
  13. package/dist/development/src/authorization/ActionsAuthorizationActions.cjs.map +1 -1
  14. package/dist/development/src/authorization/ActionsAuthorizationActions.js +2 -0
  15. package/dist/development/src/authorization/ActionsAuthorizationActions.js.map +1 -1
  16. package/dist/development/src/authorization/ActionsPermissionsFactory.cjs.map +1 -1
  17. package/dist/development/src/authorization/ActionsPermissionsFactory.js.map +1 -1
  18. package/dist/development/src/dispatch/DispatchWorkerSupervisor.cjs +16 -14
  19. package/dist/development/src/dispatch/DispatchWorkerSupervisor.cjs.map +1 -1
  20. package/dist/development/src/dispatch/DispatchWorkerSupervisor.js +16 -14
  21. package/dist/development/src/dispatch/DispatchWorkerSupervisor.js.map +1 -1
  22. package/dist/development/src/dispatch/EventDispatcher.cjs.map +1 -1
  23. package/dist/development/src/dispatch/EventDispatcher.js.map +1 -1
  24. package/dist/development/src/dispatch/EventsRepository.cjs +33 -15
  25. package/dist/development/src/dispatch/EventsRepository.cjs.map +1 -1
  26. package/dist/development/src/dispatch/EventsRepository.js +33 -15
  27. package/dist/development/src/dispatch/EventsRepository.js.map +1 -1
  28. package/dist/development/src/dispatch/LazyDispatchWorker.cjs +67 -0
  29. package/dist/development/src/dispatch/LazyDispatchWorker.cjs.map +1 -0
  30. package/dist/development/src/dispatch/LazyDispatchWorker.js +67 -0
  31. package/dist/development/src/dispatch/LazyDispatchWorker.js.map +1 -0
  32. package/dist/development/src/dispatch/ProjectDispatcher.cjs +3 -3
  33. package/dist/development/src/dispatch/ProjectDispatcher.cjs.map +1 -1
  34. package/dist/development/src/dispatch/ProjectDispatcher.js +2 -2
  35. package/dist/development/src/dispatch/ProjectDispatcher.js.map +1 -1
  36. package/dist/development/src/dispatch/TargetHandlerResolver.cjs.map +1 -1
  37. package/dist/development/src/dispatch/TargetHandlerResolver.js.map +1 -1
  38. package/dist/development/src/dispatch/WebhookFetcher.cjs.map +1 -1
  39. package/dist/development/src/dispatch/WebhookFetcher.js.map +1 -1
  40. package/dist/development/src/dispatch/WebhookTargetHandler.cjs +6 -1
  41. package/dist/development/src/dispatch/WebhookTargetHandler.cjs.map +1 -1
  42. package/dist/development/src/dispatch/WebhookTargetHandler.js +6 -1
  43. package/dist/development/src/dispatch/WebhookTargetHandler.js.map +1 -1
  44. package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.cjs +1 -0
  45. package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.cjs.map +1 -1
  46. package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.js +1 -0
  47. package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.js.map +1 -1
  48. package/dist/development/src/graphql/http/ActionsContextResolver.cjs +8 -11
  49. package/dist/development/src/graphql/http/ActionsContextResolver.cjs.map +1 -1
  50. package/dist/development/src/graphql/http/ActionsContextResolver.js +8 -11
  51. package/dist/development/src/graphql/http/ActionsContextResolver.js.map +1 -1
  52. package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.cjs.map +1 -1
  53. package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.js.map +1 -1
  54. package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.cjs +6 -3
  55. package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.cjs.map +1 -1
  56. package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.js +6 -3
  57. package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.js.map +1 -1
  58. package/dist/development/src/graphql/resolvers/ResolversFactory.cjs +7 -2
  59. package/dist/development/src/graphql/resolvers/ResolversFactory.cjs.map +1 -1
  60. package/dist/development/src/graphql/resolvers/ResolversFactory.js +8 -3
  61. package/dist/development/src/graphql/resolvers/ResolversFactory.js.map +1 -1
  62. package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs.map +1 -1
  63. package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js.map +1 -1
  64. package/dist/development/src/graphql/resolvers/mutation/RetryEventMutationResolver.cjs +21 -0
  65. package/dist/development/src/graphql/resolvers/mutation/RetryEventMutationResolver.cjs.map +1 -0
  66. package/dist/development/src/graphql/resolvers/mutation/RetryEventMutationResolver.js +21 -0
  67. package/dist/development/src/graphql/resolvers/mutation/RetryEventMutationResolver.js.map +1 -0
  68. package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs.map +1 -1
  69. package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js.map +1 -1
  70. package/dist/development/src/graphql/resolvers/mutation/StopEventMutationResolver.cjs +19 -0
  71. package/dist/development/src/graphql/resolvers/mutation/StopEventMutationResolver.cjs.map +1 -0
  72. package/dist/development/src/graphql/resolvers/mutation/StopEventMutationResolver.js +19 -0
  73. package/dist/development/src/graphql/resolvers/mutation/StopEventMutationResolver.js.map +1 -0
  74. package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.cjs +14 -1
  75. package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  76. package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.js +14 -1
  77. package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.js.map +1 -1
  78. package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.cjs.map +1 -1
  79. package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.js.map +1 -1
  80. package/dist/development/src/graphql/schema/actions.graphql.cjs +18 -4
  81. package/dist/development/src/graphql/schema/actions.graphql.cjs.map +1 -1
  82. package/dist/development/src/graphql/schema/actions.graphql.js +18 -4
  83. package/dist/development/src/graphql/schema/actions.graphql.js.map +1 -1
  84. package/dist/development/src/migrations/2023-03-10-145000-actions-variables.cjs.map +1 -1
  85. package/dist/development/src/migrations/2023-03-10-145000-actions-variables.js.map +1 -1
  86. package/dist/development/src/migrations/2025-05-28-160000-action-event-user.cjs +16 -0
  87. package/dist/development/src/migrations/2025-05-28-160000-action-event-user.cjs.map +1 -0
  88. package/dist/development/src/migrations/2025-05-28-160000-action-event-user.js +17 -0
  89. package/dist/development/src/migrations/2025-05-28-160000-action-event-user.js.map +1 -0
  90. package/dist/development/src/migrations/index.cjs +3 -1
  91. package/dist/development/src/migrations/index.cjs.map +1 -1
  92. package/dist/development/src/migrations/index.js +3 -1
  93. package/dist/development/src/migrations/index.js.map +1 -1
  94. package/dist/development/src/migrations/snapshot.cjs +5 -2
  95. package/dist/development/src/migrations/snapshot.cjs.map +1 -1
  96. package/dist/development/src/migrations/snapshot.js +5 -2
  97. package/dist/development/src/migrations/snapshot.js.map +1 -1
  98. package/dist/development/src/model/EventByIdQuery.cjs +17 -0
  99. package/dist/development/src/model/EventByIdQuery.cjs.map +1 -0
  100. package/dist/development/src/model/EventByIdQuery.js +17 -0
  101. package/dist/development/src/model/EventByIdQuery.js.map +1 -0
  102. package/dist/development/src/model/EventsInProcessingQuery.cjs.map +1 -1
  103. package/dist/development/src/model/EventsInProcessingQuery.js.map +1 -1
  104. package/dist/development/src/model/EventsToProcessQuery.cjs.map +1 -1
  105. package/dist/development/src/model/EventsToProcessQuery.js.map +1 -1
  106. package/dist/development/src/model/EventsToProcessSpecification.cjs.map +1 -1
  107. package/dist/development/src/model/EventsToProcessSpecification.js.map +1 -1
  108. package/dist/development/src/model/FailedEventsQuery.cjs.map +1 -1
  109. package/dist/development/src/model/FailedEventsQuery.js.map +1 -1
  110. package/dist/development/src/model/SetVariableCommand.cjs.map +1 -1
  111. package/dist/development/src/model/SetVariableCommand.js.map +1 -1
  112. package/dist/development/src/model/VariablesManager.cjs.map +1 -1
  113. package/dist/development/src/model/VariablesManager.js.map +1 -1
  114. package/dist/development/src/model/VariablesQuery.cjs.map +1 -1
  115. package/dist/development/src/model/VariablesQuery.js.map +1 -1
  116. package/dist/development/src/triggers/TriggerHandler.cjs +17 -14
  117. package/dist/development/src/triggers/TriggerHandler.cjs.map +1 -1
  118. package/dist/development/src/triggers/TriggerHandler.js +17 -14
  119. package/dist/development/src/triggers/TriggerHandler.js.map +1 -1
  120. package/dist/development/src/triggers/TriggerIndirectChangesFetcher.cjs +44 -2
  121. package/dist/development/src/triggers/TriggerIndirectChangesFetcher.cjs.map +1 -1
  122. package/dist/development/src/triggers/TriggerIndirectChangesFetcher.js +44 -2
  123. package/dist/development/src/triggers/TriggerIndirectChangesFetcher.js.map +1 -1
  124. package/dist/development/src/triggers/TriggerListenersBuilder.cjs.map +1 -1
  125. package/dist/development/src/triggers/TriggerListenersBuilder.js.map +1 -1
  126. package/dist/development/src/triggers/TriggerListenersFactory.cjs.map +1 -1
  127. package/dist/development/src/triggers/TriggerListenersFactory.js.map +1 -1
  128. package/dist/development/src/triggers/TriggerListenersStore.cjs.map +1 -1
  129. package/dist/development/src/triggers/TriggerListenersStore.js.map +1 -1
  130. package/dist/development/src/triggers/TriggerPayloadBuilder.cjs +45 -16
  131. package/dist/development/src/triggers/TriggerPayloadBuilder.cjs.map +1 -1
  132. package/dist/development/src/triggers/TriggerPayloadBuilder.js +45 -16
  133. package/dist/development/src/triggers/TriggerPayloadBuilder.js.map +1 -1
  134. package/dist/development/src/triggers/TriggerPayloadManager.cjs.map +1 -1
  135. package/dist/development/src/triggers/TriggerPayloadManager.js.map +1 -1
  136. package/dist/development/src/triggers/TriggerPayloadPersister.cjs +36 -20
  137. package/dist/development/src/triggers/TriggerPayloadPersister.cjs.map +1 -1
  138. package/dist/development/src/triggers/TriggerPayloadPersister.js +36 -20
  139. package/dist/development/src/triggers/TriggerPayloadPersister.js.map +1 -1
  140. package/dist/development/src/utils/assertNever.cjs.map +1 -1
  141. package/dist/development/src/utils/assertNever.js.map +1 -1
  142. package/dist/development/src/utils/map.cjs.map +1 -1
  143. package/dist/development/src/utils/map.js.map +1 -1
  144. package/dist/development/src/utils/notifyChannel.cjs +9 -0
  145. package/dist/development/src/utils/notifyChannel.cjs.map +1 -0
  146. package/dist/development/src/utils/notifyChannel.js +9 -0
  147. package/dist/development/src/utils/notifyChannel.js.map +1 -0
  148. package/dist/production/index.cjs +54 -24
  149. package/dist/production/index.cjs.map +1 -1
  150. package/dist/production/index.js +54 -24
  151. package/dist/production/index.js.map +1 -1
  152. package/dist/production/src/ActionsExecutionContainerHookFactory.cjs +24 -11
  153. package/dist/production/src/ActionsExecutionContainerHookFactory.cjs.map +1 -1
  154. package/dist/production/src/ActionsExecutionContainerHookFactory.js +24 -11
  155. package/dist/production/src/ActionsExecutionContainerHookFactory.js.map +1 -1
  156. package/dist/production/src/ListenerStoreProvider.cjs.map +1 -1
  157. package/dist/production/src/ListenerStoreProvider.js.map +1 -1
  158. package/dist/production/src/authorization/ActionsAuthorizationActions.cjs +2 -0
  159. package/dist/production/src/authorization/ActionsAuthorizationActions.cjs.map +1 -1
  160. package/dist/production/src/authorization/ActionsAuthorizationActions.js +2 -0
  161. package/dist/production/src/authorization/ActionsAuthorizationActions.js.map +1 -1
  162. package/dist/production/src/authorization/ActionsPermissionsFactory.cjs.map +1 -1
  163. package/dist/production/src/authorization/ActionsPermissionsFactory.js.map +1 -1
  164. package/dist/production/src/dispatch/DispatchWorkerSupervisor.cjs +16 -14
  165. package/dist/production/src/dispatch/DispatchWorkerSupervisor.cjs.map +1 -1
  166. package/dist/production/src/dispatch/DispatchWorkerSupervisor.js +16 -14
  167. package/dist/production/src/dispatch/DispatchWorkerSupervisor.js.map +1 -1
  168. package/dist/production/src/dispatch/EventDispatcher.cjs.map +1 -1
  169. package/dist/production/src/dispatch/EventDispatcher.js.map +1 -1
  170. package/dist/production/src/dispatch/EventsRepository.cjs +33 -15
  171. package/dist/production/src/dispatch/EventsRepository.cjs.map +1 -1
  172. package/dist/production/src/dispatch/EventsRepository.js +33 -15
  173. package/dist/production/src/dispatch/EventsRepository.js.map +1 -1
  174. package/dist/production/src/dispatch/LazyDispatchWorker.cjs +67 -0
  175. package/dist/production/src/dispatch/LazyDispatchWorker.cjs.map +1 -0
  176. package/dist/production/src/dispatch/LazyDispatchWorker.js +67 -0
  177. package/dist/production/src/dispatch/LazyDispatchWorker.js.map +1 -0
  178. package/dist/production/src/dispatch/ProjectDispatcher.cjs +3 -3
  179. package/dist/production/src/dispatch/ProjectDispatcher.cjs.map +1 -1
  180. package/dist/production/src/dispatch/ProjectDispatcher.js +2 -2
  181. package/dist/production/src/dispatch/ProjectDispatcher.js.map +1 -1
  182. package/dist/production/src/dispatch/TargetHandlerResolver.cjs.map +1 -1
  183. package/dist/production/src/dispatch/TargetHandlerResolver.js.map +1 -1
  184. package/dist/production/src/dispatch/WebhookFetcher.cjs.map +1 -1
  185. package/dist/production/src/dispatch/WebhookFetcher.js.map +1 -1
  186. package/dist/production/src/dispatch/WebhookTargetHandler.cjs +6 -1
  187. package/dist/production/src/dispatch/WebhookTargetHandler.cjs.map +1 -1
  188. package/dist/production/src/dispatch/WebhookTargetHandler.js +6 -1
  189. package/dist/production/src/dispatch/WebhookTargetHandler.js.map +1 -1
  190. package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.cjs +1 -0
  191. package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.cjs.map +1 -1
  192. package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.js +1 -0
  193. package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.js.map +1 -1
  194. package/dist/production/src/graphql/http/ActionsContextResolver.cjs +8 -11
  195. package/dist/production/src/graphql/http/ActionsContextResolver.cjs.map +1 -1
  196. package/dist/production/src/graphql/http/ActionsContextResolver.js +8 -11
  197. package/dist/production/src/graphql/http/ActionsContextResolver.js.map +1 -1
  198. package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.cjs.map +1 -1
  199. package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.js.map +1 -1
  200. package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.cjs +6 -3
  201. package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.cjs.map +1 -1
  202. package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.js +6 -3
  203. package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.js.map +1 -1
  204. package/dist/production/src/graphql/resolvers/ResolversFactory.cjs +7 -2
  205. package/dist/production/src/graphql/resolvers/ResolversFactory.cjs.map +1 -1
  206. package/dist/production/src/graphql/resolvers/ResolversFactory.js +8 -3
  207. package/dist/production/src/graphql/resolvers/ResolversFactory.js.map +1 -1
  208. package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs.map +1 -1
  209. package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js.map +1 -1
  210. package/dist/production/src/graphql/resolvers/mutation/RetryEventMutationResolver.cjs +21 -0
  211. package/dist/production/src/graphql/resolvers/mutation/RetryEventMutationResolver.cjs.map +1 -0
  212. package/dist/production/src/graphql/resolvers/mutation/RetryEventMutationResolver.js +21 -0
  213. package/dist/production/src/graphql/resolvers/mutation/RetryEventMutationResolver.js.map +1 -0
  214. package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs.map +1 -1
  215. package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js.map +1 -1
  216. package/dist/production/src/graphql/resolvers/mutation/StopEventMutationResolver.cjs +19 -0
  217. package/dist/production/src/graphql/resolvers/mutation/StopEventMutationResolver.cjs.map +1 -0
  218. package/dist/production/src/graphql/resolvers/mutation/StopEventMutationResolver.js +19 -0
  219. package/dist/production/src/graphql/resolvers/mutation/StopEventMutationResolver.js.map +1 -0
  220. package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.cjs +14 -1
  221. package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.cjs.map +1 -1
  222. package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.js +14 -1
  223. package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.js.map +1 -1
  224. package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.cjs.map +1 -1
  225. package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.js.map +1 -1
  226. package/dist/production/src/graphql/schema/actions.graphql.cjs +18 -4
  227. package/dist/production/src/graphql/schema/actions.graphql.cjs.map +1 -1
  228. package/dist/production/src/graphql/schema/actions.graphql.js +18 -4
  229. package/dist/production/src/graphql/schema/actions.graphql.js.map +1 -1
  230. package/dist/production/src/migrations/2023-03-10-145000-actions-variables.cjs.map +1 -1
  231. package/dist/production/src/migrations/2023-03-10-145000-actions-variables.js.map +1 -1
  232. package/dist/production/src/migrations/2025-05-28-160000-action-event-user.cjs +16 -0
  233. package/dist/production/src/migrations/2025-05-28-160000-action-event-user.cjs.map +1 -0
  234. package/dist/production/src/migrations/2025-05-28-160000-action-event-user.js +17 -0
  235. package/dist/production/src/migrations/2025-05-28-160000-action-event-user.js.map +1 -0
  236. package/dist/production/src/migrations/index.cjs +3 -1
  237. package/dist/production/src/migrations/index.cjs.map +1 -1
  238. package/dist/production/src/migrations/index.js +3 -1
  239. package/dist/production/src/migrations/index.js.map +1 -1
  240. package/dist/production/src/migrations/snapshot.cjs +5 -2
  241. package/dist/production/src/migrations/snapshot.cjs.map +1 -1
  242. package/dist/production/src/migrations/snapshot.js +5 -2
  243. package/dist/production/src/migrations/snapshot.js.map +1 -1
  244. package/dist/production/src/model/EventByIdQuery.cjs +17 -0
  245. package/dist/production/src/model/EventByIdQuery.cjs.map +1 -0
  246. package/dist/production/src/model/EventByIdQuery.js +17 -0
  247. package/dist/production/src/model/EventByIdQuery.js.map +1 -0
  248. package/dist/production/src/model/EventsInProcessingQuery.cjs.map +1 -1
  249. package/dist/production/src/model/EventsInProcessingQuery.js.map +1 -1
  250. package/dist/production/src/model/EventsToProcessQuery.cjs.map +1 -1
  251. package/dist/production/src/model/EventsToProcessQuery.js.map +1 -1
  252. package/dist/production/src/model/EventsToProcessSpecification.cjs.map +1 -1
  253. package/dist/production/src/model/EventsToProcessSpecification.js.map +1 -1
  254. package/dist/production/src/model/FailedEventsQuery.cjs.map +1 -1
  255. package/dist/production/src/model/FailedEventsQuery.js.map +1 -1
  256. package/dist/production/src/model/SetVariableCommand.cjs.map +1 -1
  257. package/dist/production/src/model/SetVariableCommand.js.map +1 -1
  258. package/dist/production/src/model/VariablesManager.cjs.map +1 -1
  259. package/dist/production/src/model/VariablesManager.js.map +1 -1
  260. package/dist/production/src/model/VariablesQuery.cjs.map +1 -1
  261. package/dist/production/src/model/VariablesQuery.js.map +1 -1
  262. package/dist/production/src/triggers/TriggerHandler.cjs +17 -14
  263. package/dist/production/src/triggers/TriggerHandler.cjs.map +1 -1
  264. package/dist/production/src/triggers/TriggerHandler.js +17 -14
  265. package/dist/production/src/triggers/TriggerHandler.js.map +1 -1
  266. package/dist/production/src/triggers/TriggerIndirectChangesFetcher.cjs +44 -2
  267. package/dist/production/src/triggers/TriggerIndirectChangesFetcher.cjs.map +1 -1
  268. package/dist/production/src/triggers/TriggerIndirectChangesFetcher.js +44 -2
  269. package/dist/production/src/triggers/TriggerIndirectChangesFetcher.js.map +1 -1
  270. package/dist/production/src/triggers/TriggerListenersBuilder.cjs.map +1 -1
  271. package/dist/production/src/triggers/TriggerListenersBuilder.js.map +1 -1
  272. package/dist/production/src/triggers/TriggerListenersFactory.cjs.map +1 -1
  273. package/dist/production/src/triggers/TriggerListenersFactory.js.map +1 -1
  274. package/dist/production/src/triggers/TriggerListenersStore.cjs.map +1 -1
  275. package/dist/production/src/triggers/TriggerListenersStore.js.map +1 -1
  276. package/dist/production/src/triggers/TriggerPayloadBuilder.cjs +45 -16
  277. package/dist/production/src/triggers/TriggerPayloadBuilder.cjs.map +1 -1
  278. package/dist/production/src/triggers/TriggerPayloadBuilder.js +45 -16
  279. package/dist/production/src/triggers/TriggerPayloadBuilder.js.map +1 -1
  280. package/dist/production/src/triggers/TriggerPayloadManager.cjs.map +1 -1
  281. package/dist/production/src/triggers/TriggerPayloadManager.js.map +1 -1
  282. package/dist/production/src/triggers/TriggerPayloadPersister.cjs +36 -20
  283. package/dist/production/src/triggers/TriggerPayloadPersister.cjs.map +1 -1
  284. package/dist/production/src/triggers/TriggerPayloadPersister.js +36 -20
  285. package/dist/production/src/triggers/TriggerPayloadPersister.js.map +1 -1
  286. package/dist/production/src/utils/assertNever.cjs.map +1 -1
  287. package/dist/production/src/utils/assertNever.js.map +1 -1
  288. package/dist/production/src/utils/map.cjs.map +1 -1
  289. package/dist/production/src/utils/map.js.map +1 -1
  290. package/dist/production/src/utils/notifyChannel.cjs +9 -0
  291. package/dist/production/src/utils/notifyChannel.cjs.map +1 -0
  292. package/dist/production/src/utils/notifyChannel.js +9 -0
  293. package/dist/production/src/utils/notifyChannel.js.map +1 -0
  294. package/dist/tests/cases/unit/lazyDispatchWorker.test.d.ts +2 -0
  295. package/dist/tests/cases/unit/lazyDispatchWorker.test.d.ts.map +1 -0
  296. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  297. package/dist/types/ActionsExecutionContainerHookFactory.d.ts.map +1 -1
  298. package/dist/types/authorization/ActionsAuthorizationActions.d.ts +10 -0
  299. package/dist/types/authorization/ActionsAuthorizationActions.d.ts.map +1 -1
  300. package/dist/types/dispatch/DispatchWorkerSupervisor.d.ts.map +1 -1
  301. package/dist/types/dispatch/EventDispatcher.d.ts.map +1 -1
  302. package/dist/types/dispatch/EventsRepository.d.ts +2 -1
  303. package/dist/types/dispatch/EventsRepository.d.ts.map +1 -1
  304. package/dist/types/dispatch/LazyDispatchWorker.d.ts +11 -0
  305. package/dist/types/dispatch/LazyDispatchWorker.d.ts.map +1 -0
  306. package/dist/types/dispatch/ProjectDispatcher.d.ts.map +1 -1
  307. package/dist/types/dispatch/WebhookTargetHandler.d.ts.map +1 -1
  308. package/dist/types/dispatch/types.d.ts +1 -1
  309. package/dist/types/dispatch/types.d.ts.map +1 -1
  310. package/dist/types/graphql/http/ActionsApiMiddlewareFactory.d.ts.map +1 -1
  311. package/dist/types/graphql/http/ActionsContextResolver.d.ts.map +1 -1
  312. package/dist/types/graphql/http/ActionsGraphQLHandlerFactory.d.ts.map +1 -1
  313. package/dist/types/graphql/http/ActionsWebsocketControllerFactory.d.ts.map +1 -1
  314. package/dist/types/graphql/resolvers/ActionsContext.d.ts +3 -0
  315. package/dist/types/graphql/resolvers/ActionsContext.d.ts.map +1 -1
  316. package/dist/types/graphql/resolvers/ResolversFactory.d.ts +4 -2
  317. package/dist/types/graphql/resolvers/ResolversFactory.d.ts.map +1 -1
  318. package/dist/types/graphql/resolvers/mutation/RetryEventMutationResolver.d.ts +11 -0
  319. package/dist/types/graphql/resolvers/mutation/RetryEventMutationResolver.d.ts.map +1 -0
  320. package/dist/types/graphql/resolvers/mutation/SetVariablesMutationResolver.d.ts.map +1 -1
  321. package/dist/types/graphql/resolvers/mutation/StopEventMutationResolver.d.ts +11 -0
  322. package/dist/types/graphql/resolvers/mutation/StopEventMutationResolver.d.ts.map +1 -0
  323. package/dist/types/graphql/resolvers/mutation/index.d.ts +2 -0
  324. package/dist/types/graphql/resolvers/mutation/index.d.ts.map +1 -1
  325. package/dist/types/graphql/resolvers/query/EventsQueryResolver.d.ts +3 -0
  326. package/dist/types/graphql/resolvers/query/EventsQueryResolver.d.ts.map +1 -1
  327. package/dist/types/graphql/resolvers/query/VariablesQueryResolver.d.ts.map +1 -1
  328. package/dist/types/graphql/schema/actions.graphql.d.ts.map +1 -1
  329. package/dist/types/graphql/schema/index.d.ts +45 -2
  330. package/dist/types/graphql/schema/index.d.ts.map +1 -1
  331. package/dist/types/index.d.ts +1 -1
  332. package/dist/types/index.d.ts.map +1 -1
  333. package/dist/types/migrations/2023-03-10-145000-actions-variables.d.ts.map +1 -1
  334. package/dist/types/migrations/2025-05-28-160000-action-event-user.d.ts +3 -0
  335. package/dist/types/migrations/2025-05-28-160000-action-event-user.d.ts.map +1 -0
  336. package/dist/types/migrations/index.d.ts.map +1 -1
  337. package/dist/types/migrations/snapshot.d.ts.map +1 -1
  338. package/dist/types/model/EventByIdQuery.d.ts +8 -0
  339. package/dist/types/model/EventByIdQuery.d.ts.map +1 -0
  340. package/dist/types/model/EventsToProcessSpecification.d.ts.map +1 -1
  341. package/dist/types/model/SetVariableCommand.d.ts.map +1 -1
  342. package/dist/types/model/types.d.ts +3 -0
  343. package/dist/types/model/types.d.ts.map +1 -1
  344. package/dist/types/triggers/TriggerHandler.d.ts.map +1 -1
  345. package/dist/types/triggers/TriggerIndirectChangesFetcher.d.ts +11 -3
  346. package/dist/types/triggers/TriggerIndirectChangesFetcher.d.ts.map +1 -1
  347. package/dist/types/triggers/TriggerListeners.d.ts.map +1 -1
  348. package/dist/types/triggers/TriggerListenersBuilder.d.ts.map +1 -1
  349. package/dist/types/triggers/TriggerListenersStore.d.ts +2 -2
  350. package/dist/types/triggers/TriggerListenersStore.d.ts.map +1 -1
  351. package/dist/types/triggers/TriggerPayloadBuilder.d.ts.map +1 -1
  352. package/dist/types/triggers/TriggerPayloadManager.d.ts +2 -1
  353. package/dist/types/triggers/TriggerPayloadManager.d.ts.map +1 -1
  354. package/dist/types/triggers/TriggerPayloadPersister.d.ts +9 -4
  355. package/dist/types/triggers/TriggerPayloadPersister.d.ts.map +1 -1
  356. package/dist/types/tsconfig.tsbuildinfo +1 -1
  357. package/dist/types/utils/notifyChannel.d.ts +4 -0
  358. package/dist/types/utils/notifyChannel.d.ts.map +1 -0
  359. package/graphql.codegen.yml +2 -2
  360. package/package.json +26 -21
  361. package/src/ActionsExecutionContainerHookFactory.ts +27 -11
  362. package/src/authorization/ActionsAuthorizationActions.ts +2 -0
  363. package/src/dispatch/DispatchWorkerSupervisor.ts +17 -16
  364. package/src/dispatch/EventDispatcher.ts +0 -2
  365. package/src/dispatch/EventsRepository.ts +63 -43
  366. package/src/dispatch/LazyDispatchWorker.ts +72 -0
  367. package/src/dispatch/ProjectDispatcher.ts +6 -11
  368. package/src/dispatch/WebhookTargetHandler.ts +18 -9
  369. package/src/dispatch/types.ts +1 -2
  370. package/src/graphql/http/ActionsApiMiddlewareFactory.ts +7 -5
  371. package/src/graphql/http/ActionsContextResolver.ts +1 -2
  372. package/src/graphql/http/ActionsGraphQLHandlerFactory.ts +0 -1
  373. package/src/graphql/http/ActionsWebsocketControllerFactory.ts +7 -5
  374. package/src/graphql/resolvers/ActionsContext.ts +1 -0
  375. package/src/graphql/resolvers/ResolversFactory.ts +9 -2
  376. package/src/graphql/resolvers/mutation/RetryEventMutationResolver.ts +22 -0
  377. package/src/graphql/resolvers/mutation/SetVariablesMutationResolver.ts +0 -1
  378. package/src/graphql/resolvers/mutation/StopEventMutationResolver.ts +19 -0
  379. package/src/graphql/resolvers/mutation/index.ts +2 -0
  380. package/src/graphql/resolvers/query/EventsQueryResolver.ts +15 -8
  381. package/src/graphql/resolvers/query/VariablesQueryResolver.ts +0 -1
  382. package/src/graphql/schema/actions.graphql.ts +18 -4
  383. package/src/graphql/schema/index.ts +84 -30
  384. package/src/index.ts +66 -35
  385. package/src/migrations/2023-03-10-145000-actions-variables.ts +1 -1
  386. package/src/migrations/2025-05-28-160000-action-event-user.ts +16 -0
  387. package/src/migrations/index.ts +2 -0
  388. package/src/migrations/snapshot.ts +6 -3
  389. package/src/model/EventByIdQuery.ts +21 -0
  390. package/src/model/EventsToProcessSpecification.ts +9 -8
  391. package/src/model/SetVariableCommand.ts +0 -1
  392. package/src/model/types.ts +3 -0
  393. package/src/triggers/TriggerHandler.ts +16 -15
  394. package/src/triggers/TriggerIndirectChangesFetcher.ts +62 -3
  395. package/src/triggers/TriggerListeners.ts +1 -8
  396. package/src/triggers/TriggerListenersBuilder.ts +3 -6
  397. package/src/triggers/TriggerListenersStore.ts +2 -2
  398. package/src/triggers/TriggerPayloadBuilder.ts +43 -13
  399. package/src/triggers/TriggerPayloadManager.ts +2 -4
  400. package/src/triggers/TriggerPayloadPersister.ts +28 -10
  401. package/src/utils/notifyChannel.ts +6 -0
  402. package/tests/cases/unit/generator.test.ts +133 -136
  403. package/tests/cases/unit/lazyDispatchWorker.test.ts +226 -0
  404. package/tests/cases/unit/webhookHandler.test.ts +47 -35
  405. package/vitest.config.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"ActionsWebsocketControllerFactory.js","sources":["../../../../../../packages/engine-actions/src/graphql/http/ActionsWebsocketControllerFactory.ts"],"sourcesContent":["import { HttpErrorResponse, WebSocketController } from '@contember/engine-http'\nimport { ActionsContextResolver } from './ActionsContextResolver'\nimport { DispatchWorkerSupervisorFactory } from '../../dispatch/DispatchWorkerSupervisor'\nimport * as Typesafe from '@contember/typesafe'\nimport { TenantRole } from '@contember/engine-tenant-api'\nimport { Running } from '@contember/engine-common'\n\nconst IncomingMessage = Typesafe.discriminatedUnion(\n\t'type',\n\t{\n\t\tstartWorker: Typesafe.object({}),\n\t\tstopAllWorkers: Typesafe.object({}),\n\t},\n)\ntype IncomingMessage = ReturnType<typeof IncomingMessage>\nconst OutgoingMessage = Typesafe.discriminatedUnion(\n\t'type',\n\t{\n\t\terror: Typesafe.object({\n\t\t\tmessage: Typesafe.string,\n\t\t}),\n\t\tmessage: Typesafe.object({\n\t\t\tmessage: Typesafe.string,\n\t\t}),\n\t\tready: Typesafe.object({}),\n\n\t\tworkerStarted: Typesafe.object({\n\t\t\tworkerId: Typesafe.string,\n\t\t}),\n\t\tworkedStopped: Typesafe.object({\n\t\t\tworkerId: Typesafe.string,\n\t\t}),\n\t\tworkerFailedToStart: Typesafe.object({\n\t\t\tworkerId: Typesafe.string,\n\t\t}),\n\t\tworkerCrashed: Typesafe.object({\n\t\t\tworkerId: Typesafe.string,\n\t\t}),\n\t},\n)\n\ntype OutgoingMessage = ReturnType<typeof OutgoingMessage>\n\nexport class ActionsWebsocketControllerFactory {\n\tconstructor(\n\t\tprivate readonly debug: boolean,\n\t\tprivate readonly actionsContextResolver: ActionsContextResolver,\n\t\tprivate readonly dispatchWorkerSupervisorFactory: DispatchWorkerSupervisorFactory,\n\t) {\n\t}\n\n\tcreate(): WebSocketController {\n\t\treturn async ctx => {\n\t\t\tconst { ws, logger, authResult, projectGroup } = ctx\n\t\t\tif (!authResult) {\n\t\t\t\tthrow new HttpErrorResponse(401, 'Authentication required')\n\t\t\t}\n\t\t\tif (!authResult.roles.some(it => it === TenantRole.SUPER_ADMIN || it === TenantRole.PROJECT_ADMIN)) {\n\t\t\t\tthrow new HttpErrorResponse(403, 'Not allowed to run actions worker')\n\t\t\t}\n\n\t\t\tconst send = (message: OutgoingMessage) => {\n\t\t\t\tif (this.debug) {\n\t\t\t\t\tOutgoingMessage(message)\n\t\t\t\t}\n\t\t\t\tws.send(JSON.stringify(message))\n\t\t\t}\n\n\t\t\tlet workers: { id: string; running: Promise<Running> }[] = []\n\t\t\tconst abortListener = async () => {\n\t\t\t\tsend({ type: 'message', message: 'shutting down' })\n\t\t\t\tawait stopAll()\n\t\t\t\tsend({ type: 'message', message: 'closing connection' })\n\t\t\t\tws.close(1012) // Service Restart\n\t\t\t}\n\t\t\tctx.abortSignal.addEventListener('abort', abortListener)\n\n\t\t\tconst stopAll = async () => {\n\t\t\t\tconst currentWorkers = workers.map(async it => {\n\t\t\t\t\tawait (await it.running).end()\n\t\t\t\t\tsend({\n\t\t\t\t\t\ttype: 'workedStopped',\n\t\t\t\t\t\tworkerId: it.id,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\tworkers = []\n\t\t\t\tawait Promise.all(currentWorkers)\n\t\t\t}\n\t\t\tsend({ type: 'ready' })\n\n\t\t\tws.addEventListener('message', async message => {\n\t\t\t\tlet json\n\t\t\t\ttry {\n\t\t\t\t\tjson = JSON.parse(message.data.toString())\n\t\t\t\t} catch {\n\t\t\t\t\tsend({ type: 'error', message: 'Invalid JSON' })\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tlet data: IncomingMessage\n\t\t\t\ttry {\n\t\t\t\t\tdata = IncomingMessage(json)\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof Typesafe.ParseError) {\n\t\t\t\t\t\tsend({ type: 'error', message: e.message })\n\t\t\t\t\t\treturn\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tswitch (data.type) {\n\t\t\t\t\tcase 'startWorker':\n\t\t\t\t\t\tconst workerId = Math.random().toString().substring(2)\n\t\t\t\t\t\tconst dispatchSupervisor = this.dispatchWorkerSupervisorFactory.create(projectGroup)\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst running = dispatchSupervisor.run({ logger, onError: () => {\n\t\t\t\t\t\t\t\tsend({ type: 'workerCrashed', workerId })\n\t\t\t\t\t\t\t} })\n\t\t\t\t\t\t\tworkers.push({ id: workerId, running })\n\t\t\t\t\t\t\tawait running\n\t\t\t\t\t\t\tsend({ type: 'workerStarted', workerId })\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tlogger.error(e, { message: 'Worker failed to start' })\n\t\t\t\t\t\t\tsend({ type: 'workerFailedToStart', workerId })\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'stopAllWorkers':\n\t\t\t\t\t\tsend({ type: 'message', message: 'stopping' })\n\t\t\t\t\t\tawait stopAll()\n\t\t\t\t\t\tsend({ type: 'message', message: 'all stopped' })\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst pingHandle = setInterval(() => {\n\t\t\t\tws.ping()\n\t\t\t}, 5000)\n\n\t\t\tws.addEventListener('close', async () => {\n\t\t\t\tctx.abortSignal.removeEventListener('abort', abortListener)\n\t\t\t\tclearInterval(pingHandle)\n\t\t\t\tawait stopAll()\n\t\t\t})\n\t\t}\n\t}\n}\n\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActionsWebsocketControllerFactory.js","sources":["../../../../../../packages/engine-actions/src/graphql/http/ActionsWebsocketControllerFactory.ts"],"sourcesContent":["import { HttpErrorResponse, WebSocketController } from '@contember/engine-http'\nimport { ActionsContextResolver } from './ActionsContextResolver'\nimport { DispatchWorkerSupervisorFactory } from '../../dispatch/DispatchWorkerSupervisor'\nimport * as Typesafe from '@contember/typesafe'\nimport { TenantRole } from '@contember/engine-tenant-api'\nimport { Running } from '@contember/engine-common'\n\nconst IncomingMessage = Typesafe.discriminatedUnion(\n\t'type',\n\t{\n\t\tstartWorker: Typesafe.object({}),\n\t\tstopAllWorkers: Typesafe.object({}),\n\t},\n)\ntype IncomingMessage = ReturnType<typeof IncomingMessage>\nconst OutgoingMessage = Typesafe.discriminatedUnion(\n\t'type',\n\t{\n\t\terror: Typesafe.object({\n\t\t\tmessage: Typesafe.string,\n\t\t}),\n\t\tmessage: Typesafe.object({\n\t\t\tmessage: Typesafe.string,\n\t\t}),\n\t\tready: Typesafe.object({}),\n\n\t\tworkerStarted: Typesafe.object({\n\t\t\tworkerId: Typesafe.string,\n\t\t}),\n\t\tworkedStopped: Typesafe.object({\n\t\t\tworkerId: Typesafe.string,\n\t\t}),\n\t\tworkerFailedToStart: Typesafe.object({\n\t\t\tworkerId: Typesafe.string,\n\t\t}),\n\t\tworkerCrashed: Typesafe.object({\n\t\t\tworkerId: Typesafe.string,\n\t\t}),\n\t},\n)\n\ntype OutgoingMessage = ReturnType<typeof OutgoingMessage>\n\nexport class ActionsWebsocketControllerFactory {\n\tconstructor(\n\t\tprivate readonly debug: boolean,\n\t\tprivate readonly actionsContextResolver: ActionsContextResolver,\n\t\tprivate readonly dispatchWorkerSupervisorFactory: DispatchWorkerSupervisorFactory,\n\t) {\n\t}\n\n\tcreate(): WebSocketController {\n\t\treturn async ctx => {\n\t\t\tconst { ws, logger, authResult, projectGroup } = ctx\n\t\t\tif (!authResult) {\n\t\t\t\tthrow new HttpErrorResponse(401, 'Authentication required')\n\t\t\t}\n\t\t\tif (!authResult.roles.some(it => it === TenantRole.SUPER_ADMIN || it === TenantRole.PROJECT_ADMIN)) {\n\t\t\t\tthrow new HttpErrorResponse(403, 'Not allowed to run actions worker')\n\t\t\t}\n\n\t\t\tconst send = (message: OutgoingMessage) => {\n\t\t\t\tif (this.debug) {\n\t\t\t\t\tOutgoingMessage(message)\n\t\t\t\t}\n\t\t\t\tws.send(JSON.stringify(message))\n\t\t\t}\n\n\t\t\tlet workers: { id: string; running: Promise<Running> }[] = []\n\t\t\tconst abortListener = async () => {\n\t\t\t\tsend({ type: 'message', message: 'shutting down' })\n\t\t\t\tawait stopAll()\n\t\t\t\tsend({ type: 'message', message: 'closing connection' })\n\t\t\t\tws.close(1012) // Service Restart\n\t\t\t}\n\t\t\tctx.abortSignal.addEventListener('abort', abortListener)\n\n\t\t\tconst stopAll = async () => {\n\t\t\t\tconst currentWorkers = workers.map(async it => {\n\t\t\t\t\tawait (await it.running).end()\n\t\t\t\t\tsend({\n\t\t\t\t\t\ttype: 'workedStopped',\n\t\t\t\t\t\tworkerId: it.id,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\tworkers = []\n\t\t\t\tawait Promise.all(currentWorkers)\n\t\t\t}\n\t\t\tsend({ type: 'ready' })\n\n\t\t\tws.addEventListener('message', async message => {\n\t\t\t\tlet json\n\t\t\t\ttry {\n\t\t\t\t\tjson = JSON.parse(message.data.toString())\n\t\t\t\t} catch {\n\t\t\t\t\tsend({ type: 'error', message: 'Invalid JSON' })\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tlet data: IncomingMessage\n\t\t\t\ttry {\n\t\t\t\t\tdata = IncomingMessage(json)\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof Typesafe.ParseError) {\n\t\t\t\t\t\tsend({ type: 'error', message: e.message })\n\t\t\t\t\t\treturn\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tswitch (data.type) {\n\t\t\t\t\tcase 'startWorker':\n\t\t\t\t\t\tconst workerId = Math.random().toString().substring(2)\n\t\t\t\t\t\tconst dispatchSupervisor = this.dispatchWorkerSupervisorFactory.create(projectGroup)\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst running = dispatchSupervisor.run({\n\t\t\t\t\t\t\t\tlogger,\n\t\t\t\t\t\t\t\tonError: () => {\n\t\t\t\t\t\t\t\t\tsend({ type: 'workerCrashed', workerId })\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tworkers.push({ id: workerId, running })\n\t\t\t\t\t\t\tawait running\n\t\t\t\t\t\t\tsend({ type: 'workerStarted', workerId })\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tlogger.error(e, { message: 'Worker failed to start' })\n\t\t\t\t\t\t\tsend({ type: 'workerFailedToStart', workerId })\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'stopAllWorkers':\n\t\t\t\t\t\tsend({ type: 'message', message: 'stopping' })\n\t\t\t\t\t\tawait stopAll()\n\t\t\t\t\t\tsend({ type: 'message', message: 'all stopped' })\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst pingHandle = setInterval(() => {\n\t\t\t\tws.ping()\n\t\t\t}, 5000)\n\n\t\t\tws.addEventListener('close', async () => {\n\t\t\t\tctx.abortSignal.removeEventListener('abort', abortListener)\n\t\t\t\tclearInterval(pingHandle)\n\t\t\t\tawait stopAll()\n\t\t\t})\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"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"}
@@ -2,11 +2,13 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const graphqlUtils = require("@contember/graphql-utils");
4
4
  class ResolversFactory {
5
- constructor(eventsQueryResolver, processBatchMutationResolver, variablesQueryResolver, setVariablesMutationResolver) {
5
+ constructor(eventsQueryResolver, processBatchMutationResolver, variablesQueryResolver, setVariablesMutationResolver, retryEventMutationResolver, stopEventMutationResolver) {
6
6
  this.eventsQueryResolver = eventsQueryResolver;
7
7
  this.processBatchMutationResolver = processBatchMutationResolver;
8
8
  this.variablesQueryResolver = variablesQueryResolver;
9
9
  this.setVariablesMutationResolver = setVariablesMutationResolver;
10
+ this.retryEventMutationResolver = retryEventMutationResolver;
11
+ this.stopEventMutationResolver = stopEventMutationResolver;
10
12
  }
11
13
  create() {
12
14
  const resolvers = {
@@ -15,12 +17,15 @@ class ResolversFactory {
15
17
  Uuid: graphqlUtils.UuidType,
16
18
  Mutation: {
17
19
  processBatch: this.processBatchMutationResolver.processBatch.bind(this.processBatchMutationResolver),
18
- setVariables: this.setVariablesMutationResolver.setVariables.bind(this.setVariablesMutationResolver)
20
+ setVariables: this.setVariablesMutationResolver.setVariables.bind(this.setVariablesMutationResolver),
21
+ retryEvent: this.retryEventMutationResolver.retryEvent.bind(this.retryEventMutationResolver),
22
+ stopEvent: this.stopEventMutationResolver.stopEvent.bind(this.stopEventMutationResolver)
19
23
  },
20
24
  Query: {
21
25
  eventsInProcessing: this.eventsQueryResolver.eventsInProcessing.bind(this.eventsQueryResolver),
22
26
  eventsToProcess: this.eventsQueryResolver.eventsToProcess.bind(this.eventsQueryResolver),
23
27
  failedEvents: this.eventsQueryResolver.failedEvents.bind(this.eventsQueryResolver),
28
+ event: this.eventsQueryResolver.event.bind(this.eventsQueryResolver),
24
29
  variables: this.variablesQueryResolver.variables.bind(this.variablesQueryResolver)
25
30
  }
26
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ResolversFactory.cjs","sources":["../../../../../../packages/engine-actions/src/graphql/resolvers/ResolversFactory.ts"],"sourcesContent":["import { DateTimeType, JSONType, UuidType } from '@contember/graphql-utils'\nimport { Resolvers } from '../schema'\nimport { EventsQueryResolver } from './query'\nimport { ProcessBatchMutationResolver, SetVariablesMutationResolver } from './mutation'\nimport { ActionsContext } from './ActionsContext'\nimport { VariablesQueryResolver } from './query/VariablesQueryResolver'\n\nexport class ResolversFactory {\n\tconstructor(\n\t\tprivate readonly eventsQueryResolver: EventsQueryResolver,\n\t\tprivate readonly processBatchMutationResolver: ProcessBatchMutationResolver,\n\t\tprivate readonly variablesQueryResolver: VariablesQueryResolver,\n\t\tprivate readonly setVariablesMutationResolver: SetVariablesMutationResolver,\n\t) {\n\t}\n\n\tcreate(): Resolvers {\n\t\tconst resolvers: Resolvers<ActionsContext> & { Mutation: Required<Resolvers<ActionsContext>['Mutation']> } & { Query: Required<Resolvers<ActionsContext>['Query']> } = {\n\t\t\tJson: JSONType,\n\t\t\tDateTime: DateTimeType,\n\t\t\tUuid: UuidType,\n\t\t\tMutation: {\n\t\t\t\tprocessBatch: this.processBatchMutationResolver.processBatch.bind(this.processBatchMutationResolver),\n\t\t\t\tsetVariables: this.setVariablesMutationResolver.setVariables.bind(this.setVariablesMutationResolver),\n\t\t\t},\n\t\t\tQuery: {\n\t\t\t\teventsInProcessing: this.eventsQueryResolver.eventsInProcessing.bind(this.eventsQueryResolver),\n\t\t\t\teventsToProcess: this.eventsQueryResolver.eventsToProcess.bind(this.eventsQueryResolver),\n\t\t\t\tfailedEvents: this.eventsQueryResolver.failedEvents.bind(this.eventsQueryResolver),\n\t\t\t\tvariables: this.variablesQueryResolver.variables.bind(this.variablesQueryResolver),\n\t\t\t},\n\t\t}\n\t\treturn resolvers\n\t}\n}\n"],"names":["JSONType","DateTimeType","UuidType"],"mappings":";;;AAOO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,qBACA,8BACA,wBACA,8BAChB;AAJgB,SAAA,sBAAA;AACA,SAAA,+BAAA;AACA,SAAA,yBAAA;AACA,SAAA,+BAAA;AAAA,EAAA;AAAA,EAIlB,SAAoB;AACnB,UAAM,YAAiK;AAAA,MACtK,MAAMA,aAAA;AAAA,MACN,UAAUC,aAAA;AAAA,MACV,MAAMC,aAAA;AAAA,MACN,UAAU;AAAA,QACT,cAAc,KAAK,6BAA6B,aAAa,KAAK,KAAK,4BAA4B;AAAA,QACnG,cAAc,KAAK,6BAA6B,aAAa,KAAK,KAAK,4BAA4B;AAAA,MACpG;AAAA,MACA,OAAO;AAAA,QACN,oBAAoB,KAAK,oBAAoB,mBAAmB,KAAK,KAAK,mBAAmB;AAAA,QAC7F,iBAAiB,KAAK,oBAAoB,gBAAgB,KAAK,KAAK,mBAAmB;AAAA,QACvF,cAAc,KAAK,oBAAoB,aAAa,KAAK,KAAK,mBAAmB;AAAA,QACjF,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAAA;AAAA,IAEnF;AACO,WAAA;AAAA,EAAA;AAET;;"}
1
+ {"version":3,"file":"ResolversFactory.cjs","sources":["../../../../../../packages/engine-actions/src/graphql/resolvers/ResolversFactory.ts"],"sourcesContent":["import { DateTimeType, JSONType, UuidType } from '@contember/graphql-utils'\nimport { Resolvers } from '../schema'\nimport { EventsQueryResolver } from './query'\nimport { ProcessBatchMutationResolver, RetryEventMutationResolver, SetVariablesMutationResolver, StopEventMutationResolver } from './mutation'\nimport { ActionsContext } from './ActionsContext'\nimport { VariablesQueryResolver } from './query/VariablesQueryResolver'\n\nexport class ResolversFactory {\n\tconstructor(\n\t\tprivate readonly eventsQueryResolver: EventsQueryResolver,\n\t\tprivate readonly processBatchMutationResolver: ProcessBatchMutationResolver,\n\t\tprivate readonly variablesQueryResolver: VariablesQueryResolver,\n\t\tprivate readonly setVariablesMutationResolver: SetVariablesMutationResolver,\n\t\tprivate readonly retryEventMutationResolver: RetryEventMutationResolver,\n\t\tprivate readonly stopEventMutationResolver: StopEventMutationResolver,\n\t) {\n\t}\n\n\tcreate(): Resolvers {\n\t\tconst resolvers: Resolvers<ActionsContext> & { Mutation: Required<Resolvers<ActionsContext>['Mutation']> } & {\n\t\t\tQuery: Required<Resolvers<ActionsContext>['Query']>\n\t\t} = {\n\t\t\tJson: JSONType,\n\t\t\tDateTime: DateTimeType,\n\t\t\tUuid: UuidType,\n\t\t\tMutation: {\n\t\t\t\tprocessBatch: this.processBatchMutationResolver.processBatch.bind(this.processBatchMutationResolver),\n\t\t\t\tsetVariables: this.setVariablesMutationResolver.setVariables.bind(this.setVariablesMutationResolver),\n\t\t\t\tretryEvent: this.retryEventMutationResolver.retryEvent.bind(this.retryEventMutationResolver),\n\t\t\t\tstopEvent: this.stopEventMutationResolver.stopEvent.bind(this.stopEventMutationResolver),\n\t\t\t},\n\t\t\tQuery: {\n\t\t\t\teventsInProcessing: this.eventsQueryResolver.eventsInProcessing.bind(this.eventsQueryResolver),\n\t\t\t\teventsToProcess: this.eventsQueryResolver.eventsToProcess.bind(this.eventsQueryResolver),\n\t\t\t\tfailedEvents: this.eventsQueryResolver.failedEvents.bind(this.eventsQueryResolver),\n\t\t\t\tevent: this.eventsQueryResolver.event.bind(this.eventsQueryResolver),\n\t\t\t\tvariables: this.variablesQueryResolver.variables.bind(this.variablesQueryResolver),\n\t\t\t},\n\t\t}\n\t\treturn resolvers\n\t}\n}\n"],"names":["JSONType","DateTimeType","UuidType"],"mappings":";;;AAOO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,qBACA,8BACA,wBACA,8BACA,4BACA,2BAChB;AANgB,SAAA,sBAAA;AACA,SAAA,+BAAA;AACA,SAAA,yBAAA;AACA,SAAA,+BAAA;AACA,SAAA,6BAAA;AACA,SAAA,4BAAA;AAAA,EAElB;AAAA,EAEA,SAAoB;AACnB,UAAM,YAEF;AAAA,MACH,MAAMA,aAAAA;AAAAA,MACN,UAAUC,aAAAA;AAAAA,MACV,MAAMC,aAAAA;AAAAA,MACN,UAAU;AAAA,QACT,cAAc,KAAK,6BAA6B,aAAa,KAAK,KAAK,4BAA4B;AAAA,QACnG,cAAc,KAAK,6BAA6B,aAAa,KAAK,KAAK,4BAA4B;AAAA,QACnG,YAAY,KAAK,2BAA2B,WAAW,KAAK,KAAK,0BAA0B;AAAA,QAC3F,WAAW,KAAK,0BAA0B,UAAU,KAAK,KAAK,yBAAyB;AAAA,MAAA;AAAA,MAExF,OAAO;AAAA,QACN,oBAAoB,KAAK,oBAAoB,mBAAmB,KAAK,KAAK,mBAAmB;AAAA,QAC7F,iBAAiB,KAAK,oBAAoB,gBAAgB,KAAK,KAAK,mBAAmB;AAAA,QACvF,cAAc,KAAK,oBAAoB,aAAa,KAAK,KAAK,mBAAmB;AAAA,QACjF,OAAO,KAAK,oBAAoB,MAAM,KAAK,KAAK,mBAAmB;AAAA,QACnE,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAAA;AAAA,IAClF;AAED,WAAO;AAAA,EACR;AACD;;"}
@@ -1,10 +1,12 @@
1
- import { JSONType, DateTimeType, UuidType } from "@contember/graphql-utils";
1
+ import { UuidType, DateTimeType, JSONType } from "@contember/graphql-utils";
2
2
  class ResolversFactory {
3
- constructor(eventsQueryResolver, processBatchMutationResolver, variablesQueryResolver, setVariablesMutationResolver) {
3
+ constructor(eventsQueryResolver, processBatchMutationResolver, variablesQueryResolver, setVariablesMutationResolver, retryEventMutationResolver, stopEventMutationResolver) {
4
4
  this.eventsQueryResolver = eventsQueryResolver;
5
5
  this.processBatchMutationResolver = processBatchMutationResolver;
6
6
  this.variablesQueryResolver = variablesQueryResolver;
7
7
  this.setVariablesMutationResolver = setVariablesMutationResolver;
8
+ this.retryEventMutationResolver = retryEventMutationResolver;
9
+ this.stopEventMutationResolver = stopEventMutationResolver;
8
10
  }
9
11
  create() {
10
12
  const resolvers = {
@@ -13,12 +15,15 @@ class ResolversFactory {
13
15
  Uuid: UuidType,
14
16
  Mutation: {
15
17
  processBatch: this.processBatchMutationResolver.processBatch.bind(this.processBatchMutationResolver),
16
- setVariables: this.setVariablesMutationResolver.setVariables.bind(this.setVariablesMutationResolver)
18
+ setVariables: this.setVariablesMutationResolver.setVariables.bind(this.setVariablesMutationResolver),
19
+ retryEvent: this.retryEventMutationResolver.retryEvent.bind(this.retryEventMutationResolver),
20
+ stopEvent: this.stopEventMutationResolver.stopEvent.bind(this.stopEventMutationResolver)
17
21
  },
18
22
  Query: {
19
23
  eventsInProcessing: this.eventsQueryResolver.eventsInProcessing.bind(this.eventsQueryResolver),
20
24
  eventsToProcess: this.eventsQueryResolver.eventsToProcess.bind(this.eventsQueryResolver),
21
25
  failedEvents: this.eventsQueryResolver.failedEvents.bind(this.eventsQueryResolver),
26
+ event: this.eventsQueryResolver.event.bind(this.eventsQueryResolver),
22
27
  variables: this.variablesQueryResolver.variables.bind(this.variablesQueryResolver)
23
28
  }
24
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ResolversFactory.js","sources":["../../../../../../packages/engine-actions/src/graphql/resolvers/ResolversFactory.ts"],"sourcesContent":["import { DateTimeType, JSONType, UuidType } from '@contember/graphql-utils'\nimport { Resolvers } from '../schema'\nimport { EventsQueryResolver } from './query'\nimport { ProcessBatchMutationResolver, SetVariablesMutationResolver } from './mutation'\nimport { ActionsContext } from './ActionsContext'\nimport { VariablesQueryResolver } from './query/VariablesQueryResolver'\n\nexport class ResolversFactory {\n\tconstructor(\n\t\tprivate readonly eventsQueryResolver: EventsQueryResolver,\n\t\tprivate readonly processBatchMutationResolver: ProcessBatchMutationResolver,\n\t\tprivate readonly variablesQueryResolver: VariablesQueryResolver,\n\t\tprivate readonly setVariablesMutationResolver: SetVariablesMutationResolver,\n\t) {\n\t}\n\n\tcreate(): Resolvers {\n\t\tconst resolvers: Resolvers<ActionsContext> & { Mutation: Required<Resolvers<ActionsContext>['Mutation']> } & { Query: Required<Resolvers<ActionsContext>['Query']> } = {\n\t\t\tJson: JSONType,\n\t\t\tDateTime: DateTimeType,\n\t\t\tUuid: UuidType,\n\t\t\tMutation: {\n\t\t\t\tprocessBatch: this.processBatchMutationResolver.processBatch.bind(this.processBatchMutationResolver),\n\t\t\t\tsetVariables: this.setVariablesMutationResolver.setVariables.bind(this.setVariablesMutationResolver),\n\t\t\t},\n\t\t\tQuery: {\n\t\t\t\teventsInProcessing: this.eventsQueryResolver.eventsInProcessing.bind(this.eventsQueryResolver),\n\t\t\t\teventsToProcess: this.eventsQueryResolver.eventsToProcess.bind(this.eventsQueryResolver),\n\t\t\t\tfailedEvents: this.eventsQueryResolver.failedEvents.bind(this.eventsQueryResolver),\n\t\t\t\tvariables: this.variablesQueryResolver.variables.bind(this.variablesQueryResolver),\n\t\t\t},\n\t\t}\n\t\treturn resolvers\n\t}\n}\n"],"names":[],"mappings":";AAOO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,qBACA,8BACA,wBACA,8BAChB;AAJgB,SAAA,sBAAA;AACA,SAAA,+BAAA;AACA,SAAA,yBAAA;AACA,SAAA,+BAAA;AAAA,EAAA;AAAA,EAIlB,SAAoB;AACnB,UAAM,YAAiK;AAAA,MACtK,MAAM;AAAA,MACN,UAAU;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,QACT,cAAc,KAAK,6BAA6B,aAAa,KAAK,KAAK,4BAA4B;AAAA,QACnG,cAAc,KAAK,6BAA6B,aAAa,KAAK,KAAK,4BAA4B;AAAA,MACpG;AAAA,MACA,OAAO;AAAA,QACN,oBAAoB,KAAK,oBAAoB,mBAAmB,KAAK,KAAK,mBAAmB;AAAA,QAC7F,iBAAiB,KAAK,oBAAoB,gBAAgB,KAAK,KAAK,mBAAmB;AAAA,QACvF,cAAc,KAAK,oBAAoB,aAAa,KAAK,KAAK,mBAAmB;AAAA,QACjF,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAAA;AAAA,IAEnF;AACO,WAAA;AAAA,EAAA;AAET;"}
1
+ {"version":3,"file":"ResolversFactory.js","sources":["../../../../../../packages/engine-actions/src/graphql/resolvers/ResolversFactory.ts"],"sourcesContent":["import { DateTimeType, JSONType, UuidType } from '@contember/graphql-utils'\nimport { Resolvers } from '../schema'\nimport { EventsQueryResolver } from './query'\nimport { ProcessBatchMutationResolver, RetryEventMutationResolver, SetVariablesMutationResolver, StopEventMutationResolver } from './mutation'\nimport { ActionsContext } from './ActionsContext'\nimport { VariablesQueryResolver } from './query/VariablesQueryResolver'\n\nexport class ResolversFactory {\n\tconstructor(\n\t\tprivate readonly eventsQueryResolver: EventsQueryResolver,\n\t\tprivate readonly processBatchMutationResolver: ProcessBatchMutationResolver,\n\t\tprivate readonly variablesQueryResolver: VariablesQueryResolver,\n\t\tprivate readonly setVariablesMutationResolver: SetVariablesMutationResolver,\n\t\tprivate readonly retryEventMutationResolver: RetryEventMutationResolver,\n\t\tprivate readonly stopEventMutationResolver: StopEventMutationResolver,\n\t) {\n\t}\n\n\tcreate(): Resolvers {\n\t\tconst resolvers: Resolvers<ActionsContext> & { Mutation: Required<Resolvers<ActionsContext>['Mutation']> } & {\n\t\t\tQuery: Required<Resolvers<ActionsContext>['Query']>\n\t\t} = {\n\t\t\tJson: JSONType,\n\t\t\tDateTime: DateTimeType,\n\t\t\tUuid: UuidType,\n\t\t\tMutation: {\n\t\t\t\tprocessBatch: this.processBatchMutationResolver.processBatch.bind(this.processBatchMutationResolver),\n\t\t\t\tsetVariables: this.setVariablesMutationResolver.setVariables.bind(this.setVariablesMutationResolver),\n\t\t\t\tretryEvent: this.retryEventMutationResolver.retryEvent.bind(this.retryEventMutationResolver),\n\t\t\t\tstopEvent: this.stopEventMutationResolver.stopEvent.bind(this.stopEventMutationResolver),\n\t\t\t},\n\t\t\tQuery: {\n\t\t\t\teventsInProcessing: this.eventsQueryResolver.eventsInProcessing.bind(this.eventsQueryResolver),\n\t\t\t\teventsToProcess: this.eventsQueryResolver.eventsToProcess.bind(this.eventsQueryResolver),\n\t\t\t\tfailedEvents: this.eventsQueryResolver.failedEvents.bind(this.eventsQueryResolver),\n\t\t\t\tevent: this.eventsQueryResolver.event.bind(this.eventsQueryResolver),\n\t\t\t\tvariables: this.variablesQueryResolver.variables.bind(this.variablesQueryResolver),\n\t\t\t},\n\t\t}\n\t\treturn resolvers\n\t}\n}\n"],"names":[],"mappings":";AAOO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,qBACA,8BACA,wBACA,8BACA,4BACA,2BAChB;AANgB,SAAA,sBAAA;AACA,SAAA,+BAAA;AACA,SAAA,yBAAA;AACA,SAAA,+BAAA;AACA,SAAA,6BAAA;AACA,SAAA,4BAAA;AAAA,EAElB;AAAA,EAEA,SAAoB;AACnB,UAAM,YAEF;AAAA,MACH,MAAM;AAAA,MACN,UAAU;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,QACT,cAAc,KAAK,6BAA6B,aAAa,KAAK,KAAK,4BAA4B;AAAA,QACnG,cAAc,KAAK,6BAA6B,aAAa,KAAK,KAAK,4BAA4B;AAAA,QACnG,YAAY,KAAK,2BAA2B,WAAW,KAAK,KAAK,0BAA0B;AAAA,QAC3F,WAAW,KAAK,0BAA0B,UAAU,KAAK,KAAK,yBAAyB;AAAA,MAAA;AAAA,MAExF,OAAO;AAAA,QACN,oBAAoB,KAAK,oBAAoB,mBAAmB,KAAK,KAAK,mBAAmB;AAAA,QAC7F,iBAAiB,KAAK,oBAAoB,gBAAgB,KAAK,KAAK,mBAAmB;AAAA,QACvF,cAAc,KAAK,oBAAoB,aAAa,KAAK,KAAK,mBAAmB;AAAA,QACjF,OAAO,KAAK,oBAAoB,MAAM,KAAK,KAAK,mBAAmB;AAAA,QACnE,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAAA;AAAA,IAClF;AAED,WAAO;AAAA,EACR;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessBatchMutationResolver.cjs","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.ts"],"sourcesContent":["import { MutationResolvers } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { EventDispatcher } from '../../../dispatch/EventDispatcher'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class ProcessBatchMutationResolver implements MutationResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate eventDispatcher: EventDispatcher,\n\t) {\n\t}\n\tasync processBatch(parent: unknown, args: unknown, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_PROCESS)\n\n\t\tawait this.eventDispatcher.processBatch(ctx)\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":["ActionsAuthorizationActions"],"mappings":";;;;;AAKO,MAAM,6BAA0E;AAAA,EACtF,YACS,iBACP;AADO,SAAA,kBAAA;AAAA,EAAA;AAAA,EAGT,MAAM,aAAa,QAAiB,MAAe,KAAqB;AACjE,UAAA,IAAI,cAAcA,4BAAA,4BAA4B,cAAc;AAE5D,UAAA,KAAK,gBAAgB,aAAa,GAAG;AACpC,WAAA;AAAA,MACN,IAAI;AAAA,IACL;AAAA,EAAA;AAEF;;"}
1
+ {"version":3,"file":"ProcessBatchMutationResolver.cjs","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.ts"],"sourcesContent":["import { MutationResolvers } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { EventDispatcher } from '../../../dispatch/EventDispatcher'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class ProcessBatchMutationResolver implements MutationResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate eventDispatcher: EventDispatcher,\n\t) {\n\t}\n\tasync processBatch(parent: unknown, args: unknown, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_PROCESS)\n\n\t\tawait this.eventDispatcher.processBatch(ctx)\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":["ActionsAuthorizationActions"],"mappings":";;;;;AAKO,MAAM,6BAA0E;AAAA,EACtF,YACS,iBACP;AADO,SAAA,kBAAA;AAAA,EAET;AAAA,EACA,MAAM,aAAa,QAAiB,MAAe,KAAqB;AACvE,UAAM,IAAI,cAAcA,4BAAAA,4BAA4B,cAAc;AAElE,UAAM,KAAK,gBAAgB,aAAa,GAAG;AAC3C,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessBatchMutationResolver.js","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.ts"],"sourcesContent":["import { MutationResolvers } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { EventDispatcher } from '../../../dispatch/EventDispatcher'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class ProcessBatchMutationResolver implements MutationResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate eventDispatcher: EventDispatcher,\n\t) {\n\t}\n\tasync processBatch(parent: unknown, args: unknown, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_PROCESS)\n\n\t\tawait this.eventDispatcher.processBatch(ctx)\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,6BAA0E;AAAA,EACtF,YACS,iBACP;AADO,SAAA,kBAAA;AAAA,EAAA;AAAA,EAGT,MAAM,aAAa,QAAiB,MAAe,KAAqB;AACjE,UAAA,IAAI,cAAc,4BAA4B,cAAc;AAE5D,UAAA,KAAK,gBAAgB,aAAa,GAAG;AACpC,WAAA;AAAA,MACN,IAAI;AAAA,IACL;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"ProcessBatchMutationResolver.js","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.ts"],"sourcesContent":["import { MutationResolvers } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { EventDispatcher } from '../../../dispatch/EventDispatcher'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class ProcessBatchMutationResolver implements MutationResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate eventDispatcher: EventDispatcher,\n\t) {\n\t}\n\tasync processBatch(parent: unknown, args: unknown, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_PROCESS)\n\n\t\tawait this.eventDispatcher.processBatch(ctx)\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,6BAA0E;AAAA,EACtF,YACS,iBACP;AADO,SAAA,kBAAA;AAAA,EAET;AAAA,EACA,MAAM,aAAa,QAAiB,MAAe,KAAqB;AACvE,UAAM,IAAI,cAAc,4BAA4B,cAAc;AAElE,UAAM,KAAK,gBAAgB,aAAa,GAAG;AAC3C,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const ActionsAuthorizationActions = require("../../../authorization/ActionsAuthorizationActions.cjs");
4
+ require("@contember/authorization");
5
+ require("@contember/schema");
6
+ const notifyChannel = require("../../../utils/notifyChannel.cjs");
7
+ class RetryEventMutationResolver {
8
+ constructor(eventsRepository) {
9
+ this.eventsRepository = eventsRepository;
10
+ }
11
+ async retryEvent(parent, args, ctx) {
12
+ await ctx.requireAccess(ActionsAuthorizationActions.ActionsAuthorizationActions.EVENTS_RETRY);
13
+ await this.eventsRepository.requeue(ctx.db.client, [args.id]);
14
+ await notifyChannel.notify(ctx.db.client, ctx.project.slug);
15
+ return {
16
+ ok: true
17
+ };
18
+ }
19
+ }
20
+ exports.RetryEventMutationResolver = RetryEventMutationResolver;
21
+ //# sourceMappingURL=RetryEventMutationResolver.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RetryEventMutationResolver.cjs","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/mutation/RetryEventMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationRetryEventArgs } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { ActionsAuthorizationActions } from '../../../authorization'\nimport { EventsRepository } from '../../../dispatch/EventsRepository'\nimport { notify } from '../../../utils/notifyChannel'\n\nexport class RetryEventMutationResolver implements MutationResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate readonly eventsRepository: EventsRepository,\n\t) {\n\t}\n\tasync retryEvent(parent: unknown, args: MutationRetryEventArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_RETRY)\n\n\t\tawait this.eventsRepository.requeue(ctx.db.client, [args.id])\n\t\tawait notify(ctx.db.client, ctx.project.slug)\n\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":["ActionsAuthorizationActions","notify"],"mappings":";;;;;;AAMO,MAAM,2BAAwE;AAAA,EACpF,YACkB,kBAChB;AADgB,SAAA,mBAAA;AAAA,EAElB;AAAA,EACA,MAAM,WAAW,QAAiB,MAA8B,KAAqB;AACpF,UAAM,IAAI,cAAcA,4BAAAA,4BAA4B,YAAY;AAEhE,UAAM,KAAK,iBAAiB,QAAQ,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;AAC5D,UAAMC,cAAAA,OAAO,IAAI,GAAG,QAAQ,IAAI,QAAQ,IAAI;AAE5C,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;;"}
@@ -0,0 +1,21 @@
1
+ import { ActionsAuthorizationActions } from "../../../authorization/ActionsAuthorizationActions.js";
2
+ import "@contember/authorization";
3
+ import "@contember/schema";
4
+ import { notify } from "../../../utils/notifyChannel.js";
5
+ class RetryEventMutationResolver {
6
+ constructor(eventsRepository) {
7
+ this.eventsRepository = eventsRepository;
8
+ }
9
+ async retryEvent(parent, args, ctx) {
10
+ await ctx.requireAccess(ActionsAuthorizationActions.EVENTS_RETRY);
11
+ await this.eventsRepository.requeue(ctx.db.client, [args.id]);
12
+ await notify(ctx.db.client, ctx.project.slug);
13
+ return {
14
+ ok: true
15
+ };
16
+ }
17
+ }
18
+ export {
19
+ RetryEventMutationResolver
20
+ };
21
+ //# sourceMappingURL=RetryEventMutationResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RetryEventMutationResolver.js","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/mutation/RetryEventMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationRetryEventArgs } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { ActionsAuthorizationActions } from '../../../authorization'\nimport { EventsRepository } from '../../../dispatch/EventsRepository'\nimport { notify } from '../../../utils/notifyChannel'\n\nexport class RetryEventMutationResolver implements MutationResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate readonly eventsRepository: EventsRepository,\n\t) {\n\t}\n\tasync retryEvent(parent: unknown, args: MutationRetryEventArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_RETRY)\n\n\t\tawait this.eventsRepository.requeue(ctx.db.client, [args.id])\n\t\tawait notify(ctx.db.client, ctx.project.slug)\n\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAMO,MAAM,2BAAwE;AAAA,EACpF,YACkB,kBAChB;AADgB,SAAA,mBAAA;AAAA,EAElB;AAAA,EACA,MAAM,WAAW,QAAiB,MAA8B,KAAqB;AACpF,UAAM,IAAI,cAAc,4BAA4B,YAAY;AAEhE,UAAM,KAAK,iBAAiB,QAAQ,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;AAC5D,UAAM,OAAO,IAAI,GAAG,QAAQ,IAAI,QAAQ,IAAI;AAE5C,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SetVariablesMutationResolver.cjs","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/mutation/SetVariablesMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationSetVariablesArgs } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { VariablesManager } from '../../../model/VariablesManager'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class SetVariablesMutationResolver implements MutationResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate readonly variablesManager: VariablesManager,\n\t) {\n\t}\n\n\n\tasync setVariables(parent: unknown, { args }: MutationSetVariablesArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.VARIABLES_SET)\n\n\t\tawait this.variablesManager.setVariables(ctx.db, args)\n\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":["ActionsAuthorizationActions"],"mappings":";;;;;AAKO,MAAM,6BAA0E;AAAA,EACtF,YACkB,kBAChB;AADgB,SAAA,mBAAA;AAAA,EAAA;AAAA,EAKlB,MAAM,aAAa,QAAiB,EAAE,KAAA,GAAkC,KAAqB;AACtF,UAAA,IAAI,cAAcA,4BAAA,4BAA4B,aAAa;AAEjE,UAAM,KAAK,iBAAiB,aAAa,IAAI,IAAI,IAAI;AAE9C,WAAA;AAAA,MACN,IAAI;AAAA,IACL;AAAA,EAAA;AAEF;;"}
1
+ {"version":3,"file":"SetVariablesMutationResolver.cjs","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/mutation/SetVariablesMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationSetVariablesArgs } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { VariablesManager } from '../../../model/VariablesManager'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class SetVariablesMutationResolver implements MutationResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate readonly variablesManager: VariablesManager,\n\t) {\n\t}\n\n\tasync setVariables(parent: unknown, { args }: MutationSetVariablesArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.VARIABLES_SET)\n\n\t\tawait this.variablesManager.setVariables(ctx.db, args)\n\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":["ActionsAuthorizationActions"],"mappings":";;;;;AAKO,MAAM,6BAA0E;AAAA,EACtF,YACkB,kBAChB;AADgB,SAAA,mBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,aAAa,QAAiB,EAAE,KAAA,GAAkC,KAAqB;AAC5F,UAAM,IAAI,cAAcA,4BAAAA,4BAA4B,aAAa;AAEjE,UAAM,KAAK,iBAAiB,aAAa,IAAI,IAAI,IAAI;AAErD,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SetVariablesMutationResolver.js","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/mutation/SetVariablesMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationSetVariablesArgs } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { VariablesManager } from '../../../model/VariablesManager'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class SetVariablesMutationResolver implements MutationResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate readonly variablesManager: VariablesManager,\n\t) {\n\t}\n\n\n\tasync setVariables(parent: unknown, { args }: MutationSetVariablesArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.VARIABLES_SET)\n\n\t\tawait this.variablesManager.setVariables(ctx.db, args)\n\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,6BAA0E;AAAA,EACtF,YACkB,kBAChB;AADgB,SAAA,mBAAA;AAAA,EAAA;AAAA,EAKlB,MAAM,aAAa,QAAiB,EAAE,KAAA,GAAkC,KAAqB;AACtF,UAAA,IAAI,cAAc,4BAA4B,aAAa;AAEjE,UAAM,KAAK,iBAAiB,aAAa,IAAI,IAAI,IAAI;AAE9C,WAAA;AAAA,MACN,IAAI;AAAA,IACL;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"SetVariablesMutationResolver.js","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/mutation/SetVariablesMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationSetVariablesArgs } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { VariablesManager } from '../../../model/VariablesManager'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class SetVariablesMutationResolver implements MutationResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate readonly variablesManager: VariablesManager,\n\t) {\n\t}\n\n\tasync setVariables(parent: unknown, { args }: MutationSetVariablesArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.VARIABLES_SET)\n\n\t\tawait this.variablesManager.setVariables(ctx.db, args)\n\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,6BAA0E;AAAA,EACtF,YACkB,kBAChB;AADgB,SAAA,mBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,aAAa,QAAiB,EAAE,KAAA,GAAkC,KAAqB;AAC5F,UAAM,IAAI,cAAc,4BAA4B,aAAa;AAEjE,UAAM,KAAK,iBAAiB,aAAa,IAAI,IAAI,IAAI;AAErD,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const ActionsAuthorizationActions = require("../../../authorization/ActionsAuthorizationActions.cjs");
4
+ require("@contember/authorization");
5
+ require("@contember/schema");
6
+ class StopEventMutationResolver {
7
+ constructor(eventsRepository) {
8
+ this.eventsRepository = eventsRepository;
9
+ }
10
+ async stopEvent(parent, args, ctx) {
11
+ await ctx.requireAccess(ActionsAuthorizationActions.ActionsAuthorizationActions.EVENTS_STOP);
12
+ await this.eventsRepository.markStopped(ctx.db.client, [args.id]);
13
+ return {
14
+ ok: true
15
+ };
16
+ }
17
+ }
18
+ exports.StopEventMutationResolver = StopEventMutationResolver;
19
+ //# sourceMappingURL=StopEventMutationResolver.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StopEventMutationResolver.cjs","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/mutation/StopEventMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationRetryEventArgs } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { ActionsAuthorizationActions } from '../../../authorization'\nimport { EventsRepository } from '../../../dispatch/EventsRepository'\n\nexport class StopEventMutationResolver implements MutationResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate readonly eventsRepository: EventsRepository,\n\t) {\n\t}\n\tasync stopEvent(parent: unknown, args: MutationRetryEventArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_STOP)\n\n\t\tawait this.eventsRepository.markStopped(ctx.db.client, [args.id])\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":["ActionsAuthorizationActions"],"mappings":";;;;;AAKO,MAAM,0BAAuE;AAAA,EACnF,YACkB,kBAChB;AADgB,SAAA,mBAAA;AAAA,EAElB;AAAA,EACA,MAAM,UAAU,QAAiB,MAA8B,KAAqB;AACnF,UAAM,IAAI,cAAcA,4BAAAA,4BAA4B,WAAW;AAE/D,UAAM,KAAK,iBAAiB,YAAY,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;AAChE,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;;"}
@@ -0,0 +1,19 @@
1
+ import { ActionsAuthorizationActions } from "../../../authorization/ActionsAuthorizationActions.js";
2
+ import "@contember/authorization";
3
+ import "@contember/schema";
4
+ class StopEventMutationResolver {
5
+ constructor(eventsRepository) {
6
+ this.eventsRepository = eventsRepository;
7
+ }
8
+ async stopEvent(parent, args, ctx) {
9
+ await ctx.requireAccess(ActionsAuthorizationActions.EVENTS_STOP);
10
+ await this.eventsRepository.markStopped(ctx.db.client, [args.id]);
11
+ return {
12
+ ok: true
13
+ };
14
+ }
15
+ }
16
+ export {
17
+ StopEventMutationResolver
18
+ };
19
+ //# sourceMappingURL=StopEventMutationResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StopEventMutationResolver.js","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/mutation/StopEventMutationResolver.ts"],"sourcesContent":["import { MutationResolvers, MutationRetryEventArgs } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { ActionsAuthorizationActions } from '../../../authorization'\nimport { EventsRepository } from '../../../dispatch/EventsRepository'\n\nexport class StopEventMutationResolver implements MutationResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate readonly eventsRepository: EventsRepository,\n\t) {\n\t}\n\tasync stopEvent(parent: unknown, args: MutationRetryEventArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_STOP)\n\n\t\tawait this.eventsRepository.markStopped(ctx.db.client, [args.id])\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,0BAAuE;AAAA,EACnF,YACkB,kBAChB;AADgB,SAAA,mBAAA;AAAA,EAElB;AAAA,EACA,MAAM,UAAU,QAAiB,MAA8B,KAAqB;AACnF,UAAM,IAAI,cAAc,4BAA4B,WAAW;AAE/D,UAAM,KAAK,iBAAiB,YAAY,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;AAChE,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;"}
@@ -7,6 +7,7 @@ const FailedEventsQuery = require("../../../model/FailedEventsQuery.cjs");
7
7
  const ActionsAuthorizationActions = require("../../../authorization/ActionsAuthorizationActions.cjs");
8
8
  require("@contember/authorization");
9
9
  require("@contember/schema");
10
+ const EventByIdQuery = require("../../../model/EventByIdQuery.cjs");
10
11
  class EventsQueryResolver {
11
12
  async eventsInProcessing(parent, { args }, ctx) {
12
13
  await ctx.requireAccess(ActionsAuthorizationActions.ActionsAuthorizationActions.EVENTS_VIEW);
@@ -20,6 +21,15 @@ class EventsQueryResolver {
20
21
  await ctx.requireAccess(ActionsAuthorizationActions.ActionsAuthorizationActions.EVENTS_VIEW);
21
22
  return await this.fetchEvents(ctx.db, new FailedEventsQuery.FailedEventsQuery(args ?? {}));
22
23
  }
24
+ async event(parent, { id }, ctx) {
25
+ await ctx.requireAccess(ActionsAuthorizationActions.ActionsAuthorizationActions.EVENTS_VIEW);
26
+ const stages = await this.fetchStagesMap(ctx.db);
27
+ const result = await ctx.db.queryHandler.fetch(new EventByIdQuery.EventByIdQuery(id));
28
+ if (!result) {
29
+ return null;
30
+ }
31
+ return this.mapEventRows([result], stages)[0];
32
+ }
23
33
  async fetchEvents(db, query) {
24
34
  const stages = await this.fetchStagesMap(db);
25
35
  return this.mapEventRows(await db.queryHandler.fetch(query), stages);
@@ -40,7 +50,10 @@ class EventsQueryResolver {
40
50
  stage: stagesMap[row.stage_id],
41
51
  state: row.state,
42
52
  target: row.target,
43
- transactionId: row.transaction_id
53
+ transactionId: row.transaction_id,
54
+ identityId: row.identity_id ?? void 0,
55
+ ipAddress: row.ip_address ?? void 0,
56
+ userAgent: row.user_agent ?? void 0
44
57
  }));
45
58
  }
46
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EventsQueryResolver.cjs","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/query/EventsQueryResolver.ts"],"sourcesContent":["import {\n\tEvent,\n\tQueryEventsInProcessingArgs,\n\tQueryEventsToProcessArgs,\n\tQueryFailedEventsArgs,\n\tQueryResolvers,\n} from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { EventsToProcessQuery } from '../../../model/EventsToProcessQuery'\nimport { EventRow } from '../../../model/types'\nimport { DatabaseContext, StagesQuery } from '@contember/engine-system-api'\nimport { Client, DatabaseQuery } from '@contember/database'\nimport { EventsInProcessingQuery } from '../../../model/EventsInProcessingQuery'\nimport { FailedEventsQuery } from '../../../model/FailedEventsQuery'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class EventsQueryResolver implements QueryResolvers<ActionsContext> {\n\tasync eventsInProcessing(parent: unknown, { args }: QueryEventsInProcessingArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\n\t\treturn await this.fetchEvents(ctx.db, new EventsInProcessingQuery(args ?? {}))\n\t}\n\n\tasync eventsToProcess(parent: unknown, { args }: QueryEventsToProcessArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\n\t\treturn await this.fetchEvents(ctx.db, new EventsToProcessQuery(args ?? {}))\n\t}\n\n\tasync failedEvents(parent: unknown, { args }: QueryFailedEventsArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\n\t\treturn await this.fetchEvents(ctx.db, new FailedEventsQuery(args ?? {}))\n\t}\n\n\tprivate async fetchEvents(db: DatabaseContext, query: DatabaseQuery<EventRow[]>) {\n\t\tconst stages = await this.fetchStagesMap(db)\n\t\treturn this.mapEventRows(await db.queryHandler.fetch(query), stages)\n\t}\n\n\tprivate async fetchStagesMap(db: DatabaseContext): Promise<Record<string, string>> {\n\t\treturn Object.fromEntries((await db.queryHandler.fetch(new StagesQuery())).map(it => [it.id, it.slug]))\n\t}\n\n\tprivate mapEventRows(rows: EventRow[], stagesMap: Record<string, string>): Event[] {\n\n\t\treturn rows.map(row => ({\n\t\t\tid: row.id,\n\t\t\tcreatedAt: row.created_at,\n\t\t\tresolvedAt: row.created_at,\n\t\t\tlastStateChange: row.last_state_change,\n\t\t\tvisibleAt: row.visible_at,\n\t\t\tlog: row.log,\n\t\t\tnumRetries: row.num_retries,\n\t\t\tpayload: row.payload,\n\t\t\tstage: stagesMap[row.stage_id],\n\t\t\tstate: row.state,\n\t\t\ttarget: row.target,\n\t\t\ttransactionId: row.transaction_id,\n\t\t}))\n\t}\n}\n"],"names":["ActionsAuthorizationActions","EventsInProcessingQuery","EventsToProcessQuery","FailedEventsQuery","StagesQuery"],"mappings":";;;;;;;;;AAgBO,MAAM,oBAA8D;AAAA,EAC1E,MAAM,mBAAmB,QAAiB,EAAE,KAAA,GAAqC,KAAqB;AAC/F,UAAA,IAAI,cAAcA,4BAAA,4BAA4B,WAAW;AAExD,WAAA,MAAM,KAAK,YAAY,IAAI,IAAI,IAAIC,wBAAwB,wBAAA,QAAQ,CAAA,CAAE,CAAC;AAAA,EAAA;AAAA,EAG9E,MAAM,gBAAgB,QAAiB,EAAE,KAAA,GAAkC,KAAqB;AACzF,UAAA,IAAI,cAAcD,4BAAA,4BAA4B,WAAW;AAExD,WAAA,MAAM,KAAK,YAAY,IAAI,IAAI,IAAIE,qBAAqB,qBAAA,QAAQ,CAAA,CAAE,CAAC;AAAA,EAAA;AAAA,EAG3E,MAAM,aAAa,QAAiB,EAAE,KAAA,GAA+B,KAAqB;AACnF,UAAA,IAAI,cAAcF,4BAAA,4BAA4B,WAAW;AAExD,WAAA,MAAM,KAAK,YAAY,IAAI,IAAI,IAAIG,kBAAkB,kBAAA,QAAQ,CAAA,CAAE,CAAC;AAAA,EAAA;AAAA,EAGxE,MAAc,YAAY,IAAqB,OAAkC;AAChF,UAAM,SAAS,MAAM,KAAK,eAAe,EAAE;AACpC,WAAA,KAAK,aAAa,MAAM,GAAG,aAAa,MAAM,KAAK,GAAG,MAAM;AAAA,EAAA;AAAA,EAGpE,MAAc,eAAe,IAAsD;AAClF,WAAO,OAAO,aAAa,MAAM,GAAG,aAAa,MAAM,IAAIC,gBAAY,YAAA,CAAC,GAAG,IAAI,QAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAAA,EAAA;AAAA,EAG/F,aAAa,MAAkB,WAA4C;AAE3E,WAAA,KAAK,IAAI,CAAQ,SAAA;AAAA,MACvB,IAAI,IAAI;AAAA,MACR,WAAW,IAAI;AAAA,MACf,YAAY,IAAI;AAAA,MAChB,iBAAiB,IAAI;AAAA,MACrB,WAAW,IAAI;AAAA,MACf,KAAK,IAAI;AAAA,MACT,YAAY,IAAI;AAAA,MAChB,SAAS,IAAI;AAAA,MACb,OAAO,UAAU,IAAI,QAAQ;AAAA,MAC7B,OAAO,IAAI;AAAA,MACX,QAAQ,IAAI;AAAA,MACZ,eAAe,IAAI;AAAA,IAAA,EAClB;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"EventsQueryResolver.cjs","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/query/EventsQueryResolver.ts"],"sourcesContent":["import { Event, QueryEventsInProcessingArgs, QueryEventsToProcessArgs, QueryFailedEventsArgs, QueryResolvers } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { EventsToProcessQuery } from '../../../model/EventsToProcessQuery'\nimport { EventRow } from '../../../model/types'\nimport { DatabaseContext, StagesQuery } from '@contember/engine-system-api'\nimport { Client, DatabaseQuery } from '@contember/database'\nimport { EventsInProcessingQuery } from '../../../model/EventsInProcessingQuery'\nimport { FailedEventsQuery } from '../../../model/FailedEventsQuery'\nimport { ActionsAuthorizationActions } from '../../../authorization'\nimport { EventByIdQuery } from '../../../model/EventByIdQuery'\n\nexport class EventsQueryResolver implements QueryResolvers<ActionsContext> {\n\tasync eventsInProcessing(parent: unknown, { args }: QueryEventsInProcessingArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\n\t\treturn await this.fetchEvents(ctx.db, new EventsInProcessingQuery(args ?? {}))\n\t}\n\n\tasync eventsToProcess(parent: unknown, { args }: QueryEventsToProcessArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\n\t\treturn await this.fetchEvents(ctx.db, new EventsToProcessQuery(args ?? {}))\n\t}\n\n\tasync failedEvents(parent: unknown, { args }: QueryFailedEventsArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\n\t\treturn await this.fetchEvents(ctx.db, new FailedEventsQuery(args ?? {}))\n\t}\n\n\tasync event(parent: unknown, { id }: { id: string }, ctx: ActionsContext): Promise<Event | null> {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\t\tconst stages = await this.fetchStagesMap(ctx.db)\n\t\tconst result = await ctx.db.queryHandler.fetch(new EventByIdQuery(id))\n\t\tif (!result) {\n\t\t\treturn null\n\t\t}\n\t\treturn this.mapEventRows([result], stages)[0]\n\t}\n\n\tprivate async fetchEvents(db: DatabaseContext, query: DatabaseQuery<EventRow[]>) {\n\t\tconst stages = await this.fetchStagesMap(db)\n\t\treturn this.mapEventRows(await db.queryHandler.fetch(query), stages)\n\t}\n\n\tprivate async fetchStagesMap(db: DatabaseContext): Promise<Record<string, string>> {\n\t\treturn Object.fromEntries((await db.queryHandler.fetch(new StagesQuery())).map(it => [it.id, it.slug]))\n\t}\n\n\tprivate mapEventRows(rows: EventRow[], stagesMap: Record<string, string>): Event[] {\n\t\treturn rows.map(row => ({\n\t\t\tid: row.id,\n\t\t\tcreatedAt: row.created_at,\n\t\t\tresolvedAt: row.created_at,\n\t\t\tlastStateChange: row.last_state_change,\n\t\t\tvisibleAt: row.visible_at,\n\t\t\tlog: row.log,\n\t\t\tnumRetries: row.num_retries,\n\t\t\tpayload: row.payload,\n\t\t\tstage: stagesMap[row.stage_id],\n\t\t\tstate: row.state,\n\t\t\ttarget: row.target,\n\t\t\ttransactionId: row.transaction_id,\n\t\t\tidentityId: row.identity_id ?? undefined,\n\t\t\tipAddress: row.ip_address ?? undefined,\n\t\t\tuserAgent: row.user_agent ?? undefined,\n\t\t}))\n\t}\n}\n"],"names":["ActionsAuthorizationActions","EventsInProcessingQuery","EventsToProcessQuery","FailedEventsQuery","EventByIdQuery","StagesQuery"],"mappings":";;;;;;;;;;AAWO,MAAM,oBAA8D;AAAA,EAC1E,MAAM,mBAAmB,QAAiB,EAAE,KAAA,GAAqC,KAAqB;AACrG,UAAM,IAAI,cAAcA,4BAAAA,4BAA4B,WAAW;AAE/D,WAAO,MAAM,KAAK,YAAY,IAAI,IAAI,IAAIC,wBAAAA,wBAAwB,QAAQ,CAAA,CAAE,CAAC;AAAA,EAC9E;AAAA,EAEA,MAAM,gBAAgB,QAAiB,EAAE,KAAA,GAAkC,KAAqB;AAC/F,UAAM,IAAI,cAAcD,4BAAAA,4BAA4B,WAAW;AAE/D,WAAO,MAAM,KAAK,YAAY,IAAI,IAAI,IAAIE,qBAAAA,qBAAqB,QAAQ,CAAA,CAAE,CAAC;AAAA,EAC3E;AAAA,EAEA,MAAM,aAAa,QAAiB,EAAE,KAAA,GAA+B,KAAqB;AACzF,UAAM,IAAI,cAAcF,4BAAAA,4BAA4B,WAAW;AAE/D,WAAO,MAAM,KAAK,YAAY,IAAI,IAAI,IAAIG,kBAAAA,kBAAkB,QAAQ,CAAA,CAAE,CAAC;AAAA,EACxE;AAAA,EAEA,MAAM,MAAM,QAAiB,EAAE,GAAA,GAAsB,KAA4C;AAChG,UAAM,IAAI,cAAcH,4BAAAA,4BAA4B,WAAW;AAC/D,UAAM,SAAS,MAAM,KAAK,eAAe,IAAI,EAAE;AAC/C,UAAM,SAAS,MAAM,IAAI,GAAG,aAAa,MAAM,IAAII,8BAAe,EAAE,CAAC;AACrE,QAAI,CAAC,QAAQ;AACZ,aAAO;AAAA,IACR;AACA,WAAO,KAAK,aAAa,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;AAAA,EAC7C;AAAA,EAEA,MAAc,YAAY,IAAqB,OAAkC;AAChF,UAAM,SAAS,MAAM,KAAK,eAAe,EAAE;AAC3C,WAAO,KAAK,aAAa,MAAM,GAAG,aAAa,MAAM,KAAK,GAAG,MAAM;AAAA,EACpE;AAAA,EAEA,MAAc,eAAe,IAAsD;AAClF,WAAO,OAAO,aAAa,MAAM,GAAG,aAAa,MAAM,IAAIC,gBAAAA,YAAA,CAAa,GAAG,IAAI,QAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAAA,EACvG;AAAA,EAEQ,aAAa,MAAkB,WAA4C;AAClF,WAAO,KAAK,IAAI,CAAA,SAAQ;AAAA,MACvB,IAAI,IAAI;AAAA,MACR,WAAW,IAAI;AAAA,MACf,YAAY,IAAI;AAAA,MAChB,iBAAiB,IAAI;AAAA,MACrB,WAAW,IAAI;AAAA,MACf,KAAK,IAAI;AAAA,MACT,YAAY,IAAI;AAAA,MAChB,SAAS,IAAI;AAAA,MACb,OAAO,UAAU,IAAI,QAAQ;AAAA,MAC7B,OAAO,IAAI;AAAA,MACX,QAAQ,IAAI;AAAA,MACZ,eAAe,IAAI;AAAA,MACnB,YAAY,IAAI,eAAe;AAAA,MAC/B,WAAW,IAAI,cAAc;AAAA,MAC7B,WAAW,IAAI,cAAc;AAAA,IAAA,EAC5B;AAAA,EACH;AACD;;"}
@@ -5,6 +5,7 @@ import { FailedEventsQuery } from "../../../model/FailedEventsQuery.js";
5
5
  import { ActionsAuthorizationActions } from "../../../authorization/ActionsAuthorizationActions.js";
6
6
  import "@contember/authorization";
7
7
  import "@contember/schema";
8
+ import { EventByIdQuery } from "../../../model/EventByIdQuery.js";
8
9
  class EventsQueryResolver {
9
10
  async eventsInProcessing(parent, { args }, ctx) {
10
11
  await ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW);
@@ -18,6 +19,15 @@ class EventsQueryResolver {
18
19
  await ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW);
19
20
  return await this.fetchEvents(ctx.db, new FailedEventsQuery(args ?? {}));
20
21
  }
22
+ async event(parent, { id }, ctx) {
23
+ await ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW);
24
+ const stages = await this.fetchStagesMap(ctx.db);
25
+ const result = await ctx.db.queryHandler.fetch(new EventByIdQuery(id));
26
+ if (!result) {
27
+ return null;
28
+ }
29
+ return this.mapEventRows([result], stages)[0];
30
+ }
21
31
  async fetchEvents(db, query) {
22
32
  const stages = await this.fetchStagesMap(db);
23
33
  return this.mapEventRows(await db.queryHandler.fetch(query), stages);
@@ -38,7 +48,10 @@ class EventsQueryResolver {
38
48
  stage: stagesMap[row.stage_id],
39
49
  state: row.state,
40
50
  target: row.target,
41
- transactionId: row.transaction_id
51
+ transactionId: row.transaction_id,
52
+ identityId: row.identity_id ?? void 0,
53
+ ipAddress: row.ip_address ?? void 0,
54
+ userAgent: row.user_agent ?? void 0
42
55
  }));
43
56
  }
44
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EventsQueryResolver.js","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/query/EventsQueryResolver.ts"],"sourcesContent":["import {\n\tEvent,\n\tQueryEventsInProcessingArgs,\n\tQueryEventsToProcessArgs,\n\tQueryFailedEventsArgs,\n\tQueryResolvers,\n} from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { EventsToProcessQuery } from '../../../model/EventsToProcessQuery'\nimport { EventRow } from '../../../model/types'\nimport { DatabaseContext, StagesQuery } from '@contember/engine-system-api'\nimport { Client, DatabaseQuery } from '@contember/database'\nimport { EventsInProcessingQuery } from '../../../model/EventsInProcessingQuery'\nimport { FailedEventsQuery } from '../../../model/FailedEventsQuery'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class EventsQueryResolver implements QueryResolvers<ActionsContext> {\n\tasync eventsInProcessing(parent: unknown, { args }: QueryEventsInProcessingArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\n\t\treturn await this.fetchEvents(ctx.db, new EventsInProcessingQuery(args ?? {}))\n\t}\n\n\tasync eventsToProcess(parent: unknown, { args }: QueryEventsToProcessArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\n\t\treturn await this.fetchEvents(ctx.db, new EventsToProcessQuery(args ?? {}))\n\t}\n\n\tasync failedEvents(parent: unknown, { args }: QueryFailedEventsArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\n\t\treturn await this.fetchEvents(ctx.db, new FailedEventsQuery(args ?? {}))\n\t}\n\n\tprivate async fetchEvents(db: DatabaseContext, query: DatabaseQuery<EventRow[]>) {\n\t\tconst stages = await this.fetchStagesMap(db)\n\t\treturn this.mapEventRows(await db.queryHandler.fetch(query), stages)\n\t}\n\n\tprivate async fetchStagesMap(db: DatabaseContext): Promise<Record<string, string>> {\n\t\treturn Object.fromEntries((await db.queryHandler.fetch(new StagesQuery())).map(it => [it.id, it.slug]))\n\t}\n\n\tprivate mapEventRows(rows: EventRow[], stagesMap: Record<string, string>): Event[] {\n\n\t\treturn rows.map(row => ({\n\t\t\tid: row.id,\n\t\t\tcreatedAt: row.created_at,\n\t\t\tresolvedAt: row.created_at,\n\t\t\tlastStateChange: row.last_state_change,\n\t\t\tvisibleAt: row.visible_at,\n\t\t\tlog: row.log,\n\t\t\tnumRetries: row.num_retries,\n\t\t\tpayload: row.payload,\n\t\t\tstage: stagesMap[row.stage_id],\n\t\t\tstate: row.state,\n\t\t\ttarget: row.target,\n\t\t\ttransactionId: row.transaction_id,\n\t\t}))\n\t}\n}\n"],"names":[],"mappings":";;;;;;;AAgBO,MAAM,oBAA8D;AAAA,EAC1E,MAAM,mBAAmB,QAAiB,EAAE,KAAA,GAAqC,KAAqB;AAC/F,UAAA,IAAI,cAAc,4BAA4B,WAAW;AAExD,WAAA,MAAM,KAAK,YAAY,IAAI,IAAI,IAAI,wBAAwB,QAAQ,CAAA,CAAE,CAAC;AAAA,EAAA;AAAA,EAG9E,MAAM,gBAAgB,QAAiB,EAAE,KAAA,GAAkC,KAAqB;AACzF,UAAA,IAAI,cAAc,4BAA4B,WAAW;AAExD,WAAA,MAAM,KAAK,YAAY,IAAI,IAAI,IAAI,qBAAqB,QAAQ,CAAA,CAAE,CAAC;AAAA,EAAA;AAAA,EAG3E,MAAM,aAAa,QAAiB,EAAE,KAAA,GAA+B,KAAqB;AACnF,UAAA,IAAI,cAAc,4BAA4B,WAAW;AAExD,WAAA,MAAM,KAAK,YAAY,IAAI,IAAI,IAAI,kBAAkB,QAAQ,CAAA,CAAE,CAAC;AAAA,EAAA;AAAA,EAGxE,MAAc,YAAY,IAAqB,OAAkC;AAChF,UAAM,SAAS,MAAM,KAAK,eAAe,EAAE;AACpC,WAAA,KAAK,aAAa,MAAM,GAAG,aAAa,MAAM,KAAK,GAAG,MAAM;AAAA,EAAA;AAAA,EAGpE,MAAc,eAAe,IAAsD;AAClF,WAAO,OAAO,aAAa,MAAM,GAAG,aAAa,MAAM,IAAI,YAAY,CAAC,GAAG,IAAI,QAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAAA,EAAA;AAAA,EAG/F,aAAa,MAAkB,WAA4C;AAE3E,WAAA,KAAK,IAAI,CAAQ,SAAA;AAAA,MACvB,IAAI,IAAI;AAAA,MACR,WAAW,IAAI;AAAA,MACf,YAAY,IAAI;AAAA,MAChB,iBAAiB,IAAI;AAAA,MACrB,WAAW,IAAI;AAAA,MACf,KAAK,IAAI;AAAA,MACT,YAAY,IAAI;AAAA,MAChB,SAAS,IAAI;AAAA,MACb,OAAO,UAAU,IAAI,QAAQ;AAAA,MAC7B,OAAO,IAAI;AAAA,MACX,QAAQ,IAAI;AAAA,MACZ,eAAe,IAAI;AAAA,IAAA,EAClB;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"EventsQueryResolver.js","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/query/EventsQueryResolver.ts"],"sourcesContent":["import { Event, QueryEventsInProcessingArgs, QueryEventsToProcessArgs, QueryFailedEventsArgs, QueryResolvers } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { EventsToProcessQuery } from '../../../model/EventsToProcessQuery'\nimport { EventRow } from '../../../model/types'\nimport { DatabaseContext, StagesQuery } from '@contember/engine-system-api'\nimport { Client, DatabaseQuery } from '@contember/database'\nimport { EventsInProcessingQuery } from '../../../model/EventsInProcessingQuery'\nimport { FailedEventsQuery } from '../../../model/FailedEventsQuery'\nimport { ActionsAuthorizationActions } from '../../../authorization'\nimport { EventByIdQuery } from '../../../model/EventByIdQuery'\n\nexport class EventsQueryResolver implements QueryResolvers<ActionsContext> {\n\tasync eventsInProcessing(parent: unknown, { args }: QueryEventsInProcessingArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\n\t\treturn await this.fetchEvents(ctx.db, new EventsInProcessingQuery(args ?? {}))\n\t}\n\n\tasync eventsToProcess(parent: unknown, { args }: QueryEventsToProcessArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\n\t\treturn await this.fetchEvents(ctx.db, new EventsToProcessQuery(args ?? {}))\n\t}\n\n\tasync failedEvents(parent: unknown, { args }: QueryFailedEventsArgs, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\n\t\treturn await this.fetchEvents(ctx.db, new FailedEventsQuery(args ?? {}))\n\t}\n\n\tasync event(parent: unknown, { id }: { id: string }, ctx: ActionsContext): Promise<Event | null> {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)\n\t\tconst stages = await this.fetchStagesMap(ctx.db)\n\t\tconst result = await ctx.db.queryHandler.fetch(new EventByIdQuery(id))\n\t\tif (!result) {\n\t\t\treturn null\n\t\t}\n\t\treturn this.mapEventRows([result], stages)[0]\n\t}\n\n\tprivate async fetchEvents(db: DatabaseContext, query: DatabaseQuery<EventRow[]>) {\n\t\tconst stages = await this.fetchStagesMap(db)\n\t\treturn this.mapEventRows(await db.queryHandler.fetch(query), stages)\n\t}\n\n\tprivate async fetchStagesMap(db: DatabaseContext): Promise<Record<string, string>> {\n\t\treturn Object.fromEntries((await db.queryHandler.fetch(new StagesQuery())).map(it => [it.id, it.slug]))\n\t}\n\n\tprivate mapEventRows(rows: EventRow[], stagesMap: Record<string, string>): Event[] {\n\t\treturn rows.map(row => ({\n\t\t\tid: row.id,\n\t\t\tcreatedAt: row.created_at,\n\t\t\tresolvedAt: row.created_at,\n\t\t\tlastStateChange: row.last_state_change,\n\t\t\tvisibleAt: row.visible_at,\n\t\t\tlog: row.log,\n\t\t\tnumRetries: row.num_retries,\n\t\t\tpayload: row.payload,\n\t\t\tstage: stagesMap[row.stage_id],\n\t\t\tstate: row.state,\n\t\t\ttarget: row.target,\n\t\t\ttransactionId: row.transaction_id,\n\t\t\tidentityId: row.identity_id ?? undefined,\n\t\t\tipAddress: row.ip_address ?? undefined,\n\t\t\tuserAgent: row.user_agent ?? undefined,\n\t\t}))\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;AAWO,MAAM,oBAA8D;AAAA,EAC1E,MAAM,mBAAmB,QAAiB,EAAE,KAAA,GAAqC,KAAqB;AACrG,UAAM,IAAI,cAAc,4BAA4B,WAAW;AAE/D,WAAO,MAAM,KAAK,YAAY,IAAI,IAAI,IAAI,wBAAwB,QAAQ,CAAA,CAAE,CAAC;AAAA,EAC9E;AAAA,EAEA,MAAM,gBAAgB,QAAiB,EAAE,KAAA,GAAkC,KAAqB;AAC/F,UAAM,IAAI,cAAc,4BAA4B,WAAW;AAE/D,WAAO,MAAM,KAAK,YAAY,IAAI,IAAI,IAAI,qBAAqB,QAAQ,CAAA,CAAE,CAAC;AAAA,EAC3E;AAAA,EAEA,MAAM,aAAa,QAAiB,EAAE,KAAA,GAA+B,KAAqB;AACzF,UAAM,IAAI,cAAc,4BAA4B,WAAW;AAE/D,WAAO,MAAM,KAAK,YAAY,IAAI,IAAI,IAAI,kBAAkB,QAAQ,CAAA,CAAE,CAAC;AAAA,EACxE;AAAA,EAEA,MAAM,MAAM,QAAiB,EAAE,GAAA,GAAsB,KAA4C;AAChG,UAAM,IAAI,cAAc,4BAA4B,WAAW;AAC/D,UAAM,SAAS,MAAM,KAAK,eAAe,IAAI,EAAE;AAC/C,UAAM,SAAS,MAAM,IAAI,GAAG,aAAa,MAAM,IAAI,eAAe,EAAE,CAAC;AACrE,QAAI,CAAC,QAAQ;AACZ,aAAO;AAAA,IACR;AACA,WAAO,KAAK,aAAa,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;AAAA,EAC7C;AAAA,EAEA,MAAc,YAAY,IAAqB,OAAkC;AAChF,UAAM,SAAS,MAAM,KAAK,eAAe,EAAE;AAC3C,WAAO,KAAK,aAAa,MAAM,GAAG,aAAa,MAAM,KAAK,GAAG,MAAM;AAAA,EACpE;AAAA,EAEA,MAAc,eAAe,IAAsD;AAClF,WAAO,OAAO,aAAa,MAAM,GAAG,aAAa,MAAM,IAAI,YAAA,CAAa,GAAG,IAAI,QAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAAA,EACvG;AAAA,EAEQ,aAAa,MAAkB,WAA4C;AAClF,WAAO,KAAK,IAAI,CAAA,SAAQ;AAAA,MACvB,IAAI,IAAI;AAAA,MACR,WAAW,IAAI;AAAA,MACf,YAAY,IAAI;AAAA,MAChB,iBAAiB,IAAI;AAAA,MACrB,WAAW,IAAI;AAAA,MACf,KAAK,IAAI;AAAA,MACT,YAAY,IAAI;AAAA,MAChB,SAAS,IAAI;AAAA,MACb,OAAO,UAAU,IAAI,QAAQ;AAAA,MAC7B,OAAO,IAAI;AAAA,MACX,QAAQ,IAAI;AAAA,MACZ,eAAe,IAAI;AAAA,MACnB,YAAY,IAAI,eAAe;AAAA,MAC/B,WAAW,IAAI,cAAc;AAAA,MAC7B,WAAW,IAAI,cAAc;AAAA,IAAA,EAC5B;AAAA,EACH;AACD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"VariablesQueryResolver.cjs","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/query/VariablesQueryResolver.ts"],"sourcesContent":["import { QueryResolvers } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { VariablesManager } from '../../../model/VariablesManager'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class VariablesQueryResolver implements QueryResolvers<ActionsContext> {\n\n\tconstructor(\n\t\tprivate readonly variablesManager: VariablesManager,\n\t) {\n\t}\n\n\tasync variables(parent: unknown, args: unknown, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.VARIABLES_VIEW)\n\n\t\treturn Object.entries(await this.variablesManager.fetchVariables(ctx.db)).map(([name, value]) => ({\n\t\t\tname,\n\t\t\tvalue,\n\t\t}))\n\t}\n}\n"],"names":["ActionsAuthorizationActions"],"mappings":";;;;;AAKO,MAAM,uBAAiE;AAAA,EAE7E,YACkB,kBAChB;AADgB,SAAA,mBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,UAAU,QAAiB,MAAe,KAAqB;AAC9D,UAAA,IAAI,cAAcA,4BAAA,4BAA4B,cAAc;AAElE,WAAO,OAAO,QAAQ,MAAM,KAAK,iBAAiB,eAAe,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;AAAA,MACjG;AAAA,MACA;AAAA,IAAA,EACC;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"VariablesQueryResolver.cjs","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/query/VariablesQueryResolver.ts"],"sourcesContent":["import { QueryResolvers } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { VariablesManager } from '../../../model/VariablesManager'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class VariablesQueryResolver implements QueryResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate readonly variablesManager: VariablesManager,\n\t) {\n\t}\n\n\tasync variables(parent: unknown, args: unknown, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.VARIABLES_VIEW)\n\n\t\treturn Object.entries(await this.variablesManager.fetchVariables(ctx.db)).map(([name, value]) => ({\n\t\t\tname,\n\t\t\tvalue,\n\t\t}))\n\t}\n}\n"],"names":["ActionsAuthorizationActions"],"mappings":";;;;;AAKO,MAAM,uBAAiE;AAAA,EAC7E,YACkB,kBAChB;AADgB,SAAA,mBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,UAAU,QAAiB,MAAe,KAAqB;AACpE,UAAM,IAAI,cAAcA,4BAAAA,4BAA4B,cAAc;AAElE,WAAO,OAAO,QAAQ,MAAM,KAAK,iBAAiB,eAAe,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;AAAA,MACjG;AAAA,MACA;AAAA,IAAA,EACC;AAAA,EACH;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"VariablesQueryResolver.js","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/query/VariablesQueryResolver.ts"],"sourcesContent":["import { QueryResolvers } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { VariablesManager } from '../../../model/VariablesManager'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class VariablesQueryResolver implements QueryResolvers<ActionsContext> {\n\n\tconstructor(\n\t\tprivate readonly variablesManager: VariablesManager,\n\t) {\n\t}\n\n\tasync variables(parent: unknown, args: unknown, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.VARIABLES_VIEW)\n\n\t\treturn Object.entries(await this.variablesManager.fetchVariables(ctx.db)).map(([name, value]) => ({\n\t\t\tname,\n\t\t\tvalue,\n\t\t}))\n\t}\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,uBAAiE;AAAA,EAE7E,YACkB,kBAChB;AADgB,SAAA,mBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,UAAU,QAAiB,MAAe,KAAqB;AAC9D,UAAA,IAAI,cAAc,4BAA4B,cAAc;AAElE,WAAO,OAAO,QAAQ,MAAM,KAAK,iBAAiB,eAAe,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;AAAA,MACjG;AAAA,MACA;AAAA,IAAA,EACC;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"VariablesQueryResolver.js","sources":["../../../../../../../packages/engine-actions/src/graphql/resolvers/query/VariablesQueryResolver.ts"],"sourcesContent":["import { QueryResolvers } from '../../schema'\nimport { ActionsContext } from '../ActionsContext'\nimport { VariablesManager } from '../../../model/VariablesManager'\nimport { ActionsAuthorizationActions } from '../../../authorization'\n\nexport class VariablesQueryResolver implements QueryResolvers<ActionsContext> {\n\tconstructor(\n\t\tprivate readonly variablesManager: VariablesManager,\n\t) {\n\t}\n\n\tasync variables(parent: unknown, args: unknown, ctx: ActionsContext) {\n\t\tawait ctx.requireAccess(ActionsAuthorizationActions.VARIABLES_VIEW)\n\n\t\treturn Object.entries(await this.variablesManager.fetchVariables(ctx.db)).map(([name, value]) => ({\n\t\t\tname,\n\t\t\tvalue,\n\t\t}))\n\t}\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,uBAAiE;AAAA,EAC7E,YACkB,kBAChB;AADgB,SAAA,mBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,UAAU,QAAiB,MAAe,KAAqB;AACpE,UAAM,IAAI,cAAc,4BAA4B,cAAc;AAElE,WAAO,OAAO,QAAQ,MAAM,KAAK,iBAAiB,eAAe,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;AAAA,MACjG;AAAA,MACA;AAAA,IAAA,EACC;AAAA,EACH;AACD;"}
@@ -15,11 +15,14 @@ const schema = graphqlTag.gql`
15
15
  failedEvents(args: EventArgs): [Event!]!
16
16
  eventsToProcess(args: EventArgs): [Event!]!
17
17
  eventsInProcessing(args: EventArgs): [Event!]!
18
+ event(id: Uuid!): Event
18
19
  variables: [Variable!]!
19
20
  }
20
21
 
21
22
  type Mutation {
22
23
  processBatch: ProcessBatchResponse!
24
+ retryEvent(id: Uuid!): RetryEventResponse!
25
+ stopEvent(id: Uuid!): StopEventResponse!
23
26
  setVariables(args: SetVariablesArgs!): SetVariablesResponse!
24
27
  }
25
28
 
@@ -32,6 +35,9 @@ const schema = graphqlTag.gql`
32
35
  type Event {
33
36
  id: Uuid!
34
37
  transactionId: Uuid!
38
+ identityId: Uuid
39
+ ipAddress: String
40
+ userAgent: String
35
41
  createdAt: DateTime!
36
42
  lastStateChange: DateTime!
37
43
  resolvedAt: DateTime
@@ -57,16 +63,24 @@ const schema = graphqlTag.gql`
57
63
  ok: Boolean!
58
64
  }
59
65
 
66
+ type RetryEventResponse {
67
+ ok: Boolean!
68
+ }
69
+
70
+ type StopEventResponse {
71
+ ok: Boolean!
72
+ }
73
+
60
74
  input SetVariablesArgs {
61
75
  variables: [VariableInput!]!
62
76
  mode: SetVariablesMode
63
77
  }
64
-
78
+
65
79
  """
66
- Defines how it handles original variables.
80
+ Defines how it handles original variables.
67
81
  - MERGE merges with new values (default behaviour)
68
82
  - SET replaces all variables
69
- - APPEND_ONLY_MISSING appends values if not already exist
83
+ - APPEND_ONLY_MISSING appends values if not already exist
70
84
  """
71
85
  enum SetVariablesMode {
72
86
  MERGE
@@ -78,7 +92,7 @@ const schema = graphqlTag.gql`
78
92
  name: String!
79
93
  value: String!
80
94
  }
81
-
95
+
82
96
  type SetVariablesResponse {
83
97
  ok: Boolean!
84
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"actions.graphql.cjs","sources":["../../../../../../packages/engine-actions/src/graphql/schema/actions.graphql.ts"],"sourcesContent":["import { gql } from 'graphql-tag'\nimport { DocumentNode } from 'graphql'\n\nexport const schema: DocumentNode = gql`\n scalar DateTime\n scalar Json\n scalar Uuid\n\n schema {\n query: Query\n mutation: Mutation\n }\n\n type Query {\n failedEvents(args: EventArgs): [Event!]!\n eventsToProcess(args: EventArgs): [Event!]!\n eventsInProcessing(args: EventArgs): [Event!]!\n variables: [Variable!]!\n }\n\n type Mutation {\n processBatch: ProcessBatchResponse!\n setVariables(args: SetVariablesArgs!): SetVariablesResponse!\n }\n\n input EventArgs {\n offset: Int\n \"Max 10000\"\n limit: Int\n }\n\n type Event {\n id: Uuid!\n transactionId: Uuid!\n createdAt: DateTime!\n lastStateChange: DateTime!\n resolvedAt: DateTime\n visibleAt: DateTime\n numRetries: Int!\n state: EventState!\n stage: String!\n target: String!\n payload: Json!\n log: Json!\n }\n\n enum EventState {\n created\n retrying\n processing\n succeed\n failed\n stopped\n }\n\n type ProcessBatchResponse {\n ok: Boolean!\n }\n\n input SetVariablesArgs {\n variables: [VariableInput!]!\n mode: SetVariablesMode\n }\n\t\n\t\"\"\"\n\tDefines how it handles original variables. \n\t- MERGE merges with new values (default behaviour)\n\t- SET replaces all variables\n\t- APPEND_ONLY_MISSING appends values if not already exist \n\t\"\"\"\n\tenum SetVariablesMode {\n\t\tMERGE\n\t\tSET\n\t\tAPPEND_ONLY_MISSING\n\t}\n\n input VariableInput {\n name: String!\n value: String!\n }\n\t\n\ttype SetVariablesResponse {\n\t\tok: Boolean!\n\t}\n\n type Variable {\n name: String!\n value: String!\n }\n\n`\n"],"names":["gql"],"mappings":";;;AAGO,MAAM,SAAuBA,WAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;"}
1
+ {"version":3,"file":"actions.graphql.cjs","sources":["../../../../../../packages/engine-actions/src/graphql/schema/actions.graphql.ts"],"sourcesContent":["import { gql } from 'graphql-tag'\nimport { DocumentNode } from 'graphql'\n\nexport const schema: DocumentNode = gql`\n scalar DateTime\n scalar Json\n scalar Uuid\n\n schema {\n query: Query\n mutation: Mutation\n }\n\n type Query {\n failedEvents(args: EventArgs): [Event!]!\n eventsToProcess(args: EventArgs): [Event!]!\n eventsInProcessing(args: EventArgs): [Event!]!\n event(id: Uuid!): Event\n variables: [Variable!]!\n }\n\n type Mutation {\n processBatch: ProcessBatchResponse!\n retryEvent(id: Uuid!): RetryEventResponse!\n stopEvent(id: Uuid!): StopEventResponse!\n setVariables(args: SetVariablesArgs!): SetVariablesResponse!\n }\n\n input EventArgs {\n offset: Int\n \"Max 10000\"\n limit: Int\n }\n\n type Event {\n id: Uuid!\n transactionId: Uuid!\n identityId: Uuid\n ipAddress: String\n userAgent: String\n createdAt: DateTime!\n lastStateChange: DateTime!\n resolvedAt: DateTime\n visibleAt: DateTime\n numRetries: Int!\n state: EventState!\n stage: String!\n target: String!\n payload: Json!\n log: Json!\n }\n\n enum EventState {\n created\n retrying\n processing\n succeed\n failed\n stopped\n }\n\n type ProcessBatchResponse {\n ok: Boolean!\n }\n\n type RetryEventResponse {\n ok: Boolean!\n }\n\n type StopEventResponse {\n ok: Boolean!\n }\n\n input SetVariablesArgs {\n variables: [VariableInput!]!\n mode: SetVariablesMode\n }\n\n\t\"\"\"\n\tDefines how it handles original variables.\n\t- MERGE merges with new values (default behaviour)\n\t- SET replaces all variables\n\t- APPEND_ONLY_MISSING appends values if not already exist\n\t\"\"\"\n\tenum SetVariablesMode {\n\t\tMERGE\n\t\tSET\n\t\tAPPEND_ONLY_MISSING\n\t}\n\n input VariableInput {\n name: String!\n value: String!\n }\n\n\ttype SetVariablesResponse {\n\t\tok: Boolean!\n\t}\n\n type Variable {\n name: String!\n value: String!\n }\n\n`\n"],"names":["gql"],"mappings":";;;AAGO,MAAM,SAAuBA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;"}
@@ -13,11 +13,14 @@ const schema = gql`
13
13
  failedEvents(args: EventArgs): [Event!]!
14
14
  eventsToProcess(args: EventArgs): [Event!]!
15
15
  eventsInProcessing(args: EventArgs): [Event!]!
16
+ event(id: Uuid!): Event
16
17
  variables: [Variable!]!
17
18
  }
18
19
 
19
20
  type Mutation {
20
21
  processBatch: ProcessBatchResponse!
22
+ retryEvent(id: Uuid!): RetryEventResponse!
23
+ stopEvent(id: Uuid!): StopEventResponse!
21
24
  setVariables(args: SetVariablesArgs!): SetVariablesResponse!
22
25
  }
23
26
 
@@ -30,6 +33,9 @@ const schema = gql`
30
33
  type Event {
31
34
  id: Uuid!
32
35
  transactionId: Uuid!
36
+ identityId: Uuid
37
+ ipAddress: String
38
+ userAgent: String
33
39
  createdAt: DateTime!
34
40
  lastStateChange: DateTime!
35
41
  resolvedAt: DateTime
@@ -55,16 +61,24 @@ const schema = gql`
55
61
  ok: Boolean!
56
62
  }
57
63
 
64
+ type RetryEventResponse {
65
+ ok: Boolean!
66
+ }
67
+
68
+ type StopEventResponse {
69
+ ok: Boolean!
70
+ }
71
+
58
72
  input SetVariablesArgs {
59
73
  variables: [VariableInput!]!
60
74
  mode: SetVariablesMode
61
75
  }
62
-
76
+
63
77
  """
64
- Defines how it handles original variables.
78
+ Defines how it handles original variables.
65
79
  - MERGE merges with new values (default behaviour)
66
80
  - SET replaces all variables
67
- - APPEND_ONLY_MISSING appends values if not already exist
81
+ - APPEND_ONLY_MISSING appends values if not already exist
68
82
  """
69
83
  enum SetVariablesMode {
70
84
  MERGE
@@ -76,7 +90,7 @@ const schema = gql`
76
90
  name: String!
77
91
  value: String!
78
92
  }
79
-
93
+
80
94
  type SetVariablesResponse {
81
95
  ok: Boolean!
82
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"actions.graphql.js","sources":["../../../../../../packages/engine-actions/src/graphql/schema/actions.graphql.ts"],"sourcesContent":["import { gql } from 'graphql-tag'\nimport { DocumentNode } from 'graphql'\n\nexport const schema: DocumentNode = gql`\n scalar DateTime\n scalar Json\n scalar Uuid\n\n schema {\n query: Query\n mutation: Mutation\n }\n\n type Query {\n failedEvents(args: EventArgs): [Event!]!\n eventsToProcess(args: EventArgs): [Event!]!\n eventsInProcessing(args: EventArgs): [Event!]!\n variables: [Variable!]!\n }\n\n type Mutation {\n processBatch: ProcessBatchResponse!\n setVariables(args: SetVariablesArgs!): SetVariablesResponse!\n }\n\n input EventArgs {\n offset: Int\n \"Max 10000\"\n limit: Int\n }\n\n type Event {\n id: Uuid!\n transactionId: Uuid!\n createdAt: DateTime!\n lastStateChange: DateTime!\n resolvedAt: DateTime\n visibleAt: DateTime\n numRetries: Int!\n state: EventState!\n stage: String!\n target: String!\n payload: Json!\n log: Json!\n }\n\n enum EventState {\n created\n retrying\n processing\n succeed\n failed\n stopped\n }\n\n type ProcessBatchResponse {\n ok: Boolean!\n }\n\n input SetVariablesArgs {\n variables: [VariableInput!]!\n mode: SetVariablesMode\n }\n\t\n\t\"\"\"\n\tDefines how it handles original variables. \n\t- MERGE merges with new values (default behaviour)\n\t- SET replaces all variables\n\t- APPEND_ONLY_MISSING appends values if not already exist \n\t\"\"\"\n\tenum SetVariablesMode {\n\t\tMERGE\n\t\tSET\n\t\tAPPEND_ONLY_MISSING\n\t}\n\n input VariableInput {\n name: String!\n value: String!\n }\n\t\n\ttype SetVariablesResponse {\n\t\tok: Boolean!\n\t}\n\n type Variable {\n name: String!\n value: String!\n }\n\n`\n"],"names":[],"mappings":";AAGO,MAAM,SAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"actions.graphql.js","sources":["../../../../../../packages/engine-actions/src/graphql/schema/actions.graphql.ts"],"sourcesContent":["import { gql } from 'graphql-tag'\nimport { DocumentNode } from 'graphql'\n\nexport const schema: DocumentNode = gql`\n scalar DateTime\n scalar Json\n scalar Uuid\n\n schema {\n query: Query\n mutation: Mutation\n }\n\n type Query {\n failedEvents(args: EventArgs): [Event!]!\n eventsToProcess(args: EventArgs): [Event!]!\n eventsInProcessing(args: EventArgs): [Event!]!\n event(id: Uuid!): Event\n variables: [Variable!]!\n }\n\n type Mutation {\n processBatch: ProcessBatchResponse!\n retryEvent(id: Uuid!): RetryEventResponse!\n stopEvent(id: Uuid!): StopEventResponse!\n setVariables(args: SetVariablesArgs!): SetVariablesResponse!\n }\n\n input EventArgs {\n offset: Int\n \"Max 10000\"\n limit: Int\n }\n\n type Event {\n id: Uuid!\n transactionId: Uuid!\n identityId: Uuid\n ipAddress: String\n userAgent: String\n createdAt: DateTime!\n lastStateChange: DateTime!\n resolvedAt: DateTime\n visibleAt: DateTime\n numRetries: Int!\n state: EventState!\n stage: String!\n target: String!\n payload: Json!\n log: Json!\n }\n\n enum EventState {\n created\n retrying\n processing\n succeed\n failed\n stopped\n }\n\n type ProcessBatchResponse {\n ok: Boolean!\n }\n\n type RetryEventResponse {\n ok: Boolean!\n }\n\n type StopEventResponse {\n ok: Boolean!\n }\n\n input SetVariablesArgs {\n variables: [VariableInput!]!\n mode: SetVariablesMode\n }\n\n\t\"\"\"\n\tDefines how it handles original variables.\n\t- MERGE merges with new values (default behaviour)\n\t- SET replaces all variables\n\t- APPEND_ONLY_MISSING appends values if not already exist\n\t\"\"\"\n\tenum SetVariablesMode {\n\t\tMERGE\n\t\tSET\n\t\tAPPEND_ONLY_MISSING\n\t}\n\n input VariableInput {\n name: String!\n value: String!\n }\n\n\ttype SetVariablesResponse {\n\t\tok: Boolean!\n\t}\n\n type Variable {\n name: String!\n value: String!\n }\n\n`\n"],"names":[],"mappings":";AAGO,MAAM,SAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}