@contember/engine-actions 2.1.0-alpha.3 → 2.1.0-alpha.35

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 (506) hide show
  1. package/graphql.codegen.yml +2 -2
  2. package/package.json +27 -22
  3. package/src/ActionsExecutionContainerHookFactory.ts +23 -11
  4. package/src/authorization/ActionsAuthorizationActions.ts +2 -0
  5. package/src/dispatch/DispatchWorkerSupervisor.ts +17 -16
  6. package/src/dispatch/EventDispatcher.ts +0 -2
  7. package/src/dispatch/EventsRepository.ts +63 -43
  8. package/src/dispatch/ProjectDispatcher.ts +6 -11
  9. package/src/dispatch/WebhookTargetHandler.ts +18 -9
  10. package/src/dispatch/types.ts +1 -2
  11. package/src/graphql/http/ActionsApiMiddlewareFactory.ts +7 -5
  12. package/src/graphql/http/ActionsContextResolver.ts +1 -2
  13. package/src/graphql/http/ActionsGraphQLHandlerFactory.ts +0 -1
  14. package/src/graphql/http/ActionsWebsocketControllerFactory.ts +7 -5
  15. package/src/graphql/resolvers/ActionsContext.ts +1 -0
  16. package/src/graphql/resolvers/ResolversFactory.ts +9 -2
  17. package/src/graphql/resolvers/mutation/RetryEventMutationResolver.ts +22 -0
  18. package/src/graphql/resolvers/mutation/SetVariablesMutationResolver.ts +0 -1
  19. package/src/graphql/resolvers/mutation/StopEventMutationResolver.ts +19 -0
  20. package/src/graphql/resolvers/mutation/index.ts +2 -0
  21. package/src/graphql/resolvers/query/EventsQueryResolver.ts +15 -8
  22. package/src/graphql/resolvers/query/VariablesQueryResolver.ts +0 -1
  23. package/src/graphql/schema/actions.graphql.ts +18 -4
  24. package/src/graphql/schema/index.ts +84 -30
  25. package/src/index.ts +55 -30
  26. package/src/migrations/2023-03-10-145000-actions-variables.ts +1 -1
  27. package/src/migrations/2025-05-28-160000-action-event-user.ts +16 -0
  28. package/src/migrations/index.ts +2 -0
  29. package/src/migrations/snapshot.ts +6 -3
  30. package/src/model/EventByIdQuery.ts +21 -0
  31. package/src/model/EventsToProcessSpecification.ts +9 -8
  32. package/src/model/SetVariableCommand.ts +0 -1
  33. package/src/model/types.ts +3 -0
  34. package/src/triggers/TriggerHandler.ts +16 -15
  35. package/src/triggers/TriggerIndirectChangesFetcher.ts +62 -3
  36. package/src/triggers/TriggerListeners.ts +1 -8
  37. package/src/triggers/TriggerListenersBuilder.ts +3 -6
  38. package/src/triggers/TriggerListenersStore.ts +2 -2
  39. package/src/triggers/TriggerPayloadBuilder.ts +43 -13
  40. package/src/triggers/TriggerPayloadManager.ts +2 -4
  41. package/src/triggers/TriggerPayloadPersister.ts +8 -3
  42. package/src/utils/notifyChannel.ts +6 -0
  43. package/tests/cases/unit/generator.test.ts +133 -136
  44. package/tests/cases/unit/webhookHandler.test.ts +47 -35
  45. package/dist/development/index.cjs +0 -94
  46. package/dist/development/index.cjs.map +0 -1
  47. package/dist/development/index.js +0 -94
  48. package/dist/development/index.js.map +0 -1
  49. package/dist/development/src/ActionsExecutionContainerHookFactory.cjs +0 -30
  50. package/dist/development/src/ActionsExecutionContainerHookFactory.cjs.map +0 -1
  51. package/dist/development/src/ActionsExecutionContainerHookFactory.js +0 -30
  52. package/dist/development/src/ActionsExecutionContainerHookFactory.js.map +0 -1
  53. package/dist/development/src/ImplementationException.cjs +0 -6
  54. package/dist/development/src/ImplementationException.cjs.map +0 -1
  55. package/dist/development/src/ImplementationException.js +0 -6
  56. package/dist/development/src/ImplementationException.js.map +0 -1
  57. package/dist/development/src/ListenerStoreProvider.cjs +0 -25
  58. package/dist/development/src/ListenerStoreProvider.cjs.map +0 -1
  59. package/dist/development/src/ListenerStoreProvider.js +0 -25
  60. package/dist/development/src/ListenerStoreProvider.js.map +0 -1
  61. package/dist/development/src/authorization/ActionsAuthorizationActions.cjs +0 -15
  62. package/dist/development/src/authorization/ActionsAuthorizationActions.cjs.map +0 -1
  63. package/dist/development/src/authorization/ActionsAuthorizationActions.js +0 -16
  64. package/dist/development/src/authorization/ActionsAuthorizationActions.js.map +0 -1
  65. package/dist/development/src/authorization/ActionsPermissionsFactory.cjs +0 -16
  66. package/dist/development/src/authorization/ActionsPermissionsFactory.cjs.map +0 -1
  67. package/dist/development/src/authorization/ActionsPermissionsFactory.js +0 -16
  68. package/dist/development/src/authorization/ActionsPermissionsFactory.js.map +0 -1
  69. package/dist/development/src/dispatch/DispatchWorkerSupervisor.cjs +0 -125
  70. package/dist/development/src/dispatch/DispatchWorkerSupervisor.cjs.map +0 -1
  71. package/dist/development/src/dispatch/DispatchWorkerSupervisor.js +0 -125
  72. package/dist/development/src/dispatch/DispatchWorkerSupervisor.js.map +0 -1
  73. package/dist/development/src/dispatch/EventDispatcher.cjs +0 -43
  74. package/dist/development/src/dispatch/EventDispatcher.cjs.map +0 -1
  75. package/dist/development/src/dispatch/EventDispatcher.js +0 -43
  76. package/dist/development/src/dispatch/EventDispatcher.js.map +0 -1
  77. package/dist/development/src/dispatch/EventsRepository.cjs +0 -104
  78. package/dist/development/src/dispatch/EventsRepository.cjs.map +0 -1
  79. package/dist/development/src/dispatch/EventsRepository.js +0 -104
  80. package/dist/development/src/dispatch/EventsRepository.js.map +0 -1
  81. package/dist/development/src/dispatch/ProjectDispatcher.cjs +0 -99
  82. package/dist/development/src/dispatch/ProjectDispatcher.cjs.map +0 -1
  83. package/dist/development/src/dispatch/ProjectDispatcher.js +0 -99
  84. package/dist/development/src/dispatch/ProjectDispatcher.js.map +0 -1
  85. package/dist/development/src/dispatch/TargetHandlerResolver.cjs +0 -16
  86. package/dist/development/src/dispatch/TargetHandlerResolver.cjs.map +0 -1
  87. package/dist/development/src/dispatch/TargetHandlerResolver.js +0 -16
  88. package/dist/development/src/dispatch/TargetHandlerResolver.js.map +0 -1
  89. package/dist/development/src/dispatch/WebhookFetcher.cjs +0 -16
  90. package/dist/development/src/dispatch/WebhookFetcher.cjs.map +0 -1
  91. package/dist/development/src/dispatch/WebhookFetcher.js +0 -16
  92. package/dist/development/src/dispatch/WebhookFetcher.js.map +0 -1
  93. package/dist/development/src/dispatch/WebhookTargetHandler.cjs +0 -193
  94. package/dist/development/src/dispatch/WebhookTargetHandler.cjs.map +0 -1
  95. package/dist/development/src/dispatch/WebhookTargetHandler.js +0 -176
  96. package/dist/development/src/dispatch/WebhookTargetHandler.js.map +0 -1
  97. package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.cjs +0 -38
  98. package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.cjs.map +0 -1
  99. package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.js +0 -38
  100. package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.js.map +0 -1
  101. package/dist/development/src/graphql/http/ActionsContextResolver.cjs +0 -39
  102. package/dist/development/src/graphql/http/ActionsContextResolver.cjs.map +0 -1
  103. package/dist/development/src/graphql/http/ActionsContextResolver.js +0 -39
  104. package/dist/development/src/graphql/http/ActionsContextResolver.js.map +0 -1
  105. package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.cjs +0 -20
  106. package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.cjs.map +0 -1
  107. package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.js +0 -20
  108. package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.js.map +0 -1
  109. package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.cjs +0 -149
  110. package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.cjs.map +0 -1
  111. package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.js +0 -132
  112. package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.js.map +0 -1
  113. package/dist/development/src/graphql/resolvers/ResolversFactory.cjs +0 -31
  114. package/dist/development/src/graphql/resolvers/ResolversFactory.cjs.map +0 -1
  115. package/dist/development/src/graphql/resolvers/ResolversFactory.js +0 -31
  116. package/dist/development/src/graphql/resolvers/ResolversFactory.js.map +0 -1
  117. package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs +0 -19
  118. package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs.map +0 -1
  119. package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js +0 -19
  120. package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js.map +0 -1
  121. package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs +0 -19
  122. package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs.map +0 -1
  123. package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js +0 -19
  124. package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js.map +0 -1
  125. package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.cjs +0 -48
  126. package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.cjs.map +0 -1
  127. package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.js +0 -48
  128. package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.js.map +0 -1
  129. package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.cjs +0 -19
  130. package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.cjs.map +0 -1
  131. package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.js +0 -19
  132. package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.js.map +0 -1
  133. package/dist/development/src/graphql/schema/actions.graphql.cjs +0 -93
  134. package/dist/development/src/graphql/schema/actions.graphql.cjs.map +0 -1
  135. package/dist/development/src/graphql/schema/actions.graphql.js +0 -93
  136. package/dist/development/src/graphql/schema/actions.graphql.js.map +0 -1
  137. package/dist/development/src/migrations/2023-03-10-145000-actions-variables.cjs +0 -16
  138. package/dist/development/src/migrations/2023-03-10-145000-actions-variables.cjs.map +0 -1
  139. package/dist/development/src/migrations/2023-03-10-145000-actions-variables.js +0 -17
  140. package/dist/development/src/migrations/2023-03-10-145000-actions-variables.js.map +0 -1
  141. package/dist/development/src/migrations/index.cjs +0 -10
  142. package/dist/development/src/migrations/index.cjs.map +0 -1
  143. package/dist/development/src/migrations/index.js +0 -10
  144. package/dist/development/src/migrations/index.js.map +0 -1
  145. package/dist/development/src/migrations/snapshot.cjs +0 -48
  146. package/dist/development/src/migrations/snapshot.cjs.map +0 -1
  147. package/dist/development/src/migrations/snapshot.js +0 -49
  148. package/dist/development/src/migrations/snapshot.js.map +0 -1
  149. package/dist/development/src/model/EventsInProcessingQuery.cjs +0 -14
  150. package/dist/development/src/model/EventsInProcessingQuery.cjs.map +0 -1
  151. package/dist/development/src/model/EventsInProcessingQuery.js +0 -14
  152. package/dist/development/src/model/EventsInProcessingQuery.js.map +0 -1
  153. package/dist/development/src/model/EventsToProcessQuery.cjs +0 -15
  154. package/dist/development/src/model/EventsToProcessQuery.cjs.map +0 -1
  155. package/dist/development/src/model/EventsToProcessQuery.js +0 -15
  156. package/dist/development/src/model/EventsToProcessQuery.js.map +0 -1
  157. package/dist/development/src/model/EventsToProcessSpecification.cjs +0 -8
  158. package/dist/development/src/model/EventsToProcessSpecification.cjs.map +0 -1
  159. package/dist/development/src/model/EventsToProcessSpecification.js +0 -8
  160. package/dist/development/src/model/EventsToProcessSpecification.js.map +0 -1
  161. package/dist/development/src/model/FailedEventsQuery.cjs +0 -14
  162. package/dist/development/src/model/FailedEventsQuery.cjs.map +0 -1
  163. package/dist/development/src/model/FailedEventsQuery.js +0 -14
  164. package/dist/development/src/model/FailedEventsQuery.js.map +0 -1
  165. package/dist/development/src/model/SetVariableCommand.cjs +0 -21
  166. package/dist/development/src/model/SetVariableCommand.cjs.map +0 -1
  167. package/dist/development/src/model/SetVariableCommand.js +0 -21
  168. package/dist/development/src/model/SetVariableCommand.js.map +0 -1
  169. package/dist/development/src/model/VariablesManager.cjs +0 -41
  170. package/dist/development/src/model/VariablesManager.cjs.map +0 -1
  171. package/dist/development/src/model/VariablesManager.js +0 -41
  172. package/dist/development/src/model/VariablesManager.js.map +0 -1
  173. package/dist/development/src/model/VariablesQuery.cjs +0 -10
  174. package/dist/development/src/model/VariablesQuery.cjs.map +0 -1
  175. package/dist/development/src/model/VariablesQuery.js +0 -10
  176. package/dist/development/src/model/VariablesQuery.js.map +0 -1
  177. package/dist/development/src/triggers/TriggerHandler.cjs +0 -126
  178. package/dist/development/src/triggers/TriggerHandler.cjs.map +0 -1
  179. package/dist/development/src/triggers/TriggerHandler.js +0 -126
  180. package/dist/development/src/triggers/TriggerHandler.js.map +0 -1
  181. package/dist/development/src/triggers/TriggerIndirectChangesFetcher.cjs +0 -21
  182. package/dist/development/src/triggers/TriggerIndirectChangesFetcher.cjs.map +0 -1
  183. package/dist/development/src/triggers/TriggerIndirectChangesFetcher.js +0 -21
  184. package/dist/development/src/triggers/TriggerIndirectChangesFetcher.js.map +0 -1
  185. package/dist/development/src/triggers/TriggerListenersBuilder.cjs +0 -169
  186. package/dist/development/src/triggers/TriggerListenersBuilder.cjs.map +0 -1
  187. package/dist/development/src/triggers/TriggerListenersBuilder.js +0 -169
  188. package/dist/development/src/triggers/TriggerListenersBuilder.js.map +0 -1
  189. package/dist/development/src/triggers/TriggerListenersFactory.cjs +0 -17
  190. package/dist/development/src/triggers/TriggerListenersFactory.cjs.map +0 -1
  191. package/dist/development/src/triggers/TriggerListenersFactory.js +0 -17
  192. package/dist/development/src/triggers/TriggerListenersFactory.js.map +0 -1
  193. package/dist/development/src/triggers/TriggerListenersStore.cjs +0 -24
  194. package/dist/development/src/triggers/TriggerListenersStore.cjs.map +0 -1
  195. package/dist/development/src/triggers/TriggerListenersStore.js +0 -24
  196. package/dist/development/src/triggers/TriggerListenersStore.js.map +0 -1
  197. package/dist/development/src/triggers/TriggerPayloadBuilder.cjs +0 -134
  198. package/dist/development/src/triggers/TriggerPayloadBuilder.cjs.map +0 -1
  199. package/dist/development/src/triggers/TriggerPayloadBuilder.js +0 -134
  200. package/dist/development/src/triggers/TriggerPayloadBuilder.js.map +0 -1
  201. package/dist/development/src/triggers/TriggerPayloadManager.cjs +0 -27
  202. package/dist/development/src/triggers/TriggerPayloadManager.cjs.map +0 -1
  203. package/dist/development/src/triggers/TriggerPayloadManager.js +0 -27
  204. package/dist/development/src/triggers/TriggerPayloadManager.js.map +0 -1
  205. package/dist/development/src/triggers/TriggerPayloadPersister.cjs +0 -43
  206. package/dist/development/src/triggers/TriggerPayloadPersister.cjs.map +0 -1
  207. package/dist/development/src/triggers/TriggerPayloadPersister.js +0 -43
  208. package/dist/development/src/triggers/TriggerPayloadPersister.js.map +0 -1
  209. package/dist/development/src/utils/assertNever.cjs +0 -7
  210. package/dist/development/src/utils/assertNever.cjs.map +0 -1
  211. package/dist/development/src/utils/assertNever.js +0 -7
  212. package/dist/development/src/utils/assertNever.js.map +0 -1
  213. package/dist/development/src/utils/map.cjs +0 -13
  214. package/dist/development/src/utils/map.cjs.map +0 -1
  215. package/dist/development/src/utils/map.js +0 -13
  216. package/dist/development/src/utils/map.js.map +0 -1
  217. package/dist/production/index.cjs +0 -94
  218. package/dist/production/index.cjs.map +0 -1
  219. package/dist/production/index.js +0 -94
  220. package/dist/production/index.js.map +0 -1
  221. package/dist/production/src/ActionsExecutionContainerHookFactory.cjs +0 -30
  222. package/dist/production/src/ActionsExecutionContainerHookFactory.cjs.map +0 -1
  223. package/dist/production/src/ActionsExecutionContainerHookFactory.js +0 -30
  224. package/dist/production/src/ActionsExecutionContainerHookFactory.js.map +0 -1
  225. package/dist/production/src/ImplementationException.cjs +0 -6
  226. package/dist/production/src/ImplementationException.cjs.map +0 -1
  227. package/dist/production/src/ImplementationException.js +0 -6
  228. package/dist/production/src/ImplementationException.js.map +0 -1
  229. package/dist/production/src/ListenerStoreProvider.cjs +0 -25
  230. package/dist/production/src/ListenerStoreProvider.cjs.map +0 -1
  231. package/dist/production/src/ListenerStoreProvider.js +0 -25
  232. package/dist/production/src/ListenerStoreProvider.js.map +0 -1
  233. package/dist/production/src/authorization/ActionsAuthorizationActions.cjs +0 -15
  234. package/dist/production/src/authorization/ActionsAuthorizationActions.cjs.map +0 -1
  235. package/dist/production/src/authorization/ActionsAuthorizationActions.js +0 -16
  236. package/dist/production/src/authorization/ActionsAuthorizationActions.js.map +0 -1
  237. package/dist/production/src/authorization/ActionsPermissionsFactory.cjs +0 -16
  238. package/dist/production/src/authorization/ActionsPermissionsFactory.cjs.map +0 -1
  239. package/dist/production/src/authorization/ActionsPermissionsFactory.js +0 -16
  240. package/dist/production/src/authorization/ActionsPermissionsFactory.js.map +0 -1
  241. package/dist/production/src/dispatch/DispatchWorkerSupervisor.cjs +0 -125
  242. package/dist/production/src/dispatch/DispatchWorkerSupervisor.cjs.map +0 -1
  243. package/dist/production/src/dispatch/DispatchWorkerSupervisor.js +0 -125
  244. package/dist/production/src/dispatch/DispatchWorkerSupervisor.js.map +0 -1
  245. package/dist/production/src/dispatch/EventDispatcher.cjs +0 -43
  246. package/dist/production/src/dispatch/EventDispatcher.cjs.map +0 -1
  247. package/dist/production/src/dispatch/EventDispatcher.js +0 -43
  248. package/dist/production/src/dispatch/EventDispatcher.js.map +0 -1
  249. package/dist/production/src/dispatch/EventsRepository.cjs +0 -104
  250. package/dist/production/src/dispatch/EventsRepository.cjs.map +0 -1
  251. package/dist/production/src/dispatch/EventsRepository.js +0 -104
  252. package/dist/production/src/dispatch/EventsRepository.js.map +0 -1
  253. package/dist/production/src/dispatch/ProjectDispatcher.cjs +0 -99
  254. package/dist/production/src/dispatch/ProjectDispatcher.cjs.map +0 -1
  255. package/dist/production/src/dispatch/ProjectDispatcher.js +0 -99
  256. package/dist/production/src/dispatch/ProjectDispatcher.js.map +0 -1
  257. package/dist/production/src/dispatch/TargetHandlerResolver.cjs +0 -16
  258. package/dist/production/src/dispatch/TargetHandlerResolver.cjs.map +0 -1
  259. package/dist/production/src/dispatch/TargetHandlerResolver.js +0 -16
  260. package/dist/production/src/dispatch/TargetHandlerResolver.js.map +0 -1
  261. package/dist/production/src/dispatch/WebhookFetcher.cjs +0 -16
  262. package/dist/production/src/dispatch/WebhookFetcher.cjs.map +0 -1
  263. package/dist/production/src/dispatch/WebhookFetcher.js +0 -16
  264. package/dist/production/src/dispatch/WebhookFetcher.js.map +0 -1
  265. package/dist/production/src/dispatch/WebhookTargetHandler.cjs +0 -193
  266. package/dist/production/src/dispatch/WebhookTargetHandler.cjs.map +0 -1
  267. package/dist/production/src/dispatch/WebhookTargetHandler.js +0 -176
  268. package/dist/production/src/dispatch/WebhookTargetHandler.js.map +0 -1
  269. package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.cjs +0 -38
  270. package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.cjs.map +0 -1
  271. package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.js +0 -38
  272. package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.js.map +0 -1
  273. package/dist/production/src/graphql/http/ActionsContextResolver.cjs +0 -39
  274. package/dist/production/src/graphql/http/ActionsContextResolver.cjs.map +0 -1
  275. package/dist/production/src/graphql/http/ActionsContextResolver.js +0 -39
  276. package/dist/production/src/graphql/http/ActionsContextResolver.js.map +0 -1
  277. package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.cjs +0 -20
  278. package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.cjs.map +0 -1
  279. package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.js +0 -20
  280. package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.js.map +0 -1
  281. package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.cjs +0 -149
  282. package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.cjs.map +0 -1
  283. package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.js +0 -132
  284. package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.js.map +0 -1
  285. package/dist/production/src/graphql/resolvers/ResolversFactory.cjs +0 -31
  286. package/dist/production/src/graphql/resolvers/ResolversFactory.cjs.map +0 -1
  287. package/dist/production/src/graphql/resolvers/ResolversFactory.js +0 -31
  288. package/dist/production/src/graphql/resolvers/ResolversFactory.js.map +0 -1
  289. package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs +0 -19
  290. package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs.map +0 -1
  291. package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js +0 -19
  292. package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js.map +0 -1
  293. package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs +0 -19
  294. package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs.map +0 -1
  295. package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js +0 -19
  296. package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js.map +0 -1
  297. package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.cjs +0 -48
  298. package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.cjs.map +0 -1
  299. package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.js +0 -48
  300. package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.js.map +0 -1
  301. package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.cjs +0 -19
  302. package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.cjs.map +0 -1
  303. package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.js +0 -19
  304. package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.js.map +0 -1
  305. package/dist/production/src/graphql/schema/actions.graphql.cjs +0 -93
  306. package/dist/production/src/graphql/schema/actions.graphql.cjs.map +0 -1
  307. package/dist/production/src/graphql/schema/actions.graphql.js +0 -93
  308. package/dist/production/src/graphql/schema/actions.graphql.js.map +0 -1
  309. package/dist/production/src/migrations/2023-03-10-145000-actions-variables.cjs +0 -16
  310. package/dist/production/src/migrations/2023-03-10-145000-actions-variables.cjs.map +0 -1
  311. package/dist/production/src/migrations/2023-03-10-145000-actions-variables.js +0 -17
  312. package/dist/production/src/migrations/2023-03-10-145000-actions-variables.js.map +0 -1
  313. package/dist/production/src/migrations/index.cjs +0 -10
  314. package/dist/production/src/migrations/index.cjs.map +0 -1
  315. package/dist/production/src/migrations/index.js +0 -10
  316. package/dist/production/src/migrations/index.js.map +0 -1
  317. package/dist/production/src/migrations/snapshot.cjs +0 -48
  318. package/dist/production/src/migrations/snapshot.cjs.map +0 -1
  319. package/dist/production/src/migrations/snapshot.js +0 -49
  320. package/dist/production/src/migrations/snapshot.js.map +0 -1
  321. package/dist/production/src/model/EventsInProcessingQuery.cjs +0 -14
  322. package/dist/production/src/model/EventsInProcessingQuery.cjs.map +0 -1
  323. package/dist/production/src/model/EventsInProcessingQuery.js +0 -14
  324. package/dist/production/src/model/EventsInProcessingQuery.js.map +0 -1
  325. package/dist/production/src/model/EventsToProcessQuery.cjs +0 -15
  326. package/dist/production/src/model/EventsToProcessQuery.cjs.map +0 -1
  327. package/dist/production/src/model/EventsToProcessQuery.js +0 -15
  328. package/dist/production/src/model/EventsToProcessQuery.js.map +0 -1
  329. package/dist/production/src/model/EventsToProcessSpecification.cjs +0 -8
  330. package/dist/production/src/model/EventsToProcessSpecification.cjs.map +0 -1
  331. package/dist/production/src/model/EventsToProcessSpecification.js +0 -8
  332. package/dist/production/src/model/EventsToProcessSpecification.js.map +0 -1
  333. package/dist/production/src/model/FailedEventsQuery.cjs +0 -14
  334. package/dist/production/src/model/FailedEventsQuery.cjs.map +0 -1
  335. package/dist/production/src/model/FailedEventsQuery.js +0 -14
  336. package/dist/production/src/model/FailedEventsQuery.js.map +0 -1
  337. package/dist/production/src/model/SetVariableCommand.cjs +0 -21
  338. package/dist/production/src/model/SetVariableCommand.cjs.map +0 -1
  339. package/dist/production/src/model/SetVariableCommand.js +0 -21
  340. package/dist/production/src/model/SetVariableCommand.js.map +0 -1
  341. package/dist/production/src/model/VariablesManager.cjs +0 -41
  342. package/dist/production/src/model/VariablesManager.cjs.map +0 -1
  343. package/dist/production/src/model/VariablesManager.js +0 -41
  344. package/dist/production/src/model/VariablesManager.js.map +0 -1
  345. package/dist/production/src/model/VariablesQuery.cjs +0 -10
  346. package/dist/production/src/model/VariablesQuery.cjs.map +0 -1
  347. package/dist/production/src/model/VariablesQuery.js +0 -10
  348. package/dist/production/src/model/VariablesQuery.js.map +0 -1
  349. package/dist/production/src/triggers/TriggerHandler.cjs +0 -126
  350. package/dist/production/src/triggers/TriggerHandler.cjs.map +0 -1
  351. package/dist/production/src/triggers/TriggerHandler.js +0 -126
  352. package/dist/production/src/triggers/TriggerHandler.js.map +0 -1
  353. package/dist/production/src/triggers/TriggerIndirectChangesFetcher.cjs +0 -21
  354. package/dist/production/src/triggers/TriggerIndirectChangesFetcher.cjs.map +0 -1
  355. package/dist/production/src/triggers/TriggerIndirectChangesFetcher.js +0 -21
  356. package/dist/production/src/triggers/TriggerIndirectChangesFetcher.js.map +0 -1
  357. package/dist/production/src/triggers/TriggerListenersBuilder.cjs +0 -169
  358. package/dist/production/src/triggers/TriggerListenersBuilder.cjs.map +0 -1
  359. package/dist/production/src/triggers/TriggerListenersBuilder.js +0 -169
  360. package/dist/production/src/triggers/TriggerListenersBuilder.js.map +0 -1
  361. package/dist/production/src/triggers/TriggerListenersFactory.cjs +0 -17
  362. package/dist/production/src/triggers/TriggerListenersFactory.cjs.map +0 -1
  363. package/dist/production/src/triggers/TriggerListenersFactory.js +0 -17
  364. package/dist/production/src/triggers/TriggerListenersFactory.js.map +0 -1
  365. package/dist/production/src/triggers/TriggerListenersStore.cjs +0 -24
  366. package/dist/production/src/triggers/TriggerListenersStore.cjs.map +0 -1
  367. package/dist/production/src/triggers/TriggerListenersStore.js +0 -24
  368. package/dist/production/src/triggers/TriggerListenersStore.js.map +0 -1
  369. package/dist/production/src/triggers/TriggerPayloadBuilder.cjs +0 -134
  370. package/dist/production/src/triggers/TriggerPayloadBuilder.cjs.map +0 -1
  371. package/dist/production/src/triggers/TriggerPayloadBuilder.js +0 -134
  372. package/dist/production/src/triggers/TriggerPayloadBuilder.js.map +0 -1
  373. package/dist/production/src/triggers/TriggerPayloadManager.cjs +0 -27
  374. package/dist/production/src/triggers/TriggerPayloadManager.cjs.map +0 -1
  375. package/dist/production/src/triggers/TriggerPayloadManager.js +0 -27
  376. package/dist/production/src/triggers/TriggerPayloadManager.js.map +0 -1
  377. package/dist/production/src/triggers/TriggerPayloadPersister.cjs +0 -43
  378. package/dist/production/src/triggers/TriggerPayloadPersister.cjs.map +0 -1
  379. package/dist/production/src/triggers/TriggerPayloadPersister.js +0 -43
  380. package/dist/production/src/triggers/TriggerPayloadPersister.js.map +0 -1
  381. package/dist/production/src/utils/assertNever.cjs +0 -7
  382. package/dist/production/src/utils/assertNever.cjs.map +0 -1
  383. package/dist/production/src/utils/assertNever.js +0 -7
  384. package/dist/production/src/utils/assertNever.js.map +0 -1
  385. package/dist/production/src/utils/map.cjs +0 -13
  386. package/dist/production/src/utils/map.cjs.map +0 -1
  387. package/dist/production/src/utils/map.js +0 -13
  388. package/dist/production/src/utils/map.js.map +0 -1
  389. package/dist/tests/cases/unit/generator.test.d.ts +0 -2
  390. package/dist/tests/cases/unit/generator.test.d.ts.map +0 -1
  391. package/dist/tests/cases/unit/webhookHandler.test.d.ts +0 -2
  392. package/dist/tests/cases/unit/webhookHandler.test.d.ts.map +0 -1
  393. package/dist/tests/src/gql.d.ts +0 -2
  394. package/dist/tests/src/gql.d.ts.map +0 -1
  395. package/dist/tests/src/uuid.d.ts +0 -3
  396. package/dist/tests/src/uuid.d.ts.map +0 -1
  397. package/dist/tests/tsconfig.tsbuildinfo +0 -1
  398. package/dist/types/ActionsExecutionContainerHookFactory.d.ts +0 -8
  399. package/dist/types/ActionsExecutionContainerHookFactory.d.ts.map +0 -1
  400. package/dist/types/ImplementationException.d.ts +0 -3
  401. package/dist/types/ImplementationException.d.ts.map +0 -1
  402. package/dist/types/ListenerStoreProvider.d.ts +0 -7
  403. package/dist/types/ListenerStoreProvider.d.ts.map +0 -1
  404. package/dist/types/authorization/ActionsAuthorizationActions.d.ts +0 -28
  405. package/dist/types/authorization/ActionsAuthorizationActions.d.ts.map +0 -1
  406. package/dist/types/authorization/ActionsPermissionsFactory.d.ts +0 -5
  407. package/dist/types/authorization/ActionsPermissionsFactory.d.ts.map +0 -1
  408. package/dist/types/authorization/Identity.d.ts +0 -5
  409. package/dist/types/authorization/Identity.d.ts.map +0 -1
  410. package/dist/types/authorization/index.d.ts +0 -4
  411. package/dist/types/authorization/index.d.ts.map +0 -1
  412. package/dist/types/dispatch/DispatchWorkerSupervisor.d.ts +0 -17
  413. package/dist/types/dispatch/DispatchWorkerSupervisor.d.ts.map +0 -1
  414. package/dist/types/dispatch/EventDispatcher.d.ts +0 -25
  415. package/dist/types/dispatch/EventDispatcher.d.ts.map +0 -1
  416. package/dist/types/dispatch/EventsRepository.d.ts +0 -22
  417. package/dist/types/dispatch/EventsRepository.d.ts.map +0 -1
  418. package/dist/types/dispatch/ProjectDispatcher.d.ts +0 -22
  419. package/dist/types/dispatch/ProjectDispatcher.d.ts.map +0 -1
  420. package/dist/types/dispatch/TargetHandlerResolver.d.ts +0 -9
  421. package/dist/types/dispatch/TargetHandlerResolver.d.ts.map +0 -1
  422. package/dist/types/dispatch/WebhookFetcher.d.ts +0 -14
  423. package/dist/types/dispatch/WebhookFetcher.d.ts.map +0 -1
  424. package/dist/types/dispatch/WebhookTargetHandler.d.ts +0 -16
  425. package/dist/types/dispatch/WebhookTargetHandler.d.ts.map +0 -1
  426. package/dist/types/dispatch/types.d.ts +0 -27
  427. package/dist/types/dispatch/types.d.ts.map +0 -1
  428. package/dist/types/graphql/http/ActionsApiMiddlewareFactory.d.ts +0 -13
  429. package/dist/types/graphql/http/ActionsApiMiddlewareFactory.d.ts.map +0 -1
  430. package/dist/types/graphql/http/ActionsContextResolver.d.ts +0 -14
  431. package/dist/types/graphql/http/ActionsContextResolver.d.ts.map +0 -1
  432. package/dist/types/graphql/http/ActionsGraphQLHandlerFactory.d.ts +0 -8
  433. package/dist/types/graphql/http/ActionsGraphQLHandlerFactory.d.ts.map +0 -1
  434. package/dist/types/graphql/http/ActionsWebsocketControllerFactory.d.ts +0 -11
  435. package/dist/types/graphql/http/ActionsWebsocketControllerFactory.d.ts.map +0 -1
  436. package/dist/types/graphql/resolvers/ActionsContext.d.ts +0 -11
  437. package/dist/types/graphql/resolvers/ActionsContext.d.ts.map +0 -1
  438. package/dist/types/graphql/resolvers/ResolversFactory.d.ts +0 -13
  439. package/dist/types/graphql/resolvers/ResolversFactory.d.ts.map +0 -1
  440. package/dist/types/graphql/resolvers/index.d.ts +0 -3
  441. package/dist/types/graphql/resolvers/index.d.ts.map +0 -1
  442. package/dist/types/graphql/resolvers/mutation/ProcessBatchMutationResolver.d.ts +0 -11
  443. package/dist/types/graphql/resolvers/mutation/ProcessBatchMutationResolver.d.ts.map +0 -1
  444. package/dist/types/graphql/resolvers/mutation/SetVariablesMutationResolver.d.ts +0 -11
  445. package/dist/types/graphql/resolvers/mutation/SetVariablesMutationResolver.d.ts.map +0 -1
  446. package/dist/types/graphql/resolvers/mutation/index.d.ts +0 -3
  447. package/dist/types/graphql/resolvers/mutation/index.d.ts.map +0 -1
  448. package/dist/types/graphql/resolvers/query/EventsQueryResolver.d.ts +0 -11
  449. package/dist/types/graphql/resolvers/query/EventsQueryResolver.d.ts.map +0 -1
  450. package/dist/types/graphql/resolvers/query/VariablesQueryResolver.d.ts +0 -12
  451. package/dist/types/graphql/resolvers/query/VariablesQueryResolver.d.ts.map +0 -1
  452. package/dist/types/graphql/resolvers/query/index.d.ts +0 -2
  453. package/dist/types/graphql/resolvers/query/index.d.ts.map +0 -1
  454. package/dist/types/graphql/schema/actions.graphql.d.ts +0 -3
  455. package/dist/types/graphql/schema/actions.graphql.d.ts.map +0 -1
  456. package/dist/types/graphql/schema/index.d.ts +0 -256
  457. package/dist/types/graphql/schema/index.d.ts.map +0 -1
  458. package/dist/types/index.d.ts +0 -13
  459. package/dist/types/index.d.ts.map +0 -1
  460. package/dist/types/migrations/2023-03-10-145000-actions-variables.d.ts +0 -3
  461. package/dist/types/migrations/2023-03-10-145000-actions-variables.d.ts.map +0 -1
  462. package/dist/types/migrations/index.d.ts +0 -3
  463. package/dist/types/migrations/index.d.ts.map +0 -1
  464. package/dist/types/migrations/snapshot.d.ts +0 -3
  465. package/dist/types/migrations/snapshot.d.ts.map +0 -1
  466. package/dist/types/model/EventsInProcessingQuery.d.ts +0 -9
  467. package/dist/types/model/EventsInProcessingQuery.d.ts.map +0 -1
  468. package/dist/types/model/EventsToProcessQuery.d.ts +0 -9
  469. package/dist/types/model/EventsToProcessQuery.d.ts.map +0 -1
  470. package/dist/types/model/EventsToProcessSpecification.d.ts +0 -4
  471. package/dist/types/model/EventsToProcessSpecification.d.ts.map +0 -1
  472. package/dist/types/model/FailedEventsQuery.d.ts +0 -9
  473. package/dist/types/model/FailedEventsQuery.d.ts.map +0 -1
  474. package/dist/types/model/SetVariableCommand.d.ts +0 -8
  475. package/dist/types/model/SetVariableCommand.d.ts.map +0 -1
  476. package/dist/types/model/VariablesManager.d.ts +0 -8
  477. package/dist/types/model/VariablesManager.d.ts.map +0 -1
  478. package/dist/types/model/VariablesQuery.d.ts +0 -12
  479. package/dist/types/model/VariablesQuery.d.ts.map +0 -1
  480. package/dist/types/model/types.d.ts +0 -19
  481. package/dist/types/model/types.d.ts.map +0 -1
  482. package/dist/types/triggers/TriggerHandler.d.ts +0 -26
  483. package/dist/types/triggers/TriggerHandler.d.ts.map +0 -1
  484. package/dist/types/triggers/TriggerIndirectChangesFetcher.d.ts +0 -11
  485. package/dist/types/triggers/TriggerIndirectChangesFetcher.d.ts.map +0 -1
  486. package/dist/types/triggers/TriggerListeners.d.ts +0 -9
  487. package/dist/types/triggers/TriggerListeners.d.ts.map +0 -1
  488. package/dist/types/triggers/TriggerListenersBuilder.d.ts +0 -15
  489. package/dist/types/triggers/TriggerListenersBuilder.d.ts.map +0 -1
  490. package/dist/types/triggers/TriggerListenersFactory.d.ts +0 -8
  491. package/dist/types/triggers/TriggerListenersFactory.d.ts.map +0 -1
  492. package/dist/types/triggers/TriggerListenersStore.d.ts +0 -48
  493. package/dist/types/triggers/TriggerListenersStore.d.ts.map +0 -1
  494. package/dist/types/triggers/TriggerPayloadBuilder.d.ts +0 -14
  495. package/dist/types/triggers/TriggerPayloadBuilder.d.ts.map +0 -1
  496. package/dist/types/triggers/TriggerPayloadManager.d.ts +0 -21
  497. package/dist/types/triggers/TriggerPayloadManager.d.ts.map +0 -1
  498. package/dist/types/triggers/TriggerPayloadPersister.d.ts +0 -17
  499. package/dist/types/triggers/TriggerPayloadPersister.d.ts.map +0 -1
  500. package/dist/types/triggers/index.d.ts +0 -8
  501. package/dist/types/triggers/index.d.ts.map +0 -1
  502. package/dist/types/tsconfig.tsbuildinfo +0 -1
  503. package/dist/types/utils/assertNever.d.ts +0 -2
  504. package/dist/types/utils/assertNever.d.ts.map +0 -1
  505. package/dist/types/utils/map.d.ts +0 -2
  506. package/dist/types/utils/map.d.ts.map +0 -1
