@contember/engine-actions 1.4.0-rc.7 → 2.0.0-alpha.10

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 (599) hide show
  1. package/dist/development/index.cjs +94 -0
  2. package/dist/development/index.cjs.map +1 -0
  3. package/dist/development/index.js +94 -0
  4. package/dist/development/index.js.map +1 -0
  5. package/dist/development/src/ActionsExecutionContainerHookFactory.cjs +30 -0
  6. package/dist/development/src/ActionsExecutionContainerHookFactory.cjs.map +1 -0
  7. package/dist/development/src/ActionsExecutionContainerHookFactory.js +30 -0
  8. package/dist/development/src/ActionsExecutionContainerHookFactory.js.map +1 -0
  9. package/dist/development/src/ImplementationException.cjs +6 -0
  10. package/dist/development/src/ImplementationException.cjs.map +1 -0
  11. package/dist/development/src/ImplementationException.js +6 -0
  12. package/dist/development/src/ImplementationException.js.map +1 -0
  13. package/dist/development/src/ListenerStoreProvider.cjs +25 -0
  14. package/dist/development/src/ListenerStoreProvider.cjs.map +1 -0
  15. package/dist/development/src/ListenerStoreProvider.js +25 -0
  16. package/dist/development/src/ListenerStoreProvider.js.map +1 -0
  17. package/dist/development/src/authorization/ActionsAuthorizationActions.cjs +15 -0
  18. package/dist/development/src/authorization/ActionsAuthorizationActions.cjs.map +1 -0
  19. package/dist/development/src/authorization/ActionsAuthorizationActions.js +16 -0
  20. package/dist/development/src/authorization/ActionsAuthorizationActions.js.map +1 -0
  21. package/dist/development/src/authorization/ActionsPermissionsFactory.cjs +16 -0
  22. package/dist/development/src/authorization/ActionsPermissionsFactory.cjs.map +1 -0
  23. package/dist/development/src/authorization/ActionsPermissionsFactory.js +16 -0
  24. package/dist/development/src/authorization/ActionsPermissionsFactory.js.map +1 -0
  25. package/dist/development/src/dispatch/DispatchWorkerSupervisor.cjs +125 -0
  26. package/dist/development/src/dispatch/DispatchWorkerSupervisor.cjs.map +1 -0
  27. package/dist/development/src/dispatch/DispatchWorkerSupervisor.js +125 -0
  28. package/dist/development/src/dispatch/DispatchWorkerSupervisor.js.map +1 -0
  29. package/dist/development/src/dispatch/EventDispatcher.cjs +43 -0
  30. package/dist/development/src/dispatch/EventDispatcher.cjs.map +1 -0
  31. package/dist/development/src/dispatch/EventDispatcher.js +43 -0
  32. package/dist/development/src/dispatch/EventDispatcher.js.map +1 -0
  33. package/dist/development/src/dispatch/EventsRepository.cjs +104 -0
  34. package/dist/development/src/dispatch/EventsRepository.cjs.map +1 -0
  35. package/dist/development/src/dispatch/EventsRepository.js +104 -0
  36. package/dist/development/src/dispatch/EventsRepository.js.map +1 -0
  37. package/dist/development/src/dispatch/ProjectDispatcher.cjs +99 -0
  38. package/dist/development/src/dispatch/ProjectDispatcher.cjs.map +1 -0
  39. package/dist/development/src/dispatch/ProjectDispatcher.js +99 -0
  40. package/dist/development/src/dispatch/ProjectDispatcher.js.map +1 -0
  41. package/dist/development/src/dispatch/TargetHandlerResolver.cjs +16 -0
  42. package/dist/development/src/dispatch/TargetHandlerResolver.cjs.map +1 -0
  43. package/dist/development/src/dispatch/TargetHandlerResolver.js +16 -0
  44. package/dist/development/src/dispatch/TargetHandlerResolver.js.map +1 -0
  45. package/dist/development/src/dispatch/WebhookFetcher.cjs +16 -0
  46. package/dist/development/src/dispatch/WebhookFetcher.cjs.map +1 -0
  47. package/dist/development/src/dispatch/WebhookFetcher.js +16 -0
  48. package/dist/development/src/dispatch/WebhookFetcher.js.map +1 -0
  49. package/dist/development/src/dispatch/WebhookTargetHandler.cjs +193 -0
  50. package/dist/development/src/dispatch/WebhookTargetHandler.cjs.map +1 -0
  51. package/dist/development/src/dispatch/WebhookTargetHandler.js +176 -0
  52. package/dist/development/src/dispatch/WebhookTargetHandler.js.map +1 -0
  53. package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.cjs +38 -0
  54. package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.cjs.map +1 -0
  55. package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.js +38 -0
  56. package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.js.map +1 -0
  57. package/dist/development/src/graphql/http/ActionsContextResolver.cjs +39 -0
  58. package/dist/development/src/graphql/http/ActionsContextResolver.cjs.map +1 -0
  59. package/dist/development/src/graphql/http/ActionsContextResolver.js +39 -0
  60. package/dist/development/src/graphql/http/ActionsContextResolver.js.map +1 -0
  61. package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.cjs +20 -0
  62. package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.cjs.map +1 -0
  63. package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.js +20 -0
  64. package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.js.map +1 -0
  65. package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.cjs +149 -0
  66. package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.cjs.map +1 -0
  67. package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.js +132 -0
  68. package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.js.map +1 -0
  69. package/dist/development/src/graphql/resolvers/ResolversFactory.cjs +31 -0
  70. package/dist/development/src/graphql/resolvers/ResolversFactory.cjs.map +1 -0
  71. package/dist/development/src/graphql/resolvers/ResolversFactory.js +31 -0
  72. package/dist/development/src/graphql/resolvers/ResolversFactory.js.map +1 -0
  73. package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs +19 -0
  74. package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs.map +1 -0
  75. package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js +19 -0
  76. package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js.map +1 -0
  77. package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs +19 -0
  78. package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs.map +1 -0
  79. package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js +19 -0
  80. package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js.map +1 -0
  81. package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.cjs +48 -0
  82. package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.cjs.map +1 -0
  83. package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.js +48 -0
  84. package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.js.map +1 -0
  85. package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.cjs +19 -0
  86. package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.cjs.map +1 -0
  87. package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.js +19 -0
  88. package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.js.map +1 -0
  89. package/dist/{src/graphql/schema/actions.graphql.js → development/src/graphql/schema/actions.graphql.cjs} +5 -5
  90. package/dist/development/src/graphql/schema/actions.graphql.cjs.map +1 -0
  91. package/dist/development/src/graphql/schema/actions.graphql.js +93 -0
  92. package/dist/development/src/graphql/schema/actions.graphql.js.map +1 -0
  93. package/dist/{src/migrations/2023-03-10-145000-actions-variables.js → development/src/migrations/2023-03-10-145000-actions-variables.cjs} +4 -5
  94. package/dist/development/src/migrations/2023-03-10-145000-actions-variables.cjs.map +1 -0
  95. package/dist/development/src/migrations/2023-03-10-145000-actions-variables.js +17 -0
  96. package/dist/development/src/migrations/2023-03-10-145000-actions-variables.js.map +1 -0
  97. package/dist/development/src/migrations/index.cjs +10 -0
  98. package/dist/development/src/migrations/index.cjs.map +1 -0
  99. package/dist/development/src/migrations/index.js +10 -0
  100. package/dist/development/src/migrations/index.js.map +1 -0
  101. package/dist/{src/migrations/snapshot.js → development/src/migrations/snapshot.cjs} +4 -5
  102. package/dist/development/src/migrations/snapshot.cjs.map +1 -0
  103. package/dist/development/src/migrations/snapshot.js +49 -0
  104. package/dist/development/src/migrations/snapshot.js.map +1 -0
  105. package/dist/development/src/model/EventsInProcessingQuery.cjs +14 -0
  106. package/dist/development/src/model/EventsInProcessingQuery.cjs.map +1 -0
  107. package/dist/development/src/model/EventsInProcessingQuery.js +14 -0
  108. package/dist/development/src/model/EventsInProcessingQuery.js.map +1 -0
  109. package/dist/development/src/model/EventsToProcessQuery.cjs +15 -0
  110. package/dist/development/src/model/EventsToProcessQuery.cjs.map +1 -0
  111. package/dist/development/src/model/EventsToProcessQuery.js +15 -0
  112. package/dist/development/src/model/EventsToProcessQuery.js.map +1 -0
  113. package/dist/development/src/model/EventsToProcessSpecification.cjs +8 -0
  114. package/dist/development/src/model/EventsToProcessSpecification.cjs.map +1 -0
  115. package/dist/development/src/model/EventsToProcessSpecification.js +8 -0
  116. package/dist/development/src/model/EventsToProcessSpecification.js.map +1 -0
  117. package/dist/development/src/model/FailedEventsQuery.cjs +14 -0
  118. package/dist/development/src/model/FailedEventsQuery.cjs.map +1 -0
  119. package/dist/development/src/model/FailedEventsQuery.js +14 -0
  120. package/dist/development/src/model/FailedEventsQuery.js.map +1 -0
  121. package/dist/development/src/model/SetVariableCommand.cjs +21 -0
  122. package/dist/development/src/model/SetVariableCommand.cjs.map +1 -0
  123. package/dist/development/src/model/SetVariableCommand.js +21 -0
  124. package/dist/development/src/model/SetVariableCommand.js.map +1 -0
  125. package/dist/development/src/model/VariablesManager.cjs +41 -0
  126. package/dist/development/src/model/VariablesManager.cjs.map +1 -0
  127. package/dist/development/src/model/VariablesManager.js +41 -0
  128. package/dist/development/src/model/VariablesManager.js.map +1 -0
  129. package/dist/development/src/model/VariablesQuery.cjs +10 -0
  130. package/dist/development/src/model/VariablesQuery.cjs.map +1 -0
  131. package/dist/development/src/model/VariablesQuery.js +10 -0
  132. package/dist/development/src/model/VariablesQuery.js.map +1 -0
  133. package/dist/development/src/triggers/TriggerHandler.cjs +126 -0
  134. package/dist/development/src/triggers/TriggerHandler.cjs.map +1 -0
  135. package/dist/development/src/triggers/TriggerHandler.js +126 -0
  136. package/dist/development/src/triggers/TriggerHandler.js.map +1 -0
  137. package/dist/development/src/triggers/TriggerIndirectChangesFetcher.cjs +21 -0
  138. package/dist/development/src/triggers/TriggerIndirectChangesFetcher.cjs.map +1 -0
  139. package/dist/development/src/triggers/TriggerIndirectChangesFetcher.js +21 -0
  140. package/dist/development/src/triggers/TriggerIndirectChangesFetcher.js.map +1 -0
  141. package/dist/development/src/triggers/TriggerListenersBuilder.cjs +169 -0
  142. package/dist/development/src/triggers/TriggerListenersBuilder.cjs.map +1 -0
  143. package/dist/development/src/triggers/TriggerListenersBuilder.js +169 -0
  144. package/dist/development/src/triggers/TriggerListenersBuilder.js.map +1 -0
  145. package/dist/development/src/triggers/TriggerListenersFactory.cjs +17 -0
  146. package/dist/development/src/triggers/TriggerListenersFactory.cjs.map +1 -0
  147. package/dist/development/src/triggers/TriggerListenersFactory.js +17 -0
  148. package/dist/development/src/triggers/TriggerListenersFactory.js.map +1 -0
  149. package/dist/development/src/triggers/TriggerListenersStore.cjs +24 -0
  150. package/dist/development/src/triggers/TriggerListenersStore.cjs.map +1 -0
  151. package/dist/development/src/triggers/TriggerListenersStore.js +24 -0
  152. package/dist/development/src/triggers/TriggerListenersStore.js.map +1 -0
  153. package/dist/development/src/triggers/TriggerPayloadBuilder.cjs +134 -0
  154. package/dist/development/src/triggers/TriggerPayloadBuilder.cjs.map +1 -0
  155. package/dist/development/src/triggers/TriggerPayloadBuilder.js +134 -0
  156. package/dist/development/src/triggers/TriggerPayloadBuilder.js.map +1 -0
  157. package/dist/development/src/triggers/TriggerPayloadManager.cjs +27 -0
  158. package/dist/development/src/triggers/TriggerPayloadManager.cjs.map +1 -0
  159. package/dist/development/src/triggers/TriggerPayloadManager.js +27 -0
  160. package/dist/development/src/triggers/TriggerPayloadManager.js.map +1 -0
  161. package/dist/development/src/triggers/TriggerPayloadPersister.cjs +40 -0
  162. package/dist/development/src/triggers/TriggerPayloadPersister.cjs.map +1 -0
  163. package/dist/development/src/triggers/TriggerPayloadPersister.js +40 -0
  164. package/dist/development/src/triggers/TriggerPayloadPersister.js.map +1 -0
  165. package/dist/development/src/utils/assertNever.cjs +7 -0
  166. package/dist/development/src/utils/assertNever.cjs.map +1 -0
  167. package/dist/development/src/utils/assertNever.js +7 -0
  168. package/dist/development/src/utils/assertNever.js.map +1 -0
  169. package/dist/development/src/utils/map.cjs +13 -0
  170. package/dist/development/src/utils/map.cjs.map +1 -0
  171. package/dist/development/src/utils/map.js +13 -0
  172. package/dist/development/src/utils/map.js.map +1 -0
  173. package/dist/production/index.cjs +94 -0
  174. package/dist/production/index.cjs.map +1 -0
  175. package/dist/production/index.js +94 -0
  176. package/dist/production/index.js.map +1 -0
  177. package/dist/production/src/ActionsExecutionContainerHookFactory.cjs +30 -0
  178. package/dist/production/src/ActionsExecutionContainerHookFactory.cjs.map +1 -0
  179. package/dist/production/src/ActionsExecutionContainerHookFactory.js +30 -0
  180. package/dist/production/src/ActionsExecutionContainerHookFactory.js.map +1 -0
  181. package/dist/production/src/ImplementationException.cjs +6 -0
  182. package/dist/production/src/ImplementationException.cjs.map +1 -0
  183. package/dist/production/src/ImplementationException.js +6 -0
  184. package/dist/production/src/ImplementationException.js.map +1 -0
  185. package/dist/production/src/ListenerStoreProvider.cjs +25 -0
  186. package/dist/production/src/ListenerStoreProvider.cjs.map +1 -0
  187. package/dist/production/src/ListenerStoreProvider.js +25 -0
  188. package/dist/production/src/ListenerStoreProvider.js.map +1 -0
  189. package/dist/production/src/authorization/ActionsAuthorizationActions.cjs +15 -0
  190. package/dist/production/src/authorization/ActionsAuthorizationActions.cjs.map +1 -0
  191. package/dist/production/src/authorization/ActionsAuthorizationActions.js +16 -0
  192. package/dist/production/src/authorization/ActionsAuthorizationActions.js.map +1 -0
  193. package/dist/production/src/authorization/ActionsPermissionsFactory.cjs +16 -0
  194. package/dist/production/src/authorization/ActionsPermissionsFactory.cjs.map +1 -0
  195. package/dist/production/src/authorization/ActionsPermissionsFactory.js +16 -0
  196. package/dist/production/src/authorization/ActionsPermissionsFactory.js.map +1 -0
  197. package/dist/production/src/dispatch/DispatchWorkerSupervisor.cjs +125 -0
  198. package/dist/production/src/dispatch/DispatchWorkerSupervisor.cjs.map +1 -0
  199. package/dist/production/src/dispatch/DispatchWorkerSupervisor.js +125 -0
  200. package/dist/production/src/dispatch/DispatchWorkerSupervisor.js.map +1 -0
  201. package/dist/production/src/dispatch/EventDispatcher.cjs +43 -0
  202. package/dist/production/src/dispatch/EventDispatcher.cjs.map +1 -0
  203. package/dist/production/src/dispatch/EventDispatcher.js +43 -0
  204. package/dist/production/src/dispatch/EventDispatcher.js.map +1 -0
  205. package/dist/production/src/dispatch/EventsRepository.cjs +104 -0
  206. package/dist/production/src/dispatch/EventsRepository.cjs.map +1 -0
  207. package/dist/production/src/dispatch/EventsRepository.js +104 -0
  208. package/dist/production/src/dispatch/EventsRepository.js.map +1 -0
  209. package/dist/production/src/dispatch/ProjectDispatcher.cjs +99 -0
  210. package/dist/production/src/dispatch/ProjectDispatcher.cjs.map +1 -0
  211. package/dist/production/src/dispatch/ProjectDispatcher.js +99 -0
  212. package/dist/production/src/dispatch/ProjectDispatcher.js.map +1 -0
  213. package/dist/production/src/dispatch/TargetHandlerResolver.cjs +16 -0
  214. package/dist/production/src/dispatch/TargetHandlerResolver.cjs.map +1 -0
  215. package/dist/production/src/dispatch/TargetHandlerResolver.js +16 -0
  216. package/dist/production/src/dispatch/TargetHandlerResolver.js.map +1 -0
  217. package/dist/production/src/dispatch/WebhookFetcher.cjs +16 -0
  218. package/dist/production/src/dispatch/WebhookFetcher.cjs.map +1 -0
  219. package/dist/production/src/dispatch/WebhookFetcher.js +16 -0
  220. package/dist/production/src/dispatch/WebhookFetcher.js.map +1 -0
  221. package/dist/production/src/dispatch/WebhookTargetHandler.cjs +193 -0
  222. package/dist/production/src/dispatch/WebhookTargetHandler.cjs.map +1 -0
  223. package/dist/production/src/dispatch/WebhookTargetHandler.js +176 -0
  224. package/dist/production/src/dispatch/WebhookTargetHandler.js.map +1 -0
  225. package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.cjs +38 -0
  226. package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.cjs.map +1 -0
  227. package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.js +38 -0
  228. package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.js.map +1 -0
  229. package/dist/production/src/graphql/http/ActionsContextResolver.cjs +39 -0
  230. package/dist/production/src/graphql/http/ActionsContextResolver.cjs.map +1 -0
  231. package/dist/production/src/graphql/http/ActionsContextResolver.js +39 -0
  232. package/dist/production/src/graphql/http/ActionsContextResolver.js.map +1 -0
  233. package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.cjs +20 -0
  234. package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.cjs.map +1 -0
  235. package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.js +20 -0
  236. package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.js.map +1 -0
  237. package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.cjs +149 -0
  238. package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.cjs.map +1 -0
  239. package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.js +132 -0
  240. package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.js.map +1 -0
  241. package/dist/production/src/graphql/resolvers/ResolversFactory.cjs +31 -0
  242. package/dist/production/src/graphql/resolvers/ResolversFactory.cjs.map +1 -0
  243. package/dist/production/src/graphql/resolvers/ResolversFactory.js +31 -0
  244. package/dist/production/src/graphql/resolvers/ResolversFactory.js.map +1 -0
  245. package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs +19 -0
  246. package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs.map +1 -0
  247. package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js +19 -0
  248. package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js.map +1 -0
  249. package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs +19 -0
  250. package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs.map +1 -0
  251. package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js +19 -0
  252. package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js.map +1 -0
  253. package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.cjs +48 -0
  254. package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.cjs.map +1 -0
  255. package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.js +48 -0
  256. package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.js.map +1 -0
  257. package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.cjs +19 -0
  258. package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.cjs.map +1 -0
  259. package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.js +19 -0
  260. package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.js.map +1 -0
  261. package/dist/production/src/graphql/schema/actions.graphql.cjs +93 -0
  262. package/dist/production/src/graphql/schema/actions.graphql.cjs.map +1 -0
  263. package/dist/production/src/graphql/schema/actions.graphql.js +93 -0
  264. package/dist/production/src/graphql/schema/actions.graphql.js.map +1 -0
  265. package/dist/production/src/migrations/2023-03-10-145000-actions-variables.cjs +16 -0
  266. package/dist/production/src/migrations/2023-03-10-145000-actions-variables.cjs.map +1 -0
  267. package/dist/production/src/migrations/2023-03-10-145000-actions-variables.js +17 -0
  268. package/dist/production/src/migrations/2023-03-10-145000-actions-variables.js.map +1 -0
  269. package/dist/production/src/migrations/index.cjs +10 -0
  270. package/dist/production/src/migrations/index.cjs.map +1 -0
  271. package/dist/production/src/migrations/index.js +10 -0
  272. package/dist/production/src/migrations/index.js.map +1 -0
  273. package/dist/production/src/migrations/snapshot.cjs +48 -0
  274. package/dist/production/src/migrations/snapshot.cjs.map +1 -0
  275. package/dist/production/src/migrations/snapshot.js +49 -0
  276. package/dist/production/src/migrations/snapshot.js.map +1 -0
  277. package/dist/production/src/model/EventsInProcessingQuery.cjs +14 -0
  278. package/dist/production/src/model/EventsInProcessingQuery.cjs.map +1 -0
  279. package/dist/production/src/model/EventsInProcessingQuery.js +14 -0
  280. package/dist/production/src/model/EventsInProcessingQuery.js.map +1 -0
  281. package/dist/production/src/model/EventsToProcessQuery.cjs +15 -0
  282. package/dist/production/src/model/EventsToProcessQuery.cjs.map +1 -0
  283. package/dist/production/src/model/EventsToProcessQuery.js +15 -0
  284. package/dist/production/src/model/EventsToProcessQuery.js.map +1 -0
  285. package/dist/production/src/model/EventsToProcessSpecification.cjs +8 -0
  286. package/dist/production/src/model/EventsToProcessSpecification.cjs.map +1 -0
  287. package/dist/production/src/model/EventsToProcessSpecification.js +8 -0
  288. package/dist/production/src/model/EventsToProcessSpecification.js.map +1 -0
  289. package/dist/production/src/model/FailedEventsQuery.cjs +14 -0
  290. package/dist/production/src/model/FailedEventsQuery.cjs.map +1 -0
  291. package/dist/production/src/model/FailedEventsQuery.js +14 -0
  292. package/dist/production/src/model/FailedEventsQuery.js.map +1 -0
  293. package/dist/production/src/model/SetVariableCommand.cjs +21 -0
  294. package/dist/production/src/model/SetVariableCommand.cjs.map +1 -0
  295. package/dist/production/src/model/SetVariableCommand.js +21 -0
  296. package/dist/production/src/model/SetVariableCommand.js.map +1 -0
  297. package/dist/production/src/model/VariablesManager.cjs +41 -0
  298. package/dist/production/src/model/VariablesManager.cjs.map +1 -0
  299. package/dist/production/src/model/VariablesManager.js +41 -0
  300. package/dist/production/src/model/VariablesManager.js.map +1 -0
  301. package/dist/production/src/model/VariablesQuery.cjs +10 -0
  302. package/dist/production/src/model/VariablesQuery.cjs.map +1 -0
  303. package/dist/production/src/model/VariablesQuery.js +10 -0
  304. package/dist/production/src/model/VariablesQuery.js.map +1 -0
  305. package/dist/production/src/triggers/TriggerHandler.cjs +126 -0
  306. package/dist/production/src/triggers/TriggerHandler.cjs.map +1 -0
  307. package/dist/production/src/triggers/TriggerHandler.js +126 -0
  308. package/dist/production/src/triggers/TriggerHandler.js.map +1 -0
  309. package/dist/production/src/triggers/TriggerIndirectChangesFetcher.cjs +21 -0
  310. package/dist/production/src/triggers/TriggerIndirectChangesFetcher.cjs.map +1 -0
  311. package/dist/production/src/triggers/TriggerIndirectChangesFetcher.js +21 -0
  312. package/dist/production/src/triggers/TriggerIndirectChangesFetcher.js.map +1 -0
  313. package/dist/production/src/triggers/TriggerListenersBuilder.cjs +169 -0
  314. package/dist/production/src/triggers/TriggerListenersBuilder.cjs.map +1 -0
  315. package/dist/production/src/triggers/TriggerListenersBuilder.js +169 -0
  316. package/dist/production/src/triggers/TriggerListenersBuilder.js.map +1 -0
  317. package/dist/production/src/triggers/TriggerListenersFactory.cjs +17 -0
  318. package/dist/production/src/triggers/TriggerListenersFactory.cjs.map +1 -0
  319. package/dist/production/src/triggers/TriggerListenersFactory.js +17 -0
  320. package/dist/production/src/triggers/TriggerListenersFactory.js.map +1 -0
  321. package/dist/production/src/triggers/TriggerListenersStore.cjs +24 -0
  322. package/dist/production/src/triggers/TriggerListenersStore.cjs.map +1 -0
  323. package/dist/production/src/triggers/TriggerListenersStore.js +24 -0
  324. package/dist/production/src/triggers/TriggerListenersStore.js.map +1 -0
  325. package/dist/production/src/triggers/TriggerPayloadBuilder.cjs +134 -0
  326. package/dist/production/src/triggers/TriggerPayloadBuilder.cjs.map +1 -0
  327. package/dist/production/src/triggers/TriggerPayloadBuilder.js +134 -0
  328. package/dist/production/src/triggers/TriggerPayloadBuilder.js.map +1 -0
  329. package/dist/production/src/triggers/TriggerPayloadManager.cjs +27 -0
  330. package/dist/production/src/triggers/TriggerPayloadManager.cjs.map +1 -0
  331. package/dist/production/src/triggers/TriggerPayloadManager.js +27 -0
  332. package/dist/production/src/triggers/TriggerPayloadManager.js.map +1 -0
  333. package/dist/production/src/triggers/TriggerPayloadPersister.cjs +40 -0
  334. package/dist/production/src/triggers/TriggerPayloadPersister.cjs.map +1 -0
  335. package/dist/production/src/triggers/TriggerPayloadPersister.js +40 -0
  336. package/dist/production/src/triggers/TriggerPayloadPersister.js.map +1 -0
  337. package/dist/production/src/utils/assertNever.cjs +7 -0
  338. package/dist/production/src/utils/assertNever.cjs.map +1 -0
  339. package/dist/production/src/utils/assertNever.js +7 -0
  340. package/dist/production/src/utils/assertNever.js.map +1 -0
  341. package/dist/production/src/utils/map.cjs +13 -0
  342. package/dist/production/src/utils/map.cjs.map +1 -0
  343. package/dist/production/src/utils/map.js +13 -0
  344. package/dist/production/src/utils/map.js.map +1 -0
  345. package/dist/tests/src/uuid.d.ts +3 -0
  346. package/dist/tests/src/uuid.d.ts.map +1 -0
  347. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  348. package/dist/types/authorization/ActionsAuthorizationActions.d.ts +28 -0
  349. package/dist/types/authorization/ActionsAuthorizationActions.d.ts.map +1 -0
  350. package/dist/{src → types}/dispatch/types.d.ts +1 -1
  351. package/dist/types/dispatch/types.d.ts.map +1 -0
  352. package/dist/types/tsconfig.tsbuildinfo +1 -0
  353. package/dist/{src → types}/utils/map.d.ts.map +1 -1
  354. package/package.json +37 -24
  355. package/src/dispatch/types.ts +1 -1
  356. package/src/tsconfig.json +1 -1
  357. package/tests/cases/unit/webhookHandler.test.ts +1 -1
  358. package/tests/src/uuid.ts +4 -0
  359. package/tests/tsconfig.json +0 -3
  360. package/vitest.config.ts +3 -0
  361. package/dist/src/ActionsExecutionContainerHookFactory.js +0 -28
  362. package/dist/src/ActionsExecutionContainerHookFactory.js.map +0 -1
  363. package/dist/src/ImplementationException.js +0 -7
  364. package/dist/src/ImplementationException.js.map +0 -1
  365. package/dist/src/ListenerStoreProvider.js +0 -21
  366. package/dist/src/ListenerStoreProvider.js.map +0 -1
  367. package/dist/src/authorization/ActionsAuthorizationActions.d.ts +0 -27
  368. package/dist/src/authorization/ActionsAuthorizationActions.d.ts.map +0 -1
  369. package/dist/src/authorization/ActionsAuthorizationActions.js +0 -17
  370. package/dist/src/authorization/ActionsAuthorizationActions.js.map +0 -1
  371. package/dist/src/authorization/ActionsPermissionsFactory.js +0 -17
  372. package/dist/src/authorization/ActionsPermissionsFactory.js.map +0 -1
  373. package/dist/src/authorization/Identity.js +0 -3
  374. package/dist/src/authorization/Identity.js.map +0 -1
  375. package/dist/src/authorization/index.js +0 -20
  376. package/dist/src/authorization/index.js.map +0 -1
  377. package/dist/src/dispatch/DispatchWorkerSupervisor.js +0 -123
  378. package/dist/src/dispatch/DispatchWorkerSupervisor.js.map +0 -1
  379. package/dist/src/dispatch/EventDispatcher.js +0 -46
  380. package/dist/src/dispatch/EventDispatcher.js.map +0 -1
  381. package/dist/src/dispatch/EventsRepository.js +0 -138
  382. package/dist/src/dispatch/EventsRepository.js.map +0 -1
  383. package/dist/src/dispatch/ProjectDispatcher.js +0 -103
  384. package/dist/src/dispatch/ProjectDispatcher.js.map +0 -1
  385. package/dist/src/dispatch/TargetHandlerResolver.js +0 -17
  386. package/dist/src/dispatch/TargetHandlerResolver.js.map +0 -1
  387. package/dist/src/dispatch/WebhookFetcher.js +0 -17
  388. package/dist/src/dispatch/WebhookFetcher.js.map +0 -1
  389. package/dist/src/dispatch/WebhookTargetHandler.js +0 -203
  390. package/dist/src/dispatch/WebhookTargetHandler.js.map +0 -1
  391. package/dist/src/dispatch/types.d.ts.map +0 -1
  392. package/dist/src/dispatch/types.js +0 -3
  393. package/dist/src/dispatch/types.js.map +0 -1
  394. package/dist/src/graphql/http/ActionsApiMiddlewareFactory.js +0 -39
  395. package/dist/src/graphql/http/ActionsApiMiddlewareFactory.js.map +0 -1
  396. package/dist/src/graphql/http/ActionsContextResolver.js +0 -35
  397. package/dist/src/graphql/http/ActionsContextResolver.js.map +0 -1
  398. package/dist/src/graphql/http/ActionsGraphQLHandlerFactory.js +0 -21
  399. package/dist/src/graphql/http/ActionsGraphQLHandlerFactory.js.map +0 -1
  400. package/dist/src/graphql/http/ActionsWebsocketControllerFactory.js +0 -154
  401. package/dist/src/graphql/http/ActionsWebsocketControllerFactory.js.map +0 -1
  402. package/dist/src/graphql/resolvers/ActionsContext.js +0 -3
  403. package/dist/src/graphql/resolvers/ActionsContext.js.map +0 -1
  404. package/dist/src/graphql/resolvers/ResolversFactory.js +0 -32
  405. package/dist/src/graphql/resolvers/ResolversFactory.js.map +0 -1
  406. package/dist/src/graphql/resolvers/index.js +0 -19
  407. package/dist/src/graphql/resolvers/index.js.map +0 -1
  408. package/dist/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js +0 -18
  409. package/dist/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js.map +0 -1
  410. package/dist/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js +0 -18
  411. package/dist/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js.map +0 -1
  412. package/dist/src/graphql/resolvers/mutation/index.js +0 -19
  413. package/dist/src/graphql/resolvers/mutation/index.js.map +0 -1
  414. package/dist/src/graphql/resolvers/query/EventsQueryResolver.js +0 -47
  415. package/dist/src/graphql/resolvers/query/EventsQueryResolver.js.map +0 -1
  416. package/dist/src/graphql/resolvers/query/VariablesQueryResolver.js +0 -18
  417. package/dist/src/graphql/resolvers/query/VariablesQueryResolver.js.map +0 -1
  418. package/dist/src/graphql/resolvers/query/index.js +0 -18
  419. package/dist/src/graphql/resolvers/query/index.js.map +0 -1
  420. package/dist/src/graphql/schema/actions.graphql.js.map +0 -1
  421. package/dist/src/graphql/schema/index.js +0 -3
  422. package/dist/src/graphql/schema/index.js.map +0 -1
  423. package/dist/src/index.js +0 -87
  424. package/dist/src/index.js.map +0 -1
  425. package/dist/src/migrations/2023-03-10-145000-actions-variables.js.map +0 -1
  426. package/dist/src/migrations/index.js +0 -13
  427. package/dist/src/migrations/index.js.map +0 -1
  428. package/dist/src/migrations/snapshot.js.map +0 -1
  429. package/dist/src/model/EventsInProcessingQuery.js +0 -22
  430. package/dist/src/model/EventsInProcessingQuery.js.map +0 -1
  431. package/dist/src/model/EventsToProcessQuery.js +0 -22
  432. package/dist/src/model/EventsToProcessQuery.js.map +0 -1
  433. package/dist/src/model/EventsToProcessSpecification.js +0 -14
  434. package/dist/src/model/EventsToProcessSpecification.js.map +0 -1
  435. package/dist/src/model/FailedEventsQuery.js +0 -22
  436. package/dist/src/model/FailedEventsQuery.js.map +0 -1
  437. package/dist/src/model/SetVariableCommand.js +0 -26
  438. package/dist/src/model/SetVariableCommand.js.map +0 -1
  439. package/dist/src/model/VariablesManager.js +0 -46
  440. package/dist/src/model/VariablesManager.js.map +0 -1
  441. package/dist/src/model/VariablesQuery.js +0 -13
  442. package/dist/src/model/VariablesQuery.js.map +0 -1
  443. package/dist/src/model/types.js +0 -3
  444. package/dist/src/model/types.js.map +0 -1
  445. package/dist/src/triggers/TriggerHandler.js +0 -130
  446. package/dist/src/triggers/TriggerHandler.js.map +0 -1
  447. package/dist/src/triggers/TriggerIndirectChangesFetcher.js +0 -24
  448. package/dist/src/triggers/TriggerIndirectChangesFetcher.js.map +0 -1
  449. package/dist/src/triggers/TriggerListeners.js +0 -3
  450. package/dist/src/triggers/TriggerListeners.js.map +0 -1
  451. package/dist/src/triggers/TriggerListenersBuilder.js +0 -169
  452. package/dist/src/triggers/TriggerListenersBuilder.js.map +0 -1
  453. package/dist/src/triggers/TriggerListenersFactory.js +0 -18
  454. package/dist/src/triggers/TriggerListenersFactory.js.map +0 -1
  455. package/dist/src/triggers/TriggerListenersStore.js +0 -30
  456. package/dist/src/triggers/TriggerListenersStore.js.map +0 -1
  457. package/dist/src/triggers/TriggerPayloadBuilder.js +0 -140
  458. package/dist/src/triggers/TriggerPayloadBuilder.js.map +0 -1
  459. package/dist/src/triggers/TriggerPayloadManager.js +0 -26
  460. package/dist/src/triggers/TriggerPayloadManager.js.map +0 -1
  461. package/dist/src/triggers/TriggerPayloadPersister.js +0 -46
  462. package/dist/src/triggers/TriggerPayloadPersister.js.map +0 -1
  463. package/dist/src/triggers/index.js +0 -24
  464. package/dist/src/triggers/index.js.map +0 -1
  465. package/dist/src/tsconfig.tsbuildinfo +0 -1
  466. package/dist/src/utils/assertNever.js +0 -8
  467. package/dist/src/utils/assertNever.js.map +0 -1
  468. package/dist/src/utils/map.js +0 -14
  469. package/dist/src/utils/map.js.map +0 -1
  470. package/dist/tests/cases/integration/triggers.manyHasManyWatch.test.d.ts +0 -2
  471. package/dist/tests/cases/integration/triggers.manyHasManyWatch.test.d.ts.map +0 -1
  472. package/dist/tests/cases/integration/triggers.manyHasManyWatch.test.js +0 -442
  473. package/dist/tests/cases/integration/triggers.manyHasManyWatch.test.js.map +0 -1
  474. package/dist/tests/cases/integration/triggers.manyHasOneWatch.test.d.ts +0 -2
  475. package/dist/tests/cases/integration/triggers.manyHasOneWatch.test.d.ts.map +0 -1
  476. package/dist/tests/cases/integration/triggers.manyHasOneWatch.test.js +0 -449
  477. package/dist/tests/cases/integration/triggers.manyHasOneWatch.test.js.map +0 -1
  478. package/dist/tests/cases/integration/triggers.rootWatch.test.d.ts +0 -2
  479. package/dist/tests/cases/integration/triggers.rootWatch.test.d.ts.map +0 -1
  480. package/dist/tests/cases/integration/triggers.rootWatch.test.js +0 -222
  481. package/dist/tests/cases/integration/triggers.rootWatch.test.js.map +0 -1
  482. package/dist/tests/cases/integration/utils.d.ts +0 -4
  483. package/dist/tests/cases/integration/utils.d.ts.map +0 -1
  484. package/dist/tests/cases/integration/utils.js +0 -12
  485. package/dist/tests/cases/integration/utils.js.map +0 -1
  486. package/dist/tests/cases/unit/generator.test.js +0 -627
  487. package/dist/tests/cases/unit/generator.test.js.map +0 -1
  488. package/dist/tests/cases/unit/webhookHandler.test.js +0 -394
  489. package/dist/tests/cases/unit/webhookHandler.test.js.map +0 -1
  490. package/dist/tests/src/gql.js +0 -14
  491. package/dist/tests/src/gql.js.map +0 -1
  492. package/tests/cases/integration/triggers.manyHasManyWatch.test.ts +0 -437
  493. package/tests/cases/integration/triggers.manyHasOneWatch.test.ts +0 -446
  494. package/tests/cases/integration/triggers.rootWatch.test.ts +0 -216
  495. package/tests/cases/integration/utils.ts +0 -9
  496. package/vite.config.js +0 -3
  497. /package/dist/{src → types}/ActionsExecutionContainerHookFactory.d.ts +0 -0
  498. /package/dist/{src → types}/ActionsExecutionContainerHookFactory.d.ts.map +0 -0
  499. /package/dist/{src → types}/ImplementationException.d.ts +0 -0
  500. /package/dist/{src → types}/ImplementationException.d.ts.map +0 -0
  501. /package/dist/{src → types}/ListenerStoreProvider.d.ts +0 -0
  502. /package/dist/{src → types}/ListenerStoreProvider.d.ts.map +0 -0
  503. /package/dist/{src → types}/authorization/ActionsPermissionsFactory.d.ts +0 -0
  504. /package/dist/{src → types}/authorization/ActionsPermissionsFactory.d.ts.map +0 -0
  505. /package/dist/{src → types}/authorization/Identity.d.ts +0 -0
  506. /package/dist/{src → types}/authorization/Identity.d.ts.map +0 -0
  507. /package/dist/{src → types}/authorization/index.d.ts +0 -0
  508. /package/dist/{src → types}/authorization/index.d.ts.map +0 -0
  509. /package/dist/{src → types}/dispatch/DispatchWorkerSupervisor.d.ts +0 -0
  510. /package/dist/{src → types}/dispatch/DispatchWorkerSupervisor.d.ts.map +0 -0
  511. /package/dist/{src → types}/dispatch/EventDispatcher.d.ts +0 -0
  512. /package/dist/{src → types}/dispatch/EventDispatcher.d.ts.map +0 -0
  513. /package/dist/{src → types}/dispatch/EventsRepository.d.ts +0 -0
  514. /package/dist/{src → types}/dispatch/EventsRepository.d.ts.map +0 -0
  515. /package/dist/{src → types}/dispatch/ProjectDispatcher.d.ts +0 -0
  516. /package/dist/{src → types}/dispatch/ProjectDispatcher.d.ts.map +0 -0
  517. /package/dist/{src → types}/dispatch/TargetHandlerResolver.d.ts +0 -0
  518. /package/dist/{src → types}/dispatch/TargetHandlerResolver.d.ts.map +0 -0
  519. /package/dist/{src → types}/dispatch/WebhookFetcher.d.ts +0 -0
  520. /package/dist/{src → types}/dispatch/WebhookFetcher.d.ts.map +0 -0
  521. /package/dist/{src → types}/dispatch/WebhookTargetHandler.d.ts +0 -0
  522. /package/dist/{src → types}/dispatch/WebhookTargetHandler.d.ts.map +0 -0
  523. /package/dist/{src → types}/graphql/http/ActionsApiMiddlewareFactory.d.ts +0 -0
  524. /package/dist/{src → types}/graphql/http/ActionsApiMiddlewareFactory.d.ts.map +0 -0
  525. /package/dist/{src → types}/graphql/http/ActionsContextResolver.d.ts +0 -0
  526. /package/dist/{src → types}/graphql/http/ActionsContextResolver.d.ts.map +0 -0
  527. /package/dist/{src → types}/graphql/http/ActionsGraphQLHandlerFactory.d.ts +0 -0
  528. /package/dist/{src → types}/graphql/http/ActionsGraphQLHandlerFactory.d.ts.map +0 -0
  529. /package/dist/{src → types}/graphql/http/ActionsWebsocketControllerFactory.d.ts +0 -0
  530. /package/dist/{src → types}/graphql/http/ActionsWebsocketControllerFactory.d.ts.map +0 -0
  531. /package/dist/{src → types}/graphql/resolvers/ActionsContext.d.ts +0 -0
  532. /package/dist/{src → types}/graphql/resolvers/ActionsContext.d.ts.map +0 -0
  533. /package/dist/{src → types}/graphql/resolvers/ResolversFactory.d.ts +0 -0
  534. /package/dist/{src → types}/graphql/resolvers/ResolversFactory.d.ts.map +0 -0
  535. /package/dist/{src → types}/graphql/resolvers/index.d.ts +0 -0
  536. /package/dist/{src → types}/graphql/resolvers/index.d.ts.map +0 -0
  537. /package/dist/{src → types}/graphql/resolvers/mutation/ProcessBatchMutationResolver.d.ts +0 -0
  538. /package/dist/{src → types}/graphql/resolvers/mutation/ProcessBatchMutationResolver.d.ts.map +0 -0
  539. /package/dist/{src → types}/graphql/resolvers/mutation/SetVariablesMutationResolver.d.ts +0 -0
  540. /package/dist/{src → types}/graphql/resolvers/mutation/SetVariablesMutationResolver.d.ts.map +0 -0
  541. /package/dist/{src → types}/graphql/resolvers/mutation/index.d.ts +0 -0
  542. /package/dist/{src → types}/graphql/resolvers/mutation/index.d.ts.map +0 -0
  543. /package/dist/{src → types}/graphql/resolvers/query/EventsQueryResolver.d.ts +0 -0
  544. /package/dist/{src → types}/graphql/resolvers/query/EventsQueryResolver.d.ts.map +0 -0
  545. /package/dist/{src → types}/graphql/resolvers/query/VariablesQueryResolver.d.ts +0 -0
  546. /package/dist/{src → types}/graphql/resolvers/query/VariablesQueryResolver.d.ts.map +0 -0
  547. /package/dist/{src → types}/graphql/resolvers/query/index.d.ts +0 -0
  548. /package/dist/{src → types}/graphql/resolvers/query/index.d.ts.map +0 -0
  549. /package/dist/{src → types}/graphql/schema/actions.graphql.d.ts +0 -0
  550. /package/dist/{src → types}/graphql/schema/actions.graphql.d.ts.map +0 -0
  551. /package/dist/{src → types}/graphql/schema/index.d.ts +0 -0
  552. /package/dist/{src → types}/graphql/schema/index.d.ts.map +0 -0
  553. /package/dist/{src → types}/index.d.ts +0 -0
  554. /package/dist/{src → types}/index.d.ts.map +0 -0
  555. /package/dist/{src → types}/migrations/2023-03-10-145000-actions-variables.d.ts +0 -0
  556. /package/dist/{src → types}/migrations/2023-03-10-145000-actions-variables.d.ts.map +0 -0
  557. /package/dist/{src → types}/migrations/index.d.ts +0 -0
  558. /package/dist/{src → types}/migrations/index.d.ts.map +0 -0
  559. /package/dist/{src → types}/migrations/snapshot.d.ts +0 -0
  560. /package/dist/{src → types}/migrations/snapshot.d.ts.map +0 -0
  561. /package/dist/{src → types}/model/EventsInProcessingQuery.d.ts +0 -0
  562. /package/dist/{src → types}/model/EventsInProcessingQuery.d.ts.map +0 -0
  563. /package/dist/{src → types}/model/EventsToProcessQuery.d.ts +0 -0
  564. /package/dist/{src → types}/model/EventsToProcessQuery.d.ts.map +0 -0
  565. /package/dist/{src → types}/model/EventsToProcessSpecification.d.ts +0 -0
  566. /package/dist/{src → types}/model/EventsToProcessSpecification.d.ts.map +0 -0
  567. /package/dist/{src → types}/model/FailedEventsQuery.d.ts +0 -0
  568. /package/dist/{src → types}/model/FailedEventsQuery.d.ts.map +0 -0
  569. /package/dist/{src → types}/model/SetVariableCommand.d.ts +0 -0
  570. /package/dist/{src → types}/model/SetVariableCommand.d.ts.map +0 -0
  571. /package/dist/{src → types}/model/VariablesManager.d.ts +0 -0
  572. /package/dist/{src → types}/model/VariablesManager.d.ts.map +0 -0
  573. /package/dist/{src → types}/model/VariablesQuery.d.ts +0 -0
  574. /package/dist/{src → types}/model/VariablesQuery.d.ts.map +0 -0
  575. /package/dist/{src → types}/model/types.d.ts +0 -0
  576. /package/dist/{src → types}/model/types.d.ts.map +0 -0
  577. /package/dist/{src → types}/triggers/TriggerHandler.d.ts +0 -0
  578. /package/dist/{src → types}/triggers/TriggerHandler.d.ts.map +0 -0
  579. /package/dist/{src → types}/triggers/TriggerIndirectChangesFetcher.d.ts +0 -0
  580. /package/dist/{src → types}/triggers/TriggerIndirectChangesFetcher.d.ts.map +0 -0
  581. /package/dist/{src → types}/triggers/TriggerListeners.d.ts +0 -0
  582. /package/dist/{src → types}/triggers/TriggerListeners.d.ts.map +0 -0
  583. /package/dist/{src → types}/triggers/TriggerListenersBuilder.d.ts +0 -0
  584. /package/dist/{src → types}/triggers/TriggerListenersBuilder.d.ts.map +0 -0
  585. /package/dist/{src → types}/triggers/TriggerListenersFactory.d.ts +0 -0
  586. /package/dist/{src → types}/triggers/TriggerListenersFactory.d.ts.map +0 -0
  587. /package/dist/{src → types}/triggers/TriggerListenersStore.d.ts +0 -0
  588. /package/dist/{src → types}/triggers/TriggerListenersStore.d.ts.map +0 -0
  589. /package/dist/{src → types}/triggers/TriggerPayloadBuilder.d.ts +0 -0
  590. /package/dist/{src → types}/triggers/TriggerPayloadBuilder.d.ts.map +0 -0
  591. /package/dist/{src → types}/triggers/TriggerPayloadManager.d.ts +0 -0
  592. /package/dist/{src → types}/triggers/TriggerPayloadManager.d.ts.map +0 -0
  593. /package/dist/{src → types}/triggers/TriggerPayloadPersister.d.ts +0 -0
  594. /package/dist/{src → types}/triggers/TriggerPayloadPersister.d.ts.map +0 -0
  595. /package/dist/{src → types}/triggers/index.d.ts +0 -0
  596. /package/dist/{src → types}/triggers/index.d.ts.map +0 -0
  597. /package/dist/{src → types}/utils/assertNever.d.ts +0 -0
  598. /package/dist/{src → types}/utils/assertNever.d.ts.map +0 -0
  599. /package/dist/{src → types}/utils/map.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventsToProcessQuery.js","sources":["../../../../../packages/engine-actions/src/model/EventsToProcessQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable, SelectBuilder } from '@contember/database'\nimport { EventRow } from './types'\nimport { EventArgs } from '../graphql/schema'\nimport { eventsToProcessSpecification } from './EventsToProcessSpecification'\n\nexport class EventsToProcessQuery extends DatabaseQuery<EventRow[]> {\n\tconstructor(\n\t\tprivate readonly args: EventArgs,\n\t) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<EventRow[]> {\n\t\treturn SelectBuilder.create<EventRow>()\n\t\t\t.from('actions_event')\n\t\t\t.select('*')\n\t\t\t.match(eventsToProcessSpecification)\n\t\t\t.limit(this.args.limit ?? 100, this.args.offset ?? 0)\n\t\t\t.getResult(queryable.db)\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,6BAA6B,cAA0B;AAAA,EACnE,YACkB,MAChB;AACK;AAFW,SAAA,OAAA;AAAA,EAGlB;AAAA,EAEA,MAAM,MAAM,WAAmD;AACvD,WAAA,cAAc,SACnB,KAAK,eAAe,EACpB,OAAO,GAAG,EACV,MAAM,4BAA4B,EAClC,MAAM,KAAK,KAAK,SAAS,KAAK,KAAK,KAAK,UAAU,CAAC,EACnD,UAAU,UAAU,EAAE;AAAA,EACzB;AACD;"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Database = require("@contember/database");
4
+ const eventsToProcessStateSpecification = (qb) => qb.where((it) => it.in("state", ["retrying", "created", "processing"]));
5
+ const eventsToProcessSpecification = (qb) => qb.match(eventsToProcessStateSpecification).where((it) => it.compare("visible_at", Database.Operator.lte, "now")).orderBy("priority", "desc").orderBy("visible_at");
6
+ exports.eventsToProcessSpecification = eventsToProcessSpecification;
7
+ exports.eventsToProcessStateSpecification = eventsToProcessStateSpecification;
8
+ //# sourceMappingURL=EventsToProcessSpecification.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventsToProcessSpecification.cjs","sources":["../../../../../packages/engine-actions/src/model/EventsToProcessSpecification.ts"],"sourcesContent":["import { Operator, SelectBuilderSpecification } from '@contember/database'\n\n\nexport const eventsToProcessStateSpecification: SelectBuilderSpecification = qb => qb\n\t.where(it => it.in('state', ['retrying', 'created', 'processing']))\n\nexport const eventsToProcessSpecification: SelectBuilderSpecification = qb => qb\n\t.match(eventsToProcessStateSpecification)\n\t.where(it => it.compare('visible_at', Operator.lte, 'now'))\n\t.orderBy('priority', 'desc')\n\t.orderBy('visible_at')\n"],"names":["Operator"],"mappings":";;;AAGO,MAAM,oCAAgE,CAAA,OAAM,GACjF,MAAM,CAAM,OAAA,GAAG,GAAG,SAAS,CAAC,YAAY,WAAW,YAAY,CAAC,CAAC;AAEtD,MAAA,+BAA2D,QAAM,GAC5E,MAAM,iCAAiC,EACvC,MAAM,QAAM,GAAG,QAAQ,cAAcA,SAAS,SAAA,KAAK,KAAK,CAAC,EACzD,QAAQ,YAAY,MAAM,EAC1B,QAAQ,YAAY;;;"}
@@ -0,0 +1,8 @@
1
+ import { Operator } from "@contember/database";
2
+ const eventsToProcessStateSpecification = (qb) => qb.where((it) => it.in("state", ["retrying", "created", "processing"]));
3
+ const eventsToProcessSpecification = (qb) => qb.match(eventsToProcessStateSpecification).where((it) => it.compare("visible_at", Operator.lte, "now")).orderBy("priority", "desc").orderBy("visible_at");
4
+ export {
5
+ eventsToProcessSpecification,
6
+ eventsToProcessStateSpecification
7
+ };
8
+ //# sourceMappingURL=EventsToProcessSpecification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventsToProcessSpecification.js","sources":["../../../../../packages/engine-actions/src/model/EventsToProcessSpecification.ts"],"sourcesContent":["import { Operator, SelectBuilderSpecification } from '@contember/database'\n\n\nexport const eventsToProcessStateSpecification: SelectBuilderSpecification = qb => qb\n\t.where(it => it.in('state', ['retrying', 'created', 'processing']))\n\nexport const eventsToProcessSpecification: SelectBuilderSpecification = qb => qb\n\t.match(eventsToProcessStateSpecification)\n\t.where(it => it.compare('visible_at', Operator.lte, 'now'))\n\t.orderBy('priority', 'desc')\n\t.orderBy('visible_at')\n"],"names":[],"mappings":";AAGO,MAAM,oCAAgE,CAAA,OAAM,GACjF,MAAM,CAAM,OAAA,GAAG,GAAG,SAAS,CAAC,YAAY,WAAW,YAAY,CAAC,CAAC;AAEtD,MAAA,+BAA2D,QAAM,GAC5E,MAAM,iCAAiC,EACvC,MAAM,QAAM,GAAG,QAAQ,cAAc,SAAS,KAAK,KAAK,CAAC,EACzD,QAAQ,YAAY,MAAM,EAC1B,QAAQ,YAAY;"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Database = require("@contember/database");
4
+ class FailedEventsQuery extends Database.DatabaseQuery {
5
+ constructor(args) {
6
+ super();
7
+ this.args = args;
8
+ }
9
+ async fetch(queryable) {
10
+ return Database.SelectBuilder.create().from("actions_event").select("*").where((it) => it.in("state", ["failed", "retrying"])).orderBy("last_state_change", "desc").limit(this.args.limit ?? 100, this.args.offset ?? 0).getResult(queryable.db);
11
+ }
12
+ }
13
+ exports.FailedEventsQuery = FailedEventsQuery;
14
+ //# sourceMappingURL=FailedEventsQuery.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FailedEventsQuery.cjs","sources":["../../../../../packages/engine-actions/src/model/FailedEventsQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable, SelectBuilder } from '@contember/database'\nimport { EventRow } from './types'\nimport { EventArgs } from '../graphql/schema'\n\nexport class FailedEventsQuery extends DatabaseQuery<EventRow[]> {\n\tconstructor(\n\t\tprivate readonly args: EventArgs,\n\t) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<EventRow[]> {\n\t\treturn SelectBuilder.create<EventRow>()\n\t\t\t.from('actions_event')\n\t\t\t.select('*')\n\t\t\t.where(it => it.in('state', ['failed', 'retrying']))\n\t\t\t.orderBy('last_state_change', 'desc')\n\t\t\t.limit(this.args.limit ?? 100, this.args.offset ?? 0)\n\t\t\t.getResult(queryable.db)\n\t}\n}\n"],"names":["DatabaseQuery","SelectBuilder"],"mappings":";;;AAIO,MAAM,0BAA0BA,SAAAA,cAA0B;AAAA,EAChE,YACkB,MAChB;AACK;AAFW,SAAA,OAAA;AAAA,EAGlB;AAAA,EAEA,MAAM,MAAM,WAAmD;AAC9D,WAAOC,SAAAA,cAAc,OAAiB,EACpC,KAAK,eAAe,EACpB,OAAO,GAAG,EACV,MAAM,QAAM,GAAG,GAAG,SAAS,CAAC,UAAU,UAAU,CAAC,CAAC,EAClD,QAAQ,qBAAqB,MAAM,EACnC,MAAM,KAAK,KAAK,SAAS,KAAK,KAAK,KAAK,UAAU,CAAC,EACnD,UAAU,UAAU,EAAE;AAAA,EACzB;AACD;;"}
@@ -0,0 +1,14 @@
1
+ import { DatabaseQuery, SelectBuilder } from "@contember/database";
2
+ class FailedEventsQuery extends DatabaseQuery {
3
+ constructor(args) {
4
+ super();
5
+ this.args = args;
6
+ }
7
+ async fetch(queryable) {
8
+ return SelectBuilder.create().from("actions_event").select("*").where((it) => it.in("state", ["failed", "retrying"])).orderBy("last_state_change", "desc").limit(this.args.limit ?? 100, this.args.offset ?? 0).getResult(queryable.db);
9
+ }
10
+ }
11
+ export {
12
+ FailedEventsQuery
13
+ };
14
+ //# sourceMappingURL=FailedEventsQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FailedEventsQuery.js","sources":["../../../../../packages/engine-actions/src/model/FailedEventsQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable, SelectBuilder } from '@contember/database'\nimport { EventRow } from './types'\nimport { EventArgs } from '../graphql/schema'\n\nexport class FailedEventsQuery extends DatabaseQuery<EventRow[]> {\n\tconstructor(\n\t\tprivate readonly args: EventArgs,\n\t) {\n\t\tsuper()\n\t}\n\n\tasync fetch(queryable: DatabaseQueryable): Promise<EventRow[]> {\n\t\treturn SelectBuilder.create<EventRow>()\n\t\t\t.from('actions_event')\n\t\t\t.select('*')\n\t\t\t.where(it => it.in('state', ['failed', 'retrying']))\n\t\t\t.orderBy('last_state_change', 'desc')\n\t\t\t.limit(this.args.limit ?? 100, this.args.offset ?? 0)\n\t\t\t.getResult(queryable.db)\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,0BAA0B,cAA0B;AAAA,EAChE,YACkB,MAChB;AACK;AAFW,SAAA,OAAA;AAAA,EAGlB;AAAA,EAEA,MAAM,MAAM,WAAmD;AAC9D,WAAO,cAAc,OAAiB,EACpC,KAAK,eAAe,EACpB,OAAO,GAAG,EACV,MAAM,QAAM,GAAG,GAAG,SAAS,CAAC,UAAU,UAAU,CAAC,CAAC,EAClD,QAAQ,qBAAqB,MAAM,EACnC,MAAM,KAAK,KAAK,SAAS,KAAK,KAAK,KAAK,UAAU,CAAC,EACnD,UAAU,UAAU,EAAE;AAAA,EACzB;AACD;"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Database = require("@contember/database");
4
+ class SetVariableCommand {
5
+ constructor(name, value) {
6
+ this.name = name;
7
+ this.value = value;
8
+ }
9
+ async execute({ providers, db }) {
10
+ await Database.InsertBuilder.create().into("actions_variable").values({
11
+ id: providers.uuid(),
12
+ name: this.name,
13
+ value: this.value
14
+ }).onConflict(Database.ConflictActionType.update, ["name"], {
15
+ value: this.value,
16
+ updated_at: new Database.Literal("NOW()")
17
+ }).execute(db);
18
+ }
19
+ }
20
+ exports.SetVariableCommand = SetVariableCommand;
21
+ //# sourceMappingURL=SetVariableCommand.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetVariableCommand.cjs","sources":["../../../../../packages/engine-actions/src/model/SetVariableCommand.ts"],"sourcesContent":["import { Command } from '@contember/engine-system-api'\nimport { ConflictActionType, InsertBuilder, Literal } from '@contember/database'\n\nexport class SetVariableCommand implements Command<void> {\n\n\tconstructor(\n\t\tprivate readonly name: string,\n\t\tprivate readonly value: string,\n\t) {\n\t}\n\n\tasync execute({ providers, db }: Command.Args): Promise<void> {\n\t\tawait InsertBuilder.create()\n\t\t\t.into('actions_variable')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.name,\n\t\t\t\tvalue: this.value,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['name'], {\n\t\t\t\tvalue: this.value,\n\t\t\t\tupdated_at: new Literal('NOW()'),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder","ConflictActionType","Literal"],"mappings":";;;AAGO,MAAM,mBAA4C;AAAA,EAExD,YACkB,MACA,OAChB;AAFgB,SAAA,OAAA;AACA,SAAA,QAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,WAAW,MAAmC;AAC7D,UAAMA,SAAAA,cAAc,OAAO,EACzB,KAAK,kBAAkB,EACvB,OAAO;AAAA,MACP,IAAI,UAAU,KAAK;AAAA,MACnB,MAAM,KAAK;AAAA,MACX,OAAO,KAAK;AAAA,IACZ,CAAA,EACA,WAAWC,SAAAA,mBAAmB,QAAQ,CAAC,MAAM,GAAG;AAAA,MAChD,OAAO,KAAK;AAAA,MACZ,YAAY,IAAIC,SAAA,QAAQ,OAAO;AAAA,IAAA,CAC/B,EACA,QAAQ,EAAE;AAAA,EACb;AACD;;"}
@@ -0,0 +1,21 @@
1
+ import { InsertBuilder as InsertBuilder$1, ConflictActionType, Literal } from "@contember/database";
2
+ class SetVariableCommand {
3
+ constructor(name, value) {
4
+ this.name = name;
5
+ this.value = value;
6
+ }
7
+ async execute({ providers, db }) {
8
+ await InsertBuilder$1.create().into("actions_variable").values({
9
+ id: providers.uuid(),
10
+ name: this.name,
11
+ value: this.value
12
+ }).onConflict(ConflictActionType.update, ["name"], {
13
+ value: this.value,
14
+ updated_at: new Literal("NOW()")
15
+ }).execute(db);
16
+ }
17
+ }
18
+ export {
19
+ SetVariableCommand
20
+ };
21
+ //# sourceMappingURL=SetVariableCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetVariableCommand.js","sources":["../../../../../packages/engine-actions/src/model/SetVariableCommand.ts"],"sourcesContent":["import { Command } from '@contember/engine-system-api'\nimport { ConflictActionType, InsertBuilder, Literal } from '@contember/database'\n\nexport class SetVariableCommand implements Command<void> {\n\n\tconstructor(\n\t\tprivate readonly name: string,\n\t\tprivate readonly value: string,\n\t) {\n\t}\n\n\tasync execute({ providers, db }: Command.Args): Promise<void> {\n\t\tawait InsertBuilder.create()\n\t\t\t.into('actions_variable')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.name,\n\t\t\t\tvalue: this.value,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['name'], {\n\t\t\t\tvalue: this.value,\n\t\t\t\tupdated_at: new Literal('NOW()'),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";AAGO,MAAM,mBAA4C;AAAA,EAExD,YACkB,MACA,OAChB;AAFgB,SAAA,OAAA;AACA,SAAA,QAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,WAAW,MAAmC;AAC7D,UAAMA,gBAAc,OAAO,EACzB,KAAK,kBAAkB,EACvB,OAAO;AAAA,MACP,IAAI,UAAU,KAAK;AAAA,MACnB,MAAM,KAAK;AAAA,MACX,OAAO,KAAK;AAAA,IACZ,CAAA,EACA,WAAW,mBAAmB,QAAQ,CAAC,MAAM,GAAG;AAAA,MAChD,OAAO,KAAK;AAAA,MACZ,YAAY,IAAI,QAAQ,OAAO;AAAA,IAAA,CAC/B,EACA,QAAQ,EAAE;AAAA,EACb;AACD;"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const VariablesQuery = require("./VariablesQuery.cjs");
4
+ const Database = require("@contember/database");
5
+ const SetVariableCommand = require("./SetVariableCommand.cjs");
6
+ class VariablesManager {
7
+ async fetchVariables(db) {
8
+ return Object.fromEntries((await db.queryHandler.fetch(new VariablesQuery.VariablesQuery())).map((it) => [it.name, it.value]));
9
+ }
10
+ async setVariables(db, args) {
11
+ return await db.transaction(async (db2) => {
12
+ const current = await this.fetchVariables(db2);
13
+ const mode = args.mode ?? "MERGE";
14
+ const inputVariables = Object.fromEntries(args.variables.map((it) => [it.name, it.value]));
15
+ let newVariables = {};
16
+ switch (mode) {
17
+ case "APPEND_ONLY_MISSING":
18
+ newVariables = { ...inputVariables, ...current };
19
+ break;
20
+ case "MERGE":
21
+ newVariables = { ...current, ...inputVariables };
22
+ break;
23
+ case "SET":
24
+ newVariables = inputVariables;
25
+ break;
26
+ }
27
+ const toDelete = Object.keys(current).filter((it) => !(it in newVariables));
28
+ if (toDelete.length > 0) {
29
+ await Database.DeleteBuilder.create().from("actions_variable").where((it) => it.in("name", toDelete)).execute(db2.client);
30
+ }
31
+ for (const [name, value] of Object.entries(newVariables)) {
32
+ if (value === current[name]) {
33
+ continue;
34
+ }
35
+ await db2.commandBus.execute(new SetVariableCommand.SetVariableCommand(name, value));
36
+ }
37
+ });
38
+ }
39
+ }
40
+ exports.VariablesManager = VariablesManager;
41
+ //# sourceMappingURL=VariablesManager.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariablesManager.cjs","sources":["../../../../../packages/engine-actions/src/model/VariablesManager.ts"],"sourcesContent":["import { DatabaseContext } from '@contember/engine-system-api'\nimport { VariablesQuery } from './VariablesQuery'\nimport { SetVariablesArgs } from '../graphql/schema'\nimport { DeleteBuilder } from '@contember/database'\nimport { SetVariableCommand } from './SetVariableCommand'\n\nexport type VariablesMap = Record<string, string>\n\nexport class VariablesManager {\n\tpublic async fetchVariables(db: DatabaseContext): Promise<VariablesMap> {\n\t\treturn Object.fromEntries((await db.queryHandler.fetch(new VariablesQuery())).map(it => [it.name, it.value]))\n\t}\n\n\tpublic async setVariables(db: DatabaseContext, args: SetVariablesArgs) {\n\t\treturn await db.transaction(async db => {\n\t\t\tconst current = await this.fetchVariables(db)\n\t\t\tconst mode = args.mode ?? 'MERGE'\n\t\t\tconst inputVariables = Object.fromEntries(args.variables.map(it => [it.name, it.value]))\n\n\t\t\tlet newVariables: VariablesMap = {}\n\t\t\tswitch (mode) {\n\t\t\t\tcase 'APPEND_ONLY_MISSING':\n\t\t\t\t\tnewVariables = { ...inputVariables, ...current }\n\t\t\t\t\tbreak\n\t\t\t\tcase 'MERGE':\n\t\t\t\t\tnewVariables = { ...current, ...inputVariables }\n\t\t\t\t\tbreak\n\t\t\t\tcase 'SET':\n\t\t\t\t\tnewVariables = inputVariables\n\t\t\t\t\tbreak\n\t\t\t}\n\n\t\t\tconst toDelete = Object.keys(current).filter(it => !(it in newVariables))\n\t\t\tif (toDelete.length > 0) {\n\t\t\t\tawait DeleteBuilder.create()\n\t\t\t\t\t.from('actions_variable')\n\t\t\t\t\t.where(it => it.in('name', toDelete))\n\t\t\t\t\t.execute(db.client)\n\t\t\t}\n\n\t\t\tfor (const [name, value] of Object.entries(newVariables)) {\n\t\t\t\tif (value === current[name]) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tawait db.commandBus.execute(new SetVariableCommand(name, value))\n\t\t\t}\n\t\t})\n\t}\n}\n"],"names":["VariablesQuery","db","DeleteBuilder","SetVariableCommand"],"mappings":";;;;;AAQO,MAAM,iBAAiB;AAAA,EAC7B,MAAa,eAAe,IAA4C;AACvE,WAAO,OAAO,aAAa,MAAM,GAAG,aAAa,MAAM,IAAIA,8BAAgB,CAAA,GAAG,IAAI,QAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC;AAAA,EAC7G;AAAA,EAEA,MAAa,aAAa,IAAqB,MAAwB;AACtE,WAAO,MAAM,GAAG,YAAY,OAAMC,QAAM;AACvC,YAAM,UAAU,MAAM,KAAK,eAAeA,GAAE;AACtC,YAAA,OAAO,KAAK,QAAQ;AAC1B,YAAM,iBAAiB,OAAO,YAAY,KAAK,UAAU,IAAI,CAAM,OAAA,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC;AAEvF,UAAI,eAA6B,CAAA;AACjC,cAAQ,MAAM;AAAA,QACb,KAAK;AACJ,yBAAe,EAAE,GAAG,gBAAgB,GAAG,QAAQ;AAC/C;AAAA,QACD,KAAK;AACJ,yBAAe,EAAE,GAAG,SAAS,GAAG,eAAe;AAC/C;AAAA,QACD,KAAK;AACW,yBAAA;AACf;AAAA,MACF;AAEM,YAAA,WAAW,OAAO,KAAK,OAAO,EAAE,OAAO,CAAA,OAAM,EAAE,MAAM,aAAa;AACpE,UAAA,SAAS,SAAS,GAAG;AACxB,cAAMC,SAAAA,cAAc,SAClB,KAAK,kBAAkB,EACvB,MAAM,CAAA,OAAM,GAAG,GAAG,QAAQ,QAAQ,CAAC,EACnC,QAAQD,IAAG,MAAM;AAAA,MACpB;AAEA,iBAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,YAAY,GAAG;AACrD,YAAA,UAAU,QAAQ,IAAI,GAAG;AAC5B;AAAA,QACD;AACA,cAAMA,IAAG,WAAW,QAAQ,IAAIE,mBAAAA,mBAAmB,MAAM,KAAK,CAAC;AAAA,MAChE;AAAA,IAAA,CACA;AAAA,EACF;AACD;;"}
@@ -0,0 +1,41 @@
1
+ import { VariablesQuery } from "./VariablesQuery.js";
2
+ import { DeleteBuilder } from "@contember/database";
3
+ import { SetVariableCommand } from "./SetVariableCommand.js";
4
+ class VariablesManager {
5
+ async fetchVariables(db) {
6
+ return Object.fromEntries((await db.queryHandler.fetch(new VariablesQuery())).map((it) => [it.name, it.value]));
7
+ }
8
+ async setVariables(db, args) {
9
+ return await db.transaction(async (db2) => {
10
+ const current = await this.fetchVariables(db2);
11
+ const mode = args.mode ?? "MERGE";
12
+ const inputVariables = Object.fromEntries(args.variables.map((it) => [it.name, it.value]));
13
+ let newVariables = {};
14
+ switch (mode) {
15
+ case "APPEND_ONLY_MISSING":
16
+ newVariables = { ...inputVariables, ...current };
17
+ break;
18
+ case "MERGE":
19
+ newVariables = { ...current, ...inputVariables };
20
+ break;
21
+ case "SET":
22
+ newVariables = inputVariables;
23
+ break;
24
+ }
25
+ const toDelete = Object.keys(current).filter((it) => !(it in newVariables));
26
+ if (toDelete.length > 0) {
27
+ await DeleteBuilder.create().from("actions_variable").where((it) => it.in("name", toDelete)).execute(db2.client);
28
+ }
29
+ for (const [name, value] of Object.entries(newVariables)) {
30
+ if (value === current[name]) {
31
+ continue;
32
+ }
33
+ await db2.commandBus.execute(new SetVariableCommand(name, value));
34
+ }
35
+ });
36
+ }
37
+ }
38
+ export {
39
+ VariablesManager
40
+ };
41
+ //# sourceMappingURL=VariablesManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariablesManager.js","sources":["../../../../../packages/engine-actions/src/model/VariablesManager.ts"],"sourcesContent":["import { DatabaseContext } from '@contember/engine-system-api'\nimport { VariablesQuery } from './VariablesQuery'\nimport { SetVariablesArgs } from '../graphql/schema'\nimport { DeleteBuilder } from '@contember/database'\nimport { SetVariableCommand } from './SetVariableCommand'\n\nexport type VariablesMap = Record<string, string>\n\nexport class VariablesManager {\n\tpublic async fetchVariables(db: DatabaseContext): Promise<VariablesMap> {\n\t\treturn Object.fromEntries((await db.queryHandler.fetch(new VariablesQuery())).map(it => [it.name, it.value]))\n\t}\n\n\tpublic async setVariables(db: DatabaseContext, args: SetVariablesArgs) {\n\t\treturn await db.transaction(async db => {\n\t\t\tconst current = await this.fetchVariables(db)\n\t\t\tconst mode = args.mode ?? 'MERGE'\n\t\t\tconst inputVariables = Object.fromEntries(args.variables.map(it => [it.name, it.value]))\n\n\t\t\tlet newVariables: VariablesMap = {}\n\t\t\tswitch (mode) {\n\t\t\t\tcase 'APPEND_ONLY_MISSING':\n\t\t\t\t\tnewVariables = { ...inputVariables, ...current }\n\t\t\t\t\tbreak\n\t\t\t\tcase 'MERGE':\n\t\t\t\t\tnewVariables = { ...current, ...inputVariables }\n\t\t\t\t\tbreak\n\t\t\t\tcase 'SET':\n\t\t\t\t\tnewVariables = inputVariables\n\t\t\t\t\tbreak\n\t\t\t}\n\n\t\t\tconst toDelete = Object.keys(current).filter(it => !(it in newVariables))\n\t\t\tif (toDelete.length > 0) {\n\t\t\t\tawait DeleteBuilder.create()\n\t\t\t\t\t.from('actions_variable')\n\t\t\t\t\t.where(it => it.in('name', toDelete))\n\t\t\t\t\t.execute(db.client)\n\t\t\t}\n\n\t\t\tfor (const [name, value] of Object.entries(newVariables)) {\n\t\t\t\tif (value === current[name]) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tawait db.commandBus.execute(new SetVariableCommand(name, value))\n\t\t\t}\n\t\t})\n\t}\n}\n"],"names":["db"],"mappings":";;;AAQO,MAAM,iBAAiB;AAAA,EAC7B,MAAa,eAAe,IAA4C;AACvE,WAAO,OAAO,aAAa,MAAM,GAAG,aAAa,MAAM,IAAI,eAAgB,CAAA,GAAG,IAAI,QAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC;AAAA,EAC7G;AAAA,EAEA,MAAa,aAAa,IAAqB,MAAwB;AACtE,WAAO,MAAM,GAAG,YAAY,OAAMA,QAAM;AACvC,YAAM,UAAU,MAAM,KAAK,eAAeA,GAAE;AACtC,YAAA,OAAO,KAAK,QAAQ;AAC1B,YAAM,iBAAiB,OAAO,YAAY,KAAK,UAAU,IAAI,CAAM,OAAA,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC;AAEvF,UAAI,eAA6B,CAAA;AACjC,cAAQ,MAAM;AAAA,QACb,KAAK;AACJ,yBAAe,EAAE,GAAG,gBAAgB,GAAG,QAAQ;AAC/C;AAAA,QACD,KAAK;AACJ,yBAAe,EAAE,GAAG,SAAS,GAAG,eAAe;AAC/C;AAAA,QACD,KAAK;AACW,yBAAA;AACf;AAAA,MACF;AAEM,YAAA,WAAW,OAAO,KAAK,OAAO,EAAE,OAAO,CAAA,OAAM,EAAE,MAAM,aAAa;AACpE,UAAA,SAAS,SAAS,GAAG;AACxB,cAAM,cAAc,SAClB,KAAK,kBAAkB,EACvB,MAAM,CAAA,OAAM,GAAG,GAAG,QAAQ,QAAQ,CAAC,EACnC,QAAQA,IAAG,MAAM;AAAA,MACpB;AAEA,iBAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,YAAY,GAAG;AACrD,YAAA,UAAU,QAAQ,IAAI,GAAG;AAC5B;AAAA,QACD;AACA,cAAMA,IAAG,WAAW,QAAQ,IAAI,mBAAmB,MAAM,KAAK,CAAC;AAAA,MAChE;AAAA,IAAA,CACA;AAAA,EACF;AACD;"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Database = require("@contember/database");
4
+ class VariablesQuery extends Database.DatabaseQuery {
5
+ async fetch(queryable) {
6
+ return await Database.SelectBuilder.create().from("actions_variable").getResult(queryable.db);
7
+ }
8
+ }
9
+ exports.VariablesQuery = VariablesQuery;
10
+ //# sourceMappingURL=VariablesQuery.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariablesQuery.cjs","sources":["../../../../../packages/engine-actions/src/model/VariablesQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable, SelectBuilder } from '@contember/database'\n\nexport class VariablesQuery extends DatabaseQuery<VariableRow[]> {\n\tpublic async fetch(queryable: DatabaseQueryable): Promise<VariableRow[]> {\n\t\treturn await SelectBuilder.create<VariableRow>()\n\t\t\t.from('actions_variable')\n\t\t\t.getResult(queryable.db)\n\t}\n}\n\nexport type VariableRow = {\n\tid: string\n\tname: string\n\tvalue: string\n\tcreated_at: Date\n\tupdated_at: Date\n}\n"],"names":["DatabaseQuery","SelectBuilder"],"mappings":";;;AAEO,MAAM,uBAAuBA,SAAAA,cAA6B;AAAA,EAChE,MAAa,MAAM,WAAsD;AACjE,WAAA,MAAMC,SAAAA,cAAc,OAAoB,EAC7C,KAAK,kBAAkB,EACvB,UAAU,UAAU,EAAE;AAAA,EACzB;AACD;;"}
@@ -0,0 +1,10 @@
1
+ import { DatabaseQuery, SelectBuilder } from "@contember/database";
2
+ class VariablesQuery extends DatabaseQuery {
3
+ async fetch(queryable) {
4
+ return await SelectBuilder.create().from("actions_variable").getResult(queryable.db);
5
+ }
6
+ }
7
+ export {
8
+ VariablesQuery
9
+ };
10
+ //# sourceMappingURL=VariablesQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariablesQuery.js","sources":["../../../../../packages/engine-actions/src/model/VariablesQuery.ts"],"sourcesContent":["import { DatabaseQuery, DatabaseQueryable, SelectBuilder } from '@contember/database'\n\nexport class VariablesQuery extends DatabaseQuery<VariableRow[]> {\n\tpublic async fetch(queryable: DatabaseQueryable): Promise<VariableRow[]> {\n\t\treturn await SelectBuilder.create<VariableRow>()\n\t\t\t.from('actions_variable')\n\t\t\t.getResult(queryable.db)\n\t}\n}\n\nexport type VariableRow = {\n\tid: string\n\tname: string\n\tvalue: string\n\tcreated_at: Date\n\tupdated_at: Date\n}\n"],"names":[],"mappings":";AAEO,MAAM,uBAAuB,cAA6B;AAAA,EAChE,MAAa,MAAM,WAAsD;AACjE,WAAA,MAAM,cAAc,OAAoB,EAC7C,KAAK,kBAAkB,EACvB,UAAU,UAAU,EAAE;AAAA,EACzB;AACD;"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ class TriggerHandler {
4
+ constructor(payloadManager, listenersStore, changesFetcher) {
5
+ this.payloadManager = payloadManager;
6
+ this.listenersStore = listenersStore;
7
+ this.changesFetcher = changesFetcher;
8
+ }
9
+ attach(evm) {
10
+ evm.listen("BeforeDeleteEvent", async (event) => {
11
+ await this.directDeleteHandler(event);
12
+ await this.indirectChangesEntityHandler(event);
13
+ });
14
+ evm.listen("AfterInsertEvent", async (event) => {
15
+ await this.indirectChangesEntityHandler(event);
16
+ await this.directCreateHandler(event);
17
+ });
18
+ evm.listen("BeforeUpdateEvent", async (event) => {
19
+ await this.indirectChangesRelationHandler(event);
20
+ });
21
+ evm.listen("AfterUpdateEvent", async (event) => {
22
+ if (event.hasChanges) {
23
+ await this.indirectChangesUpdatesHandler(event);
24
+ await this.directUpdateHandler(event);
25
+ }
26
+ });
27
+ evm.listen("AfterJunctionUpdateEvent", async (event) => {
28
+ if (event.hasChanges) {
29
+ await this.junctionHandler(event);
30
+ }
31
+ });
32
+ evm.listen("BeforeCommitEvent", async (event) => {
33
+ await this.payloadManager.persist();
34
+ });
35
+ }
36
+ async directDeleteHandler(event) {
37
+ const deleteListeners = this.listenersStore.getDeleteListener(event.entity.name);
38
+ if (!deleteListeners) {
39
+ return;
40
+ }
41
+ await Promise.all(deleteListeners.map((listener) => {
42
+ return this.payloadManager.add({
43
+ listener,
44
+ entity: event.entity,
45
+ primary: event.id,
46
+ cause: event
47
+ });
48
+ }));
49
+ }
50
+ async directUpdateHandler(event) {
51
+ const updateListeners = this.listenersStore.getUpdateListeners(event.entity.name);
52
+ updateListeners.map((listener) => {
53
+ if (event.data.some((it) => listener.fields.has(it.fieldName))) {
54
+ this.payloadManager.add({
55
+ listener,
56
+ entity: event.entity,
57
+ primary: event.id,
58
+ cause: event
59
+ });
60
+ }
61
+ });
62
+ }
63
+ async directCreateHandler(event) {
64
+ const createListeners = this.listenersStore.getCreateListener(event.entity.name);
65
+ createListeners.map((listener) => {
66
+ this.payloadManager.add({
67
+ listener,
68
+ entity: event.entity,
69
+ primary: event.id,
70
+ cause: event
71
+ });
72
+ });
73
+ }
74
+ /**
75
+ * Collect affected triggers after entity was created or before it was deleted.
76
+ * todo: after insert, it should probably check only owning relations, because other relations are connected later, so it would be always empty
77
+ */
78
+ async indirectChangesEntityHandler(event) {
79
+ const indirectEntityListeners = this.listenersStore.getIndirectListeners(event.entity.name);
80
+ const promises = indirectEntityListeners.map((listener) => this.collectDeepChanges(event, listener, {
81
+ [event.entity.primary]: { eq: event.id }
82
+ }));
83
+ await Promise.all(promises);
84
+ }
85
+ async indirectChangesRelationHandler(event) {
86
+ await this.indirectChangesUpdatesHandlerInner(event, "relations");
87
+ }
88
+ async indirectChangesUpdatesHandler(event) {
89
+ await this.indirectChangesUpdatesHandlerInner(event, "fields");
90
+ }
91
+ async indirectChangesUpdatesHandlerInner(event, type) {
92
+ const indirectEntityListeners = this.listenersStore.getIndirectListeners(event.entity.name);
93
+ const promises = indirectEntityListeners.map((listener) => {
94
+ if (event.data.some((val) => listener[type].has(val.fieldName))) {
95
+ return this.collectDeepChanges(event, listener, {
96
+ [event.entity.primary]: { eq: event.id }
97
+ });
98
+ }
99
+ });
100
+ await Promise.all(promises);
101
+ }
102
+ async junctionHandler(event) {
103
+ const listeners = this.listenersStore.getJunctionListeners(event.owningEntity.name, event.owningRelation.name);
104
+ const promises = listeners.map((listener) => {
105
+ const primary = listener.context.type === "owning" ? event.owningId : event.inverseId;
106
+ const entity = listener.context.entity;
107
+ return this.collectDeepChanges(event, listener, {
108
+ [entity.primary]: { eq: primary }
109
+ });
110
+ });
111
+ await Promise.all(promises);
112
+ }
113
+ async collectDeepChanges(cause, listener, where) {
114
+ const result = await this.changesFetcher.fetch(listener, where);
115
+ for (const row of result) {
116
+ this.payloadManager.add({
117
+ listener,
118
+ entity: listener.rootEntity,
119
+ primary: row,
120
+ cause
121
+ });
122
+ }
123
+ }
124
+ }
125
+ exports.TriggerHandler = TriggerHandler;
126
+ //# sourceMappingURL=TriggerHandler.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerHandler.cjs","sources":["../../../../../packages/engine-actions/src/triggers/TriggerHandler.ts"],"sourcesContent":["import {\n\tAfterInsertEvent,\n\tAfterJunctionUpdateEvent,\n\tAfterUpdateEvent,\n\tBeforeDeleteEvent,\n\tBeforeUpdateEvent,\n\tEventManager,\n} from '@contember/engine-content-api'\nimport { Input } from '@contember/schema'\nimport { IndirectListener, JunctionListener, TriggerListenersStore } from './TriggerListenersStore'\nimport { TriggerPayloadManager } from './TriggerPayloadManager'\nimport { TriggerIndirectChangesFetcher } from './TriggerIndirectChangesFetcher'\n\nexport type EventCause =\n\t| BeforeUpdateEvent\n\t| AfterUpdateEvent\n\t| BeforeDeleteEvent\n\t| AfterInsertEvent\n\t| AfterJunctionUpdateEvent\n\nexport class TriggerHandler {\n\tconstructor(\n\t\tprivate readonly payloadManager: TriggerPayloadManager,\n\t\tprivate readonly listenersStore: TriggerListenersStore,\n\t\tprivate readonly changesFetcher: TriggerIndirectChangesFetcher,\n\t) {\n\t}\n\n\tattach(evm: EventManager) {\n\t\tevm.listen('BeforeDeleteEvent', async event => {\n\t\t\tawait this.directDeleteHandler(event)\n\t\t\tawait this.indirectChangesEntityHandler(event)\n\t\t})\n\t\tevm.listen('AfterInsertEvent', async event => {\n\t\t\tawait this.indirectChangesEntityHandler(event)\n\t\t\tawait this.directCreateHandler(event)\n\t\t})\n\t\tevm.listen('BeforeUpdateEvent', async event => {\n\t\t\tawait this.indirectChangesRelationHandler(event)\n\t\t})\n\t\tevm.listen('AfterUpdateEvent', async event => {\n\t\t\tif (event.hasChanges) {\n\t\t\t\tawait this.indirectChangesUpdatesHandler(event)\n\t\t\t\tawait this.directUpdateHandler(event)\n\t\t\t}\n\t\t})\n\t\tevm.listen('AfterJunctionUpdateEvent', async event => {\n\t\t\tif (event.hasChanges) {\n\t\t\t\tawait this.junctionHandler(event)\n\t\t\t}\n\t\t})\n\t\tevm.listen('BeforeCommitEvent', async event => {\n\t\t\tawait this.payloadManager.persist()\n\t\t})\n\t}\n\n\tprivate async directDeleteHandler(event: BeforeDeleteEvent) {\n\t\tconst deleteListeners = this.listenersStore.getDeleteListener(event.entity.name)\n\t\tif (!deleteListeners) {\n\t\t\treturn\n\t\t}\n\t\tawait Promise.all(deleteListeners.map(listener => {\n\t\t\treturn this.payloadManager.add({\n\t\t\t\tlistener,\n\t\t\t\tentity: event.entity,\n\t\t\t\tprimary: event.id,\n\t\t\t\tcause: event,\n\t\t\t})\n\t\t}))\n\t}\n\n\tprivate async directUpdateHandler(event: AfterUpdateEvent) {\n\t\tconst updateListeners = this.listenersStore.getUpdateListeners(event.entity.name)\n\t\tupdateListeners.map(listener => {\n\t\t\tif (event.data.some(it => listener.fields.has(it.fieldName))) {\n\t\t\t\tthis.payloadManager.add({\n\t\t\t\t\tlistener,\n\t\t\t\t\tentity: event.entity,\n\t\t\t\t\tprimary: event.id,\n\t\t\t\t\tcause: event,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate async directCreateHandler(event: AfterInsertEvent) {\n\t\tconst createListeners = this.listenersStore.getCreateListener(event.entity.name)\n\t\tcreateListeners.map(listener => {\n\t\t\tthis.payloadManager.add({\n\t\t\t\tlistener,\n\t\t\t\tentity: event.entity,\n\t\t\t\tprimary: event.id,\n\t\t\t\tcause: event,\n\t\t\t})\n\t\t})\n\t}\n\n\n\t/**\n\t * Collect affected triggers after entity was created or before it was deleted.\n\t * todo: after insert, it should probably check only owning relations, because other relations are connected later, so it would be always empty\n\t */\n\tprivate async indirectChangesEntityHandler(event: BeforeDeleteEvent | AfterInsertEvent) {\n\t\t//\n\t\tconst indirectEntityListeners = this.listenersStore.getIndirectListeners(event.entity.name)\n\t\tconst promises = indirectEntityListeners.map(listener => this.collectDeepChanges(event, listener, {\n\t\t\t[event.entity.primary]: { eq: event.id },\n\t\t}))\n\t\tawait Promise.all(promises)\n\t}\n\n\tprivate async indirectChangesRelationHandler(event: BeforeUpdateEvent) {\n\t\tawait this.indirectChangesUpdatesHandlerInner(event, 'relations')\n\t}\n\n\tprivate async indirectChangesUpdatesHandler(event: AfterUpdateEvent) {\n\t\tawait this.indirectChangesUpdatesHandlerInner(event, 'fields')\n\t}\n\tprivate async indirectChangesUpdatesHandlerInner(event: AfterUpdateEvent | BeforeUpdateEvent, type: 'fields' | 'relations') {\n\t\tconst indirectEntityListeners = this.listenersStore.getIndirectListeners(event.entity.name)\n\t\tconst promises = indirectEntityListeners.map(listener => {\n\t\t\tif (event.data.some(val => listener[type].has(val.fieldName))) {\n\t\t\t\treturn this.collectDeepChanges(event, listener, {\n\t\t\t\t\t[event.entity.primary]: { eq: event.id },\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t\tawait Promise.all(promises)\n\t}\n\n\tprivate async junctionHandler(event: AfterJunctionUpdateEvent) {\n\t\tconst listeners = this.listenersStore.getJunctionListeners(event.owningEntity.name, event.owningRelation.name)\n\t\tconst promises = listeners.map(listener => {\n\t\t\tconst primary = listener.context.type === 'owning'\n\t\t\t\t? event.owningId\n\t\t\t\t: event.inverseId\n\t\t\tconst entity = listener.context.entity\n\t\t\treturn this.collectDeepChanges(event, listener, {\n\t\t\t\t[entity.primary]: { eq: primary },\n\t\t\t})\n\t\t})\n\t\tawait Promise.all(promises)\n\t}\n\n\n\tprivate async collectDeepChanges(\n\t\tcause: EventCause,\n\t\tlistener: IndirectListener | JunctionListener,\n\t\twhere: Input.Where,\n\t) {\n\t\tconst result = await this.changesFetcher.fetch(listener, where)\n\t\tfor (const row of result) {\n\t\t\tthis.payloadManager.add({\n\t\t\t\tlistener,\n\t\t\t\tentity: listener.rootEntity,\n\t\t\t\tprimary: row,\n\t\t\t\tcause,\n\t\t\t})\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAoBO,MAAM,eAAe;AAAA,EAC3B,YACkB,gBACA,gBACA,gBAChB;AAHgB,SAAA,iBAAA;AACA,SAAA,iBAAA;AACA,SAAA,iBAAA;AAAA,EAElB;AAAA,EAEA,OAAO,KAAmB;AACrB,QAAA,OAAO,qBAAqB,OAAM,UAAS;AACxC,YAAA,KAAK,oBAAoB,KAAK;AAC9B,YAAA,KAAK,6BAA6B,KAAK;AAAA,IAAA,CAC7C;AACG,QAAA,OAAO,oBAAoB,OAAM,UAAS;AACvC,YAAA,KAAK,6BAA6B,KAAK;AACvC,YAAA,KAAK,oBAAoB,KAAK;AAAA,IAAA,CACpC;AACG,QAAA,OAAO,qBAAqB,OAAM,UAAS;AACxC,YAAA,KAAK,+BAA+B,KAAK;AAAA,IAAA,CAC/C;AACG,QAAA,OAAO,oBAAoB,OAAM,UAAS;AAC7C,UAAI,MAAM,YAAY;AACf,cAAA,KAAK,8BAA8B,KAAK;AACxC,cAAA,KAAK,oBAAoB,KAAK;AAAA,MACrC;AAAA,IAAA,CACA;AACG,QAAA,OAAO,4BAA4B,OAAM,UAAS;AACrD,UAAI,MAAM,YAAY;AACf,cAAA,KAAK,gBAAgB,KAAK;AAAA,MACjC;AAAA,IAAA,CACA;AACG,QAAA,OAAO,qBAAqB,OAAM,UAAS;AACxC,YAAA,KAAK,eAAe;IAAQ,CAClC;AAAA,EACF;AAAA,EAEA,MAAc,oBAAoB,OAA0B;AAC3D,UAAM,kBAAkB,KAAK,eAAe,kBAAkB,MAAM,OAAO,IAAI;AAC/E,QAAI,CAAC,iBAAiB;AACrB;AAAA,IACD;AACA,UAAM,QAAQ,IAAI,gBAAgB,IAAI,CAAY,aAAA;AAC1C,aAAA,KAAK,eAAe,IAAI;AAAA,QAC9B;AAAA,QACA,QAAQ,MAAM;AAAA,QACd,SAAS,MAAM;AAAA,QACf,OAAO;AAAA,MAAA,CACP;AAAA,IACD,CAAA,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,oBAAoB,OAAyB;AAC1D,UAAM,kBAAkB,KAAK,eAAe,mBAAmB,MAAM,OAAO,IAAI;AAChF,oBAAgB,IAAI,CAAY,aAAA;AAC3B,UAAA,MAAM,KAAK,KAAK,CAAM,OAAA,SAAS,OAAO,IAAI,GAAG,SAAS,CAAC,GAAG;AAC7D,aAAK,eAAe,IAAI;AAAA,UACvB;AAAA,UACA,QAAQ,MAAM;AAAA,UACd,SAAS,MAAM;AAAA,UACf,OAAO;AAAA,QAAA,CACP;AAAA,MACF;AAAA,IAAA,CACA;AAAA,EACF;AAAA,EAEA,MAAc,oBAAoB,OAAyB;AAC1D,UAAM,kBAAkB,KAAK,eAAe,kBAAkB,MAAM,OAAO,IAAI;AAC/E,oBAAgB,IAAI,CAAY,aAAA;AAC/B,WAAK,eAAe,IAAI;AAAA,QACvB;AAAA,QACA,QAAQ,MAAM;AAAA,QACd,SAAS,MAAM;AAAA,QACf,OAAO;AAAA,MAAA,CACP;AAAA,IAAA,CACD;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAc,6BAA6B,OAA6C;AAEvF,UAAM,0BAA0B,KAAK,eAAe,qBAAqB,MAAM,OAAO,IAAI;AAC1F,UAAM,WAAY,wBAAwB,IAAI,cAAY,KAAK,mBAAmB,OAAO,UAAU;AAAA,MAClG,CAAC,MAAM,OAAO,OAAO,GAAG,EAAE,IAAI,MAAM,GAAG;AAAA,IACvC,CAAA,CAAC;AACI,UAAA,QAAQ,IAAI,QAAQ;AAAA,EAC3B;AAAA,EAEA,MAAc,+BAA+B,OAA0B;AAChE,UAAA,KAAK,mCAAmC,OAAO,WAAW;AAAA,EACjE;AAAA,EAEA,MAAc,8BAA8B,OAAyB;AAC9D,UAAA,KAAK,mCAAmC,OAAO,QAAQ;AAAA,EAC9D;AAAA,EACA,MAAc,mCAAmC,OAA6C,MAA8B;AAC3H,UAAM,0BAA0B,KAAK,eAAe,qBAAqB,MAAM,OAAO,IAAI;AACpF,UAAA,WAAW,wBAAwB,IAAI,CAAY,aAAA;AACpD,UAAA,MAAM,KAAK,KAAK,CAAO,QAAA,SAAS,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC,GAAG;AACvD,eAAA,KAAK,mBAAmB,OAAO,UAAU;AAAA,UAC/C,CAAC,MAAM,OAAO,OAAO,GAAG,EAAE,IAAI,MAAM,GAAG;AAAA,QAAA,CACvC;AAAA,MACF;AAAA,IAAA,CACA;AACK,UAAA,QAAQ,IAAI,QAAQ;AAAA,EAC3B;AAAA,EAEA,MAAc,gBAAgB,OAAiC;AACxD,UAAA,YAAY,KAAK,eAAe,qBAAqB,MAAM,aAAa,MAAM,MAAM,eAAe,IAAI;AACvG,UAAA,WAAW,UAAU,IAAI,CAAY,aAAA;AAC1C,YAAM,UAAU,SAAS,QAAQ,SAAS,WACvC,MAAM,WACN,MAAM;AACH,YAAA,SAAS,SAAS,QAAQ;AACzB,aAAA,KAAK,mBAAmB,OAAO,UAAU;AAAA,QAC/C,CAAC,OAAO,OAAO,GAAG,EAAE,IAAI,QAAQ;AAAA,MAAA,CAChC;AAAA,IAAA,CACD;AACK,UAAA,QAAQ,IAAI,QAAQ;AAAA,EAC3B;AAAA,EAGA,MAAc,mBACb,OACA,UACA,OACC;AACD,UAAM,SAAS,MAAM,KAAK,eAAe,MAAM,UAAU,KAAK;AAC9D,eAAW,OAAO,QAAQ;AACzB,WAAK,eAAe,IAAI;AAAA,QACvB;AAAA,QACA,QAAQ,SAAS;AAAA,QACjB,SAAS;AAAA,QACT;AAAA,MAAA,CACA;AAAA,IACF;AAAA,EACD;AACD;;"}
@@ -0,0 +1,126 @@
1
+ class TriggerHandler {
2
+ constructor(payloadManager, listenersStore, changesFetcher) {
3
+ this.payloadManager = payloadManager;
4
+ this.listenersStore = listenersStore;
5
+ this.changesFetcher = changesFetcher;
6
+ }
7
+ attach(evm) {
8
+ evm.listen("BeforeDeleteEvent", async (event) => {
9
+ await this.directDeleteHandler(event);
10
+ await this.indirectChangesEntityHandler(event);
11
+ });
12
+ evm.listen("AfterInsertEvent", async (event) => {
13
+ await this.indirectChangesEntityHandler(event);
14
+ await this.directCreateHandler(event);
15
+ });
16
+ evm.listen("BeforeUpdateEvent", async (event) => {
17
+ await this.indirectChangesRelationHandler(event);
18
+ });
19
+ evm.listen("AfterUpdateEvent", async (event) => {
20
+ if (event.hasChanges) {
21
+ await this.indirectChangesUpdatesHandler(event);
22
+ await this.directUpdateHandler(event);
23
+ }
24
+ });
25
+ evm.listen("AfterJunctionUpdateEvent", async (event) => {
26
+ if (event.hasChanges) {
27
+ await this.junctionHandler(event);
28
+ }
29
+ });
30
+ evm.listen("BeforeCommitEvent", async (event) => {
31
+ await this.payloadManager.persist();
32
+ });
33
+ }
34
+ async directDeleteHandler(event) {
35
+ const deleteListeners = this.listenersStore.getDeleteListener(event.entity.name);
36
+ if (!deleteListeners) {
37
+ return;
38
+ }
39
+ await Promise.all(deleteListeners.map((listener) => {
40
+ return this.payloadManager.add({
41
+ listener,
42
+ entity: event.entity,
43
+ primary: event.id,
44
+ cause: event
45
+ });
46
+ }));
47
+ }
48
+ async directUpdateHandler(event) {
49
+ const updateListeners = this.listenersStore.getUpdateListeners(event.entity.name);
50
+ updateListeners.map((listener) => {
51
+ if (event.data.some((it) => listener.fields.has(it.fieldName))) {
52
+ this.payloadManager.add({
53
+ listener,
54
+ entity: event.entity,
55
+ primary: event.id,
56
+ cause: event
57
+ });
58
+ }
59
+ });
60
+ }
61
+ async directCreateHandler(event) {
62
+ const createListeners = this.listenersStore.getCreateListener(event.entity.name);
63
+ createListeners.map((listener) => {
64
+ this.payloadManager.add({
65
+ listener,
66
+ entity: event.entity,
67
+ primary: event.id,
68
+ cause: event
69
+ });
70
+ });
71
+ }
72
+ /**
73
+ * Collect affected triggers after entity was created or before it was deleted.
74
+ * todo: after insert, it should probably check only owning relations, because other relations are connected later, so it would be always empty
75
+ */
76
+ async indirectChangesEntityHandler(event) {
77
+ const indirectEntityListeners = this.listenersStore.getIndirectListeners(event.entity.name);
78
+ const promises = indirectEntityListeners.map((listener) => this.collectDeepChanges(event, listener, {
79
+ [event.entity.primary]: { eq: event.id }
80
+ }));
81
+ await Promise.all(promises);
82
+ }
83
+ async indirectChangesRelationHandler(event) {
84
+ await this.indirectChangesUpdatesHandlerInner(event, "relations");
85
+ }
86
+ async indirectChangesUpdatesHandler(event) {
87
+ await this.indirectChangesUpdatesHandlerInner(event, "fields");
88
+ }
89
+ async indirectChangesUpdatesHandlerInner(event, type) {
90
+ const indirectEntityListeners = this.listenersStore.getIndirectListeners(event.entity.name);
91
+ const promises = indirectEntityListeners.map((listener) => {
92
+ if (event.data.some((val) => listener[type].has(val.fieldName))) {
93
+ return this.collectDeepChanges(event, listener, {
94
+ [event.entity.primary]: { eq: event.id }
95
+ });
96
+ }
97
+ });
98
+ await Promise.all(promises);
99
+ }
100
+ async junctionHandler(event) {
101
+ const listeners = this.listenersStore.getJunctionListeners(event.owningEntity.name, event.owningRelation.name);
102
+ const promises = listeners.map((listener) => {
103
+ const primary = listener.context.type === "owning" ? event.owningId : event.inverseId;
104
+ const entity = listener.context.entity;
105
+ return this.collectDeepChanges(event, listener, {
106
+ [entity.primary]: { eq: primary }
107
+ });
108
+ });
109
+ await Promise.all(promises);
110
+ }
111
+ async collectDeepChanges(cause, listener, where) {
112
+ const result = await this.changesFetcher.fetch(listener, where);
113
+ for (const row of result) {
114
+ this.payloadManager.add({
115
+ listener,
116
+ entity: listener.rootEntity,
117
+ primary: row,
118
+ cause
119
+ });
120
+ }
121
+ }
122
+ }
123
+ export {
124
+ TriggerHandler
125
+ };
126
+ //# sourceMappingURL=TriggerHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerHandler.js","sources":["../../../../../packages/engine-actions/src/triggers/TriggerHandler.ts"],"sourcesContent":["import {\n\tAfterInsertEvent,\n\tAfterJunctionUpdateEvent,\n\tAfterUpdateEvent,\n\tBeforeDeleteEvent,\n\tBeforeUpdateEvent,\n\tEventManager,\n} from '@contember/engine-content-api'\nimport { Input } from '@contember/schema'\nimport { IndirectListener, JunctionListener, TriggerListenersStore } from './TriggerListenersStore'\nimport { TriggerPayloadManager } from './TriggerPayloadManager'\nimport { TriggerIndirectChangesFetcher } from './TriggerIndirectChangesFetcher'\n\nexport type EventCause =\n\t| BeforeUpdateEvent\n\t| AfterUpdateEvent\n\t| BeforeDeleteEvent\n\t| AfterInsertEvent\n\t| AfterJunctionUpdateEvent\n\nexport class TriggerHandler {\n\tconstructor(\n\t\tprivate readonly payloadManager: TriggerPayloadManager,\n\t\tprivate readonly listenersStore: TriggerListenersStore,\n\t\tprivate readonly changesFetcher: TriggerIndirectChangesFetcher,\n\t) {\n\t}\n\n\tattach(evm: EventManager) {\n\t\tevm.listen('BeforeDeleteEvent', async event => {\n\t\t\tawait this.directDeleteHandler(event)\n\t\t\tawait this.indirectChangesEntityHandler(event)\n\t\t})\n\t\tevm.listen('AfterInsertEvent', async event => {\n\t\t\tawait this.indirectChangesEntityHandler(event)\n\t\t\tawait this.directCreateHandler(event)\n\t\t})\n\t\tevm.listen('BeforeUpdateEvent', async event => {\n\t\t\tawait this.indirectChangesRelationHandler(event)\n\t\t})\n\t\tevm.listen('AfterUpdateEvent', async event => {\n\t\t\tif (event.hasChanges) {\n\t\t\t\tawait this.indirectChangesUpdatesHandler(event)\n\t\t\t\tawait this.directUpdateHandler(event)\n\t\t\t}\n\t\t})\n\t\tevm.listen('AfterJunctionUpdateEvent', async event => {\n\t\t\tif (event.hasChanges) {\n\t\t\t\tawait this.junctionHandler(event)\n\t\t\t}\n\t\t})\n\t\tevm.listen('BeforeCommitEvent', async event => {\n\t\t\tawait this.payloadManager.persist()\n\t\t})\n\t}\n\n\tprivate async directDeleteHandler(event: BeforeDeleteEvent) {\n\t\tconst deleteListeners = this.listenersStore.getDeleteListener(event.entity.name)\n\t\tif (!deleteListeners) {\n\t\t\treturn\n\t\t}\n\t\tawait Promise.all(deleteListeners.map(listener => {\n\t\t\treturn this.payloadManager.add({\n\t\t\t\tlistener,\n\t\t\t\tentity: event.entity,\n\t\t\t\tprimary: event.id,\n\t\t\t\tcause: event,\n\t\t\t})\n\t\t}))\n\t}\n\n\tprivate async directUpdateHandler(event: AfterUpdateEvent) {\n\t\tconst updateListeners = this.listenersStore.getUpdateListeners(event.entity.name)\n\t\tupdateListeners.map(listener => {\n\t\t\tif (event.data.some(it => listener.fields.has(it.fieldName))) {\n\t\t\t\tthis.payloadManager.add({\n\t\t\t\t\tlistener,\n\t\t\t\t\tentity: event.entity,\n\t\t\t\t\tprimary: event.id,\n\t\t\t\t\tcause: event,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate async directCreateHandler(event: AfterInsertEvent) {\n\t\tconst createListeners = this.listenersStore.getCreateListener(event.entity.name)\n\t\tcreateListeners.map(listener => {\n\t\t\tthis.payloadManager.add({\n\t\t\t\tlistener,\n\t\t\t\tentity: event.entity,\n\t\t\t\tprimary: event.id,\n\t\t\t\tcause: event,\n\t\t\t})\n\t\t})\n\t}\n\n\n\t/**\n\t * Collect affected triggers after entity was created or before it was deleted.\n\t * todo: after insert, it should probably check only owning relations, because other relations are connected later, so it would be always empty\n\t */\n\tprivate async indirectChangesEntityHandler(event: BeforeDeleteEvent | AfterInsertEvent) {\n\t\t//\n\t\tconst indirectEntityListeners = this.listenersStore.getIndirectListeners(event.entity.name)\n\t\tconst promises = indirectEntityListeners.map(listener => this.collectDeepChanges(event, listener, {\n\t\t\t[event.entity.primary]: { eq: event.id },\n\t\t}))\n\t\tawait Promise.all(promises)\n\t}\n\n\tprivate async indirectChangesRelationHandler(event: BeforeUpdateEvent) {\n\t\tawait this.indirectChangesUpdatesHandlerInner(event, 'relations')\n\t}\n\n\tprivate async indirectChangesUpdatesHandler(event: AfterUpdateEvent) {\n\t\tawait this.indirectChangesUpdatesHandlerInner(event, 'fields')\n\t}\n\tprivate async indirectChangesUpdatesHandlerInner(event: AfterUpdateEvent | BeforeUpdateEvent, type: 'fields' | 'relations') {\n\t\tconst indirectEntityListeners = this.listenersStore.getIndirectListeners(event.entity.name)\n\t\tconst promises = indirectEntityListeners.map(listener => {\n\t\t\tif (event.data.some(val => listener[type].has(val.fieldName))) {\n\t\t\t\treturn this.collectDeepChanges(event, listener, {\n\t\t\t\t\t[event.entity.primary]: { eq: event.id },\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t\tawait Promise.all(promises)\n\t}\n\n\tprivate async junctionHandler(event: AfterJunctionUpdateEvent) {\n\t\tconst listeners = this.listenersStore.getJunctionListeners(event.owningEntity.name, event.owningRelation.name)\n\t\tconst promises = listeners.map(listener => {\n\t\t\tconst primary = listener.context.type === 'owning'\n\t\t\t\t? event.owningId\n\t\t\t\t: event.inverseId\n\t\t\tconst entity = listener.context.entity\n\t\t\treturn this.collectDeepChanges(event, listener, {\n\t\t\t\t[entity.primary]: { eq: primary },\n\t\t\t})\n\t\t})\n\t\tawait Promise.all(promises)\n\t}\n\n\n\tprivate async collectDeepChanges(\n\t\tcause: EventCause,\n\t\tlistener: IndirectListener | JunctionListener,\n\t\twhere: Input.Where,\n\t) {\n\t\tconst result = await this.changesFetcher.fetch(listener, where)\n\t\tfor (const row of result) {\n\t\t\tthis.payloadManager.add({\n\t\t\t\tlistener,\n\t\t\t\tentity: listener.rootEntity,\n\t\t\t\tprimary: row,\n\t\t\t\tcause,\n\t\t\t})\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Database = require("@contember/database");
4
+ class TriggerIndirectChangesFetcher {
5
+ constructor(mapper, whereBuilder, pathFactory) {
6
+ this.mapper = mapper;
7
+ this.whereBuilder = whereBuilder;
8
+ this.pathFactory = pathFactory;
9
+ }
10
+ async fetch(listener, where) {
11
+ for (let i = listener.path.length - 1; i >= 0; i--) {
12
+ where = { [listener.path[i]]: where };
13
+ }
14
+ const qb = Database.SelectBuilder.create().from(listener.rootEntity.tableName, "root_").select(["root_", listener.rootEntity.primaryColumn], "id");
15
+ const path = this.pathFactory.create([]);
16
+ const qbWithWhere = this.whereBuilder.build(qb, listener.rootEntity, path, where);
17
+ return (await qbWithWhere.getResult(this.mapper.db)).map((it) => it.id);
18
+ }
19
+ }
20
+ exports.TriggerIndirectChangesFetcher = TriggerIndirectChangesFetcher;
21
+ //# sourceMappingURL=TriggerIndirectChangesFetcher.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerIndirectChangesFetcher.cjs","sources":["../../../../../packages/engine-actions/src/triggers/TriggerIndirectChangesFetcher.ts"],"sourcesContent":["import { Mapper, PathFactory, WhereBuilder } from '@contember/engine-content-api'\nimport { IndirectListener, JunctionListener } from './TriggerListenersStore'\nimport { SelectBuilder } from '@contember/database'\nimport { Input } from '@contember/schema'\n\nexport class TriggerIndirectChangesFetcher {\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly whereBuilder: WhereBuilder,\n\t\tprivate readonly pathFactory: PathFactory,\n\t) {\n\t}\n\n\tpublic async fetch(\n\t\tlistener: IndirectListener | JunctionListener,\n\t\twhere: Input.Where,\n\t): Promise<Input.PrimaryValue[]> {\n\t\tfor (let i = listener.path.length - 1; i >= 0; i--) {\n\t\t\twhere = { [listener.path[i]]: where }\n\t\t}\n\t\tconst qb = SelectBuilder.create<{ id: Input.PrimaryValue }>()\n\t\t\t.from(listener.rootEntity.tableName, 'root_')\n\t\t\t.select(['root_', listener.rootEntity.primaryColumn], 'id')\n\t\tconst path = this.pathFactory.create([])\n\t\tconst qbWithWhere = this.whereBuilder.build(qb, listener.rootEntity, path, where)\n\n\t\treturn (await qbWithWhere.getResult(this.mapper.db)).map(it => it.id)\n\t}\n\n}\n"],"names":["SelectBuilder"],"mappings":";;;AAKO,MAAM,8BAA8B;AAAA,EAC1C,YACkB,QACA,cACA,aAChB;AAHgB,SAAA,SAAA;AACA,SAAA,eAAA;AACA,SAAA,cAAA;AAAA,EAElB;AAAA,EAEA,MAAa,MACZ,UACA,OACgC;AAChC,aAAS,IAAI,SAAS,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;AACnD,cAAQ,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,GAAG;IAC/B;AACA,UAAM,KAAKA,SAAAA,cAAc,OAAA,EACvB,KAAK,SAAS,WAAW,WAAW,OAAO,EAC3C,OAAO,CAAC,SAAS,SAAS,WAAW,aAAa,GAAG,IAAI;AAC3D,UAAM,OAAO,KAAK,YAAY,OAAO,CAAE,CAAA;AACjC,UAAA,cAAc,KAAK,aAAa,MAAM,IAAI,SAAS,YAAY,MAAM,KAAK;AAExE,YAAA,MAAM,YAAY,UAAU,KAAK,OAAO,EAAE,GAAG,IAAI,CAAM,OAAA,GAAG,EAAE;AAAA,EACrE;AAED;;"}
@@ -0,0 +1,21 @@
1
+ import { SelectBuilder } from "@contember/database";
2
+ class TriggerIndirectChangesFetcher {
3
+ constructor(mapper, whereBuilder, pathFactory) {
4
+ this.mapper = mapper;
5
+ this.whereBuilder = whereBuilder;
6
+ this.pathFactory = pathFactory;
7
+ }
8
+ async fetch(listener, where) {
9
+ for (let i = listener.path.length - 1; i >= 0; i--) {
10
+ where = { [listener.path[i]]: where };
11
+ }
12
+ const qb = SelectBuilder.create().from(listener.rootEntity.tableName, "root_").select(["root_", listener.rootEntity.primaryColumn], "id");
13
+ const path = this.pathFactory.create([]);
14
+ const qbWithWhere = this.whereBuilder.build(qb, listener.rootEntity, path, where);
15
+ return (await qbWithWhere.getResult(this.mapper.db)).map((it) => it.id);
16
+ }
17
+ }
18
+ export {
19
+ TriggerIndirectChangesFetcher
20
+ };
21
+ //# sourceMappingURL=TriggerIndirectChangesFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerIndirectChangesFetcher.js","sources":["../../../../../packages/engine-actions/src/triggers/TriggerIndirectChangesFetcher.ts"],"sourcesContent":["import { Mapper, PathFactory, WhereBuilder } from '@contember/engine-content-api'\nimport { IndirectListener, JunctionListener } from './TriggerListenersStore'\nimport { SelectBuilder } from '@contember/database'\nimport { Input } from '@contember/schema'\n\nexport class TriggerIndirectChangesFetcher {\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly whereBuilder: WhereBuilder,\n\t\tprivate readonly pathFactory: PathFactory,\n\t) {\n\t}\n\n\tpublic async fetch(\n\t\tlistener: IndirectListener | JunctionListener,\n\t\twhere: Input.Where,\n\t): Promise<Input.PrimaryValue[]> {\n\t\tfor (let i = listener.path.length - 1; i >= 0; i--) {\n\t\t\twhere = { [listener.path[i]]: where }\n\t\t}\n\t\tconst qb = SelectBuilder.create<{ id: Input.PrimaryValue }>()\n\t\t\t.from(listener.rootEntity.tableName, 'root_')\n\t\t\t.select(['root_', listener.rootEntity.primaryColumn], 'id')\n\t\tconst path = this.pathFactory.create([])\n\t\tconst qbWithWhere = this.whereBuilder.build(qb, listener.rootEntity, path, where)\n\n\t\treturn (await qbWithWhere.getResult(this.mapper.db)).map(it => it.id)\n\t}\n\n}\n"],"names":[],"mappings":";AAKO,MAAM,8BAA8B;AAAA,EAC1C,YACkB,QACA,cACA,aAChB;AAHgB,SAAA,SAAA;AACA,SAAA,eAAA;AACA,SAAA,cAAA;AAAA,EAElB;AAAA,EAEA,MAAa,MACZ,UACA,OACgC;AAChC,aAAS,IAAI,SAAS,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;AACnD,cAAQ,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,GAAG;IAC/B;AACA,UAAM,KAAK,cAAc,OAAA,EACvB,KAAK,SAAS,WAAW,WAAW,OAAO,EAC3C,OAAO,CAAC,SAAS,SAAS,WAAW,aAAa,GAAG,IAAI;AAC3D,UAAM,OAAO,KAAK,YAAY,OAAO,CAAE,CAAA;AACjC,UAAA,cAAc,KAAK,aAAa,MAAM,IAAI,SAAS,YAAY,MAAM,KAAK;AAExE,YAAA,MAAM,YAAY,UAAU,KAAK,OAAO,EAAE,GAAG,IAAI,CAAM,OAAA,GAAG,EAAE;AAAA,EACrE;AAED;"}