@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,449 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const schema_definition_1 = require("@contember/schema-definition");
10
+ const vitest_1 = require("vitest");
11
+ const engine_api_tester_1 = require("@contember/engine-api-tester");
12
+ const gql_1 = require("../../src/gql");
13
+ const migrations_1 = require("../../../src/migrations");
14
+ const utils_1 = require("./utils");
15
+ var ActionsModel;
16
+ (function (ActionsModel) {
17
+ let Article = class Article {
18
+ constructor() {
19
+ this.title = schema_definition_1.SchemaDefinition.stringColumn().unique();
20
+ this.category = schema_definition_1.SchemaDefinition.manyHasOne(Category);
21
+ }
22
+ };
23
+ Article = __decorate([
24
+ schema_definition_1.ActionsDefinition.watch({
25
+ name: 'article_watch',
26
+ watch: `
27
+ title
28
+ category {
29
+ name
30
+ }
31
+ `,
32
+ webhook: 'http://foobar',
33
+ selection: `
34
+ title
35
+ category {
36
+ name
37
+ }
38
+ `,
39
+ })
40
+ ], Article);
41
+ ActionsModel.Article = Article;
42
+ class Category {
43
+ constructor() {
44
+ this.name = schema_definition_1.SchemaDefinition.stringColumn().unique();
45
+ }
46
+ }
47
+ ActionsModel.Category = Category;
48
+ })(ActionsModel || (ActionsModel = {}));
49
+ (0, vitest_1.test)('triggers: many has one watch - field update', async () => {
50
+ const schema = (0, schema_definition_1.createSchema)(ActionsModel);
51
+ await (0, engine_api_tester_1.executeDbTest)({
52
+ executionContainerFactoryFactory: utils_1.executionContainerFactoryFactory,
53
+ migrationGroups: { 'contember/actions': migrations_1.migrationsGroup },
54
+ schema: schema,
55
+ seed: [
56
+ {
57
+ query: (0, gql_1.gql) `
58
+ mutation {
59
+ createArticle(data: {title: "Hello world", category: {create: {name: "Tutorials"}}}) {
60
+ ok
61
+ }
62
+ }
63
+ `,
64
+ },
65
+ ],
66
+ query: (0, gql_1.gql) `
67
+ mutation {
68
+ updateCategory(by: {name: "Tutorials"}, data: {name: "Guides"}) {
69
+ ok
70
+ }
71
+ }
72
+ `,
73
+ return: {
74
+ updateCategory: {
75
+ ok: true,
76
+ },
77
+ },
78
+ expectSystemDatabase: {
79
+ actions_event: [{
80
+ payload: {
81
+ id: '123e4567-e89b-12d3-a456-000000000003',
82
+ entity: 'Article',
83
+ events: [{
84
+ id: '123e4567-e89b-12d3-a456-000000000003',
85
+ entity: 'Article',
86
+ values: {
87
+ id: '123e4567-e89b-12d3-a456-000000000003',
88
+ title: 'Hello world',
89
+ category: '123e4567-e89b-12d3-a456-000000000004',
90
+ },
91
+ operation: 'create',
92
+ }],
93
+ trigger: 'article_watch',
94
+ operation: 'watch',
95
+ selection: {
96
+ id: '123e4567-e89b-12d3-a456-000000000003',
97
+ title: 'Hello world',
98
+ category: { id: '123e4567-e89b-12d3-a456-000000000004', name: 'Tutorials' },
99
+ },
100
+ },
101
+ }, {
102
+ payload: {
103
+ id: '123e4567-e89b-12d3-a456-000000000003',
104
+ entity: 'Article',
105
+ events: [{
106
+ id: '123e4567-e89b-12d3-a456-000000000004',
107
+ old: { name: 'Tutorials' },
108
+ path: ['category'],
109
+ entity: 'Category',
110
+ values: { name: 'Guides' },
111
+ operation: 'update',
112
+ }],
113
+ trigger: 'article_watch',
114
+ operation: 'watch',
115
+ selection: {
116
+ id: '123e4567-e89b-12d3-a456-000000000003',
117
+ title: 'Hello world',
118
+ category: { id: '123e4567-e89b-12d3-a456-000000000004', name: 'Guides' },
119
+ },
120
+ },
121
+ }],
122
+ },
123
+ });
124
+ });
125
+ (0, vitest_1.test)('triggers: many has one watch - field update - noop', async () => {
126
+ const schema = (0, schema_definition_1.createSchema)(ActionsModel);
127
+ await (0, engine_api_tester_1.executeDbTest)({
128
+ executionContainerFactoryFactory: utils_1.executionContainerFactoryFactory,
129
+ migrationGroups: { 'contember/actions': migrations_1.migrationsGroup },
130
+ schema: schema,
131
+ seed: [
132
+ {
133
+ query: (0, gql_1.gql) `
134
+ mutation {
135
+ createArticle(data: {title: "Hello world", category: {create: {name: "Tutorials"}}}) {
136
+ ok
137
+ }
138
+ }
139
+ `,
140
+ },
141
+ ],
142
+ query: (0, gql_1.gql) `
143
+ mutation {
144
+ updateCategory(by: {name: "Tutorials"}, data: {name: "Tutorials"}) {
145
+ ok
146
+ }
147
+ }
148
+ `,
149
+ return: {
150
+ updateCategory: {
151
+ ok: true,
152
+ },
153
+ },
154
+ expectSystemDatabase: {
155
+ actions_event: [{
156
+ payload: {
157
+ id: '123e4567-e89b-12d3-a456-000000000003',
158
+ entity: 'Article',
159
+ events: [{
160
+ id: '123e4567-e89b-12d3-a456-000000000003',
161
+ entity: 'Article',
162
+ values: {
163
+ id: '123e4567-e89b-12d3-a456-000000000003',
164
+ title: 'Hello world',
165
+ category: '123e4567-e89b-12d3-a456-000000000004',
166
+ },
167
+ operation: 'create',
168
+ }],
169
+ trigger: 'article_watch',
170
+ operation: 'watch',
171
+ selection: {
172
+ id: '123e4567-e89b-12d3-a456-000000000003',
173
+ title: 'Hello world',
174
+ category: { id: '123e4567-e89b-12d3-a456-000000000004', name: 'Tutorials' },
175
+ },
176
+ },
177
+ }],
178
+ },
179
+ });
180
+ });
181
+ (0, vitest_1.test)('triggers: many has one watch - connect - noop', async () => {
182
+ const schema = (0, schema_definition_1.createSchema)(ActionsModel);
183
+ await (0, engine_api_tester_1.executeDbTest)({
184
+ executionContainerFactoryFactory: utils_1.executionContainerFactoryFactory,
185
+ migrationGroups: { 'contember/actions': migrations_1.migrationsGroup },
186
+ schema: schema,
187
+ seed: [
188
+ {
189
+ query: (0, gql_1.gql) `
190
+ mutation {
191
+ createArticle(data: {title: "Hello world"}) {
192
+ ok
193
+ }
194
+ createCategory(data: {name: "Tutorials"}) {
195
+ ok
196
+ }
197
+ }
198
+ `,
199
+ },
200
+ ],
201
+ query: (0, gql_1.gql) `
202
+ mutation {
203
+ updateArticle(by: {title: "Hello world"}, data: {category: {connect: {name: "Tutorials"}}}) {
204
+ ok
205
+ }
206
+ }
207
+ `,
208
+ return: {
209
+ updateArticle: {
210
+ ok: true,
211
+ },
212
+ },
213
+ expectSystemDatabase: {
214
+ actions_event: [{
215
+ payload: {
216
+ id: '123e4567-e89b-12d3-a456-000000000003',
217
+ entity: 'Article',
218
+ events: [{
219
+ id: '123e4567-e89b-12d3-a456-000000000003',
220
+ entity: 'Article',
221
+ values: {
222
+ id: '123e4567-e89b-12d3-a456-000000000003',
223
+ title: 'Hello world',
224
+ category: null,
225
+ },
226
+ operation: 'create',
227
+ }],
228
+ trigger: 'article_watch',
229
+ operation: 'watch',
230
+ selection: {
231
+ id: '123e4567-e89b-12d3-a456-000000000003',
232
+ title: 'Hello world',
233
+ category: null,
234
+ },
235
+ },
236
+ }, {
237
+ payload: {
238
+ id: '123e4567-e89b-12d3-a456-000000000003',
239
+ entity: 'Article',
240
+ events: [{
241
+ id: '123e4567-e89b-12d3-a456-000000000003',
242
+ old: { category: null },
243
+ entity: 'Article',
244
+ values: { category: '123e4567-e89b-12d3-a456-000000000006' },
245
+ operation: 'update',
246
+ }],
247
+ trigger: 'article_watch',
248
+ operation: 'watch',
249
+ selection: {
250
+ id: '123e4567-e89b-12d3-a456-000000000003',
251
+ title: 'Hello world',
252
+ category: { id: '123e4567-e89b-12d3-a456-000000000006', name: 'Tutorials' },
253
+ },
254
+ },
255
+ }],
256
+ },
257
+ });
258
+ });
259
+ (0, vitest_1.test)('triggers: many has one watch - connect - noop', async () => {
260
+ const schema = (0, schema_definition_1.createSchema)(ActionsModel);
261
+ await (0, engine_api_tester_1.executeDbTest)({
262
+ executionContainerFactoryFactory: utils_1.executionContainerFactoryFactory,
263
+ migrationGroups: { 'contember/actions': migrations_1.migrationsGroup },
264
+ schema: schema,
265
+ seed: [
266
+ {
267
+ query: (0, gql_1.gql) `
268
+ mutation {
269
+ createArticle(data: {title: "Hello world", category: {create: {name: "Tutorials"}}}) {
270
+ ok
271
+ }
272
+ createCategory(data: {name: "Tutorials"}) {
273
+ ok
274
+ }
275
+ }
276
+ `,
277
+ },
278
+ ],
279
+ query: (0, gql_1.gql) `
280
+ mutation {
281
+ updateArticle(by: {title: "Hello world"}, data: {category: {connect: {name: "Tutorials"}}}) {
282
+ ok
283
+ }
284
+ }
285
+ `,
286
+ return: {
287
+ updateArticle: {
288
+ ok: true,
289
+ },
290
+ },
291
+ expectSystemDatabase: {
292
+ actions_event: [{
293
+ payload: {
294
+ id: '123e4567-e89b-12d3-a456-000000000003',
295
+ entity: 'Article',
296
+ events: [{
297
+ id: '123e4567-e89b-12d3-a456-000000000003',
298
+ entity: 'Article',
299
+ values: {
300
+ id: '123e4567-e89b-12d3-a456-000000000003',
301
+ title: 'Hello world',
302
+ category: '123e4567-e89b-12d3-a456-000000000004',
303
+ },
304
+ operation: 'create',
305
+ }],
306
+ trigger: 'article_watch',
307
+ operation: 'watch',
308
+ selection: {
309
+ id: '123e4567-e89b-12d3-a456-000000000003',
310
+ title: 'Hello world',
311
+ category: { id: '123e4567-e89b-12d3-a456-000000000004', name: 'Tutorials' },
312
+ },
313
+ },
314
+ }],
315
+ },
316
+ });
317
+ });
318
+ (0, vitest_1.test)('triggers: many has one watch - disconnect', async () => {
319
+ const schema = (0, schema_definition_1.createSchema)(ActionsModel);
320
+ await (0, engine_api_tester_1.executeDbTest)({
321
+ executionContainerFactoryFactory: utils_1.executionContainerFactoryFactory,
322
+ migrationGroups: { 'contember/actions': migrations_1.migrationsGroup },
323
+ schema: schema,
324
+ seed: [
325
+ {
326
+ query: (0, gql_1.gql) `
327
+ mutation {
328
+ createArticle(data: {title: "Hello world", category: {create: {name: "Tutorials"}}}) {
329
+ ok
330
+ }
331
+ }
332
+ `,
333
+ },
334
+ ],
335
+ query: (0, gql_1.gql) `
336
+ mutation {
337
+ updateArticle(by: {title: "Hello world"}, data: {category: {disconnect: true}}) {
338
+ ok
339
+ }
340
+ }
341
+ `,
342
+ return: {
343
+ updateArticle: {
344
+ ok: true,
345
+ },
346
+ },
347
+ expectSystemDatabase: {
348
+ actions_event: [{
349
+ payload: {
350
+ id: '123e4567-e89b-12d3-a456-000000000003',
351
+ entity: 'Article',
352
+ events: [{
353
+ id: '123e4567-e89b-12d3-a456-000000000003',
354
+ entity: 'Article',
355
+ values: {
356
+ id: '123e4567-e89b-12d3-a456-000000000003',
357
+ title: 'Hello world',
358
+ category: '123e4567-e89b-12d3-a456-000000000004',
359
+ },
360
+ operation: 'create',
361
+ }],
362
+ trigger: 'article_watch',
363
+ operation: 'watch',
364
+ selection: {
365
+ id: '123e4567-e89b-12d3-a456-000000000003',
366
+ title: 'Hello world',
367
+ category: { id: '123e4567-e89b-12d3-a456-000000000004', name: 'Tutorials' },
368
+ },
369
+ },
370
+ }, {
371
+ payload: {
372
+ id: '123e4567-e89b-12d3-a456-000000000003',
373
+ entity: 'Article',
374
+ events: [{
375
+ id: '123e4567-e89b-12d3-a456-000000000003',
376
+ old: { category: '123e4567-e89b-12d3-a456-000000000004' },
377
+ entity: 'Article',
378
+ values: { category: null },
379
+ operation: 'update',
380
+ }],
381
+ trigger: 'article_watch',
382
+ operation: 'watch',
383
+ selection: {
384
+ id: '123e4567-e89b-12d3-a456-000000000003',
385
+ title: 'Hello world',
386
+ category: null,
387
+ },
388
+ },
389
+ }],
390
+ },
391
+ });
392
+ });
393
+ (0, vitest_1.test)('triggers: many has one watch - disconnect - noop', async () => {
394
+ const schema = (0, schema_definition_1.createSchema)(ActionsModel);
395
+ await (0, engine_api_tester_1.executeDbTest)({
396
+ executionContainerFactoryFactory: utils_1.executionContainerFactoryFactory,
397
+ migrationGroups: { 'contember/actions': migrations_1.migrationsGroup },
398
+ schema: schema,
399
+ seed: [
400
+ {
401
+ query: (0, gql_1.gql) `
402
+ mutation {
403
+ createArticle(data: {title: "Hello world"}) {
404
+ ok
405
+ }
406
+ }
407
+ `,
408
+ },
409
+ ],
410
+ query: (0, gql_1.gql) `
411
+ mutation {
412
+ updateArticle(by: {title: "Hello world"}, data: {category: {disconnect: true}}) {
413
+ ok
414
+ }
415
+ }
416
+ `,
417
+ return: {
418
+ updateArticle: {
419
+ ok: true,
420
+ },
421
+ },
422
+ expectSystemDatabase: {
423
+ actions_event: [{
424
+ payload: {
425
+ id: '123e4567-e89b-12d3-a456-000000000003',
426
+ entity: 'Article',
427
+ events: [{
428
+ id: '123e4567-e89b-12d3-a456-000000000003',
429
+ entity: 'Article',
430
+ values: {
431
+ id: '123e4567-e89b-12d3-a456-000000000003',
432
+ title: 'Hello world',
433
+ category: null,
434
+ },
435
+ operation: 'create',
436
+ }],
437
+ trigger: 'article_watch',
438
+ operation: 'watch',
439
+ selection: {
440
+ id: '123e4567-e89b-12d3-a456-000000000003',
441
+ title: 'Hello world',
442
+ category: null,
443
+ },
444
+ },
445
+ }],
446
+ },
447
+ });
448
+ });
449
+ //# sourceMappingURL=triggers.manyHasOneWatch.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggers.manyHasOneWatch.test.js","sourceRoot":"","sources":["../../../../tests/cases/integration/triggers.manyHasOneWatch.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=triggers.rootWatch.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggers.rootWatch.test.d.ts","sourceRoot":"","sources":["../../../../tests/cases/integration/triggers.rootWatch.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const schema_definition_1 = require("@contember/schema-definition");
10
+ const vitest_1 = require("vitest");
11
+ const engine_api_tester_1 = require("@contember/engine-api-tester");
12
+ const gql_1 = require("../../src/gql");
13
+ const migrations_1 = require("../../../src/migrations");
14
+ const utils_1 = require("./utils");
15
+ var ActionsModel;
16
+ (function (ActionsModel) {
17
+ let Article = class Article {
18
+ constructor() {
19
+ this.title = schema_definition_1.SchemaDefinition.stringColumn().unique();
20
+ }
21
+ };
22
+ Article = __decorate([
23
+ schema_definition_1.ActionsDefinition.watch({
24
+ name: 'article_watch',
25
+ watch: `
26
+ title
27
+ `,
28
+ webhook: 'http://foobar',
29
+ selection: `
30
+ title
31
+ `,
32
+ })
33
+ ], Article);
34
+ ActionsModel.Article = Article;
35
+ })(ActionsModel || (ActionsModel = {}));
36
+ (0, vitest_1.test)('triggers: root watch', async () => {
37
+ const schema = (0, schema_definition_1.createSchema)(ActionsModel);
38
+ await (0, engine_api_tester_1.executeDbTest)({
39
+ executionContainerFactoryFactory: utils_1.executionContainerFactoryFactory,
40
+ migrationGroups: { 'contember/actions': migrations_1.migrationsGroup },
41
+ schema: schema,
42
+ seed: [
43
+ {
44
+ query: (0, gql_1.gql) `
45
+ mutation {
46
+ createArticle(data: {title: "Hello world"}) {
47
+ ok
48
+ }
49
+ }
50
+ `,
51
+ },
52
+ ],
53
+ query: (0, gql_1.gql) `
54
+ mutation {
55
+ updateArticle(by: {title: "Hello world"}, data: {title: "Hi!"}) {
56
+ ok
57
+ }
58
+ }
59
+ `,
60
+ return: {
61
+ updateArticle: {
62
+ ok: true,
63
+ },
64
+ },
65
+ expectSystemDatabase: {
66
+ actions_event: [{
67
+ payload: {
68
+ id: '123e4567-e89b-12d3-a456-000000000003',
69
+ entity: 'Article',
70
+ events: [{
71
+ id: '123e4567-e89b-12d3-a456-000000000003',
72
+ entity: 'Article',
73
+ values: { id: '123e4567-e89b-12d3-a456-000000000003', title: 'Hello world' },
74
+ operation: 'create',
75
+ }],
76
+ trigger: 'article_watch',
77
+ operation: 'watch',
78
+ selection: { id: '123e4567-e89b-12d3-a456-000000000003', title: 'Hello world' },
79
+ },
80
+ log: [],
81
+ }, {
82
+ payload: {
83
+ id: '123e4567-e89b-12d3-a456-000000000003',
84
+ entity: 'Article',
85
+ events: [{
86
+ id: '123e4567-e89b-12d3-a456-000000000003',
87
+ old: { title: 'Hello world' },
88
+ entity: 'Article',
89
+ values: { title: 'Hi!' },
90
+ operation: 'update',
91
+ }],
92
+ trigger: 'article_watch',
93
+ operation: 'watch',
94
+ selection: { id: '123e4567-e89b-12d3-a456-000000000003', title: 'Hi!' },
95
+ },
96
+ log: [],
97
+ }],
98
+ },
99
+ });
100
+ });
101
+ (0, vitest_1.test)('triggers: root watch - noop', async () => {
102
+ const schema = (0, schema_definition_1.createSchema)(ActionsModel);
103
+ await (0, engine_api_tester_1.executeDbTest)({
104
+ executionContainerFactoryFactory: utils_1.executionContainerFactoryFactory,
105
+ migrationGroups: { 'contember/actions': migrations_1.migrationsGroup },
106
+ schema: schema,
107
+ seed: [
108
+ {
109
+ query: (0, gql_1.gql) `
110
+ mutation {
111
+ createArticle(data: {title: "Hello world"}) {
112
+ ok
113
+ }
114
+ }
115
+ `,
116
+ },
117
+ ],
118
+ query: (0, gql_1.gql) `
119
+ mutation {
120
+ updateArticle(by: {title: "Hello world"}, data: {title: "Hello world"}) {
121
+ ok
122
+ }
123
+ }
124
+ `,
125
+ return: {
126
+ updateArticle: {
127
+ ok: true,
128
+ },
129
+ },
130
+ expectSystemDatabase: {
131
+ actions_event: [{
132
+ id: '123e4567-e89b-12d3-a456-000000000004',
133
+ transaction_id: '123e4567-e89b-12d3-a456-000000000002',
134
+ num_retries: 0,
135
+ state: 'created',
136
+ stage_id: '123e4567-e89b-12d3-a456-000000000001',
137
+ schema_id: 1,
138
+ target: 'article_watch_target',
139
+ trigger: 'article_watch',
140
+ priority: 0,
141
+ payload: {
142
+ id: '123e4567-e89b-12d3-a456-000000000003',
143
+ entity: 'Article',
144
+ events: [{
145
+ id: '123e4567-e89b-12d3-a456-000000000003',
146
+ entity: 'Article',
147
+ values: { id: '123e4567-e89b-12d3-a456-000000000003', title: 'Hello world' },
148
+ operation: 'create',
149
+ }],
150
+ trigger: 'article_watch',
151
+ operation: 'watch',
152
+ selection: { id: '123e4567-e89b-12d3-a456-000000000003', title: 'Hello world' },
153
+ },
154
+ log: [],
155
+ }],
156
+ },
157
+ });
158
+ });
159
+ //# sourceMappingURL=triggers.rootWatch.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggers.rootWatch.test.js","sourceRoot":"","sources":["../../../../tests/cases/integration/triggers.rootWatch.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ExecutionContainerFactory } from '@contember/engine-content-api';
2
+ import { Providers } from '@contember/schema-utils';
3
+ export declare const executionContainerFactoryFactory: (providers: Providers) => ExecutionContainerFactory;
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../tests/cases/integration/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,eAAO,MAAM,gCAAgC,cAAe,SAAS,8BAIpE,CAAA"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executionContainerFactoryFactory = void 0;
4
+ const src_1 = require("../../../src");
5
+ const engine_content_api_1 = require("@contember/engine-content-api");
6
+ const executionContainerFactoryFactory = (providers) => {
7
+ const factory = new engine_content_api_1.ExecutionContainerFactory(providers);
8
+ factory.hooks.push(new src_1.ActionsExecutionContainerHookFactory(new src_1.ListenerStoreProvider()).create());
9
+ return factory;
10
+ };
11
+ exports.executionContainerFactoryFactory = executionContainerFactoryFactory;
12
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../tests/cases/integration/utils.ts"],"names":[],"mappings":";;;AAAA,sCAA0F;AAC1F,sEAAyE;AAGlE,MAAM,gCAAgC,GAAG,CAAC,SAAoB,EAAE,EAAE;IACxE,MAAM,OAAO,GAAG,IAAI,8CAAyB,CAAC,SAAS,CAAC,CAAA;IACxD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,0CAAoC,CAAC,IAAI,2BAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IAClG,OAAO,OAAO,CAAA;AACf,CAAC,CAAA;AAJY,QAAA,gCAAgC,oCAI5C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.test.d.ts","sourceRoot":"","sources":["../../../../tests/cases/unit/generator.test.ts"],"names":[],"mappings":""}