@@ -9,7 +9,6 @@ export class SetVariablesMutationResolver implements MutationResolvers<ActionsCo
9
9
  ) {
10
10
  }
11
11
 
12
-
13
12
  async setVariables(parent: unknown, { args }: MutationSetVariablesArgs, ctx: ActionsContext) {
14
13
  await ctx.requireAccess(ActionsAuthorizationActions.VARIABLES_SET)
15
14
 
@@ -0,0 +1,19 @@
1
+ import { MutationResolvers, MutationRetryEventArgs } from '../../schema'
2
+ import { ActionsContext } from '../ActionsContext'
3
+ import { ActionsAuthorizationActions } from '../../../authorization'
4
+ import { EventsRepository } from '../../../dispatch/EventsRepository'
5
+
6
+ export class StopEventMutationResolver implements MutationResolvers<ActionsContext> {
7
+ constructor(
8
+ private readonly eventsRepository: EventsRepository,
9
+ ) {
10
+ }
11
+ async stopEvent(parent: unknown, args: MutationRetryEventArgs, ctx: ActionsContext) {
12
+ await ctx.requireAccess(ActionsAuthorizationActions.EVENTS_STOP)
13
+
14
+ await this.eventsRepository.markStopped(ctx.db.client, [args.id])
15
+ return {
16
+ ok: true,
17
+ }
18
+ }
19
+ }
@@ -1,2 +1,4 @@
1
1
  export * from './ProcessBatchMutationResolver'
2
2
  export * from './SetVariablesMutationResolver'
3
+ export * from './RetryEventMutationResolver'
4
+ export * from './StopEventMutationResolver'
@@ -1,10 +1,4 @@
1
- import {
2
- Event,
3
- QueryEventsInProcessingArgs,
4
- QueryEventsToProcessArgs,
5
- QueryFailedEventsArgs,
6
- QueryResolvers,
7
- } from '../../schema'
1
+ import { Event, QueryEventsInProcessingArgs, QueryEventsToProcessArgs, QueryFailedEventsArgs, QueryResolvers } from '../../schema'
8
2
  import { ActionsContext } from '../ActionsContext'
9
3
  import { EventsToProcessQuery } from '../../../model/EventsToProcessQuery'
10
4
  import { EventRow } from '../../../model/types'
@@ -13,6 +7,7 @@ import { Client, DatabaseQuery } from '@contember/database'
13
7
  import { EventsInProcessingQuery } from '../../../model/EventsInProcessingQuery'
14
8
  import { FailedEventsQuery } from '../../../model/FailedEventsQuery'
15
9
  import { ActionsAuthorizationActions } from '../../../authorization'
10
+ import { EventByIdQuery } from '../../../model/EventByIdQuery'
16
11
 
17
12
  export class EventsQueryResolver implements QueryResolvers<ActionsContext> {
18
13
  async eventsInProcessing(parent: unknown, { args }: QueryEventsInProcessingArgs, ctx: ActionsContext) {
@@ -33,6 +28,16 @@ export class EventsQueryResolver implements QueryResolvers<ActionsContext> {
33
28
  return await this.fetchEvents(ctx.db, new FailedEventsQuery(args ?? {}))
34
29
  }
35
30
 
31
+ async event(parent: unknown, { id }: { id: string }, ctx: ActionsContext): Promise<Event | null> {
32
+ await ctx.requireAccess(ActionsAuthorizationActions.EVENTS_VIEW)
33
+ const stages = await this.fetchStagesMap(ctx.db)
34
+ const result = await ctx.db.queryHandler.fetch(new EventByIdQuery(id))
35
+ if (!result) {
36
+ return null
37
+ }
38
+ return this.mapEventRows([result], stages)[0]
39
+ }
40
+
36
41
  private async fetchEvents(db: DatabaseContext, query: DatabaseQuery<EventRow[]>) {
37
42
  const stages = await this.fetchStagesMap(db)
38
43
  return this.mapEventRows(await db.queryHandler.fetch(query), stages)
@@ -43,7 +48,6 @@ export class EventsQueryResolver implements QueryResolvers<ActionsContext> {
43
48
  }
44
49
 
45
50
  private mapEventRows(rows: EventRow[], stagesMap: Record<string, string>): Event[] {
46
-
47
51
  return rows.map(row => ({
48
52
  id: row.id,
49
53
  createdAt: row.created_at,
@@ -57,6 +61,9 @@ export class EventsQueryResolver implements QueryResolvers<ActionsContext> {
57
61
  state: row.state,
58
62
  target: row.target,
59
63
  transactionId: row.transaction_id,
64
+ identityId: row.identity_id ?? undefined,
65
+ ipAddress: row.ip_address ?? undefined,
66
+ userAgent: row.user_agent ?? undefined,
60
67
  }))
61
68
  }
62
69
  }
@@ -4,7 +4,6 @@ import { VariablesManager } from '../../../model/VariablesManager'
4
4
  import { ActionsAuthorizationActions } from '../../../authorization'
5
5
 
6
6
  export class VariablesQueryResolver implements QueryResolvers<ActionsContext> {
7
-
8
7
  constructor(
9
8
  private readonly variablesManager: VariablesManager,
10
9
  ) {
@@ -15,11 +15,14 @@ export const schema: DocumentNode = 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 @@ export const schema: DocumentNode = 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 @@ export const schema: DocumentNode = 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 @@ export const schema: DocumentNode = gql`
78
92
  name: String!
79
93
  value: String!
80
94
  }
81
-
95
+
82
96
  type SetVariablesResponse {
83
97
  ok: Boolean!
84
98
  }
@@ -16,13 +16,15 @@ export type Scalars = {
16
16
  Float: { input: number; output: number }
17
17
  DateTime: { input: Date; output: Date }
18
18
  Json: { input: any; output: any }
19
- Uuid: { input: String; output: String }
19
+ Uuid: { input: string; output: string }
20
20
  }
21
21
 
22
22
  export type Event = {
23
23
  readonly __typename?: 'Event'
24
24
  readonly createdAt: Scalars['DateTime']['output']
25
25
  readonly id: Scalars['Uuid']['output']
26
+ readonly identityId?: Maybe<Scalars['Uuid']['output']>
27
+ readonly ipAddress?: Maybe<Scalars['String']['output']>
26
28
  readonly lastStateChange: Scalars['DateTime']['output']
27
29
  readonly log: Scalars['Json']['output']
28
30
  readonly numRetries: Scalars['Int']['output']
@@ -32,6 +34,7 @@ export type Event = {
32
34
  readonly state: EventState
33
35
  readonly target: Scalars['String']['output']
34
36
  readonly transactionId: Scalars['Uuid']['output']
37
+ readonly userAgent?: Maybe<Scalars['String']['output']>
35
38
  readonly visibleAt?: Maybe<Scalars['DateTime']['output']>
36
39
  }
37
40
 
@@ -42,24 +45,33 @@ export type EventArgs = {
42
45
  }
43
46
 
44
47
  export type EventState =
45
- | 'created'
46
- | 'failed'
47
- | 'processing'
48
- | 'retrying'
49
- | 'stopped'
50
- | 'succeed'
48
+ | 'created'
49
+ | 'failed'
50
+ | 'processing'
51
+ | 'retrying'
52
+ | 'stopped'
53
+ | 'succeed'
51
54
 
52
55
  export type Mutation = {
53
56
  readonly __typename?: 'Mutation'
54
57
  readonly processBatch: ProcessBatchResponse
58
+ readonly retryEvent: RetryEventResponse
55
59
  readonly setVariables: SetVariablesResponse
60
+ readonly stopEvent: StopEventResponse
56
61
  }
57
62
 
63
+ export type MutationRetryEventArgs = {
64
+ id: Scalars['Uuid']['input']
65
+ }
58
66
 
59
67
  export type MutationSetVariablesArgs = {
60
68
  args: SetVariablesArgs
61
69
  }
62
70
 
71
+ export type MutationStopEventArgs = {
72
+ id: Scalars['Uuid']['input']
73
+ }
74
+
63
75
  export type ProcessBatchResponse = {
64
76
  readonly __typename?: 'ProcessBatchResponse'
65
77
  readonly ok: Scalars['Boolean']['output']
@@ -67,27 +79,34 @@ export type ProcessBatchResponse = {
67
79
 
68
80
  export type Query = {
69
81
  readonly __typename?: 'Query'
82
+ readonly event?: Maybe<Event>
70
83
  readonly eventsInProcessing: ReadonlyArray<Event>
71
84
  readonly eventsToProcess: ReadonlyArray<Event>
72
85
  readonly failedEvents: ReadonlyArray<Event>
73
86
  readonly variables: ReadonlyArray<Variable>
74
87
  }
75
88
 
89
+ export type QueryEventArgs = {
90
+ id: Scalars['Uuid']['input']
91
+ }
76
92
 
77
93
  export type QueryEventsInProcessingArgs = {
78
94
  args?: InputMaybe<EventArgs>
79
95
  }
80
96
 
81
-
82
97
  export type QueryEventsToProcessArgs = {
83
98
  args?: InputMaybe<EventArgs>
84
99
  }
85
100
 
86
-
87
101
  export type QueryFailedEventsArgs = {
88
102
  args?: InputMaybe<EventArgs>
89
103
  }
90
104
 
105
+ export type RetryEventResponse = {
106
+ readonly __typename?: 'RetryEventResponse'
107
+ readonly ok: Scalars['Boolean']['output']
108
+ }
109
+
91
110
  export type SetVariablesArgs = {
92
111
  readonly mode?: InputMaybe<SetVariablesMode>
93
112
  readonly variables: ReadonlyArray<VariableInput>
@@ -100,15 +119,20 @@ export type SetVariablesArgs = {
100
119
  * - APPEND_ONLY_MISSING appends values if not already exist
101
120
  */
102
121
  export type SetVariablesMode =
103
- | 'APPEND_ONLY_MISSING'
104
- | 'MERGE'
105
- | 'SET'
122
+ | 'APPEND_ONLY_MISSING'
123
+ | 'MERGE'
124
+ | 'SET'
106
125
 
107
126
  export type SetVariablesResponse = {
108
127
  readonly __typename?: 'SetVariablesResponse'
109
128
  readonly ok: Scalars['Boolean']['output']
110
129
  }
111
130
 
131
+ export type StopEventResponse = {
132
+ readonly __typename?: 'StopEventResponse'
133
+ readonly ok: Scalars['Boolean']['output']
134
+ }
135
+
112
136
  export type Variable = {
113
137
  readonly __typename?: 'Variable'
114
138
  readonly name: Scalars['String']['output']
@@ -120,35 +144,34 @@ export type VariableInput = {
120
144
  readonly value: Scalars['String']['input']
121
145
  }
122
146
 
123
-
124
-
125
147
  export type ResolverTypeWrapper<T> = Promise<T> | T
126
148
 
127
-
128
149
  export type ResolverWithResolve<TResult, TParent, TContext, TArgs> = {
129
150
  resolve: ResolverFn<TResult, TParent, TContext, TArgs>
130
151
  }
131
- export type Resolver<TResult, TParent = {}, TContext = {}, TArgs = {}> = ResolverFn<TResult, TParent, TContext, TArgs> | ResolverWithResolve<TResult, TParent, TContext, TArgs>
152
+ export type Resolver<TResult, TParent = {}, TContext = {}, TArgs = {}> =
153
+ | ResolverFn<TResult, TParent, TContext, TArgs>
154
+ | ResolverWithResolve<TResult, TParent, TContext, TArgs>
132
155
 
133
156
  export type ResolverFn<TResult, TParent, TContext, TArgs> = (
134
157
  parent: TParent,
135
158
  args: TArgs,
136
159
  context: TContext,
137
- info: GraphQLResolveInfo
160
+ info: GraphQLResolveInfo,
138
161
  ) => Promise<TResult> | TResult
139
162
 
140
163
  export type SubscriptionSubscribeFn<TResult, TParent, TContext, TArgs> = (
141
164
  parent: TParent,
142
165
  args: TArgs,
143
166
  context: TContext,
144
- info: GraphQLResolveInfo
167
+ info: GraphQLResolveInfo,
145
168
  ) => AsyncIterable<TResult> | Promise<AsyncIterable<TResult>>
146
169
 
147
170
  export type SubscriptionResolveFn<TResult, TParent, TContext, TArgs> = (
148
171
  parent: TParent,
149
172
  args: TArgs,
150
173
  context: TContext,
151
- info: GraphQLResolveInfo
174
+ info: GraphQLResolveInfo,
152
175
  ) => TResult | Promise<TResult>
153
176
 
154
177
  export interface SubscriptionSubscriberObject<TResult, TKey extends string, TParent, TContext, TArgs> {
@@ -162,17 +185,17 @@ export interface SubscriptionResolverObject<TResult, TParent, TContext, TArgs> {
162
185
  }
163
186
 
164
187
  export type SubscriptionObject<TResult, TKey extends string, TParent, TContext, TArgs> =
165
- | SubscriptionSubscriberObject<TResult, TKey, TParent, TContext, TArgs>
166
- | SubscriptionResolverObject<TResult, TParent, TContext, TArgs>
188
+ | SubscriptionSubscriberObject<TResult, TKey, TParent, TContext, TArgs>
189
+ | SubscriptionResolverObject<TResult, TParent, TContext, TArgs>
167
190
 
168
191
  export type SubscriptionResolver<TResult, TKey extends string, TParent = {}, TContext = {}, TArgs = {}> =
169
- | ((...args: any[]) => SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>)
170
- | SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>
192
+ | ((...args: any[]) => SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>)
193
+ | SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>
171
194
 
172
195
  export type TypeResolveFn<TTypes, TParent = {}, TContext = {}> = (
173
196
  parent: TParent,
174
197
  context: TContext,
175
- info: GraphQLResolveInfo
198
+ info: GraphQLResolveInfo,
176
199
  ) => Maybe<TTypes> | Promise<Maybe<TTypes>>
177
200
 
178
201
  export type IsTypeOfResolverFn<T = {}, TContext = {}> = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise<boolean>
@@ -184,11 +207,9 @@ export type DirectiveResolverFn<TResult = {}, TParent = {}, TContext = {}, TArgs
184
207
  parent: TParent,
185
208
  args: TArgs,
186
209
  context: TContext,
187
- info: GraphQLResolveInfo
210
+ info: GraphQLResolveInfo,
188
211
  ) => TResult | Promise<TResult>
189
212
 
190
-
191
-
192
213
  /** Mapping between all available schema types and the resolvers types */
193
214
  export type ResolversTypes = {
194
215
  Boolean: ResolverTypeWrapper<Scalars['Boolean']['output']>
@@ -201,9 +222,11 @@ export type ResolversTypes = {
201
222
  Mutation: ResolverTypeWrapper<{}>
202
223
  ProcessBatchResponse: ResolverTypeWrapper<ProcessBatchResponse>
203
224
  Query: ResolverTypeWrapper<{}>
225
+ RetryEventResponse: ResolverTypeWrapper<RetryEventResponse>
204
226
  SetVariablesArgs: SetVariablesArgs
205
227
  SetVariablesMode: SetVariablesMode
206
228
  SetVariablesResponse: ResolverTypeWrapper<SetVariablesResponse>
229
+ StopEventResponse: ResolverTypeWrapper<StopEventResponse>
207
230
  String: ResolverTypeWrapper<Scalars['String']['output']>
208
231
  Uuid: ResolverTypeWrapper<Scalars['Uuid']['output']>
209
232
  Variable: ResolverTypeWrapper<Variable>
@@ -221,8 +244,10 @@ export type ResolversParentTypes = {
221
244
  Mutation: {}
222
245
  ProcessBatchResponse: ProcessBatchResponse
223
246
  Query: {}
247
+ RetryEventResponse: RetryEventResponse
224
248
  SetVariablesArgs: SetVariablesArgs
225
249
  SetVariablesResponse: SetVariablesResponse
250
+ StopEventResponse: StopEventResponse
226
251
  String: Scalars['String']['output']
227
252
  Uuid: Scalars['Uuid']['output']
228
253
  Variable: Variable
@@ -236,6 +261,8 @@ export interface DateTimeScalarConfig extends GraphQLScalarTypeConfig<ResolversT
236
261
  export type EventResolvers<ContextType = any, ParentType extends ResolversParentTypes['Event'] = ResolversParentTypes['Event']> = {
237
262
  createdAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>
238
263
  id?: Resolver<ResolversTypes['Uuid'], ParentType, ContextType>
264
+ identityId?: Resolver<Maybe<ResolversTypes['Uuid']>, ParentType, ContextType>
265
+ ipAddress?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>
239
266
  lastStateChange?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>
240
267
  log?: Resolver<ResolversTypes['Json'], ParentType, ContextType>
241
268
  numRetries?: Resolver<ResolversTypes['Int'], ParentType, ContextType>
@@ -245,6 +272,7 @@ export type EventResolvers<ContextType = any, ParentType extends ResolversParent
245
272
  state?: Resolver<ResolversTypes['EventState'], ParentType, ContextType>
246
273
  target?: Resolver<ResolversTypes['String'], ParentType, ContextType>
247
274
  transactionId?: Resolver<ResolversTypes['Uuid'], ParentType, ContextType>
275
+ userAgent?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>
248
276
  visibleAt?: Resolver<Maybe<ResolversTypes['DateTime']>, ParentType, ContextType>
249
277
  __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
250
278
  }
@@ -255,22 +283,47 @@ export interface JsonScalarConfig extends GraphQLScalarTypeConfig<ResolversTypes
255
283
 
256
284
  export type MutationResolvers<ContextType = any, ParentType extends ResolversParentTypes['Mutation'] = ResolversParentTypes['Mutation']> = {
257
285
  processBatch?: Resolver<ResolversTypes['ProcessBatchResponse'], ParentType, ContextType>
286
+ retryEvent?: Resolver<ResolversTypes['RetryEventResponse'], ParentType, ContextType, RequireFields<MutationRetryEventArgs, 'id'>>
258
287
  setVariables?: Resolver<ResolversTypes['SetVariablesResponse'], ParentType, ContextType, RequireFields<MutationSetVariablesArgs, 'args'>>
288
+ stopEvent?: Resolver<ResolversTypes['StopEventResponse'], ParentType, ContextType, RequireFields<MutationStopEventArgs, 'id'>>
259
289
  }
260
290
 
261
- export type ProcessBatchResponseResolvers<ContextType = any, ParentType extends ResolversParentTypes['ProcessBatchResponse'] = ResolversParentTypes['ProcessBatchResponse']> = {
291
+ export type ProcessBatchResponseResolvers<
292
+ ContextType = any,
293
+ ParentType extends ResolversParentTypes['ProcessBatchResponse'] = ResolversParentTypes['ProcessBatchResponse'],
294
+ > = {
262
295
  ok?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>
263
296
  __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
264
297
  }
265
298
 
266
299
  export type QueryResolvers<ContextType = any, ParentType extends ResolversParentTypes['Query'] = ResolversParentTypes['Query']> = {
300
+ event?: Resolver<Maybe<ResolversTypes['Event']>, ParentType, ContextType, RequireFields<QueryEventArgs, 'id'>>
267
301
  eventsInProcessing?: Resolver<ReadonlyArray<ResolversTypes['Event']>, ParentType, ContextType, Partial<QueryEventsInProcessingArgs>>
268
302
  eventsToProcess?: Resolver<ReadonlyArray<ResolversTypes['Event']>, ParentType, ContextType, Partial<QueryEventsToProcessArgs>>
269
303
  failedEvents?: Resolver<ReadonlyArray<ResolversTypes['Event']>, ParentType, ContextType, Partial<QueryFailedEventsArgs>>
270
304
  variables?: Resolver<ReadonlyArray<ResolversTypes['Variable']>, ParentType, ContextType>
271
305
  }
272
306
 
273
- export type SetVariablesResponseResolvers<ContextType = any, ParentType extends ResolversParentTypes['SetVariablesResponse'] = ResolversParentTypes['SetVariablesResponse']> = {
307
+ export type RetryEventResponseResolvers<
308
+ ContextType = any,
309
+ ParentType extends ResolversParentTypes['RetryEventResponse'] = ResolversParentTypes['RetryEventResponse'],
310
+ > = {
311
+ ok?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>
312
+ __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
313
+ }
314
+
315
+ export type SetVariablesResponseResolvers<
316
+ ContextType = any,
317
+ ParentType extends ResolversParentTypes['SetVariablesResponse'] = ResolversParentTypes['SetVariablesResponse'],
318
+ > = {
319
+ ok?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>
320
+ __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
321
+ }
322
+
323
+ export type StopEventResponseResolvers<
324
+ ContextType = any,
325
+ ParentType extends ResolversParentTypes['StopEventResponse'] = ResolversParentTypes['StopEventResponse'],
326
+ > = {
274
327
  ok?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>
275
328
  __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
276
329
  }
@@ -292,8 +345,9 @@ export type Resolvers<ContextType = any> = {
292
345
  Mutation?: MutationResolvers<ContextType>
293
346
  ProcessBatchResponse?: ProcessBatchResponseResolvers<ContextType>
294
347
  Query?: QueryResolvers<ContextType>
348
+ RetryEventResponse?: RetryEventResponseResolvers<ContextType>
295
349
  SetVariablesResponse?: SetVariablesResponseResolvers<ContextType>
350
+ StopEventResponse?: StopEventResponseResolvers<ContextType>
296
351
  Uuid?: GraphQLScalarType
297
352
  Variable?: VariableResolvers<ContextType>
298
353
  }
299
-
package/src/index.ts CHANGED
@@ -7,7 +7,13 @@ import { MasterContainerBuilder, MasterContainerHook } from '@contember/engine-h
7
7
  import { ActionsApiMiddlewareFactory } from './graphql/http/ActionsApiMiddlewareFactory'
8
8
  import { ActionsGraphQLHandlerFactory } from './graphql/http/ActionsGraphQLHandlerFactory'
9
9
  import { ResolversFactory } from './graphql/resolvers/ResolversFactory'
10
- import { EventsQueryResolver, ProcessBatchMutationResolver, SetVariablesMutationResolver } from './graphql/resolvers'
10
+ import {
11
+ EventsQueryResolver,
12
+ ProcessBatchMutationResolver,
13
+ RetryEventMutationResolver,
14
+ SetVariablesMutationResolver,
15
+ StopEventMutationResolver,
16
+ } from './graphql/resolvers'
11
17
  import { EventDispatcher } from './dispatch/EventDispatcher'
12
18
  import { EventsRepository } from './dispatch/EventsRepository'
13
19
  import { TargetHandlerResolver } from './dispatch/TargetHandlerResolver'
@@ -22,13 +28,7 @@ import { AccessEvaluator, Authorizator } from '@contember/authorization'
22
28
  import { ActionsPermissionsFactory } from './authorization'
23
29
  import { WebhookFetcherNative } from './dispatch/WebhookFetcher'
24
30
 
25
- export {
26
- TriggerListenersFactory,
27
- TriggerListenersStore,
28
- TriggerHandler,
29
- TriggerPayloadManager,
30
- TriggerIndirectChangesFetcher,
31
- } from './triggers'
31
+ export { TriggerHandler, TriggerIndirectChangesFetcher, TriggerListenersFactory, TriggerListenersStore, TriggerPayloadManager } from './triggers'
32
32
  export { ActionsExecutionContainerHookFactory } from './ActionsExecutionContainerHookFactory'
33
33
  export { ListenerStoreProvider } from './ListenerStoreProvider'
34
34
 
@@ -50,11 +50,13 @@ export default class ActionsPlugin implements Plugin {
50
50
  .addService('actions_variableManager', () => {
51
51
  return new VariablesManager()
52
52
  })
53
- .addService('actions_eventDispatcher', ({ actions_variableManager }) => {
54
- const eventsRepository = new EventsRepository()
53
+ .addService('actions_eventRepository', () => {
54
+ return new EventsRepository()
55
+ })
56
+ .addService('actions_eventDispatcher', ({ actions_eventRepository, actions_variableManager }) => {
55
57
  const webhookTargetHandler = new WebhookTargetHandler(new WebhookFetcherNative())
56
58
  const targetHandlerResolver = new TargetHandlerResolver(webhookTargetHandler)
57
- return new EventDispatcher(eventsRepository, actions_variableManager, targetHandlerResolver)
59
+ return new EventDispatcher(actions_eventRepository, actions_variableManager, targetHandlerResolver)
58
60
  })
59
61
  .addService('actions_dispatchWorkerSupervisorFactory', ({ actions_eventDispatcher }) => {
60
62
  const projectDispatcherFactory = new ProjectDispatcherFactory(actions_eventDispatcher)
@@ -63,31 +65,54 @@ export default class ActionsPlugin implements Plugin {
63
65
  .addService('actions_authorizator', () => {
64
66
  return new Authorizator.Default(new AccessEvaluator.PermissionEvaluator(new ActionsPermissionsFactory().create()))
65
67
  })
66
- .setupService('application', (it, { projectContextResolver, debugMode, actions_eventDispatcher, actions_dispatchWorkerSupervisorFactory, actions_variableManager, actions_authorizator }) => {
67
- const handlerFactory = new ActionsGraphQLHandlerFactory()
68
- const eventsQueryResolver = new EventsQueryResolver()
69
- const processBatchMutationResolver = new ProcessBatchMutationResolver(actions_eventDispatcher)
70
- const variablesQueryResolver = new VariablesQueryResolver(actions_variableManager)
71
- const setVariablesMutationResolver = new SetVariablesMutationResolver(actions_variableManager)
72
- const resolversFactory = new ResolversFactory(
73
- eventsQueryResolver,
74
- processBatchMutationResolver,
75
- variablesQueryResolver,
76
- setVariablesMutationResolver,
77
- )
68
+ .setupService(
69
+ 'application',
70
+ (
71
+ it,
72
+ {
73
+ projectContextResolver,
74
+ debugMode,
75
+ actions_eventRepository,
76
+ actions_eventDispatcher,
77
+ actions_dispatchWorkerSupervisorFactory,
78
+ actions_variableManager,
79
+ actions_authorizator,
80
+ },
81
+ ) => {
82
+ const handlerFactory = new ActionsGraphQLHandlerFactory()
83
+ const eventsQueryResolver = new EventsQueryResolver()
84
+ const processBatchMutationResolver = new ProcessBatchMutationResolver(actions_eventDispatcher)
85
+ const variablesQueryResolver = new VariablesQueryResolver(actions_variableManager)
86
+ const setVariablesMutationResolver = new SetVariablesMutationResolver(actions_variableManager)
87
+ const resolversFactory = new ResolversFactory(
88
+ eventsQueryResolver,
89
+ processBatchMutationResolver,
90
+ variablesQueryResolver,
91
+ setVariablesMutationResolver,
92
+ new RetryEventMutationResolver(actions_eventRepository),
93
+ new StopEventMutationResolver(actions_eventRepository),
94
+ )
78
95
 
79
- const actionsContextResolver = new ActionsContextResolver(debugMode, projectContextResolver)
80
- const actionsMiddlewareFactory = new ActionsApiMiddlewareFactory(actionsContextResolver, handlerFactory.create(resolversFactory), actions_authorizator)
81
- const actionsWebsocketMiddlewareFactory = new ActionsWebsocketControllerFactory(debugMode, actionsContextResolver, actions_dispatchWorkerSupervisorFactory)
82
- it.addRoute('actions', '/actions/:projectSlug', actionsMiddlewareFactory.create())
83
- it.addWebsocketRoute('actions', '/actions/_worker', actionsWebsocketMiddlewareFactory.create())
84
- })
96
+ const actionsContextResolver = new ActionsContextResolver(debugMode, projectContextResolver)
97
+ const actionsMiddlewareFactory = new ActionsApiMiddlewareFactory(
98
+ actionsContextResolver,
99
+ handlerFactory.create(resolversFactory),
100
+ actions_authorizator,
101
+ )
102
+ const actionsWebsocketMiddlewareFactory = new ActionsWebsocketControllerFactory(
103
+ debugMode,
104
+ actionsContextResolver,
105
+ actions_dispatchWorkerSupervisorFactory,
106
+ )
107
+ it.addRoute('actions', '/actions/:projectSlug', actionsMiddlewareFactory.create())
108
+ it.addWebsocketRoute('actions', '/actions/_worker', actionsWebsocketMiddlewareFactory.create())
109
+ },
110
+ )
85
111
  .setupService('applicationWorkers', (it, { actions_dispatchWorkerSupervisorFactory, projectGroupContainer, serverConfig }) => {
86
112
  if (!(serverConfig as any).projectGroup) {
87
113
  it.registerWorker(this.name, actions_dispatchWorkerSupervisorFactory.create(projectGroupContainer))
88
114
  }
89
115
  }) as unknown as MasterContainerBuilder
90
-
91
116
  }
92
117
  return hook
93
118
  }
@@ -11,6 +11,6 @@ const sql = `
11
11
  )
12
12
  `
13
13
 
14
- export default async function (builder: MigrationBuilder) {
14
+ export default async function(builder: MigrationBuilder) {
15
15
  builder.sql(sql)
16
16
  }
@@ -0,0 +1,16 @@
1
+ import { MigrationBuilder } from '@contember/database-migrations'
2
+
3
+ const sql = `
4
+ ALTER TABLE actions_event
5
+ ADD COLUMN IF NOT EXISTS identity_id UUID DEFAULT NULL;
6
+
7
+ ALTER TABLE actions_event
8
+ ADD COLUMN IF NOT EXISTS ip_address INET DEFAULT NULL;
9
+
10
+ ALTER TABLE actions_event
11
+ ADD COLUMN IF NOT EXISTS user_agent TEXT DEFAULT NULL;
12
+ `
13
+
14
+ export default async function(builder: MigrationBuilder) {
15
+ builder.sql(sql)
16
+ }
@@ -1,7 +1,9 @@
1
1
  import snapshot from './snapshot'
2
2
  import { MigrationGroup } from '@contember/database-migrations'
3
3
  import _20230310145000actionsvariables from './2023-03-10-145000-actions-variables'
4
+ import _20250528160000actioneventuser from './2025-05-28-160000-action-event-user'
4
5
 
5
6
  export const migrationsGroup = new MigrationGroup(snapshot, {
6
7
  '2023-03-10-145000-actions-variables': _20230310145000actionsvariables,
8
+ '2025-05-28-160000-action-event-user': _20250528160000actioneventuser,
7
9
  })
@@ -1,6 +1,6 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
 
3
- export default async function (builder: MigrationBuilder) {
3
+ export default async function(builder: MigrationBuilder) {
4
4
  builder.sql(`
5
5
  CREATE TYPE ACTIONS_TRIGGER_STATE AS ENUM (
6
6
  'created' ,
@@ -30,11 +30,14 @@ export default async function (builder: MigrationBuilder) {
30
30
  trigger TEXT NOT NULL,
31
31
  priority INT NOT NULL DEFAULT 0,
32
32
  payload JSONB NOT NULL,
33
- log JSONB NOT NULL DEFAULT '[]'
33
+ log JSONB NOT NULL DEFAULT '[]',
34
+ identity_id UUID DEFAULT NULL,
35
+ ip_address INET DEFAULT NULL,
36
+ user_agent TEXT DEFAULT NULL
34
37
  );
35
38
 
36
39
  CREATE INDEX ON actions_event (priority DESC, visible_at) WHERE state IN ('created', 'retrying', 'processing');
37
-
40
+
38
41
  CREATE TABLE actions_variable
39
42
  (
40
43
  id UUID PRIMARY KEY NOT NULL,
@@ -0,0 +1,21 @@
1
+ import { DatabaseQuery, DatabaseQueryable, SelectBuilder } from '@contember/database'
2
+ import { EventRow } from './types'
3
+
4
+ export class EventByIdQuery extends DatabaseQuery<EventRow | null> {
5
+ constructor(
6
+ private readonly id: string,
7
+ ) {
8
+ super()
9
+ }
10
+
11
+ async fetch(queryable: DatabaseQueryable): Promise<EventRow | null> {
12
+ const result = await SelectBuilder.create<EventRow>()
13
+ .from('actions_event')
14
+ .select('*')
15
+ .where({
16
+ id: this.id,
17
+ })
18
+ .getResult(queryable.db)
19
+ return this.fetchOneOrNull(result)
20
+ }
21
+ }