@things-factory/integration-base 9.0.0-beta.27 → 9.0.0-beta.29

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 (407) hide show
  1. package/dist-server/controllers/index.d.ts +2 -0
  2. package/dist-server/controllers/index.js +6 -0
  3. package/dist-server/controllers/index.js.map +1 -0
  4. package/dist-server/controllers/publish-data.d.ts +6 -0
  5. package/dist-server/controllers/publish-data.js +22 -0
  6. package/dist-server/controllers/publish-data.js.map +1 -0
  7. package/dist-server/controllers/scenario-controller.d.ts +6 -0
  8. package/dist-server/controllers/scenario-controller.js +99 -0
  9. package/dist-server/controllers/scenario-controller.js.map +1 -0
  10. package/dist-server/engine/analyzer/analyze-integration.d.ts +5 -0
  11. package/dist-server/engine/analyzer/analyze-integration.js +96 -0
  12. package/dist-server/engine/analyzer/analyze-integration.js.map +1 -0
  13. package/dist-server/engine/connection-manager.d.ts +35 -0
  14. package/dist-server/engine/connection-manager.js +192 -0
  15. package/dist-server/engine/connection-manager.js.map +1 -0
  16. package/dist-server/engine/connector/echo-back-connector.d.ts +9 -0
  17. package/dist-server/engine/connector/echo-back-connector.js +39 -0
  18. package/dist-server/engine/connector/echo-back-connector.js.map +1 -0
  19. package/dist-server/engine/connector/echo-back-server.d.ts +8 -0
  20. package/dist-server/engine/connector/echo-back-server.js +58 -0
  21. package/dist-server/engine/connector/echo-back-server.js.map +1 -0
  22. package/dist-server/engine/connector/graphql-connector.d.ts +19 -0
  23. package/dist-server/engine/connector/graphql-connector.js +94 -0
  24. package/dist-server/engine/connector/graphql-connector.js.map +1 -0
  25. package/dist-server/engine/connector/headless-connector.d.ts +23 -0
  26. package/dist-server/engine/connector/headless-connector.js +357 -0
  27. package/dist-server/engine/connector/headless-connector.js.map +1 -0
  28. package/dist-server/engine/connector/http-connector.d.ts +25 -0
  29. package/dist-server/engine/connector/http-connector.js +52 -0
  30. package/dist-server/engine/connector/http-connector.js.map +1 -0
  31. package/dist-server/engine/connector/index.d.ts +13 -0
  32. package/dist-server/engine/connector/index.js +16 -0
  33. package/dist-server/engine/connector/index.js.map +1 -0
  34. package/dist-server/engine/connector/mqtt-connector.d.ts +14 -0
  35. package/dist-server/engine/connector/mqtt-connector.js +62 -0
  36. package/dist-server/engine/connector/mqtt-connector.js.map +1 -0
  37. package/dist-server/engine/connector/mssql-connector.d.ts +40 -0
  38. package/dist-server/engine/connector/mssql-connector.js +137 -0
  39. package/dist-server/engine/connector/mssql-connector.js.map +1 -0
  40. package/dist-server/engine/connector/mysql-connector.d.ts +13 -0
  41. package/dist-server/engine/connector/mysql-connector.js +80 -0
  42. package/dist-server/engine/connector/mysql-connector.js.map +1 -0
  43. package/dist-server/engine/connector/operato-connector.d.ts +27 -0
  44. package/dist-server/engine/connector/operato-connector.js +205 -0
  45. package/dist-server/engine/connector/operato-connector.js.map +1 -0
  46. package/dist-server/engine/connector/oracle-connector.d.ts +29 -0
  47. package/dist-server/engine/connector/oracle-connector.js +187 -0
  48. package/dist-server/engine/connector/oracle-connector.js.map +1 -0
  49. package/dist-server/engine/connector/postgresql-connector.d.ts +20 -0
  50. package/dist-server/engine/connector/postgresql-connector.js +136 -0
  51. package/dist-server/engine/connector/postgresql-connector.js.map +1 -0
  52. package/dist-server/engine/connector/proxy-connector.d.ts +15 -0
  53. package/dist-server/engine/connector/proxy-connector.js +44 -0
  54. package/dist-server/engine/connector/proxy-connector.js.map +1 -0
  55. package/dist-server/engine/connector/socket-server.d.ts +9 -0
  56. package/dist-server/engine/connector/socket-server.js +76 -0
  57. package/dist-server/engine/connector/socket-server.js.map +1 -0
  58. package/dist-server/engine/connector/sqlite-connector.d.ts +10 -0
  59. package/dist-server/engine/connector/sqlite-connector.js +58 -0
  60. package/dist-server/engine/connector/sqlite-connector.js.map +1 -0
  61. package/dist-server/engine/edge-client.d.ts +18 -0
  62. package/dist-server/engine/edge-client.js +37 -0
  63. package/dist-server/engine/edge-client.js.map +1 -0
  64. package/dist-server/engine/index.d.ts +9 -0
  65. package/dist-server/engine/index.js +12 -0
  66. package/dist-server/engine/index.js.map +1 -0
  67. package/dist-server/engine/pending-queue.d.ts +24 -0
  68. package/dist-server/engine/pending-queue.js +75 -0
  69. package/dist-server/engine/pending-queue.js.map +1 -0
  70. package/dist-server/engine/resource-pool/headless-pool.d.ts +1 -0
  71. package/dist-server/engine/resource-pool/headless-pool.js +62 -0
  72. package/dist-server/engine/resource-pool/headless-pool.js.map +1 -0
  73. package/dist-server/engine/resource-pool/index.d.ts +1 -0
  74. package/dist-server/engine/resource-pool/index.js +5 -0
  75. package/dist-server/engine/resource-pool/index.js.map +1 -0
  76. package/dist-server/engine/scenario-engine.d.ts +11 -0
  77. package/dist-server/engine/scenario-engine.js +79 -0
  78. package/dist-server/engine/scenario-engine.js.map +1 -0
  79. package/dist-server/engine/task/book-up-scenario.d.ts +1 -0
  80. package/dist-server/engine/task/book-up-scenario.js +63 -0
  81. package/dist-server/engine/task/book-up-scenario.js.map +1 -0
  82. package/dist-server/engine/task/csv-readline.d.ts +1 -0
  83. package/dist-server/engine/task/csv-readline.js +103 -0
  84. package/dist-server/engine/task/csv-readline.js.map +1 -0
  85. package/dist-server/engine/task/data-accessor.d.ts +1 -0
  86. package/dist-server/engine/task/data-accessor.js +28 -0
  87. package/dist-server/engine/task/data-accessor.js.map +1 -0
  88. package/dist-server/engine/task/data-mapper.d.ts +1 -0
  89. package/dist-server/engine/task/data-mapper.js +37 -0
  90. package/dist-server/engine/task/data-mapper.js.map +1 -0
  91. package/dist-server/engine/task/database-query.d.ts +1 -0
  92. package/dist-server/engine/task/database-query.js +46 -0
  93. package/dist-server/engine/task/database-query.js.map +1 -0
  94. package/dist-server/engine/task/echo-receive.d.ts +1 -0
  95. package/dist-server/engine/task/echo-receive.js +15 -0
  96. package/dist-server/engine/task/echo-receive.js.map +1 -0
  97. package/dist-server/engine/task/echo-send.d.ts +1 -0
  98. package/dist-server/engine/task/echo-send.js +24 -0
  99. package/dist-server/engine/task/echo-send.js.map +1 -0
  100. package/dist-server/engine/task/empty-check.d.ts +1 -0
  101. package/dist-server/engine/task/empty-check.js +30 -0
  102. package/dist-server/engine/task/empty-check.js.map +1 -0
  103. package/dist-server/engine/task/end.d.ts +1 -0
  104. package/dist-server/engine/task/end.js +14 -0
  105. package/dist-server/engine/task/end.js.map +1 -0
  106. package/dist-server/engine/task/floating-point.d.ts +1 -0
  107. package/dist-server/engine/task/floating-point.js +62 -0
  108. package/dist-server/engine/task/floating-point.js.map +1 -0
  109. package/dist-server/engine/task/goto.d.ts +1 -0
  110. package/dist-server/engine/task/goto.js +20 -0
  111. package/dist-server/engine/task/goto.js.map +1 -0
  112. package/dist-server/engine/task/graphql-mutate.d.ts +1 -0
  113. package/dist-server/engine/task/graphql-mutate.js +70 -0
  114. package/dist-server/engine/task/graphql-mutate.js.map +1 -0
  115. package/dist-server/engine/task/graphql-query.d.ts +1 -0
  116. package/dist-server/engine/task/graphql-query.js +70 -0
  117. package/dist-server/engine/task/graphql-query.js.map +1 -0
  118. package/dist-server/engine/task/headless-post.d.ts +1 -0
  119. package/dist-server/engine/task/headless-post.js +110 -0
  120. package/dist-server/engine/task/headless-post.js.map +1 -0
  121. package/dist-server/engine/task/headless-scrap.d.ts +1 -0
  122. package/dist-server/engine/task/headless-scrap.js +71 -0
  123. package/dist-server/engine/task/headless-scrap.js.map +1 -0
  124. package/dist-server/engine/task/http-get.d.ts +1 -0
  125. package/dist-server/engine/task/http-get.js +101 -0
  126. package/dist-server/engine/task/http-get.js.map +1 -0
  127. package/dist-server/engine/task/http-post.d.ts +1 -0
  128. package/dist-server/engine/task/http-post.js +130 -0
  129. package/dist-server/engine/task/http-post.js.map +1 -0
  130. package/dist-server/engine/task/index.d.ts +45 -0
  131. package/dist-server/engine/task/index.js +48 -0
  132. package/dist-server/engine/task/index.js.map +1 -0
  133. package/dist-server/engine/task/jsonata.d.ts +1 -0
  134. package/dist-server/engine/task/jsonata.js +37 -0
  135. package/dist-server/engine/task/jsonata.js.map +1 -0
  136. package/dist-server/engine/task/local-graphql-mutate.d.ts +1 -0
  137. package/dist-server/engine/task/local-graphql-mutate.js +89 -0
  138. package/dist-server/engine/task/local-graphql-mutate.js.map +1 -0
  139. package/dist-server/engine/task/local-graphql-query.d.ts +1 -0
  140. package/dist-server/engine/task/local-graphql-query.js +89 -0
  141. package/dist-server/engine/task/local-graphql-query.js.map +1 -0
  142. package/dist-server/engine/task/log.d.ts +1 -0
  143. package/dist-server/engine/task/log.js +68 -0
  144. package/dist-server/engine/task/log.js.map +1 -0
  145. package/dist-server/engine/task/mqtt-publish.d.ts +1 -0
  146. package/dist-server/engine/task/mqtt-publish.js +35 -0
  147. package/dist-server/engine/task/mqtt-publish.js.map +1 -0
  148. package/dist-server/engine/task/mqtt-subscribe.d.ts +1 -0
  149. package/dist-server/engine/task/mqtt-subscribe.js +113 -0
  150. package/dist-server/engine/task/mqtt-subscribe.js.map +1 -0
  151. package/dist-server/engine/task/mssql-procedure.d.ts +1 -0
  152. package/dist-server/engine/task/mssql-procedure.js +94 -0
  153. package/dist-server/engine/task/mssql-procedure.js.map +1 -0
  154. package/dist-server/engine/task/oracle-procedure.d.ts +1 -0
  155. package/dist-server/engine/task/oracle-procedure.js +91 -0
  156. package/dist-server/engine/task/oracle-procedure.js.map +1 -0
  157. package/dist-server/engine/task/pick-pending-scenario.d.ts +1 -0
  158. package/dist-server/engine/task/pick-pending-scenario.js +61 -0
  159. package/dist-server/engine/task/pick-pending-scenario.js.map +1 -0
  160. package/dist-server/engine/task/publish.d.ts +1 -0
  161. package/dist-server/engine/task/publish.js +31 -0
  162. package/dist-server/engine/task/publish.js.map +1 -0
  163. package/dist-server/engine/task/random.d.ts +1 -0
  164. package/dist-server/engine/task/random.js +45 -0
  165. package/dist-server/engine/task/random.js.map +1 -0
  166. package/dist-server/engine/task/reset-pending-queue.d.ts +1 -0
  167. package/dist-server/engine/task/reset-pending-queue.js +13 -0
  168. package/dist-server/engine/task/reset-pending-queue.js.map +1 -0
  169. package/dist-server/engine/task/script.d.ts +1 -0
  170. package/dist-server/engine/task/script.js +55 -0
  171. package/dist-server/engine/task/script.js.map +1 -0
  172. package/dist-server/engine/task/set-domain.d.ts +1 -0
  173. package/dist-server/engine/task/set-domain.js +27 -0
  174. package/dist-server/engine/task/set-domain.js.map +1 -0
  175. package/dist-server/engine/task/sleep.d.ts +1 -0
  176. package/dist-server/engine/task/sleep.js +26 -0
  177. package/dist-server/engine/task/sleep.js.map +1 -0
  178. package/dist-server/engine/task/socket-listener.d.ts +1 -0
  179. package/dist-server/engine/task/socket-listener.js +86 -0
  180. package/dist-server/engine/task/socket-listener.js.map +1 -0
  181. package/dist-server/engine/task/state-group-read.d.ts +1 -0
  182. package/dist-server/engine/task/state-group-read.js +62 -0
  183. package/dist-server/engine/task/state-group-read.js.map +1 -0
  184. package/dist-server/engine/task/state-read.d.ts +1 -0
  185. package/dist-server/engine/task/state-read.js +49 -0
  186. package/dist-server/engine/task/state-read.js.map +1 -0
  187. package/dist-server/engine/task/state-write.d.ts +1 -0
  188. package/dist-server/engine/task/state-write.js +57 -0
  189. package/dist-server/engine/task/state-write.js.map +1 -0
  190. package/dist-server/engine/task/stop-scenario.d.ts +1 -0
  191. package/dist-server/engine/task/stop-scenario.js +35 -0
  192. package/dist-server/engine/task/stop-scenario.js.map +1 -0
  193. package/dist-server/engine/task/sub-scenario.d.ts +1 -0
  194. package/dist-server/engine/task/sub-scenario.js +45 -0
  195. package/dist-server/engine/task/sub-scenario.js.map +1 -0
  196. package/dist-server/engine/task/switch-goto.d.ts +1 -0
  197. package/dist-server/engine/task/switch-goto.js +32 -0
  198. package/dist-server/engine/task/switch-goto.js.map +1 -0
  199. package/dist-server/engine/task/switch-range-goto.d.ts +1 -0
  200. package/dist-server/engine/task/switch-range-goto.js +39 -0
  201. package/dist-server/engine/task/switch-range-goto.js.map +1 -0
  202. package/dist-server/engine/task/switch-range-scenario.d.ts +1 -0
  203. package/dist-server/engine/task/switch-range-scenario.js +60 -0
  204. package/dist-server/engine/task/switch-range-scenario.js.map +1 -0
  205. package/dist-server/engine/task/switch-range-set.d.ts +1 -0
  206. package/dist-server/engine/task/switch-range-set.js +35 -0
  207. package/dist-server/engine/task/switch-range-set.js.map +1 -0
  208. package/dist-server/engine/task/switch-scenario.d.ts +1 -0
  209. package/dist-server/engine/task/switch-scenario.js +53 -0
  210. package/dist-server/engine/task/switch-scenario.js.map +1 -0
  211. package/dist-server/engine/task/switch-set.d.ts +1 -0
  212. package/dist-server/engine/task/switch-set.js +28 -0
  213. package/dist-server/engine/task/switch-set.js.map +1 -0
  214. package/dist-server/engine/task/throw.d.ts +1 -0
  215. package/dist-server/engine/task/throw.js +19 -0
  216. package/dist-server/engine/task/throw.js.map +1 -0
  217. package/dist-server/engine/task/utils/headless-pool-for-scenario.d.ts +1 -0
  218. package/dist-server/engine/task/utils/headless-pool-for-scenario.js +64 -0
  219. package/dist-server/engine/task/utils/headless-pool-for-scenario.js.map +1 -0
  220. package/dist-server/engine/task/utils/substitute.d.ts +1 -0
  221. package/dist-server/engine/task/utils/substitute.js +45 -0
  222. package/dist-server/engine/task/utils/substitute.js.map +1 -0
  223. package/dist-server/engine/task/variables.d.ts +1 -0
  224. package/dist-server/engine/task/variables.js +13 -0
  225. package/dist-server/engine/task/variables.js.map +1 -0
  226. package/dist-server/engine/task-registry.d.ts +12 -0
  227. package/dist-server/engine/task-registry.js +20 -0
  228. package/dist-server/engine/task-registry.js.map +1 -0
  229. package/dist-server/engine/types.d.ts +94 -0
  230. package/dist-server/engine/types.js +3 -0
  231. package/dist-server/engine/types.js.map +1 -0
  232. package/dist-server/index.d.ts +6 -0
  233. package/dist-server/index.js +21 -0
  234. package/dist-server/index.js.map +1 -0
  235. package/dist-server/migrations/index.d.ts +1 -0
  236. package/dist-server/migrations/index.js +12 -0
  237. package/dist-server/migrations/index.js.map +1 -0
  238. package/dist-server/restful/index.d.ts +1 -0
  239. package/dist-server/restful/index.js +4 -0
  240. package/dist-server/restful/index.js.map +1 -0
  241. package/dist-server/restful/unstable/index.d.ts +7 -0
  242. package/dist-server/restful/unstable/index.js +10 -0
  243. package/dist-server/restful/unstable/index.js.map +1 -0
  244. package/dist-server/restful/unstable/run-scenario.d.ts +1 -0
  245. package/dist-server/restful/unstable/run-scenario.js +45 -0
  246. package/dist-server/restful/unstable/run-scenario.js.map +1 -0
  247. package/dist-server/restful/unstable/scenario-instance.d.ts +1 -0
  248. package/dist-server/restful/unstable/scenario-instance.js +52 -0
  249. package/dist-server/restful/unstable/scenario-instance.js.map +1 -0
  250. package/dist-server/restful/unstable/scenario-instances.d.ts +1 -0
  251. package/dist-server/restful/unstable/scenario-instances.js +74 -0
  252. package/dist-server/restful/unstable/scenario-instances.js.map +1 -0
  253. package/dist-server/restful/unstable/scenario.d.ts +1 -0
  254. package/dist-server/restful/unstable/scenario.js +41 -0
  255. package/dist-server/restful/unstable/scenario.js.map +1 -0
  256. package/dist-server/restful/unstable/scenarios.d.ts +1 -0
  257. package/dist-server/restful/unstable/scenarios.js +63 -0
  258. package/dist-server/restful/unstable/scenarios.js.map +1 -0
  259. package/dist-server/restful/unstable/start-scenario.d.ts +1 -0
  260. package/dist-server/restful/unstable/start-scenario.js +33 -0
  261. package/dist-server/restful/unstable/start-scenario.js.map +1 -0
  262. package/dist-server/restful/unstable/stop-scenario.d.ts +1 -0
  263. package/dist-server/restful/unstable/stop-scenario.js +30 -0
  264. package/dist-server/restful/unstable/stop-scenario.js.map +1 -0
  265. package/dist-server/routers/scenario-schedule-callback-router.d.ts +1 -0
  266. package/dist-server/routers/scenario-schedule-callback-router.js +55 -0
  267. package/dist-server/routers/scenario-schedule-callback-router.js.map +1 -0
  268. package/dist-server/routers/scenario-view-router.d.ts +1 -0
  269. package/dist-server/routers/scenario-view-router.js +41 -0
  270. package/dist-server/routers/scenario-view-router.js.map +1 -0
  271. package/dist-server/routes.d.ts +1 -0
  272. package/dist-server/routes.js +23 -0
  273. package/dist-server/routes.js.map +1 -0
  274. package/dist-server/service/analysis/analysis-query.d.ts +3 -0
  275. package/dist-server/service/analysis/analysis-query.js +25 -0
  276. package/dist-server/service/analysis/analysis-query.js.map +1 -0
  277. package/dist-server/service/analysis/index.d.ts +2 -0
  278. package/dist-server/service/analysis/index.js +6 -0
  279. package/dist-server/service/analysis/index.js.map +1 -0
  280. package/dist-server/service/connection/connection-mutation.d.ts +30 -0
  281. package/dist-server/service/connection/connection-mutation.js +182 -0
  282. package/dist-server/service/connection/connection-mutation.js.map +1 -0
  283. package/dist-server/service/connection/connection-query.d.ts +12 -0
  284. package/dist-server/service/connection/connection-query.js +112 -0
  285. package/dist-server/service/connection/connection-query.js.map +1 -0
  286. package/dist-server/service/connection/connection-subscription.d.ts +10 -0
  287. package/dist-server/service/connection/connection-subscription.js +98 -0
  288. package/dist-server/service/connection/connection-subscription.js.map +1 -0
  289. package/dist-server/service/connection/connection-type.d.ts +133 -0
  290. package/dist-server/service/connection/connection-type.js +294 -0
  291. package/dist-server/service/connection/connection-type.js.map +1 -0
  292. package/dist-server/service/connection/index.d.ts +6 -0
  293. package/dist-server/service/connection/index.js +10 -0
  294. package/dist-server/service/connection/index.js.map +1 -0
  295. package/dist-server/service/connector/connector-query.d.ts +6 -0
  296. package/dist-server/service/connector/connector-query.js +77 -0
  297. package/dist-server/service/connector/connector-query.js.map +1 -0
  298. package/dist-server/service/connector/connector-type.d.ts +12 -0
  299. package/dist-server/service/connector/connector-type.js +47 -0
  300. package/dist-server/service/connector/connector-type.js.map +1 -0
  301. package/dist-server/service/connector/index.d.ts +3 -0
  302. package/dist-server/service/connector/index.js +7 -0
  303. package/dist-server/service/connector/index.js.map +1 -0
  304. package/dist-server/service/index.d.ts +17 -0
  305. package/dist-server/service/index.js +55 -0
  306. package/dist-server/service/index.js.map +1 -0
  307. package/dist-server/service/payload-log/index.d.ts +5 -0
  308. package/dist-server/service/payload-log/index.js +9 -0
  309. package/dist-server/service/payload-log/index.js.map +1 -0
  310. package/dist-server/service/payload-log/payload-log-mutation.d.ts +10 -0
  311. package/dist-server/service/payload-log/payload-log-mutation.js +134 -0
  312. package/dist-server/service/payload-log/payload-log-mutation.js.map +1 -0
  313. package/dist-server/service/payload-log/payload-log-query.d.ts +11 -0
  314. package/dist-server/service/payload-log/payload-log-query.js +76 -0
  315. package/dist-server/service/payload-log/payload-log-query.js.map +1 -0
  316. package/dist-server/service/payload-log/payload-log-type.d.ts +15 -0
  317. package/dist-server/service/payload-log/payload-log-type.js +57 -0
  318. package/dist-server/service/payload-log/payload-log-type.js.map +1 -0
  319. package/dist-server/service/payload-log/payload-log.d.ts +23 -0
  320. package/dist-server/service/payload-log/payload-log.js +110 -0
  321. package/dist-server/service/payload-log/payload-log.js.map +1 -0
  322. package/dist-server/service/property-spec.d.ts +12 -0
  323. package/dist-server/service/property-spec.js +37 -0
  324. package/dist-server/service/property-spec.js.map +1 -0
  325. package/dist-server/service/scenario/index.d.ts +5 -0
  326. package/dist-server/service/scenario/index.js +9 -0
  327. package/dist-server/service/scenario/index.js.map +1 -0
  328. package/dist-server/service/scenario/scenario-mutation.d.ts +13 -0
  329. package/dist-server/service/scenario/scenario-mutation.js +327 -0
  330. package/dist-server/service/scenario/scenario-mutation.js.map +1 -0
  331. package/dist-server/service/scenario/scenario-query.d.ts +19 -0
  332. package/dist-server/service/scenario/scenario-query.js +167 -0
  333. package/dist-server/service/scenario/scenario-query.js.map +1 -0
  334. package/dist-server/service/scenario/scenario-type.d.ts +30 -0
  335. package/dist-server/service/scenario/scenario-type.js +111 -0
  336. package/dist-server/service/scenario/scenario-type.js.map +1 -0
  337. package/dist-server/service/scenario/scenario.d.ts +38 -0
  338. package/dist-server/service/scenario/scenario.js +142 -0
  339. package/dist-server/service/scenario/scenario.js.map +1 -0
  340. package/dist-server/service/scenario-flow/scenario-flow.d.ts +6 -0
  341. package/dist-server/service/scenario-flow/scenario-flow.js +28 -0
  342. package/dist-server/service/scenario-flow/scenario-flow.js.map +1 -0
  343. package/dist-server/service/scenario-instance/index.d.ts +5 -0
  344. package/dist-server/service/scenario-instance/index.js +9 -0
  345. package/dist-server/service/scenario-instance/index.js.map +1 -0
  346. package/dist-server/service/scenario-instance/scenario-instance-mutation.d.ts +6 -0
  347. package/dist-server/service/scenario-instance/scenario-instance-mutation.js +54 -0
  348. package/dist-server/service/scenario-instance/scenario-instance-mutation.js.map +1 -0
  349. package/dist-server/service/scenario-instance/scenario-instance-query.d.ts +6 -0
  350. package/dist-server/service/scenario-instance/scenario-instance-query.js +45 -0
  351. package/dist-server/service/scenario-instance/scenario-instance-query.js.map +1 -0
  352. package/dist-server/service/scenario-instance/scenario-instance-subscription.d.ts +10 -0
  353. package/dist-server/service/scenario-instance/scenario-instance-subscription.js +109 -0
  354. package/dist-server/service/scenario-instance/scenario-instance-subscription.js.map +1 -0
  355. package/dist-server/service/scenario-instance/scenario-instance-type.d.ts +102 -0
  356. package/dist-server/service/scenario-instance/scenario-instance-type.js +533 -0
  357. package/dist-server/service/scenario-instance/scenario-instance-type.js.map +1 -0
  358. package/dist-server/service/scenario-queue/index.d.ts +3 -0
  359. package/dist-server/service/scenario-queue/index.js +7 -0
  360. package/dist-server/service/scenario-queue/index.js.map +1 -0
  361. package/dist-server/service/scenario-queue/scenario-queue-subscription.d.ts +6 -0
  362. package/dist-server/service/scenario-queue/scenario-queue-subscription.js +58 -0
  363. package/dist-server/service/scenario-queue/scenario-queue-subscription.js.map +1 -0
  364. package/dist-server/service/scenario-queue/scenario-queue-type.d.ts +11 -0
  365. package/dist-server/service/scenario-queue/scenario-queue-type.js +43 -0
  366. package/dist-server/service/scenario-queue/scenario-queue-type.js.map +1 -0
  367. package/dist-server/service/state-register/data-resolver.d.ts +6 -0
  368. package/dist-server/service/state-register/data-resolver.js +61 -0
  369. package/dist-server/service/state-register/data-resolver.js.map +1 -0
  370. package/dist-server/service/state-register/index.d.ts +7 -0
  371. package/dist-server/service/state-register/index.js +11 -0
  372. package/dist-server/service/state-register/index.js.map +1 -0
  373. package/dist-server/service/state-register/state-register-mutation.d.ts +11 -0
  374. package/dist-server/service/state-register/state-register-mutation.js +153 -0
  375. package/dist-server/service/state-register/state-register-mutation.js.map +1 -0
  376. package/dist-server/service/state-register/state-register-query.d.ts +14 -0
  377. package/dist-server/service/state-register/state-register-query.js +123 -0
  378. package/dist-server/service/state-register/state-register-query.js.map +1 -0
  379. package/dist-server/service/state-register/state-register-type.d.ts +29 -0
  380. package/dist-server/service/state-register/state-register-type.js +114 -0
  381. package/dist-server/service/state-register/state-register-type.js.map +1 -0
  382. package/dist-server/service/state-register/state-register.d.ts +25 -0
  383. package/dist-server/service/state-register/state-register.js +128 -0
  384. package/dist-server/service/state-register/state-register.js.map +1 -0
  385. package/dist-server/service/step/index.d.ts +5 -0
  386. package/dist-server/service/step/index.js +9 -0
  387. package/dist-server/service/step/index.js.map +1 -0
  388. package/dist-server/service/step/step-mutation.d.ts +5 -0
  389. package/dist-server/service/step/step-mutation.js +55 -0
  390. package/dist-server/service/step/step-mutation.js.map +1 -0
  391. package/dist-server/service/step/step-query.d.ts +12 -0
  392. package/dist-server/service/step/step-query.js +89 -0
  393. package/dist-server/service/step/step-query.js.map +1 -0
  394. package/dist-server/service/step/step-type.d.ts +111 -0
  395. package/dist-server/service/step/step-type.js +212 -0
  396. package/dist-server/service/step/step-type.js.map +1 -0
  397. package/dist-server/service/task-type/index.d.ts +3 -0
  398. package/dist-server/service/task-type/index.js +7 -0
  399. package/dist-server/service/task-type/index.js.map +1 -0
  400. package/dist-server/service/task-type/task-type-query.d.ts +6 -0
  401. package/dist-server/service/task-type/task-type-query.js +108 -0
  402. package/dist-server/service/task-type/task-type-query.js.map +1 -0
  403. package/dist-server/service/task-type/task-type-type.d.ts +12 -0
  404. package/dist-server/service/task-type/task-type-type.js +47 -0
  405. package/dist-server/service/task-type/task-type-type.js.map +1 -0
  406. package/dist-server/tsconfig.tsbuildinfo +1 -0
  407. package/package.json +10 -10
