@contember/engine-actions 1.3.0-alpha.13

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 (289) hide show
  1. package/dist/src/ActionsExecutionContainerHookFactory.d.ts +8 -0
  2. package/dist/src/ActionsExecutionContainerHookFactory.d.ts.map +1 -0
  3. package/dist/src/ActionsExecutionContainerHookFactory.js +28 -0
  4. package/dist/src/ActionsExecutionContainerHookFactory.js.map +1 -0
  5. package/dist/src/ImplementationException.d.ts +3 -0
  6. package/dist/src/ImplementationException.d.ts.map +1 -0
  7. package/dist/src/ImplementationException.js +7 -0
  8. package/dist/src/ImplementationException.js.map +1 -0
  9. package/dist/src/ListenerStoreProvider.d.ts +7 -0
  10. package/dist/src/ListenerStoreProvider.d.ts.map +1 -0
  11. package/dist/src/ListenerStoreProvider.js +21 -0
  12. package/dist/src/ListenerStoreProvider.js.map +1 -0
  13. package/dist/src/dispatch/DispatchWorkerSupervisor.d.ts +17 -0
  14. package/dist/src/dispatch/DispatchWorkerSupervisor.d.ts.map +1 -0
  15. package/dist/src/dispatch/DispatchWorkerSupervisor.js +123 -0
  16. package/dist/src/dispatch/DispatchWorkerSupervisor.js.map +1 -0
  17. package/dist/src/dispatch/EventDispatcher.d.ts +25 -0
  18. package/dist/src/dispatch/EventDispatcher.d.ts.map +1 -0
  19. package/dist/src/dispatch/EventDispatcher.js +46 -0
  20. package/dist/src/dispatch/EventDispatcher.js.map +1 -0
  21. package/dist/src/dispatch/EventsRepository.d.ts +22 -0
  22. package/dist/src/dispatch/EventsRepository.d.ts.map +1 -0
  23. package/dist/src/dispatch/EventsRepository.js +138 -0
  24. package/dist/src/dispatch/EventsRepository.js.map +1 -0
  25. package/dist/src/dispatch/ProjectDispatcher.d.ts +22 -0
  26. package/dist/src/dispatch/ProjectDispatcher.d.ts.map +1 -0
  27. package/dist/src/dispatch/ProjectDispatcher.js +103 -0
  28. package/dist/src/dispatch/ProjectDispatcher.js.map +1 -0
  29. package/dist/src/dispatch/TargetHandlerResolver.d.ts +9 -0
  30. package/dist/src/dispatch/TargetHandlerResolver.d.ts.map +1 -0
  31. package/dist/src/dispatch/TargetHandlerResolver.js +17 -0
  32. package/dist/src/dispatch/TargetHandlerResolver.js.map +1 -0
  33. package/dist/src/dispatch/WebhookTargetHandler.d.ts +7 -0
  34. package/dist/src/dispatch/WebhookTargetHandler.d.ts.map +1 -0
  35. package/dist/src/dispatch/WebhookTargetHandler.js +85 -0
  36. package/dist/src/dispatch/WebhookTargetHandler.js.map +1 -0
  37. package/dist/src/dispatch/types.d.ts +27 -0
  38. package/dist/src/dispatch/types.d.ts.map +1 -0
  39. package/dist/src/dispatch/types.js +3 -0
  40. package/dist/src/dispatch/types.js.map +1 -0
  41. package/dist/src/graphql/http/ActionsApiMiddlewareFactory.d.ts +10 -0
  42. package/dist/src/graphql/http/ActionsApiMiddlewareFactory.d.ts.map +1 -0
  43. package/dist/src/graphql/http/ActionsApiMiddlewareFactory.js +31 -0
  44. package/dist/src/graphql/http/ActionsApiMiddlewareFactory.js.map +1 -0
  45. package/dist/src/graphql/http/ActionsContextResolver.d.ts +11 -0
  46. package/dist/src/graphql/http/ActionsContextResolver.d.ts.map +1 -0
  47. package/dist/src/graphql/http/ActionsContextResolver.js +33 -0
  48. package/dist/src/graphql/http/ActionsContextResolver.js.map +1 -0
  49. package/dist/src/graphql/http/ActionsGraphQLHandlerFactory.d.ts +8 -0
  50. package/dist/src/graphql/http/ActionsGraphQLHandlerFactory.d.ts.map +1 -0
  51. package/dist/src/graphql/http/ActionsGraphQLHandlerFactory.js +21 -0
  52. package/dist/src/graphql/http/ActionsGraphQLHandlerFactory.js.map +1 -0
  53. package/dist/src/graphql/http/ActionsWebsocketControllerFactory.d.ts +11 -0
  54. package/dist/src/graphql/http/ActionsWebsocketControllerFactory.d.ts.map +1 -0
  55. package/dist/src/graphql/http/ActionsWebsocketControllerFactory.js +150 -0
  56. package/dist/src/graphql/http/ActionsWebsocketControllerFactory.js.map +1 -0
  57. package/dist/src/graphql/resolvers/ActionsContext.d.ts +9 -0
  58. package/dist/src/graphql/resolvers/ActionsContext.d.ts.map +1 -0
  59. package/dist/src/graphql/resolvers/ActionsContext.js +3 -0
  60. package/dist/src/graphql/resolvers/ActionsContext.js.map +1 -0
  61. package/dist/src/graphql/resolvers/ResolversFactory.d.ts +13 -0
  62. package/dist/src/graphql/resolvers/ResolversFactory.d.ts.map +1 -0
  63. package/dist/src/graphql/resolvers/ResolversFactory.js +32 -0
  64. package/dist/src/graphql/resolvers/ResolversFactory.js.map +1 -0
  65. package/dist/src/graphql/resolvers/index.d.ts +3 -0
  66. package/dist/src/graphql/resolvers/index.d.ts.map +1 -0
  67. package/dist/src/graphql/resolvers/index.js +19 -0
  68. package/dist/src/graphql/resolvers/index.js.map +1 -0
  69. package/dist/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.d.ts +11 -0
  70. package/dist/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.d.ts.map +1 -0
  71. package/dist/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js +16 -0
  72. package/dist/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js.map +1 -0
  73. package/dist/src/graphql/resolvers/mutation/SetVariablesMutationResolver.d.ts +11 -0
  74. package/dist/src/graphql/resolvers/mutation/SetVariablesMutationResolver.d.ts.map +1 -0
  75. package/dist/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js +16 -0
  76. package/dist/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js.map +1 -0
  77. package/dist/src/graphql/resolvers/mutation/index.d.ts +3 -0
  78. package/dist/src/graphql/resolvers/mutation/index.d.ts.map +1 -0
  79. package/dist/src/graphql/resolvers/mutation/index.js +19 -0
  80. package/dist/src/graphql/resolvers/mutation/index.js.map +1 -0
  81. package/dist/src/graphql/resolvers/query/EventsQueryResolver.d.ts +11 -0
  82. package/dist/src/graphql/resolvers/query/EventsQueryResolver.d.ts.map +1 -0
  83. package/dist/src/graphql/resolvers/query/EventsQueryResolver.js +43 -0
  84. package/dist/src/graphql/resolvers/query/EventsQueryResolver.js.map +1 -0
  85. package/dist/src/graphql/resolvers/query/VariablesQueryResolver.d.ts +12 -0
  86. package/dist/src/graphql/resolvers/query/VariablesQueryResolver.d.ts.map +1 -0
  87. package/dist/src/graphql/resolvers/query/VariablesQueryResolver.js +16 -0
  88. package/dist/src/graphql/resolvers/query/VariablesQueryResolver.js.map +1 -0
  89. package/dist/src/graphql/resolvers/query/index.d.ts +2 -0
  90. package/dist/src/graphql/resolvers/query/index.d.ts.map +1 -0
  91. package/dist/src/graphql/resolvers/query/index.js +18 -0
  92. package/dist/src/graphql/resolvers/query/index.js.map +1 -0
  93. package/dist/src/graphql/schema/actions.graphql.d.ts +3 -0
  94. package/dist/src/graphql/schema/actions.graphql.d.ts.map +1 -0
  95. package/dist/src/graphql/schema/actions.graphql.js +93 -0
  96. package/dist/src/graphql/schema/actions.graphql.js.map +1 -0
  97. package/dist/src/graphql/schema/index.d.ts +224 -0
  98. package/dist/src/graphql/schema/index.d.ts.map +1 -0
  99. package/dist/src/graphql/schema/index.js +3 -0
  100. package/dist/src/graphql/schema/index.js.map +1 -0
  101. package/dist/src/index.d.ts +13 -0
  102. package/dist/src/index.d.ts.map +1 -0
  103. package/dist/src/index.js +81 -0
  104. package/dist/src/index.js.map +1 -0
  105. package/dist/src/migrations/2023-03-10-145000-actions-variables.d.ts +3 -0
  106. package/dist/src/migrations/2023-03-10-145000-actions-variables.d.ts.map +1 -0
  107. package/dist/src/migrations/2023-03-10-145000-actions-variables.js +17 -0
  108. package/dist/src/migrations/2023-03-10-145000-actions-variables.js.map +1 -0
  109. package/dist/src/migrations/index.d.ts +3 -0
  110. package/dist/src/migrations/index.d.ts.map +1 -0
  111. package/dist/src/migrations/index.js +13 -0
  112. package/dist/src/migrations/index.js.map +1 -0
  113. package/dist/src/migrations/snapshot.d.ts +3 -0
  114. package/dist/src/migrations/snapshot.d.ts.map +1 -0
  115. package/dist/src/migrations/snapshot.js +49 -0
  116. package/dist/src/migrations/snapshot.js.map +1 -0
  117. package/dist/src/model/EventsInProcessingQuery.d.ts +9 -0
  118. package/dist/src/model/EventsInProcessingQuery.d.ts.map +1 -0
  119. package/dist/src/model/EventsInProcessingQuery.js +22 -0
  120. package/dist/src/model/EventsInProcessingQuery.js.map +1 -0
  121. package/dist/src/model/EventsToProcessQuery.d.ts +9 -0
  122. package/dist/src/model/EventsToProcessQuery.d.ts.map +1 -0
  123. package/dist/src/model/EventsToProcessQuery.js +22 -0
  124. package/dist/src/model/EventsToProcessQuery.js.map +1 -0
  125. package/dist/src/model/EventsToProcessSpecification.d.ts +4 -0
  126. package/dist/src/model/EventsToProcessSpecification.d.ts.map +1 -0
  127. package/dist/src/model/EventsToProcessSpecification.js +14 -0
  128. package/dist/src/model/EventsToProcessSpecification.js.map +1 -0
  129. package/dist/src/model/FailedEventsQuery.d.ts +9 -0
  130. package/dist/src/model/FailedEventsQuery.d.ts.map +1 -0
  131. package/dist/src/model/FailedEventsQuery.js +22 -0
  132. package/dist/src/model/FailedEventsQuery.js.map +1 -0
  133. package/dist/src/model/SetVariableCommand.d.ts +8 -0
  134. package/dist/src/model/SetVariableCommand.d.ts.map +1 -0
  135. package/dist/src/model/SetVariableCommand.js +26 -0
  136. package/dist/src/model/SetVariableCommand.js.map +1 -0
  137. package/dist/src/model/VariablesManager.d.ts +8 -0
  138. package/dist/src/model/VariablesManager.d.ts.map +1 -0
  139. package/dist/src/model/VariablesManager.js +46 -0
  140. package/dist/src/model/VariablesManager.js.map +1 -0
  141. package/dist/src/model/VariablesQuery.d.ts +12 -0
  142. package/dist/src/model/VariablesQuery.d.ts.map +1 -0
  143. package/dist/src/model/VariablesQuery.js +13 -0
  144. package/dist/src/model/VariablesQuery.js.map +1 -0
  145. package/dist/src/model/types.d.ts +16 -0
  146. package/dist/src/model/types.d.ts.map +1 -0
  147. package/dist/src/model/types.js +3 -0
  148. package/dist/src/model/types.js.map +1 -0
  149. package/dist/src/triggers/Payload.d.ts +62 -0
  150. package/dist/src/triggers/Payload.d.ts.map +1 -0
  151. package/dist/src/triggers/Payload.js +3 -0
  152. package/dist/src/triggers/Payload.js.map +1 -0
  153. package/dist/src/triggers/TriggerHandler.d.ts +26 -0
  154. package/dist/src/triggers/TriggerHandler.d.ts.map +1 -0
  155. package/dist/src/triggers/TriggerHandler.js +130 -0
  156. package/dist/src/triggers/TriggerHandler.js.map +1 -0
  157. package/dist/src/triggers/TriggerIndirectChangesFetcher.d.ts +11 -0
  158. package/dist/src/triggers/TriggerIndirectChangesFetcher.d.ts.map +1 -0
  159. package/dist/src/triggers/TriggerIndirectChangesFetcher.js +24 -0
  160. package/dist/src/triggers/TriggerIndirectChangesFetcher.js.map +1 -0
  161. package/dist/src/triggers/TriggerListeners.d.ts +9 -0
  162. package/dist/src/triggers/TriggerListeners.d.ts.map +1 -0
  163. package/dist/src/triggers/TriggerListeners.js +3 -0
  164. package/dist/src/triggers/TriggerListeners.js.map +1 -0
  165. package/dist/src/triggers/TriggerListenersBuilder.d.ts +15 -0
  166. package/dist/src/triggers/TriggerListenersBuilder.d.ts.map +1 -0
  167. package/dist/src/triggers/TriggerListenersBuilder.js +169 -0
  168. package/dist/src/triggers/TriggerListenersBuilder.js.map +1 -0
  169. package/dist/src/triggers/TriggerListenersFactory.d.ts +8 -0
  170. package/dist/src/triggers/TriggerListenersFactory.d.ts.map +1 -0
  171. package/dist/src/triggers/TriggerListenersFactory.js +18 -0
  172. package/dist/src/triggers/TriggerListenersFactory.js.map +1 -0
  173. package/dist/src/triggers/TriggerListenersStore.d.ts +48 -0
  174. package/dist/src/triggers/TriggerListenersStore.d.ts.map +1 -0
  175. package/dist/src/triggers/TriggerListenersStore.js +30 -0
  176. package/dist/src/triggers/TriggerListenersStore.js.map +1 -0
  177. package/dist/src/triggers/TriggerPayloadBuilder.d.ts +14 -0
  178. package/dist/src/triggers/TriggerPayloadBuilder.d.ts.map +1 -0
  179. package/dist/src/triggers/TriggerPayloadBuilder.js +140 -0
  180. package/dist/src/triggers/TriggerPayloadBuilder.js.map +1 -0
  181. package/dist/src/triggers/TriggerPayloadManager.d.ts +27 -0
  182. package/dist/src/triggers/TriggerPayloadManager.d.ts.map +1 -0
  183. package/dist/src/triggers/TriggerPayloadManager.js +26 -0
  184. package/dist/src/triggers/TriggerPayloadManager.js.map +1 -0
  185. package/dist/src/triggers/TriggerPayloadPersister.d.ts +18 -0
  186. package/dist/src/triggers/TriggerPayloadPersister.d.ts.map +1 -0
  187. package/dist/src/triggers/TriggerPayloadPersister.js +44 -0
  188. package/dist/src/triggers/TriggerPayloadPersister.js.map +1 -0
  189. package/dist/src/triggers/index.d.ts +8 -0
  190. package/dist/src/triggers/index.d.ts.map +1 -0
  191. package/dist/src/triggers/index.js +24 -0
  192. package/dist/src/triggers/index.js.map +1 -0
  193. package/dist/src/tsconfig.tsbuildinfo +1 -0
  194. package/dist/src/utils/assertNever.d.ts +2 -0
  195. package/dist/src/utils/assertNever.d.ts.map +1 -0
  196. package/dist/src/utils/assertNever.js +8 -0
  197. package/dist/src/utils/assertNever.js.map +1 -0
  198. package/dist/src/utils/map.d.ts +2 -0
  199. package/dist/src/utils/map.d.ts.map +1 -0
  200. package/dist/src/utils/map.js +14 -0
  201. package/dist/src/utils/map.js.map +1 -0
  202. package/dist/tests/cases/integration/triggers.manyHasManyWatch.test.d.ts +2 -0
  203. package/dist/tests/cases/integration/triggers.manyHasManyWatch.test.d.ts.map +1 -0
  204. package/dist/tests/cases/integration/triggers.manyHasManyWatch.test.js +442 -0
  205. package/dist/tests/cases/integration/triggers.manyHasManyWatch.test.js.map +1 -0
  206. package/dist/tests/cases/integration/triggers.manyHasOneWatch.test.d.ts +2 -0
  207. package/dist/tests/cases/integration/triggers.manyHasOneWatch.test.d.ts.map +1 -0
  208. package/dist/tests/cases/integration/triggers.manyHasOneWatch.test.js +449 -0
  209. package/dist/tests/cases/integration/triggers.manyHasOneWatch.test.js.map +1 -0
  210. package/dist/tests/cases/integration/triggers.rootWatch.test.d.ts +2 -0
  211. package/dist/tests/cases/integration/triggers.rootWatch.test.d.ts.map +1 -0
  212. package/dist/tests/cases/integration/triggers.rootWatch.test.js +159 -0
  213. package/dist/tests/cases/integration/triggers.rootWatch.test.js.map +1 -0
  214. package/dist/tests/cases/integration/utils.d.ts +4 -0
  215. package/dist/tests/cases/integration/utils.d.ts.map +1 -0
  216. package/dist/tests/cases/integration/utils.js +12 -0
  217. package/dist/tests/cases/integration/utils.js.map +1 -0
  218. package/dist/tests/cases/unit/generator.test.d.ts +2 -0
  219. package/dist/tests/cases/unit/generator.test.d.ts.map +1 -0
  220. package/dist/tests/cases/unit/generator.test.js +627 -0
  221. package/dist/tests/cases/unit/generator.test.js.map +1 -0
  222. package/dist/tests/src/gql.d.ts +2 -0
  223. package/dist/tests/src/gql.d.ts.map +1 -0
  224. package/dist/tests/src/gql.js +14 -0
  225. package/dist/tests/src/gql.js.map +1 -0
  226. package/dist/tests/tsconfig.tsbuildinfo +1 -0
  227. package/graphql-actions.codegen.yml +21 -0
  228. package/package.json +45 -0
  229. package/src/ActionsExecutionContainerHookFactory.ts +28 -0
  230. package/src/ImplementationException.ts +2 -0
  231. package/src/ListenerStoreProvider.ts +17 -0
  232. package/src/dispatch/DispatchWorkerSupervisor.ts +137 -0
  233. package/src/dispatch/EventDispatcher.ts +64 -0
  234. package/src/dispatch/EventsRepository.ts +165 -0
  235. package/src/dispatch/ProjectDispatcher.ts +119 -0
  236. package/src/dispatch/TargetHandlerResolver.ts +18 -0
  237. package/src/dispatch/WebhookTargetHandler.ts +88 -0
  238. package/src/dispatch/types.ts +31 -0
  239. package/src/graphql/http/ActionsApiMiddlewareFactory.ts +36 -0
  240. package/src/graphql/http/ActionsContextResolver.ts +38 -0
  241. package/src/graphql/http/ActionsGraphQLHandlerFactory.ts +23 -0
  242. package/src/graphql/http/ActionsWebsocketControllerFactory.ts +143 -0
  243. package/src/graphql/resolvers/ActionsContext.ts +9 -0
  244. package/src/graphql/resolvers/ResolversFactory.ts +35 -0
  245. package/src/graphql/resolvers/index.ts +2 -0
  246. package/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.ts +16 -0
  247. package/src/graphql/resolvers/mutation/SetVariablesMutationResolver.ts +19 -0
  248. package/src/graphql/resolvers/mutation/index.ts +2 -0
  249. package/src/graphql/resolvers/query/EventsQueryResolver.ts +55 -0
  250. package/src/graphql/resolvers/query/VariablesQueryResolver.ts +18 -0
  251. package/src/graphql/resolvers/query/index.ts +1 -0
  252. package/src/graphql/schema/actions.graphql.ts +91 -0
  253. package/src/graphql/schema/index.ts +295 -0
  254. package/src/index.ts +88 -0
  255. package/src/migrations/2023-03-10-145000-actions-variables.ts +16 -0
  256. package/src/migrations/index.ts +7 -0
  257. package/src/migrations/snapshot.ts +47 -0
  258. package/src/model/EventsInProcessingQuery.ts +21 -0
  259. package/src/model/EventsToProcessQuery.ts +21 -0
  260. package/src/model/EventsToProcessSpecification.ts +11 -0
  261. package/src/model/FailedEventsQuery.ts +21 -0
  262. package/src/model/SetVariableCommand.ts +26 -0
  263. package/src/model/VariablesManager.ts +49 -0
  264. package/src/model/VariablesQuery.ts +17 -0
  265. package/src/model/types.ts +15 -0
  266. package/src/triggers/Payload.ts +82 -0
  267. package/src/triggers/TriggerHandler.ts +161 -0
  268. package/src/triggers/TriggerIndirectChangesFetcher.ts +30 -0
  269. package/src/triggers/TriggerListeners.ts +16 -0
  270. package/src/triggers/TriggerListenersBuilder.ts +190 -0
  271. package/src/triggers/TriggerListenersFactory.ts +19 -0
  272. package/src/triggers/TriggerListenersStore.ts +76 -0
  273. package/src/triggers/TriggerPayloadBuilder.ts +148 -0
  274. package/src/triggers/TriggerPayloadManager.ts +47 -0
  275. package/src/triggers/TriggerPayloadPersister.ts +43 -0
  276. package/src/triggers/index.ts +7 -0
  277. package/src/tsconfig.json +21 -0
  278. package/src/utils/assertNever.ts +3 -0
  279. package/src/utils/map.ts +13 -0
  280. package/tests/cases/integration/triggers.manyHasManyWatch.test.ts +437 -0
  281. package/tests/cases/integration/triggers.manyHasOneWatch.test.ts +446 -0
  282. package/tests/cases/integration/triggers.rootWatch.test.ts +152 -0
  283. package/tests/cases/integration/utils.ts +9 -0
  284. package/tests/cases/unit/generator.test.ts +689 -0
  285. package/tests/src/gql.ts +7 -0
  286. package/tests/tsconfig.json +16 -0
  287. package/tsconfig.json +5 -0
  288. package/tsconfig.settings.json +8 -0
  289. package/vite.config.js +3 -0
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FailedEventsQuery = void 0;
4
+ const database_1 = require("@contember/database");
5
+ class FailedEventsQuery extends database_1.DatabaseQuery {
6
+ constructor(args) {
7
+ super();
8
+ this.args = args;
9
+ }
10
+ async fetch(queryable) {
11
+ var _a, _b;
12
+ return database_1.SelectBuilder.create()
13
+ .from('actions_event')
14
+ .select('*')
15
+ .where(it => it.in('state', ['failed', 'retrying']))
16
+ .orderBy('last_state_change', 'desc')
17
+ .limit((_a = this.args.limit) !== null && _a !== void 0 ? _a : 100, (_b = this.args.offset) !== null && _b !== void 0 ? _b : 0)
18
+ .getResult(queryable.db);
19
+ }
20
+ }
21
+ exports.FailedEventsQuery = FailedEventsQuery;
22
+ //# sourceMappingURL=FailedEventsQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FailedEventsQuery.js","sourceRoot":"","sources":["../../../src/model/FailedEventsQuery.ts"],"names":[],"mappings":";;;AAAA,kDAAqF;AAIrF,MAAa,iBAAkB,SAAQ,wBAAyB;IAC/D,YACkB,IAAe;QAEhC,KAAK,EAAE,CAAA;QAFU,SAAI,GAAJ,IAAI,CAAW;IAGjC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAA4B;;QACvC,OAAO,wBAAa,CAAC,MAAM,EAAY;aACrC,IAAI,CAAC,eAAe,CAAC;aACrB,MAAM,CAAC,GAAG,CAAC;aACX,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;aACnD,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC;aACpC,KAAK,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,mCAAI,GAAG,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,mCAAI,CAAC,CAAC;aACpD,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;CACD;AAhBD,8CAgBC"}
@@ -0,0 +1,8 @@
1
+ import { Command } from '@contember/engine-system-api';
2
+ export declare class SetVariableCommand implements Command<void> {
3
+ private readonly name;
4
+ private readonly value;
5
+ constructor(name: string, value: string);
6
+ execute({ providers, db }: Command.Args): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=SetVariableCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetVariableCommand.d.ts","sourceRoot":"","sources":["../../../src/model/SetVariableCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAGtD,qBAAa,kBAAmB,YAAW,OAAO,CAAC,IAAI,CAAC;IAGtD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM;IAIzB,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAc7D"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SetVariableCommand = void 0;
4
+ const database_1 = require("@contember/database");
5
+ class SetVariableCommand {
6
+ constructor(name, value) {
7
+ this.name = name;
8
+ this.value = value;
9
+ }
10
+ async execute({ providers, db }) {
11
+ await database_1.InsertBuilder.create()
12
+ .into('actions_variable')
13
+ .values({
14
+ id: providers.uuid(),
15
+ name: this.name,
16
+ value: this.value,
17
+ })
18
+ .onConflict(database_1.ConflictActionType.update, ['name'], {
19
+ value: this.value,
20
+ updated_at: new database_1.Literal('NOW()'),
21
+ })
22
+ .execute(db);
23
+ }
24
+ }
25
+ exports.SetVariableCommand = SetVariableCommand;
26
+ //# sourceMappingURL=SetVariableCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetVariableCommand.js","sourceRoot":"","sources":["../../../src/model/SetVariableCommand.ts"],"names":[],"mappings":";;;AACA,kDAAgF;AAEhF,MAAa,kBAAkB;IAE9B,YACkB,IAAY,EACZ,KAAa;QADb,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAQ;IAE/B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,EAAgB;QAC5C,MAAM,wBAAa,CAAC,MAAM,EAAE;aAC1B,IAAI,CAAC,kBAAkB,CAAC;aACxB,MAAM,CAAC;YACP,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;aACD,UAAU,CAAC,6BAAkB,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE;YAChD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,kBAAO,CAAC,OAAO,CAAC;SAChC,CAAC;aACD,OAAO,CAAC,EAAE,CAAC,CAAA;IACd,CAAC;CACD;AAtBD,gDAsBC"}
@@ -0,0 +1,8 @@
1
+ import { DatabaseContext } from '@contember/engine-system-api';
2
+ import { SetVariablesArgs } from '../graphql/schema';
3
+ export declare type VariablesMap = Record<string, string>;
4
+ export declare class VariablesManager {
5
+ fetchVariables(db: DatabaseContext): Promise<VariablesMap>;
6
+ setVariables(db: DatabaseContext, args: SetVariablesArgs): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=VariablesManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariablesManager.d.ts","sourceRoot":"","sources":["../../../src/model/VariablesManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAIpD,oBAAY,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEjD,qBAAa,gBAAgB;IACf,cAAc,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IAI1D,YAAY,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB;CAmCrE"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VariablesManager = void 0;
4
+ const VariablesQuery_1 = require("./VariablesQuery");
5
+ const database_1 = require("@contember/database");
6
+ const SetVariableCommand_1 = require("./SetVariableCommand");
7
+ class VariablesManager {
8
+ async fetchVariables(db) {
9
+ return Object.fromEntries((await db.queryHandler.fetch(new VariablesQuery_1.VariablesQuery())).map(it => [it.name, it.value]));
10
+ }
11
+ async setVariables(db, args) {
12
+ return await db.transaction(async (db) => {
13
+ var _a;
14
+ const current = await this.fetchVariables(db);
15
+ const mode = (_a = args.mode) !== null && _a !== void 0 ? _a : 'MERGE';
16
+ const inputVariables = Object.fromEntries(args.variables.map(it => [it.name, it.value]));
17
+ let newVariables = {};
18
+ switch (mode) {
19
+ case 'APPEND_ONLY_MISSING':
20
+ newVariables = { ...inputVariables, ...current };
21
+ break;
22
+ case 'MERGE':
23
+ newVariables = { ...current, ...inputVariables };
24
+ break;
25
+ case 'SET':
26
+ newVariables = inputVariables;
27
+ break;
28
+ }
29
+ const toDelete = Object.keys(current).filter(it => !(it in newVariables));
30
+ if (toDelete.length > 0) {
31
+ await database_1.DeleteBuilder.create()
32
+ .from('actions_variable')
33
+ .where(it => it.in('name', toDelete))
34
+ .execute(db.client);
35
+ }
36
+ for (const [name, value] of Object.entries(newVariables)) {
37
+ if (value === current[name]) {
38
+ continue;
39
+ }
40
+ await db.commandBus.execute(new SetVariableCommand_1.SetVariableCommand(name, value));
41
+ }
42
+ });
43
+ }
44
+ }
45
+ exports.VariablesManager = VariablesManager;
46
+ //# sourceMappingURL=VariablesManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariablesManager.js","sourceRoot":"","sources":["../../../src/model/VariablesManager.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AAEjD,kDAAmD;AACnD,6DAAyD;AAIzD,MAAa,gBAAgB;IACrB,KAAK,CAAC,cAAc,CAAC,EAAmB;QAC9C,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,+BAAc,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9G,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,EAAmB,EAAE,IAAsB;QACpE,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;;YACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;YAC7C,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,mCAAI,OAAO,CAAA;YACjC,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAExF,IAAI,YAAY,GAAiB,EAAE,CAAA;YACnC,QAAQ,IAAI,EAAE;gBACb,KAAK,qBAAqB;oBACzB,YAAY,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,EAAE,CAAA;oBAChD,MAAK;gBACN,KAAK,OAAO;oBACX,YAAY,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,cAAc,EAAE,CAAA;oBAChD,MAAK;gBACN,KAAK,KAAK;oBACT,YAAY,GAAG,cAAc,CAAA;oBAC7B,MAAK;aACN;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,YAAY,CAAC,CAAC,CAAA;YACzE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,MAAM,wBAAa,CAAC,MAAM,EAAE;qBAC1B,IAAI,CAAC,kBAAkB,CAAC;qBACxB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;qBACpC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;aACpB;YAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBACzD,IAAI,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC5B,SAAQ;iBACR;gBACD,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,uCAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;aAChE;QACF,CAAC,CAAC,CAAA;IACH,CAAC;CACD;AAxCD,4CAwCC"}
@@ -0,0 +1,12 @@
1
+ import { DatabaseQuery, DatabaseQueryable } from '@contember/database';
2
+ export declare class VariablesQuery extends DatabaseQuery<VariableRow[]> {
3
+ fetch(queryable: DatabaseQueryable): Promise<VariableRow[]>;
4
+ }
5
+ export declare type VariableRow = {
6
+ id: string;
7
+ name: string;
8
+ value: string;
9
+ created_at: Date;
10
+ updated_at: Date;
11
+ };
12
+ //# sourceMappingURL=VariablesQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariablesQuery.d.ts","sourceRoot":"","sources":["../../../src/model/VariablesQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAA;AAErF,qBAAa,cAAe,SAAQ,aAAa,CAAC,WAAW,EAAE,CAAC;IAClD,KAAK,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAKxE;AAED,oBAAY,WAAW,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,IAAI,CAAA;IAChB,UAAU,EAAE,IAAI,CAAA;CAChB,CAAA"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VariablesQuery = void 0;
4
+ const database_1 = require("@contember/database");
5
+ class VariablesQuery extends database_1.DatabaseQuery {
6
+ async fetch(queryable) {
7
+ return await database_1.SelectBuilder.create()
8
+ .from('actions_variable')
9
+ .getResult(queryable.db);
10
+ }
11
+ }
12
+ exports.VariablesQuery = VariablesQuery;
13
+ //# sourceMappingURL=VariablesQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariablesQuery.js","sourceRoot":"","sources":["../../../src/model/VariablesQuery.ts"],"names":[],"mappings":";;;AAAA,kDAAqF;AAErF,MAAa,cAAe,SAAQ,wBAA4B;IACxD,KAAK,CAAC,KAAK,CAAC,SAA4B;QAC9C,OAAO,MAAM,wBAAa,CAAC,MAAM,EAAe;aAC9C,IAAI,CAAC,kBAAkB,CAAC;aACxB,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;CACD;AAND,wCAMC"}
@@ -0,0 +1,16 @@
1
+ export declare type EventRow = {
2
+ id: string;
3
+ transaction_id: string;
4
+ created_at: Date;
5
+ resolved_at: Date | null;
6
+ visible_at: Date;
7
+ num_retries: number;
8
+ state: 'created' | 'retrying' | 'processing' | 'succeed' | 'failed' | 'stopped';
9
+ last_state_change: Date;
10
+ stage_id: number;
11
+ schema_id: string;
12
+ target: string;
13
+ payload: any;
14
+ log: any[];
15
+ };
16
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/model/types.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,IAAI,CAAA;IAChB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,IAAI,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC/E,iBAAiB,EAAE,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,GAAG,CAAA;IACZ,GAAG,EAAE,GAAG,EAAE,CAAA;CACV,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/model/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,62 @@
1
+ import { Input, JSONObject } from '@contember/schema';
2
+ export declare type UpdateEvent = {
3
+ operation: 'update';
4
+ entity: string;
5
+ id: Input.PrimaryValue;
6
+ values: JSONObject;
7
+ old?: JSONObject;
8
+ selection?: any;
9
+ path?: string[];
10
+ };
11
+ export declare type CreateEvent = {
12
+ operation: 'create';
13
+ entity: string;
14
+ id: Input.PrimaryValue;
15
+ values: JSONObject;
16
+ selection?: any;
17
+ path?: string[];
18
+ };
19
+ export declare type DeleteEvent = {
20
+ operation: 'delete';
21
+ entity: string;
22
+ id: Input.PrimaryValue;
23
+ selection?: any;
24
+ path?: string[];
25
+ };
26
+ export declare type JunctionConnectEvent = {
27
+ operation: 'junction_connect';
28
+ entity: string;
29
+ id: Input.PrimaryValue;
30
+ relation: string;
31
+ inverseId: Input.PrimaryValue;
32
+ selection?: any;
33
+ path?: string[];
34
+ };
35
+ export declare type JunctionDisconnectEvent = {
36
+ operation: 'junction_disconnect';
37
+ entity: string;
38
+ id: Input.PrimaryValue;
39
+ relation: string;
40
+ inverseId: Input.PrimaryValue;
41
+ selection?: any;
42
+ path?: string[];
43
+ };
44
+ export declare type WatchEventPayload = {
45
+ operation: 'watch';
46
+ trigger: string;
47
+ entity: string;
48
+ id: Input.PrimaryValue;
49
+ events: BaseEventPayload[];
50
+ selection?: any;
51
+ };
52
+ export declare type BaseEventPayload = CreateEvent | UpdateEvent | DeleteEvent | JunctionConnectEvent | JunctionDisconnectEvent;
53
+ export declare type BasicEventPayload = BaseEventPayload & {
54
+ trigger: string;
55
+ };
56
+ export declare type AnyEventPayload = BasicEventPayload | WatchEventPayload;
57
+ export interface TriggerPayload {
58
+ transactionId: string;
59
+ createdAt: string;
60
+ event: AnyEventPayload;
61
+ }
62
+ //# sourceMappingURL=Payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../../src/triggers/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAa,MAAM,mBAAmB,CAAA;AAEhE,oBAAY,WAAW,GAAG;IACzB,SAAS,EAAE,QAAQ,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,KAAK,CAAC,YAAY,CAAA;IACtB,MAAM,EAAE,UAAU,CAAA;IAClB,GAAG,CAAC,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CACf,CAAA;AAED,oBAAY,WAAW,GAAG;IACzB,SAAS,EAAE,QAAQ,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,KAAK,CAAC,YAAY,CAAA;IACtB,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CACf,CAAA;AAED,oBAAY,WAAW,GAAG;IACzB,SAAS,EAAE,QAAQ,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,KAAK,CAAC,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CACf,CAAA;AAED,oBAAY,oBAAoB,GAAG;IAClC,SAAS,EAAE,kBAAkB,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,KAAK,CAAC,YAAY,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,KAAK,CAAC,YAAY,CAAA;IAC7B,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CACf,CAAA;AAED,oBAAY,uBAAuB,GAAG;IACrC,SAAS,EAAE,qBAAqB,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,KAAK,CAAC,YAAY,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,KAAK,CAAC,YAAY,CAAA;IAC7B,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CACf,CAAA;AAED,oBAAY,iBAAiB,GAAG;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,KAAK,CAAC,YAAY,CAAA;IACtB,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,SAAS,CAAC,EAAE,GAAG,CAAA;CACf,CAAA;AAED,oBAAY,gBAAgB,GACzB,WAAW,GACX,WAAW,GACX,WAAW,GACX,oBAAoB,GACpB,uBAAuB,CAAA;AAE1B,oBAAY,iBAAiB,GAC1B,gBAAgB,GAChB;IACD,OAAO,EAAE,MAAM,CAAA;CACf,CAAA;AAEF,oBAAY,eAAe,GACxB,iBAAiB,GACjB,iBAAiB,CAAA;AAEpB,MAAM,WAAW,cAAc;IAG9B,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,eAAe,CAAA;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payload.js","sourceRoot":"","sources":["../../../src/triggers/Payload.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { AfterInsertEvent, AfterJunctionUpdateEvent, AfterUpdateEvent, BeforeDeleteEvent, BeforeUpdateEvent, EventManager } from '@contember/engine-content-api';
2
+ import { TriggerListenersStore } from './TriggerListenersStore';
3
+ import { TriggerPayloadManager } from './TriggerPayloadManager';
4
+ import { TriggerIndirectChangesFetcher } from './TriggerIndirectChangesFetcher';
5
+ export declare type EventCause = BeforeUpdateEvent | AfterUpdateEvent | BeforeDeleteEvent | AfterInsertEvent | AfterJunctionUpdateEvent;
6
+ export declare class TriggerHandler {
7
+ private readonly payloadManager;
8
+ private readonly listenersStore;
9
+ private readonly changesFetcher;
10
+ constructor(payloadManager: TriggerPayloadManager, listenersStore: TriggerListenersStore, changesFetcher: TriggerIndirectChangesFetcher);
11
+ attach(evm: EventManager): void;
12
+ private directDeleteHandler;
13
+ private directUpdateHandler;
14
+ private directCreateHandler;
15
+ /**
16
+ * Collect affected triggers after entity was created or before it was deleted.
17
+ * todo: after insert, it should probably check only owning relations, because other relations are connected later, so it would be always empty
18
+ */
19
+ private indirectChangesEntityHandler;
20
+ private indirectChangesRelationHandler;
21
+ private indirectChangesUpdatesHandler;
22
+ private indirectChangesUpdatesHandlerInner;
23
+ private junctionHandler;
24
+ private collectDeepChanges;
25
+ }
26
+ //# sourceMappingURL=TriggerHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerHandler.d.ts","sourceRoot":"","sources":["../../../src/triggers/TriggerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAsC,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAE/E,oBAAY,UAAU,GACnB,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,wBAAwB,CAAA;AAE3B,qBAAa,cAAc;IAEzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAFd,cAAc,EAAE,qBAAqB,EACrC,cAAc,EAAE,qBAAqB,EACrC,cAAc,EAAE,6BAA6B;IAI/D,MAAM,CAAC,GAAG,EAAE,YAAY;YA4BV,mBAAmB;YAenB,mBAAmB;YAcnB,mBAAmB;IAajC;;;OAGG;YACW,4BAA4B;YAS5B,8BAA8B;YAI9B,6BAA6B;YAG7B,kCAAkC;YAYlC,eAAe;YAef,kBAAkB;CAehC"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TriggerHandler = void 0;
4
+ class TriggerHandler {
5
+ constructor(payloadManager, listenersStore, changesFetcher) {
6
+ this.payloadManager = payloadManager;
7
+ this.listenersStore = listenersStore;
8
+ this.changesFetcher = changesFetcher;
9
+ }
10
+ attach(evm) {
11
+ evm.listen('BeforeDeleteEvent', async (event) => {
12
+ await this.directDeleteHandler(event);
13
+ await this.indirectChangesEntityHandler(event);
14
+ });
15
+ evm.listen('AfterInsertEvent', async (event) => {
16
+ await this.indirectChangesEntityHandler(event);
17
+ await this.directCreateHandler(event);
18
+ });
19
+ evm.listen('BeforeUpdateEvent', async (event) => {
20
+ await this.indirectChangesRelationHandler(event);
21
+ });
22
+ evm.listen('AfterUpdateEvent', async (event) => {
23
+ if (event.hasChanges) {
24
+ await this.indirectChangesUpdatesHandler(event);
25
+ await this.directUpdateHandler(event);
26
+ }
27
+ });
28
+ evm.listen('AfterJunctionUpdateEvent', async (event) => {
29
+ if (event.hasChanges) {
30
+ await this.junctionHandler(event);
31
+ }
32
+ });
33
+ evm.listen('BeforeCommitEvent', async (event) => {
34
+ await this.payloadManager.persist();
35
+ });
36
+ }
37
+ async directDeleteHandler(event) {
38
+ const deleteListeners = this.listenersStore.getDeleteListener(event.entity.name);
39
+ if (!deleteListeners) {
40
+ return;
41
+ }
42
+ await Promise.all(deleteListeners.map(listener => {
43
+ return this.payloadManager.add({
44
+ listener,
45
+ entity: event.entity,
46
+ primary: event.id,
47
+ cause: event,
48
+ });
49
+ }));
50
+ }
51
+ async directUpdateHandler(event) {
52
+ const updateListeners = this.listenersStore.getUpdateListeners(event.entity.name);
53
+ updateListeners.map(listener => {
54
+ if (event.data.some(it => listener.fields.has(it.fieldName))) {
55
+ this.payloadManager.add({
56
+ listener,
57
+ entity: event.entity,
58
+ primary: event.id,
59
+ cause: event,
60
+ });
61
+ }
62
+ });
63
+ }
64
+ async directCreateHandler(event) {
65
+ const createListeners = this.listenersStore.getCreateListener(event.entity.name);
66
+ createListeners.map(listener => {
67
+ this.payloadManager.add({
68
+ listener,
69
+ entity: event.entity,
70
+ primary: event.id,
71
+ cause: event,
72
+ });
73
+ });
74
+ }
75
+ /**
76
+ * Collect affected triggers after entity was created or before it was deleted.
77
+ * todo: after insert, it should probably check only owning relations, because other relations are connected later, so it would be always empty
78
+ */
79
+ async indirectChangesEntityHandler(event) {
80
+ //
81
+ const indirectEntityListeners = this.listenersStore.getIndirectListeners(event.entity.name);
82
+ const promises = indirectEntityListeners.map(listener => this.collectDeepChanges(event, listener, {
83
+ [event.entity.primary]: { eq: event.id },
84
+ }));
85
+ await Promise.all(promises);
86
+ }
87
+ async indirectChangesRelationHandler(event) {
88
+ await this.indirectChangesUpdatesHandlerInner(event, 'relations');
89
+ }
90
+ async indirectChangesUpdatesHandler(event) {
91
+ await this.indirectChangesUpdatesHandlerInner(event, 'fields');
92
+ }
93
+ async indirectChangesUpdatesHandlerInner(event, type) {
94
+ const indirectEntityListeners = this.listenersStore.getIndirectListeners(event.entity.name);
95
+ const promises = indirectEntityListeners.map(listener => {
96
+ if (event.data.some(val => listener[type].has(val.fieldName))) {
97
+ return this.collectDeepChanges(event, listener, {
98
+ [event.entity.primary]: { eq: event.id },
99
+ });
100
+ }
101
+ });
102
+ await Promise.all(promises);
103
+ }
104
+ async junctionHandler(event) {
105
+ const listeners = this.listenersStore.getJunctionListeners(event.owningEntity.name, event.owningRelation.name);
106
+ const promises = listeners.map(listener => {
107
+ const primary = listener.context.type === 'owning'
108
+ ? event.owningId
109
+ : event.inverseId;
110
+ const entity = listener.context.entity;
111
+ return this.collectDeepChanges(event, listener, {
112
+ [entity.primary]: { eq: primary },
113
+ });
114
+ });
115
+ await Promise.all(promises);
116
+ }
117
+ async collectDeepChanges(cause, listener, where) {
118
+ const result = await this.changesFetcher.fetch(listener, where);
119
+ for (const row of result) {
120
+ this.payloadManager.add({
121
+ listener,
122
+ entity: listener.rootEntity,
123
+ primary: row,
124
+ cause,
125
+ });
126
+ }
127
+ }
128
+ }
129
+ exports.TriggerHandler = TriggerHandler;
130
+ //# sourceMappingURL=TriggerHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerHandler.js","sourceRoot":"","sources":["../../../src/triggers/TriggerHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Mapper, PathFactory, WhereBuilder } from '@contember/engine-content-api';
2
+ import { IndirectListener, JunctionListener } from './TriggerListenersStore';
3
+ import { Input } from '@contember/schema';
4
+ export declare class TriggerIndirectChangesFetcher {
5
+ private readonly mapper;
6
+ private readonly whereBuilder;
7
+ private readonly pathFactory;
8
+ constructor(mapper: Mapper, whereBuilder: WhereBuilder, pathFactory: PathFactory);
9
+ fetch(listener: IndirectListener | JunctionListener, where: Input.Where): Promise<Input.PrimaryValue[]>;
10
+ }
11
+ //# sourceMappingURL=TriggerIndirectChangesFetcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerIndirectChangesFetcher.d.ts","sourceRoot":"","sources":["../../../src/triggers/TriggerIndirectChangesFetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE5E,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,qBAAa,6BAA6B;IAExC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAFX,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW;IAI7B,KAAK,CACjB,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,EAC7C,KAAK,EAAE,KAAK,CAAC,KAAK,GAChB,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;CAahC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TriggerIndirectChangesFetcher = void 0;
4
+ const database_1 = require("@contember/database");
5
+ class TriggerIndirectChangesFetcher {
6
+ constructor(mapper, whereBuilder, pathFactory) {
7
+ this.mapper = mapper;
8
+ this.whereBuilder = whereBuilder;
9
+ this.pathFactory = pathFactory;
10
+ }
11
+ async fetch(listener, where) {
12
+ for (const key of listener.path.reverse()) {
13
+ where = { [key]: where };
14
+ }
15
+ const qb = database_1.SelectBuilder.create()
16
+ .from(listener.rootEntity.tableName, 'root_')
17
+ .select(['root_', listener.rootEntity.primaryColumn], 'id');
18
+ const path = this.pathFactory.create([]);
19
+ const qbWithWhere = this.whereBuilder.build(qb, listener.rootEntity, path, where);
20
+ return (await qbWithWhere.getResult(this.mapper.db)).map(it => it.id);
21
+ }
22
+ }
23
+ exports.TriggerIndirectChangesFetcher = TriggerIndirectChangesFetcher;
24
+ //# sourceMappingURL=TriggerIndirectChangesFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerIndirectChangesFetcher.js","sourceRoot":"","sources":["../../../src/triggers/TriggerIndirectChangesFetcher.ts"],"names":[],"mappings":";;;AAEA,kDAAmD;AAGnD,MAAa,6BAA6B;IACzC,YACkB,MAAc,EACd,YAA0B,EAC1B,WAAwB;QAFxB,WAAM,GAAN,MAAM,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;IAE1C,CAAC;IAEM,KAAK,CAAC,KAAK,CACjB,QAA6C,EAC7C,KAAkB;QAElB,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YAC1C,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAA;SACxB;QACD,MAAM,EAAE,GAAG,wBAAa,CAAC,MAAM,EAA8B;aAC3D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC;aAC5C,MAAM,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAEjF,OAAO,CAAC,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACtE,CAAC;CAED;AAxBD,sEAwBC"}
@@ -0,0 +1,9 @@
1
+ import { CreateListener, DeleteListener, IndirectListener, JunctionListener, UpdateListener } from './TriggerListenersStore';
2
+ export interface TriggerListeners {
3
+ readonly deleteListeners: Map<string, DeleteListener[]>;
4
+ readonly createListeners: Map<string, CreateListener[]>;
5
+ readonly updateListeners: Map<string, UpdateListener[]>;
6
+ readonly indirectListeners: Map<string, IndirectListener[]>;
7
+ readonly junctionListeners: Map<string, Map<string, JunctionListener[]>>;
8
+ }
9
+ //# sourceMappingURL=TriggerListeners.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerListeners.d.ts","sourceRoot":"","sources":["../../../src/triggers/TriggerListeners.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,MAAM,yBAAyB,CAAA;AAEhC,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;IACvD,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;IACvD,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;IACvD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAC3D,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAA;CACxE"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=TriggerListeners.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerListeners.js","sourceRoot":"","sources":["../../../src/triggers/TriggerListeners.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { Actions, Model } from '@contember/schema';
2
+ import { TriggerListenersStore } from './TriggerListenersStore';
3
+ export declare class TriggerListenerBuilder {
4
+ private readonly model;
5
+ private readonly data;
6
+ constructor(model: Model.Schema);
7
+ add(trigger: Actions.AnyTrigger): void;
8
+ private processBasicTrigger;
9
+ private processIndirectListeners;
10
+ private processIndirectListenersNode;
11
+ createStore(): TriggerListenersStore;
12
+ private addListener;
13
+ private addJunctionListener;
14
+ }
15
+ //# sourceMappingURL=TriggerListenersBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerListenersBuilder.d.ts","sourceRoot":"","sources":["../../../src/triggers/TriggerListenersBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAoB,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAKjF,qBAAa,sBAAsB;IAWjC,OAAO,CAAC,QAAQ,CAAC,KAAK;IATvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAMpB;gBAGiB,KAAK,EAAE,KAAK,CAAC,MAAM;IAI9B,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU;IAYtC,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,4BAA4B;IA2F7B,WAAW,IAAI,qBAAqB;IAK3C,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,mBAAmB;CAK3B"}