@@ -0,0 +1,327 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScenarioMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const typeorm_1 = require("typeorm");
7
+ const scheduler_client_1 = require("@things-factory/scheduler-client");
8
+ const step_type_1 = require("../step/step-type");
9
+ const scenario_1 = require("./scenario");
10
+ const scenario_type_1 = require("./scenario-type");
11
+ const crypto = require('crypto');
12
+ let ScenarioMutation = class ScenarioMutation {
13
+ async createScenario(scenario, context) {
14
+ const { domain, user, tx } = context.state;
15
+ return await tx.getRepository(scenario_1.Scenario).save(Object.assign(Object.assign({}, scenario), { domain, creator: user, updater: user }));
16
+ }
17
+ async updateScenario(name, patch, context) {
18
+ const { domain, user, tx } = context.state;
19
+ const repository = tx.getRepository(scenario_1.Scenario);
20
+ const scenario = await repository.findOne({
21
+ where: { domain: { id: domain.id }, name }
22
+ });
23
+ if (!scenario) {
24
+ throw new Error(context.t('error.scenario not found', {
25
+ scenario: name
26
+ }));
27
+ }
28
+ return await repository.save(Object.assign(Object.assign(Object.assign({}, scenario), patch), { updater: user }));
29
+ }
30
+ async updateMultipleScenario(patches, context) {
31
+ const { domain, user, tx } = context.state;
32
+ let results = [];
33
+ const _createRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === '+');
34
+ const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
35
+ const scenarioRepo = tx.getRepository(scenario_1.Scenario);
36
+ if (_createRecords.length > 0) {
37
+ for (let i = 0; i < _createRecords.length; i++) {
38
+ const newRecord = _createRecords[i];
39
+ const result = await scenarioRepo.save(Object.assign(Object.assign({}, newRecord), { domain, creator: user, updater: user }));
40
+ results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
41
+ }
42
+ }
43
+ if (_updateRecords.length > 0) {
44
+ for (let i = 0; i < _updateRecords.length; i++) {
45
+ const newRecord = _updateRecords[i];
46
+ const scenario = await scenarioRepo.findOneBy({ id: newRecord.id });
47
+ const result = await scenarioRepo.save(Object.assign(Object.assign(Object.assign({}, scenario), newRecord), { updater: user }));
48
+ results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
49
+ }
50
+ }
51
+ return results;
52
+ }
53
+ async deleteScenario(name, context) {
54
+ const { domain, tx } = context.state;
55
+ await tx.getRepository(scenario_1.Scenario).delete({ domain: { id: domain.id }, name });
56
+ return true;
57
+ }
58
+ async deleteScenarios(ids, context) {
59
+ const { domain, tx } = context.state;
60
+ await tx.getRepository(scenario_1.Scenario).delete({
61
+ domain: { id: domain.id },
62
+ id: (0, typeorm_1.In)(ids)
63
+ });
64
+ return true;
65
+ }
66
+ async importScenarios(scenarios, context) {
67
+ const { tx, domain, user } = context.state;
68
+ const repository = tx.getRepository(scenario_1.Scenario);
69
+ await Promise.all(scenarios.map(async (scenario) => {
70
+ const { id, name } = scenario;
71
+ var savedScenario;
72
+ if (id) {
73
+ const sameId = await repository.findOneBy({ id });
74
+ if (sameId) {
75
+ if (sameId.domainId != domain.id) {
76
+ throw `Scenario with id '${id}:${name}' is already taken by another domain`;
77
+ }
78
+ const sameName = await repository.findOneBy({ domain: { id: domain.id }, name });
79
+ if (sameName && sameName.id != id) {
80
+ throw `Scenario Name '${name}' is already taken by another scenario`;
81
+ }
82
+ savedScenario = await repository.save(Object.assign(Object.assign(Object.assign({}, sameId), scenario), { domain, updater: user }));
83
+ }
84
+ else {
85
+ savedScenario = await repository.save(Object.assign(Object.assign({}, scenario), { domain, updater: user, creator: user }));
86
+ }
87
+ }
88
+ else {
89
+ savedScenario = await repository.save(Object.assign(Object.assign({}, scenario), { domain, updater: user, creator: user }));
90
+ }
91
+ await tx.getRepository(step_type_1.Step).delete({ domain: { id: domain.id }, scenario: { id: savedScenario.id } });
92
+ await tx.getRepository(step_type_1.Step).save(scenario.steps.map((step) => {
93
+ return Object.assign(Object.assign({}, step), { domain, scenario: savedScenario, updater: user });
94
+ }));
95
+ }));
96
+ return true;
97
+ }
98
+ async copyScenarios(ids, context) {
99
+ const { domain, user, tx } = context.state;
100
+ const originals = await tx.getRepository(scenario_1.Scenario).find({
101
+ where: {
102
+ id: (0, typeorm_1.In)(ids),
103
+ domain: { id: domain.id }
104
+ },
105
+ relations: ['domain', 'steps']
106
+ });
107
+ if (originals.length == 0) {
108
+ return [];
109
+ }
110
+ var newSteps = [];
111
+ var newCopys = originals.map(scenario => {
112
+ let scenarioId = crypto.randomUUID();
113
+ newSteps.push(...scenario.steps.map(step => {
114
+ return {
115
+ scenario: scenarioId,
116
+ name: step.name,
117
+ description: step.description,
118
+ sequence: step.sequence,
119
+ task: step.task,
120
+ connection: step.connection,
121
+ params: step.params,
122
+ domain,
123
+ creator: user,
124
+ updater: user
125
+ };
126
+ }));
127
+ return {
128
+ id: scenarioId,
129
+ name: scenario.name + ' (' + scenarioId + ')',
130
+ type: scenario.type,
131
+ description: scenario.description,
132
+ active: false, // deprecated
133
+ schedule: scenario.schedule,
134
+ timezone: scenario.timezone,
135
+ domain,
136
+ creator: user,
137
+ updater: user
138
+ };
139
+ });
140
+ var copiedScenarios = await tx.getRepository(scenario_1.Scenario).save(newCopys);
141
+ var copiedSteps = await tx.getRepository(step_type_1.Step).save(newSteps);
142
+ return copiedScenarios.map(scenario => {
143
+ scenario.steps = copiedSteps.filter(step => step.scenario == scenario.id);
144
+ return scenario;
145
+ });
146
+ }
147
+ async startScenarioSchedule(scenarioId, context) {
148
+ const { domain, user, tx } = context.state;
149
+ var repository = tx.getRepository(scenario_1.Scenario);
150
+ var scenario = await repository.findOne({
151
+ where: { domain: { id: domain.id }, id: scenarioId }
152
+ });
153
+ if (!scenario) {
154
+ throw new Error(context.t('error.scenario not found', {
155
+ scenario: scenarioId
156
+ }));
157
+ }
158
+ if (!scenario.schedule) {
159
+ throw new Error(context.t('error.schedule is not set', {
160
+ scenario: scenario.name
161
+ }));
162
+ }
163
+ if (!scenario.timezone) {
164
+ throw new Error(context.t('error.timezone is not set', {
165
+ scenario: scenario.name
166
+ }));
167
+ }
168
+ try {
169
+ var handle = await (0, scheduler_client_1.registerSchedule)({
170
+ name: scenario.name,
171
+ client: {
172
+ application: scheduler_client_1.Application,
173
+ group: `${domain.id}`,
174
+ type: 'scenario',
175
+ key: scenario.id,
176
+ operation: 'start'
177
+ },
178
+ type: 'cron',
179
+ schedule: scenario.schedule,
180
+ timezone: scenario.timezone,
181
+ task: {
182
+ type: 'rest',
183
+ connection: {
184
+ host: `${(0, scheduler_client_1.getCallbackBaseWithDomainContext)(domain)}/callback-schedule-for-scenario`,
185
+ headers: {
186
+ 'Content-Type': 'application/json',
187
+ accept: '*/*'
188
+ }
189
+ },
190
+ data: {
191
+ domainId: domain.id,
192
+ userId: user.id,
193
+ scenarioId
194
+ },
195
+ history_check: true,
196
+ failed_policy: 'retry_dlq',
197
+ max_retry_count: -1,
198
+ retry_period: 60
199
+ }
200
+ });
201
+ return await repository.save(Object.assign(Object.assign({}, scenario), { scheduleId: handle }));
202
+ }
203
+ catch (err) {
204
+ console.error('startScenarioSchedule', err);
205
+ }
206
+ }
207
+ async stopScenarioSchedule(scenarioId, context) {
208
+ const { domain, tx } = context.state;
209
+ var repository = tx.getRepository(scenario_1.Scenario);
210
+ var scenario = await repository.findOne({
211
+ where: { domain: { id: domain.id }, id: scenarioId }
212
+ });
213
+ if (!scenario) {
214
+ throw new Error(context.t('error.scenario not found', {
215
+ scenario: scenarioId
216
+ }));
217
+ }
218
+ try {
219
+ await (0, scheduler_client_1.unregisterSchedule)(scenario.scheduleId);
220
+ return await repository.save(Object.assign(Object.assign({}, scenario), { scheduleId: null }));
221
+ }
222
+ catch (err) {
223
+ console.error('stopScenarioSchedule', err);
224
+ }
225
+ }
226
+ };
227
+ exports.ScenarioMutation = ScenarioMutation;
228
+ tslib_1.__decorate([
229
+ (0, type_graphql_1.Directive)('@transaction'),
230
+ (0, type_graphql_1.Directive)('@privilege(category: "scenario", privilege: "mutation", domainOwnerGranted: true)'),
231
+ (0, type_graphql_1.Mutation)(returns => scenario_1.Scenario, { description: 'To create new scenario' }),
232
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('scenario', type => scenario_type_1.NewScenario)),
233
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
234
+ tslib_1.__metadata("design:type", Function),
235
+ tslib_1.__metadata("design:paramtypes", [scenario_type_1.NewScenario, Object]),
236
+ tslib_1.__metadata("design:returntype", Promise)
237
+ ], ScenarioMutation.prototype, "createScenario", null);
238
+ tslib_1.__decorate([
239
+ (0, type_graphql_1.Directive)('@transaction'),
240
+ (0, type_graphql_1.Directive)('@privilege(category: "scenario", privilege: "mutation", domainOwnerGranted: true)'),
241
+ (0, type_graphql_1.Mutation)(returns => scenario_1.Scenario, { description: 'To modify scenario information' }),
242
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
243
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('patch', type => scenario_type_1.ScenarioPatch)),
244
+ tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
245
+ tslib_1.__metadata("design:type", Function),
246
+ tslib_1.__metadata("design:paramtypes", [String, scenario_type_1.ScenarioPatch, Object]),
247
+ tslib_1.__metadata("design:returntype", Promise)
248
+ ], ScenarioMutation.prototype, "updateScenario", null);
249
+ tslib_1.__decorate([
250
+ (0, type_graphql_1.Directive)('@transaction'),
251
+ (0, type_graphql_1.Directive)('@privilege(category: "scenario", privilege: "mutation", domainOwnerGranted: true)'),
252
+ (0, type_graphql_1.Mutation)(returns => [scenario_1.Scenario], { description: "To modify multiple scenarios' information" }),
253
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [scenario_type_1.ScenarioPatch])),
254
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
255
+ tslib_1.__metadata("design:type", Function),
256
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
257
+ tslib_1.__metadata("design:returntype", Promise)
258
+ ], ScenarioMutation.prototype, "updateMultipleScenario", null);
259
+ tslib_1.__decorate([
260
+ (0, type_graphql_1.Directive)('@transaction'),
261
+ (0, type_graphql_1.Directive)('@privilege(category: "scenario", privilege: "mutation", domainOwnerGranted: true)'),
262
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete scenario' }),
263
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
264
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
265
+ tslib_1.__metadata("design:type", Function),
266
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
267
+ tslib_1.__metadata("design:returntype", Promise)
268
+ ], ScenarioMutation.prototype, "deleteScenario", null);
269
+ tslib_1.__decorate([
270
+ (0, type_graphql_1.Directive)('@transaction'),
271
+ (0, type_graphql_1.Directive)('@privilege(category: "scenario", privilege: "mutation", domainOwnerGranted: true)'),
272
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple scenarios' }),
273
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
274
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
275
+ tslib_1.__metadata("design:type", Function),
276
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
277
+ tslib_1.__metadata("design:returntype", Promise)
278
+ ], ScenarioMutation.prototype, "deleteScenarios", null);
279
+ tslib_1.__decorate([
280
+ (0, type_graphql_1.Directive)('@transaction'),
281
+ (0, type_graphql_1.Directive)('@privilege(category: "scenario", privilege: "mutation", domainOwnerGranted: true)'),
282
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To import multiple scenarios' }),
283
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('scenarios', type => [scenario_type_1.ScenarioPatch])),
284
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
285
+ tslib_1.__metadata("design:type", Function),
286
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
287
+ tslib_1.__metadata("design:returntype", Promise)
288
+ ], ScenarioMutation.prototype, "importScenarios", null);
289
+ tslib_1.__decorate([
290
+ (0, type_graphql_1.Directive)('@transaction'),
291
+ (0, type_graphql_1.Directive)('@privilege(category: "scenario", privilege: "mutation", domainOwnerGranted: true)'),
292
+ (0, type_graphql_1.Mutation)(returns => [scenario_1.Scenario], { description: 'To import multiple scenarios' }),
293
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
294
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
295
+ tslib_1.__metadata("design:type", Function),
296
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
297
+ tslib_1.__metadata("design:returntype", Promise)
298
+ ], ScenarioMutation.prototype, "copyScenarios", null);
299
+ tslib_1.__decorate([
300
+ (0, type_graphql_1.Directive)('@transaction'),
301
+ (0, type_graphql_1.Directive)('@privilege(category: "scenario", privilege: "mutation", domainOwnerGranted: true)'),
302
+ (0, type_graphql_1.Mutation)(returns => scenario_1.Scenario, {
303
+ description: 'To start posting scenario based on the schedule of the given scenario'
304
+ }),
305
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('scenarioId')),
306
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
307
+ tslib_1.__metadata("design:type", Function),
308
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
309
+ tslib_1.__metadata("design:returntype", Promise)
310
+ ], ScenarioMutation.prototype, "startScenarioSchedule", null);
311
+ tslib_1.__decorate([
312
+ (0, type_graphql_1.Directive)('@transaction'),
313
+ (0, type_graphql_1.Directive)('@privilege(category: "scenario", privilege: "mutation", domainOwnerGranted: true)'),
314
+ (0, type_graphql_1.Mutation)(returns => scenario_1.Scenario, {
315
+ nullable: true,
316
+ description: 'To stop posting scenario based on the schedule of the given scenario'
317
+ }),
318
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('scenarioId')),
319
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
320
+ tslib_1.__metadata("design:type", Function),
321
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
322
+ tslib_1.__metadata("design:returntype", Promise)
323
+ ], ScenarioMutation.prototype, "stopScenarioSchedule", null);
324
+ exports.ScenarioMutation = ScenarioMutation = tslib_1.__decorate([
325
+ (0, type_graphql_1.Resolver)(scenario_1.Scenario)
326
+ ], ScenarioMutation);
327
+ //# sourceMappingURL=scenario-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenario-mutation.js","sourceRoot":"","sources":["../../../server/service/scenario/scenario-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport {\n Application,\n getCallbackBaseWithDomainContext,\n registerSchedule,\n unregisterSchedule\n} from '@things-factory/scheduler-client'\n\nimport { Step } from '../step/step-type'\nimport { Scenario } from './scenario'\nimport { NewScenario, ScenarioPatch } from './scenario-type'\n\nconst crypto = require('crypto')\n\n@Resolver(Scenario)\nexport class ScenarioMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"scenario\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Scenario, { description: 'To create new scenario' })\n async createScenario(\n @Arg('scenario', type => NewScenario) scenario: NewScenario,\n @Ctx() context: ResolverContext\n ): Promise<Scenario> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(Scenario).save({\n ...scenario,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"scenario\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Scenario, { description: 'To modify scenario information' })\n async updateScenario(\n @Arg('name') name: string,\n @Arg('patch', type => ScenarioPatch) patch: ScenarioPatch,\n @Ctx() context: ResolverContext\n ): Promise<Scenario> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(Scenario)\n const scenario = await repository.findOne({\n where: { domain: { id: domain.id }, name }\n })\n\n if (!scenario) {\n throw new Error(\n context.t('error.scenario not found', {\n scenario: name\n })\n )\n }\n\n return await repository.save({\n ...scenario,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"scenario\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => [Scenario], { description: \"To modify multiple scenarios' information\" })\n async updateMultipleScenario(\n @Arg('patches', type => [ScenarioPatch]) patches: ScenarioPatch[],\n @Ctx() context: ResolverContext\n ): Promise<Scenario[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const scenarioRepo = tx.getRepository(Scenario)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await scenarioRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const scenario = await scenarioRepo.findOneBy({ id: newRecord.id })\n\n const result = await scenarioRepo.save({\n ...scenario,\n ...newRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"scenario\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete scenario' })\n async deleteScenario(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Scenario).delete({ domain: { id: domain.id }, name })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"scenario\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete multiple scenarios' })\n async deleteScenarios(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Scenario).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"scenario\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To import multiple scenarios' })\n async importScenarios(\n @Arg('scenarios', type => [ScenarioPatch]) scenarios: Scenario[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { tx, domain, user } = context.state\n\n const repository = tx.getRepository(Scenario)\n\n await Promise.all(\n scenarios.map(async (scenario: Scenario) => {\n const { id, name } = scenario\n var savedScenario\n\n if (id) {\n const sameId = await repository.findOneBy({ id })\n\n if (sameId) {\n if (sameId.domainId != domain.id) {\n throw `Scenario with id '${id}:${name}' is already taken by another domain`\n }\n\n const sameName = await repository.findOneBy({ domain: { id: domain.id }, name })\n if (sameName && sameName.id != id) {\n throw `Scenario Name '${name}' is already taken by another scenario`\n }\n\n savedScenario = await repository.save({\n ...sameId,\n ...scenario,\n domain,\n updater: user\n })\n } else {\n savedScenario = await repository.save({\n ...scenario,\n domain,\n updater: user,\n creator: user\n })\n }\n } else {\n savedScenario = await repository.save({\n ...scenario,\n domain,\n updater: user,\n creator: user\n })\n }\n\n await tx.getRepository(Step).delete({ domain: { id: domain.id }, scenario: { id: savedScenario.id } })\n await tx.getRepository(Step).save(\n scenario.steps.map((step: Step) => {\n return {\n ...step,\n domain,\n scenario: savedScenario,\n updater: user\n }\n })\n )\n })\n )\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"scenario\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => [Scenario], { description: 'To import multiple scenarios' })\n async copyScenarios(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<Scenario[]> {\n const { domain, user, tx } = context.state\n\n const originals = await tx.getRepository(Scenario).find({\n where: {\n id: In(ids),\n domain: { id: domain.id }\n },\n relations: ['domain', 'steps']\n })\n\n if (originals.length == 0) {\n return []\n }\n\n var newSteps = []\n\n var newCopys = originals.map(scenario => {\n let scenarioId = crypto.randomUUID()\n newSteps.push(\n ...scenario.steps.map(step => {\n return {\n scenario: scenarioId,\n name: step.name,\n description: step.description,\n sequence: step.sequence,\n task: step.task,\n connection: step.connection,\n params: step.params,\n\n domain,\n creator: user,\n updater: user\n }\n })\n )\n\n return {\n id: scenarioId,\n name: scenario.name + ' (' + scenarioId + ')',\n type: scenario.type,\n description: scenario.description,\n active: false, // deprecated\n schedule: scenario.schedule,\n timezone: scenario.timezone,\n\n domain,\n creator: user,\n updater: user\n }\n })\n\n var copiedScenarios = await tx.getRepository(Scenario).save(newCopys)\n var copiedSteps = await tx.getRepository(Step).save(newSteps)\n\n return copiedScenarios.map(scenario => {\n scenario.steps = copiedSteps.filter(step => step.scenario == scenario.id)\n return scenario\n })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"scenario\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Scenario, {\n description: 'To start posting scenario based on the schedule of the given scenario'\n })\n async startScenarioSchedule(\n @Arg('scenarioId') scenarioId: string,\n @Ctx() context: ResolverContext\n ): Promise<Scenario> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(Scenario)\n var scenario = await repository.findOne({\n where: { domain: { id: domain.id }, id: scenarioId }\n })\n\n if (!scenario) {\n throw new Error(\n context.t('error.scenario not found', {\n scenario: scenarioId\n })\n )\n }\n\n if (!scenario.schedule) {\n throw new Error(\n context.t('error.schedule is not set', {\n scenario: scenario.name\n })\n )\n }\n\n if (!scenario.timezone) {\n throw new Error(\n context.t('error.timezone is not set', {\n scenario: scenario.name\n })\n )\n }\n\n try {\n var handle = await registerSchedule({\n name: scenario.name,\n client: {\n application: Application,\n group: `${domain.id}`,\n type: 'scenario',\n key: scenario.id,\n operation: 'start'\n },\n type: 'cron',\n schedule: scenario.schedule,\n timezone: scenario.timezone,\n task: {\n type: 'rest',\n connection: {\n host: `${getCallbackBaseWithDomainContext(domain)}/callback-schedule-for-scenario`,\n headers: {\n 'Content-Type': 'application/json',\n accept: '*/*'\n }\n },\n data: {\n domainId: domain.id,\n userId: user.id,\n scenarioId\n },\n history_check: true,\n failed_policy: 'retry_dlq',\n max_retry_count: -1,\n retry_period: 60\n }\n })\n\n return await repository.save({\n ...scenario,\n scheduleId: handle\n })\n } catch (err) {\n console.error('startScenarioSchedule', err)\n }\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"scenario\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Scenario, {\n nullable: true,\n description: 'To stop posting scenario based on the schedule of the given scenario'\n })\n async stopScenarioSchedule(\n @Arg('scenarioId') scenarioId: string,\n @Ctx() context: ResolverContext\n ): Promise<Scenario | undefined> {\n const { domain, tx } = context.state\n\n var repository = tx.getRepository(Scenario)\n var scenario = await repository.findOne({\n where: { domain: { id: domain.id }, id: scenarioId }\n })\n\n if (!scenario) {\n throw new Error(\n context.t('error.scenario not found', {\n scenario: scenarioId\n })\n )\n }\n\n try {\n await unregisterSchedule(scenario.scheduleId)\n\n return await repository.save({\n ...scenario,\n scheduleId: null\n })\n } catch (err) {\n console.error('stopScenarioSchedule', err)\n }\n }\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import { User, Role } from '@things-factory/auth-base';
2
+ import { Domain, ListParam } from '@things-factory/shell';
3
+ import { ScenarioInstance } from '../scenario-instance/scenario-instance-type';
4
+ import { Step } from '../step/step-type';
5
+ import { Scenario } from './scenario';
6
+ import { ScenarioList } from './scenario-type';
7
+ export declare class ScenarioQuery {
8
+ scenario(id: string, context: ResolverContext): Promise<Scenario>;
9
+ scenarios(params: ListParam, context: ResolverContext): Promise<ScenarioList>;
10
+ domain(scenario: Scenario): Promise<Domain>;
11
+ updater(scenario: Scenario): Promise<User>;
12
+ creator(scenario: Scenario): Promise<User>;
13
+ steps(scenario: Scenario, context: ResolverContext): Promise<Step[]>;
14
+ connectionNames(scenario: Scenario, context: ResolverContext): Promise<string[]>;
15
+ publishTags(scenario: Scenario, context: ResolverContext): Promise<any[]>;
16
+ state(scenario: Scenario, context: ResolverContext): Promise<string>;
17
+ instances(scenario: Scenario, context: ResolverContext): Promise<ScenarioInstance[]>;
18
+ role(scenario: Scenario): Promise<Role>;
19
+ }
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScenarioQuery = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const typeorm_1 = require("typeorm");
7
+ const auth_base_1 = require("@things-factory/auth-base");
8
+ const shell_1 = require("@things-factory/shell");
9
+ const engine_1 = require("../../engine");
10
+ const scenario_instance_type_1 = require("../scenario-instance/scenario-instance-type");
11
+ const step_type_1 = require("../step/step-type");
12
+ const scenario_1 = require("./scenario");
13
+ const scenario_type_1 = require("./scenario-type");
14
+ const connection_type_1 = require("../connection/connection-type");
15
+ let ScenarioQuery = class ScenarioQuery {
16
+ async scenario(id, context) {
17
+ const { domain } = context.state;
18
+ const scenario = await (0, shell_1.getRepository)(scenario_1.Scenario).findOne({ where: { id } });
19
+ if (domain.id == scenario.domainId || domain.parentId == scenario.domainId) {
20
+ return scenario;
21
+ }
22
+ }
23
+ async scenarios(params, context) {
24
+ const { domain } = context.state;
25
+ const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
26
+ repository: (0, shell_1.getRepository)(scenario_1.Scenario),
27
+ params,
28
+ domain,
29
+ searchables: ['name', 'description', 'type']
30
+ });
31
+ const [items, total] = await queryBuilder.getManyAndCount();
32
+ return { items, total };
33
+ }
34
+ async domain(scenario) {
35
+ return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: scenario.domainId });
36
+ }
37
+ async updater(scenario) {
38
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: scenario.updaterId });
39
+ }
40
+ async creator(scenario) {
41
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: scenario.creatorId });
42
+ }
43
+ async steps(scenario, context) {
44
+ const { domain } = context.state;
45
+ return await (0, shell_1.getRepository)(step_type_1.Step).find({
46
+ where: { domain: { id: domain.id }, scenario: { id: scenario.id } }
47
+ });
48
+ }
49
+ async connectionNames(scenario, context) {
50
+ const { domain } = context.state;
51
+ const steps = await (0, shell_1.getRepository)(step_type_1.Step).find({
52
+ where: { domain: { id: domain.id }, scenario: { id: scenario.id }, connection: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()) }
53
+ });
54
+ return steps.map(step => step.connection).filter(Boolean);
55
+ }
56
+ async publishTags(scenario, context) {
57
+ const { domain } = context.state;
58
+ const steps = await (0, shell_1.getRepository)(step_type_1.Step).find({
59
+ where: { domain: { id: domain.id }, scenario: { id: scenario.id }, task: 'publish' }
60
+ });
61
+ return steps.map(step => { var _a; return (_a = JSON.parse(step.params)) === null || _a === void 0 ? void 0 : _a.tag; }).filter(Boolean);
62
+ }
63
+ async state(scenario, context) {
64
+ var _a;
65
+ const { domain } = context.state;
66
+ var instance = engine_1.ScenarioEngine.getScenarioInstance(domain, scenario.name);
67
+ return instance && scenario_instance_type_1.ScenarioInstanceStatus[(_a = instance.context) === null || _a === void 0 ? void 0 : _a.state];
68
+ }
69
+ async instances(scenario, context) {
70
+ const { domain } = context.state;
71
+ return engine_1.ScenarioEngine.getScenarioInstances(domain, scenario.name);
72
+ }
73
+ async role(scenario) {
74
+ return scenario.roleId && (await (0, shell_1.getRepository)(auth_base_1.Role).findOneBy({ id: scenario.roleId }));
75
+ }
76
+ };
77
+ exports.ScenarioQuery = ScenarioQuery;
78
+ tslib_1.__decorate([
79
+ (0, type_graphql_1.Directive)('@privilege(category: "scenario", privilege: "query", domainOwnerGranted: true)'),
80
+ (0, type_graphql_1.Query)(returns => scenario_1.Scenario, { description: 'To fetch a scenario' }),
81
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
82
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
83
+ tslib_1.__metadata("design:type", Function),
84
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
85
+ tslib_1.__metadata("design:returntype", Promise)
86
+ ], ScenarioQuery.prototype, "scenario", null);
87
+ tslib_1.__decorate([
88
+ (0, type_graphql_1.Directive)('@privilege(category: "scenario", privilege: "query", domainOwnerGranted: true)'),
89
+ (0, type_graphql_1.Query)(returns => scenario_type_1.ScenarioList, { description: 'To fetch multiple scenarios' }),
90
+ tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
91
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
92
+ tslib_1.__metadata("design:type", Function),
93
+ tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
94
+ tslib_1.__metadata("design:returntype", Promise)
95
+ ], ScenarioQuery.prototype, "scenarios", null);
96
+ tslib_1.__decorate([
97
+ (0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
98
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
99
+ tslib_1.__metadata("design:type", Function),
100
+ tslib_1.__metadata("design:paramtypes", [scenario_1.Scenario]),
101
+ tslib_1.__metadata("design:returntype", Promise)
102
+ ], ScenarioQuery.prototype, "domain", null);
103
+ tslib_1.__decorate([
104
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
105
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
106
+ tslib_1.__metadata("design:type", Function),
107
+ tslib_1.__metadata("design:paramtypes", [scenario_1.Scenario]),
108
+ tslib_1.__metadata("design:returntype", Promise)
109
+ ], ScenarioQuery.prototype, "updater", null);
110
+ tslib_1.__decorate([
111
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
112
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
113
+ tslib_1.__metadata("design:type", Function),
114
+ tslib_1.__metadata("design:paramtypes", [scenario_1.Scenario]),
115
+ tslib_1.__metadata("design:returntype", Promise)
116
+ ], ScenarioQuery.prototype, "creator", null);
117
+ tslib_1.__decorate([
118
+ (0, type_graphql_1.FieldResolver)(type => [step_type_1.Step]),
119
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
120
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
121
+ tslib_1.__metadata("design:type", Function),
122
+ tslib_1.__metadata("design:paramtypes", [scenario_1.Scenario, Object]),
123
+ tslib_1.__metadata("design:returntype", Promise)
124
+ ], ScenarioQuery.prototype, "steps", null);
125
+ tslib_1.__decorate([
126
+ (0, type_graphql_1.FieldResolver)(type => [connection_type_1.Connection]),
127
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
128
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
129
+ tslib_1.__metadata("design:type", Function),
130
+ tslib_1.__metadata("design:paramtypes", [scenario_1.Scenario, Object]),
131
+ tslib_1.__metadata("design:returntype", Promise)
132
+ ], ScenarioQuery.prototype, "connectionNames", null);
133
+ tslib_1.__decorate([
134
+ (0, type_graphql_1.FieldResolver)(type => [connection_type_1.Connection]),
135
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
136
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
137
+ tslib_1.__metadata("design:type", Function),
138
+ tslib_1.__metadata("design:paramtypes", [scenario_1.Scenario, Object]),
139
+ tslib_1.__metadata("design:returntype", Promise)
140
+ ], ScenarioQuery.prototype, "publishTags", null);
141
+ tslib_1.__decorate([
142
+ (0, type_graphql_1.FieldResolver)(type => String, { nullable: true }),
143
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
144
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
145
+ tslib_1.__metadata("design:type", Function),
146
+ tslib_1.__metadata("design:paramtypes", [scenario_1.Scenario, Object]),
147
+ tslib_1.__metadata("design:returntype", Promise)
148
+ ], ScenarioQuery.prototype, "state", null);
149
+ tslib_1.__decorate([
150
+ (0, type_graphql_1.FieldResolver)(type => [scenario_instance_type_1.ScenarioInstance], { nullable: true }),
151
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
152
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
153
+ tslib_1.__metadata("design:type", Function),
154
+ tslib_1.__metadata("design:paramtypes", [scenario_1.Scenario, Object]),
155
+ tslib_1.__metadata("design:returntype", Promise)
156
+ ], ScenarioQuery.prototype, "instances", null);
157
+ tslib_1.__decorate([
158
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.Role),
159
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
160
+ tslib_1.__metadata("design:type", Function),
161
+ tslib_1.__metadata("design:paramtypes", [scenario_1.Scenario]),
162
+ tslib_1.__metadata("design:returntype", Promise)
163
+ ], ScenarioQuery.prototype, "role", null);
164
+ exports.ScenarioQuery = ScenarioQuery = tslib_1.__decorate([
165
+ (0, type_graphql_1.Resolver)(scenario_1.Scenario)
166
+ ], ScenarioQuery);
167
+ //# sourceMappingURL=scenario-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenario-query.js","sourceRoot":"","sources":["../../../server/service/scenario/scenario-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA8F;AAC9F,qCAAqC;AAErC,yDAAsD;AACtD,iDAAuG;AAEvG,yCAA6C;AAC7C,wFAAsG;AACtG,iDAAwC;AACxC,yCAAqC;AACrC,mDAA8C;AAC9C,mEAA0D;AAGnD,IAAM,aAAa,GAAnB,MAAM,aAAa;IAGlB,AAAN,KAAK,CAAC,QAAQ,CAAY,EAAU,EAAS,OAAwB;QACnE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QACzE,IAAI,MAAM,CAAC,EAAE,IAAI,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC3E,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,SAAS,CAA0B,MAAiB,EAAS,OAAwB;QACzF,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,UAAU,EAAE,IAAA,qBAAa,EAAC,mBAAQ,CAAC;YACnC,MAAM;YACN,MAAM;YACN,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC;SAC7C,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,QAAkB;QACrC,OAAO,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzE,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,QAAkB;QACtC,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;IACxE,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,QAAkB;QACtC,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;IACxE,CAAC;IAGK,AAAN,KAAK,CAAC,KAAK,CAAS,QAAkB,EAAS,OAAwB;QACrE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,IAAI,CAAC;YACpC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE;SACpE,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,eAAe,CAAS,QAAkB,EAAS,OAAwB;QAC/E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,KAAK,GAAG,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,IAAI,CAAC;YAC3C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAA,aAAG,EAAC,IAAA,gBAAM,GAAE,CAAC,EAAE;SAC/F,CAAC,CAAA;QAEF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAS,QAAkB,EAAS,OAAwB;QAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,KAAK,GAAG,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,IAAI,CAAC;YAC3C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SACrF,CAAC,CAAA;QAEF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,0CAAE,GAAG,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxE,CAAC;IAGK,AAAN,KAAK,CAAC,KAAK,CAAS,QAAkB,EAAS,OAAwB;;QACrE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,IAAI,QAAQ,GAAG,uBAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QACxE,OAAO,QAAQ,IAAI,+CAAsB,CAAC,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,CAAC,CAAA;IACpE,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAS,QAAkB,EAAS,OAAwB;QACzE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,uBAAc,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IACnE,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,CAAS,QAAkB;QACnC,OAAO,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC1F,CAAC;CACF,CAAA;AA9FY,sCAAa;AAGlB;IAFL,IAAA,wBAAS,EAAC,gFAAgF,CAAC;IAC3F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,mBAAQ,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACnD,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;6CAO3C;AAIK;IAFL,IAAA,wBAAS,EAAC,gFAAgF,CAAC;IAC3F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,4BAAY,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IAC9D,mBAAA,IAAA,mBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,iBAAS;;8CAazD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAW,mBAAQ;;2CAEtC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAW,mBAAQ;;4CAEvC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAW,mBAAQ;;4CAEvC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gBAAI,CAAC,CAAC;IACjB,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAsB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAhB,mBAAQ;;0CAMrC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,4BAAU,CAAC,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAsB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAhB,mBAAQ;;oDAQ/C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,4BAAU,CAAC,CAAC;IACjB,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAsB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAhB,mBAAQ;;gDAQ3C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACrC,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAsB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAhB,mBAAQ;;0CAKrC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,yCAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC7C,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAsB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAhB,mBAAQ;;8CAIzC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAW,mBAAQ;;yCAEpC;wBA7FU,aAAa;IADzB,IAAA,uBAAQ,EAAC,mBAAQ,CAAC;GACN,aAAa,CA8FzB","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Not, IsNull } from 'typeorm'\n\nimport { User, Role } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { ScenarioEngine } from '../../engine'\nimport { ScenarioInstance, ScenarioInstanceStatus } from '../scenario-instance/scenario-instance-type'\nimport { Step } from '../step/step-type'\nimport { Scenario } from './scenario'\nimport { ScenarioList } from './scenario-type'\nimport { Connection } from '../connection/connection-type'\n\n@Resolver(Scenario)\nexport class ScenarioQuery {\n @Directive('@privilege(category: \"scenario\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => Scenario, { description: 'To fetch a scenario' })\n async scenario(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Scenario> {\n const { domain } = context.state\n\n const scenario = await getRepository(Scenario).findOne({ where: { id } })\n if (domain.id == scenario.domainId || domain.parentId == scenario.domainId) {\n return scenario\n }\n }\n\n @Directive('@privilege(category: \"scenario\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ScenarioList, { description: 'To fetch multiple scenarios' })\n async scenarios(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<ScenarioList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(Scenario),\n params,\n domain,\n searchables: ['name', 'description', 'type']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() scenario: Scenario) {\n return await getRepository(Domain).findOneBy({ id: scenario.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() scenario: Scenario): Promise<User> {\n return await getRepository(User).findOneBy({ id: scenario.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() scenario: Scenario): Promise<User> {\n return await getRepository(User).findOneBy({ id: scenario.creatorId })\n }\n\n @FieldResolver(type => [Step])\n async steps(@Root() scenario: Scenario, @Ctx() context: ResolverContext): Promise<Step[]> {\n const { domain } = context.state\n\n return await getRepository(Step).find({\n where: { domain: { id: domain.id }, scenario: { id: scenario.id } }\n })\n }\n\n @FieldResolver(type => [Connection])\n async connectionNames(@Root() scenario: Scenario, @Ctx() context: ResolverContext) {\n const { domain } = context.state\n\n const steps = await getRepository(Step).find({\n where: { domain: { id: domain.id }, scenario: { id: scenario.id }, connection: Not(IsNull()) }\n })\n\n return steps.map(step => step.connection).filter(Boolean)\n }\n\n @FieldResolver(type => [Connection])\n async publishTags(@Root() scenario: Scenario, @Ctx() context: ResolverContext) {\n const { domain } = context.state\n\n const steps = await getRepository(Step).find({\n where: { domain: { id: domain.id }, scenario: { id: scenario.id }, task: 'publish' }\n })\n\n return steps.map(step => JSON.parse(step.params)?.tag).filter(Boolean)\n }\n\n @FieldResolver(type => String, { nullable: true })\n async state(@Root() scenario: Scenario, @Ctx() context: ResolverContext): Promise<string> {\n const { domain } = context.state\n\n var instance = ScenarioEngine.getScenarioInstance(domain, scenario.name)\n return instance && ScenarioInstanceStatus[instance.context?.state]\n }\n\n @FieldResolver(type => [ScenarioInstance], { nullable: true })\n async instances(@Root() scenario: Scenario, @Ctx() context: ResolverContext): Promise<ScenarioInstance[]> {\n const { domain } = context.state\n\n return ScenarioEngine.getScenarioInstances(domain, scenario.name)\n }\n\n @FieldResolver(type => Role)\n async role(@Root() scenario: Scenario) {\n return scenario.roleId && (await getRepository(Role).findOneBy({ id: scenario.roleId }))\n }\n}\n"]}
@@ -0,0 +1,30 @@
1
+ import { ObjectRef } from '@things-factory/shell';
2
+ import { Scenario } from './scenario';
3
+ import { StepPatch } from '../step/step-type';
4
+ export declare class NewScenario {
5
+ name: string;
6
+ description?: string;
7
+ type?: string;
8
+ schedule?: string;
9
+ timezone?: string;
10
+ ttl?: number;
11
+ active?: boolean;
12
+ role?: ObjectRef;
13
+ }
14
+ export declare class ScenarioPatch {
15
+ id?: string;
16
+ name?: string;
17
+ description?: string;
18
+ type?: string;
19
+ schedule?: string;
20
+ timezone?: string;
21
+ ttl?: number;
22
+ active?: boolean;
23
+ steps?: StepPatch[];
24
+ role?: ObjectRef;
25
+ cuFlag?: string;
26
+ }
27
+ export declare class ScenarioList {
28
+ items: Scenario[];
29
+ total: number;
30
+ }