@things-factory/integration-base 7.0.0-alpha.8 → 7.0.0

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 (351) hide show
  1. package/dist-server/controllers/index.d.ts +1 -0
  2. package/dist-server/controllers/scenario-controller.d.ts +4 -0
  3. package/dist-server/controllers/scenario-controller.js +23 -7
  4. package/dist-server/controllers/scenario-controller.js.map +1 -1
  5. package/dist-server/engine/analyzer/analyze-integration.d.ts +5 -0
  6. package/dist-server/engine/analyzer/analyze-integration.js +1 -2
  7. package/dist-server/engine/analyzer/analyze-integration.js.map +1 -1
  8. package/dist-server/engine/connection-manager.d.ts +35 -0
  9. package/dist-server/engine/connection-manager.js +50 -13
  10. package/dist-server/engine/connection-manager.js.map +1 -1
  11. package/dist-server/engine/connector/echo-back-connector.d.ts +9 -0
  12. package/dist-server/engine/connector/echo-back-connector.js +1 -1
  13. package/dist-server/engine/connector/echo-back-connector.js.map +1 -1
  14. package/dist-server/engine/connector/echo-back-server.d.ts +8 -0
  15. package/dist-server/engine/connector/echo-back-server.js.map +1 -1
  16. package/dist-server/engine/connector/graphql-connector.d.ts +19 -0
  17. package/dist-server/engine/connector/graphql-connector.js +9 -9
  18. package/dist-server/engine/connector/graphql-connector.js.map +1 -1
  19. package/dist-server/engine/connector/http-connector.d.ts +25 -0
  20. package/dist-server/engine/connector/http-connector.js.map +1 -1
  21. package/dist-server/engine/connector/index.d.ts +12 -0
  22. package/dist-server/engine/connector/mqtt-connector.d.ts +14 -0
  23. package/dist-server/engine/connector/mqtt-connector.js +1 -1
  24. package/dist-server/engine/connector/mqtt-connector.js.map +1 -1
  25. package/dist-server/engine/connector/mssql-connector.d.ts +30 -0
  26. package/dist-server/engine/connector/mssql-connector.js +21 -5
  27. package/dist-server/engine/connector/mssql-connector.js.map +1 -1
  28. package/dist-server/engine/connector/mysql-connector.d.ts +13 -0
  29. package/dist-server/engine/connector/mysql-connector.js.map +1 -1
  30. package/dist-server/engine/connector/operato-connector.d.ts +27 -0
  31. package/dist-server/engine/connector/operato-connector.js +21 -24
  32. package/dist-server/engine/connector/operato-connector.js.map +1 -1
  33. package/dist-server/engine/connector/oracle-connector.d.ts +29 -0
  34. package/dist-server/engine/connector/oracle-connector.js +1 -1
  35. package/dist-server/engine/connector/oracle-connector.js.map +1 -1
  36. package/dist-server/engine/connector/postgresql-connector.d.ts +14 -0
  37. package/dist-server/engine/connector/postgresql-connector.js +2 -2
  38. package/dist-server/engine/connector/postgresql-connector.js.map +1 -1
  39. package/dist-server/engine/connector/proxy-connector.d.ts +15 -0
  40. package/dist-server/engine/connector/proxy-connector.js +44 -0
  41. package/dist-server/engine/connector/proxy-connector.js.map +1 -0
  42. package/dist-server/engine/connector/socket-server.d.ts +9 -0
  43. package/dist-server/engine/connector/socket-server.js +1 -1
  44. package/dist-server/engine/connector/socket-server.js.map +1 -1
  45. package/dist-server/engine/connector/sqlite-connector.d.ts +10 -0
  46. package/dist-server/engine/connector/sqlite-connector.js +2 -2
  47. package/dist-server/engine/connector/sqlite-connector.js.map +1 -1
  48. package/dist-server/engine/edge-client.d.ts +18 -0
  49. package/dist-server/engine/edge-client.js +37 -0
  50. package/dist-server/engine/edge-client.js.map +1 -0
  51. package/dist-server/engine/index.d.ts +8 -0
  52. package/dist-server/engine/index.js +1 -0
  53. package/dist-server/engine/index.js.map +1 -1
  54. package/dist-server/engine/pending-queue.d.ts +24 -0
  55. package/dist-server/engine/pending-queue.js.map +1 -1
  56. package/dist-server/engine/scenario-engine.d.ts +11 -0
  57. package/dist-server/engine/scenario-engine.js.map +1 -1
  58. package/dist-server/engine/task/book-up-scenario.d.ts +1 -0
  59. package/dist-server/engine/task/csv-readline.d.ts +1 -0
  60. package/dist-server/engine/task/csv-readline.js.map +1 -1
  61. package/dist-server/engine/task/data-accessor.d.ts +1 -0
  62. package/dist-server/engine/task/data-mapper.d.ts +1 -0
  63. package/dist-server/engine/task/data-mapper.js.map +1 -1
  64. package/dist-server/engine/task/database-query.d.ts +1 -0
  65. package/dist-server/engine/task/database-query.js +21 -12
  66. package/dist-server/engine/task/database-query.js.map +1 -1
  67. package/dist-server/engine/task/echo-receive.d.ts +1 -0
  68. package/dist-server/engine/task/echo-send.d.ts +1 -0
  69. package/dist-server/engine/task/echo-send.js.map +1 -1
  70. package/dist-server/engine/task/empty-check.d.ts +1 -0
  71. package/dist-server/engine/task/empty-check.js.map +1 -1
  72. package/dist-server/engine/task/end.d.ts +1 -0
  73. package/dist-server/engine/task/floating-point.d.ts +1 -0
  74. package/dist-server/engine/task/floating-point.js.map +1 -1
  75. package/dist-server/engine/task/goto.d.ts +1 -0
  76. package/dist-server/engine/task/graphql-mutate.d.ts +1 -0
  77. package/dist-server/engine/task/graphql-mutate.js +23 -12
  78. package/dist-server/engine/task/graphql-mutate.js.map +1 -1
  79. package/dist-server/engine/task/graphql-query.d.ts +1 -0
  80. package/dist-server/engine/task/graphql-query.js +23 -12
  81. package/dist-server/engine/task/graphql-query.js.map +1 -1
  82. package/dist-server/engine/task/headless-post.d.ts +1 -0
  83. package/dist-server/engine/task/headless-post.js.map +1 -1
  84. package/dist-server/engine/task/headless-scrap.d.ts +1 -0
  85. package/dist-server/engine/task/headless-scrap.js.map +1 -1
  86. package/dist-server/engine/task/http-get.d.ts +1 -0
  87. package/dist-server/engine/task/http-get.js +28 -12
  88. package/dist-server/engine/task/http-get.js.map +1 -1
  89. package/dist-server/engine/task/http-post.d.ts +1 -0
  90. package/dist-server/engine/task/http-post.js +22 -11
  91. package/dist-server/engine/task/http-post.js.map +1 -1
  92. package/dist-server/engine/task/index.d.ts +43 -0
  93. package/dist-server/engine/task/jsonata.d.ts +1 -0
  94. package/dist-server/engine/task/jsonata.js +5 -1
  95. package/dist-server/engine/task/jsonata.js.map +1 -1
  96. package/dist-server/engine/task/local-graphql-mutate.d.ts +1 -0
  97. package/dist-server/engine/task/local-graphql-mutate.js +23 -11
  98. package/dist-server/engine/task/local-graphql-mutate.js.map +1 -1
  99. package/dist-server/engine/task/local-graphql-query.d.ts +1 -0
  100. package/dist-server/engine/task/local-graphql-query.js +23 -11
  101. package/dist-server/engine/task/local-graphql-query.js.map +1 -1
  102. package/dist-server/engine/task/log.d.ts +1 -0
  103. package/dist-server/engine/task/log.js +15 -11
  104. package/dist-server/engine/task/log.js.map +1 -1
  105. package/dist-server/engine/task/mqtt-publish.d.ts +1 -0
  106. package/dist-server/engine/task/mqtt-publish.js.map +1 -1
  107. package/dist-server/engine/task/mqtt-subscribe.d.ts +1 -0
  108. package/dist-server/engine/task/mqtt-subscribe.js.map +1 -1
  109. package/dist-server/engine/task/oracle-procedure.d.ts +1 -0
  110. package/dist-server/engine/task/oracle-procedure.js +19 -13
  111. package/dist-server/engine/task/oracle-procedure.js.map +1 -1
  112. package/dist-server/engine/task/pick-pending-scenario.d.ts +1 -0
  113. package/dist-server/engine/task/pick-pending-scenario.js.map +1 -1
  114. package/dist-server/engine/task/publish.d.ts +1 -0
  115. package/dist-server/engine/task/publish.js.map +1 -1
  116. package/dist-server/engine/task/random.d.ts +1 -0
  117. package/dist-server/engine/task/reset-pending-queue.d.ts +1 -0
  118. package/dist-server/engine/task/script.d.ts +1 -0
  119. package/dist-server/engine/task/script.js +35 -18
  120. package/dist-server/engine/task/script.js.map +1 -1
  121. package/dist-server/engine/task/set-domain.d.ts +1 -0
  122. package/dist-server/engine/task/set-domain.js.map +1 -1
  123. package/dist-server/engine/task/sleep.d.ts +1 -0
  124. package/dist-server/engine/task/sleep.js.map +1 -1
  125. package/dist-server/engine/task/socket-listener.d.ts +1 -0
  126. package/dist-server/engine/task/socket-listener.js.map +1 -1
  127. package/dist-server/engine/task/state-read.d.ts +1 -0
  128. package/dist-server/engine/task/state-read.js.map +1 -1
  129. package/dist-server/engine/task/state-write.d.ts +1 -0
  130. package/dist-server/engine/task/state-write.js.map +1 -1
  131. package/dist-server/engine/task/stop-scenario.d.ts +1 -0
  132. package/dist-server/engine/task/sub-scenario.d.ts +1 -0
  133. package/dist-server/engine/task/switch-goto.d.ts +1 -0
  134. package/dist-server/engine/task/switch-range-goto.d.ts +1 -0
  135. package/dist-server/engine/task/switch-range-goto.js.map +1 -1
  136. package/dist-server/engine/task/switch-range-scenario.d.ts +1 -0
  137. package/dist-server/engine/task/switch-range-scenario.js.map +1 -1
  138. package/dist-server/engine/task/switch-range-set.d.ts +1 -0
  139. package/dist-server/engine/task/switch-range-set.js.map +1 -1
  140. package/dist-server/engine/task/switch-scenario.d.ts +1 -0
  141. package/dist-server/engine/task/switch-set.d.ts +1 -0
  142. package/dist-server/engine/task/throw.d.ts +1 -0
  143. package/dist-server/engine/task/utils/headless-pool-for-scenario.d.ts +1 -0
  144. package/dist-server/engine/task/utils/headless-pool-for-scenario.js +1 -2
  145. package/dist-server/engine/task/utils/headless-pool-for-scenario.js.map +1 -1
  146. package/dist-server/engine/task/utils/substitute.d.ts +1 -0
  147. package/dist-server/engine/task/utils/substitute.js +1 -2
  148. package/dist-server/engine/task/utils/substitute.js.map +1 -1
  149. package/dist-server/engine/task/variables.d.ts +1 -0
  150. package/dist-server/engine/task-registry.d.ts +12 -0
  151. package/dist-server/engine/types.d.ts +94 -0
  152. package/dist-server/engine/types.js.map +1 -1
  153. package/dist-server/index.d.ts +6 -0
  154. package/dist-server/index.js +1 -2
  155. package/dist-server/index.js.map +1 -1
  156. package/dist-server/migrations/index.d.ts +1 -0
  157. package/dist-server/restful/index.d.ts +1 -0
  158. package/dist-server/restful/unstable/index.d.ts +7 -0
  159. package/dist-server/restful/unstable/run-scenario.d.ts +1 -0
  160. package/dist-server/restful/unstable/run-scenario.js +0 -1
  161. package/dist-server/restful/unstable/run-scenario.js.map +1 -1
  162. package/dist-server/restful/unstable/scenario-instance.d.ts +1 -0
  163. package/dist-server/restful/unstable/scenario-instances.d.ts +1 -0
  164. package/dist-server/restful/unstable/scenario.d.ts +1 -0
  165. package/dist-server/restful/unstable/scenarios.d.ts +1 -0
  166. package/dist-server/restful/unstable/start-scenario.d.ts +1 -0
  167. package/dist-server/restful/unstable/stop-scenario.d.ts +1 -0
  168. package/dist-server/routers/scenario-schedule-callback-router.d.ts +1 -0
  169. package/dist-server/routers/scenario-schedule-callback-router.js +2 -3
  170. package/dist-server/routers/scenario-schedule-callback-router.js.map +1 -1
  171. package/dist-server/routers/scenario-view-router.d.ts +1 -0
  172. package/dist-server/routers/scenario-view-router.js.map +1 -1
  173. package/dist-server/routes.d.ts +1 -0
  174. package/dist-server/routes.js.map +1 -1
  175. package/dist-server/service/analysis/analysis-query.d.ts +3 -0
  176. package/dist-server/service/analysis/analysis-query.js +2 -2
  177. package/dist-server/service/analysis/analysis-query.js.map +1 -1
  178. package/dist-server/service/analysis/index.d.ts +2 -0
  179. package/dist-server/service/connection/connection-mutation.d.ts +30 -0
  180. package/dist-server/service/connection/connection-mutation.js +6 -10
  181. package/dist-server/service/connection/connection-mutation.js.map +1 -1
  182. package/dist-server/service/connection/connection-query.d.ts +12 -0
  183. package/dist-server/service/connection/connection-query.js +18 -11
  184. package/dist-server/service/connection/connection-query.js.map +1 -1
  185. package/dist-server/service/connection/connection-subscription.d.ts +10 -0
  186. package/dist-server/service/connection/connection-subscription.js +3 -3
  187. package/dist-server/service/connection/connection-subscription.js.map +1 -1
  188. package/dist-server/service/connection/connection-type.d.ts +133 -0
  189. package/dist-server/service/connection/connection-type.js +45 -21
  190. package/dist-server/service/connection/connection-type.js.map +1 -1
  191. package/dist-server/service/connection/index.d.ts +6 -0
  192. package/dist-server/service/connector/connector-query.d.ts +6 -0
  193. package/dist-server/service/connector/connector-query.js +2 -2
  194. package/dist-server/service/connector/connector-query.js.map +1 -1
  195. package/dist-server/service/connector/connector-type.d.ts +12 -0
  196. package/dist-server/service/connector/connector-type.js +4 -4
  197. package/dist-server/service/connector/connector-type.js.map +1 -1
  198. package/dist-server/service/connector/index.d.ts +3 -0
  199. package/dist-server/service/index.d.ts +17 -0
  200. package/dist-server/service/payload-log/index.d.ts +5 -0
  201. package/dist-server/service/payload-log/payload-log-mutation.d.ts +10 -0
  202. package/dist-server/service/payload-log/payload-log-mutation.js +5 -5
  203. package/dist-server/service/payload-log/payload-log-mutation.js.map +1 -1
  204. package/dist-server/service/payload-log/payload-log-query.d.ts +11 -0
  205. package/dist-server/service/payload-log/payload-log-query.js +3 -3
  206. package/dist-server/service/payload-log/payload-log-query.js.map +1 -1
  207. package/dist-server/service/payload-log/payload-log-type.d.ts +15 -0
  208. package/dist-server/service/payload-log/payload-log-type.js +6 -6
  209. package/dist-server/service/payload-log/payload-log-type.js.map +1 -1
  210. package/dist-server/service/payload-log/payload-log.d.ts +23 -0
  211. package/dist-server/service/payload-log/payload-log.js +6 -6
  212. package/dist-server/service/payload-log/payload-log.js.map +1 -1
  213. package/dist-server/service/property-spec.d.ts +12 -0
  214. package/dist-server/service/property-spec.js +6 -2
  215. package/dist-server/service/property-spec.js.map +1 -1
  216. package/dist-server/service/scenario/index.d.ts +5 -0
  217. package/dist-server/service/scenario/scenario-mutation.d.ts +13 -0
  218. package/dist-server/service/scenario/scenario-mutation.js +3 -3
  219. package/dist-server/service/scenario/scenario-mutation.js.map +1 -1
  220. package/dist-server/service/scenario/scenario-query.d.ts +18 -0
  221. package/dist-server/service/scenario/scenario-query.js +3 -3
  222. package/dist-server/service/scenario/scenario-query.js.map +1 -1
  223. package/dist-server/service/scenario/scenario-type.d.ts +30 -0
  224. package/dist-server/service/scenario/scenario-type.js +14 -6
  225. package/dist-server/service/scenario/scenario-type.js.map +1 -1
  226. package/dist-server/service/scenario/scenario.d.ts +36 -0
  227. package/dist-server/service/scenario/scenario.js +18 -9
  228. package/dist-server/service/scenario/scenario.js.map +1 -1
  229. package/dist-server/service/scenario-flow/scenario-flow.d.ts +6 -0
  230. package/dist-server/service/scenario-flow/scenario-flow.js +2 -2
  231. package/dist-server/service/scenario-flow/scenario-flow.js.map +1 -1
  232. package/dist-server/service/scenario-instance/index.d.ts +5 -0
  233. package/dist-server/service/scenario-instance/scenario-instance-mutation.d.ts +6 -0
  234. package/dist-server/service/scenario-instance/scenario-instance-mutation.js +3 -3
  235. package/dist-server/service/scenario-instance/scenario-instance-mutation.js.map +1 -1
  236. package/dist-server/service/scenario-instance/scenario-instance-query.d.ts +6 -0
  237. package/dist-server/service/scenario-instance/scenario-instance-query.js +3 -67
  238. package/dist-server/service/scenario-instance/scenario-instance-query.js.map +1 -1
  239. package/dist-server/service/scenario-instance/scenario-instance-subscription.d.ts +10 -0
  240. package/dist-server/service/scenario-instance/scenario-instance-subscription.js +2 -2
  241. package/dist-server/service/scenario-instance/scenario-instance-subscription.js.map +1 -1
  242. package/dist-server/service/scenario-instance/scenario-instance-type.d.ts +102 -0
  243. package/dist-server/service/scenario-instance/scenario-instance-type.js +127 -33
  244. package/dist-server/service/scenario-instance/scenario-instance-type.js.map +1 -1
  245. package/dist-server/service/scenario-queue/index.d.ts +3 -0
  246. package/dist-server/service/scenario-queue/scenario-queue-subscription.d.ts +6 -0
  247. package/dist-server/service/scenario-queue/scenario-queue-subscription.js +2 -2
  248. package/dist-server/service/scenario-queue/scenario-queue-subscription.js.map +1 -1
  249. package/dist-server/service/scenario-queue/scenario-queue-type.d.ts +11 -0
  250. package/dist-server/service/scenario-queue/scenario-queue-type.js +4 -4
  251. package/dist-server/service/scenario-queue/scenario-queue-type.js.map +1 -1
  252. package/dist-server/service/state-register/index.d.ts +6 -0
  253. package/dist-server/service/state-register/state-register-mutation.d.ts +11 -0
  254. package/dist-server/service/state-register/state-register-mutation.js +2 -2
  255. package/dist-server/service/state-register/state-register-mutation.js.map +1 -1
  256. package/dist-server/service/state-register/state-register-query.d.ts +14 -0
  257. package/dist-server/service/state-register/state-register-query.js +3 -3
  258. package/dist-server/service/state-register/state-register-query.js.map +1 -1
  259. package/dist-server/service/state-register/state-register-type.d.ts +23 -0
  260. package/dist-server/service/state-register/state-register-type.js +6 -6
  261. package/dist-server/service/state-register/state-register-type.js.map +1 -1
  262. package/dist-server/service/state-register/state-register.d.ts +22 -0
  263. package/dist-server/service/state-register/state-register.js +3 -3
  264. package/dist-server/service/state-register/state-register.js.map +1 -1
  265. package/dist-server/service/step/index.d.ts +5 -0
  266. package/dist-server/service/step/step-mutation.d.ts +5 -0
  267. package/dist-server/service/step/step-mutation.js +2 -2
  268. package/dist-server/service/step/step-mutation.js.map +1 -1
  269. package/dist-server/service/step/step-query.d.ts +12 -0
  270. package/dist-server/service/step/step-query.js +3 -3
  271. package/dist-server/service/step/step-query.js.map +1 -1
  272. package/dist-server/service/step/step-type.d.ts +111 -0
  273. package/dist-server/service/step/step-type.js +25 -22
  274. package/dist-server/service/step/step-type.js.map +1 -1
  275. package/dist-server/service/task-type/index.d.ts +3 -0
  276. package/dist-server/service/task-type/task-type-query.d.ts +6 -0
  277. package/dist-server/service/task-type/task-type-query.js +2 -2
  278. package/dist-server/service/task-type/task-type-query.js.map +1 -1
  279. package/dist-server/service/task-type/task-type-type.d.ts +12 -0
  280. package/dist-server/service/task-type/task-type-type.js +4 -4
  281. package/dist-server/service/task-type/task-type-type.js.map +1 -1
  282. package/dist-server/tsconfig.tsbuildinfo +1 -1
  283. package/helps/integration/concept/script-internal-variables.ja.md +21 -1
  284. package/helps/integration/concept/script-internal-variables.ko.md +17 -0
  285. package/helps/integration/concept/script-internal-variables.md +18 -0
  286. package/helps/integration/concept/script-internal-variables.ms.md +19 -1
  287. package/helps/integration/concept/script-internal-variables.zh.md +18 -0
  288. package/helps/integration/connector/mssql-connector.ja.md +13 -9
  289. package/helps/integration/connector/mssql-connector.ko.md +13 -9
  290. package/helps/integration/connector/mssql-connector.md +13 -9
  291. package/helps/integration/connector/mssql-connector.ms.md +13 -9
  292. package/helps/integration/connector/mssql-connector.zh.md +13 -9
  293. package/helps/integration/connector/operato-connector.ja.md +0 -3
  294. package/helps/integration/task/script.ja.md +1 -1
  295. package/helps/integration/task/script.ko.md +1 -1
  296. package/helps/integration/task/script.md +1 -1
  297. package/helps/integration/task/script.ms.md +1 -1
  298. package/helps/integration/task/script.zh.md +1 -1
  299. package/package.json +12 -11
  300. package/server/controllers/scenario-controller.ts +60 -11
  301. package/server/engine/connection-manager.ts +63 -14
  302. package/server/engine/connector/echo-back-connector.ts +2 -1
  303. package/server/engine/connector/graphql-connector.ts +12 -9
  304. package/server/engine/connector/mqtt-connector.ts +2 -1
  305. package/server/engine/connector/mssql-connector.ts +21 -5
  306. package/server/engine/connector/operato-connector.ts +22 -26
  307. package/server/engine/connector/oracle-connector.ts +5 -8
  308. package/server/engine/connector/postgresql-connector.ts +3 -2
  309. package/server/engine/connector/proxy-connector.ts +53 -0
  310. package/server/engine/connector/socket-server.ts +1 -1
  311. package/server/engine/connector/sqlite-connector.ts +2 -5
  312. package/server/engine/edge-client.ts +45 -0
  313. package/server/engine/index.ts +2 -1
  314. package/server/engine/task/database-query.ts +21 -12
  315. package/server/engine/task/graphql-mutate.ts +23 -13
  316. package/server/engine/task/graphql-query.ts +22 -13
  317. package/server/engine/task/http-get.ts +26 -12
  318. package/server/engine/task/http-post.ts +22 -11
  319. package/server/engine/task/jsonata.ts +5 -1
  320. package/server/engine/task/local-graphql-mutate.ts +23 -13
  321. package/server/engine/task/local-graphql-query.ts +23 -11
  322. package/server/engine/task/log.ts +14 -11
  323. package/server/engine/task/oracle-procedure.ts +24 -18
  324. package/server/engine/task/script.ts +33 -18
  325. package/server/engine/types.ts +47 -48
  326. package/server/index.ts +1 -2
  327. package/server/restful/unstable/run-scenario.ts +0 -1
  328. package/server/routers/scenario-schedule-callback-router.ts +2 -2
  329. package/server/service/connection/connection-mutation.ts +9 -29
  330. package/server/service/connection/connection-query.ts +17 -7
  331. package/server/service/connection/connection-subscription.ts +1 -1
  332. package/server/service/connection/connection-type.ts +53 -32
  333. package/server/service/payload-log/payload-log-mutation.ts +1 -1
  334. package/server/service/payload-log/payload-log-query.ts +4 -1
  335. package/server/service/payload-log/payload-log.ts +5 -5
  336. package/server/service/property-spec.ts +3 -0
  337. package/server/service/scenario/scenario-query.ts +1 -1
  338. package/server/service/scenario/scenario-type.ts +6 -0
  339. package/server/service/scenario/scenario.ts +26 -7
  340. package/server/service/scenario-instance/scenario-instance-mutation.ts +7 -4
  341. package/server/service/scenario-instance/scenario-instance-query.ts +4 -30
  342. package/server/service/scenario-instance/scenario-instance-type.ts +105 -19
  343. package/server/service/state-register/state-register-query.ts +4 -1
  344. package/server/service/state-register/state-register.ts +1 -1
  345. package/server/service/step/step-query.ts +1 -1
  346. package/server/service/step/step-type.ts +81 -79
  347. package/translations/en.json +4 -1
  348. package/translations/ja.json +4 -1
  349. package/translations/ko.json +4 -1
  350. package/translations/ms.json +4 -1
  351. package/translations/zh.json +4 -1
@@ -17,8 +17,28 @@
17
17
  - email: ユーザーの電子メール
18
18
  - userType: ユーザータイプ
19
19
 
20
- - lng: シナリオを開始するユーザーのブラウザで使用されている言語(例:en-US、ko-KR など)。 ユーザーのブラウザを介さないリクエストを処理する場合、この組み込み変数は提供されない場合があります。
20
+ - lng: シナリオを開始するユーザーのブラウザで使用されている言語(例:en-US、ko-KR など)。
21
+
22
+ - ユーザーのブラウザを介さないリクエストを処理する場合、この組み込み変数は提供されない場合があります。
21
23
 
22
24
  - variables: シナリオ呼び出し時に呼び出し元から受け取るオブジェクト。
23
25
 
24
26
  - data: シナリオの実行中に生成された各ステップの結果データ。
27
+
28
+ - logger (only for script):スクリプト内で必要に応じてログを残すことができる
29
+ - ログレベル:info, warn, error
30
+
31
+ ```javascript
32
+ // 組み込み変数と変数の使用例
33
+ const username = user ? user.name : '不明なユーザー'
34
+ const companyName = domain ? domain.name : '不明な会社'
35
+
36
+ // info レベルのログを残す例(組み込み変数と変数を使用)
37
+ logger.info(`ユーザー '${username}' が '${companyName}' からシステムにアクセスしました。`)
38
+
39
+ // warn レベルのログを残す例(組み込み変数と変数を使用)
40
+ logger.warn(`ユーザー '${username}' が許可されていない操作を試みました。`)
41
+
42
+ // error レベルのログを残す例(組み込み変数と変数を使用)
43
+ logger.error(`ユーザー '${username}' のデータ処理中にエラーが発生しました。`)
44
+ ```
@@ -16,3 +16,20 @@
16
16
  - 사용자 브라우저를 통하지 않은 요청을 처리할 때에는 이 내장변수가 제공되지 않을 수 있다.
17
17
  - variables : 시나리오 호출 시점에 호출자로부터 전달받은 오브젝트
18
18
  - data: 시나리오 실행과정에 생성된 각 스텝의 결과 데이타
19
+ - logger: 스크립트 내에서 필요시 로그를 남길 수 있도록 제공된다
20
+ - log levels : info, warn, error
21
+
22
+ ```javascript
23
+ // 내장 변수와 변수 사용 예시
24
+ const username = user ? user.name : 'Unknown User'
25
+ const companyName = domain ? domain.name : 'Unknown Company'
26
+
27
+ // info 레벨의 로그를 남기는 예시 (내장 변수 및 변수 사용)
28
+ logger.info(`User '${username}' from '${companyName}' accessed the system.`)
29
+
30
+ // warn 레벨의 로그를 남기는 예시 (내장 변수 및 변수 사용)
31
+ logger.warn(`User '${username}' attempted an unauthorized action.`)
32
+
33
+ // error 레벨의 로그를 남기는 예시 (내장 변수 및 변수 사용)
34
+ logger.error(`An error occurred while processing data for user '${username}'.`)
35
+ ```
@@ -22,3 +22,21 @@ In script-type task properties (Script, SQL, GraphQL Query/Mutation, Log, etc.),
22
22
  - variables: An object received from the caller at the time of scenario invocation.
23
23
 
24
24
  - data: Results data generated for each step during scenario execution.
25
+
26
+ - logger (only for script): Provided to leave logs as needed within the script
27
+ - log levels: info, warn, error
28
+
29
+ ```javascript
30
+ // Example of using built-in variables and variables
31
+ const username = user ? user.name : 'Unknown User'
32
+ const companyName = domain ? domain.name : 'Unknown Company'
33
+
34
+ // Example of leaving a log at the info level (using built-in variables and variables)
35
+ logger.info(`User '${username}' from '${companyName}' accessed the system.`)
36
+
37
+ // Example of leaving a log at the warn level (using built-in variables and variables)
38
+ logger.warn(`User '${username}' attempted an unauthorized action.`)
39
+
40
+ // Example of leaving a log at the error level (using built-in variables and variables)
41
+ logger.error(`An error occurred while processing data for user '${username}'.`)
42
+ ```
@@ -17,4 +17,22 @@ Dalam sifat tugas jenis skrip (Skrip, SQL, Pertanyaan/Mutasi GraphQL, Log, dsb.)
17
17
  - email: E-mel pengguna
18
18
  - userType: Jenis pengguna
19
19
 
20
- - lng: Bahasa yang digunakan oleh pelayar pengguna ketika memulakan senario (contohnya, en-US, ko
20
+ - lng: Bahasa yang digunakan oleh pelayar pengguna ketika memulakan senario (contohnya, en-US, ko-KR)
21
+
22
+ - logger (only for script): menyediakan kemampuan untuk meninggalkan log apabila diperlukan dalam skrip
23
+ - tahap log: info, warn, error
24
+
25
+ ```javascript
26
+ // contoh penggunaan variable bawaan dan variable
27
+ const username = user ? user.name : 'Pengguna Tidak Diketahui'
28
+ const companyName = domain ? domain.name : 'Syarikat Tidak Diketahui'
29
+
30
+ // contoh meninggalkan log tahap info (menggunakan variable bawaan dan variable)
31
+ logger.info(`Pengguna '${username}' dari '${companyName}' mengakses sistem.`)
32
+
33
+ // contoh meninggalkan log tahap warn (menggunakan variable bawaan dan variable)
34
+ logger.warn(`Pengguna '${username}' mencuba tindakan yang tidak dibenarkan.`)
35
+
36
+ // contoh meninggalkan log tahap error (menggunakan variable bawaan dan variable)
37
+ logger.error(`Terjadi kesalahan semasa memproses data untuk pengguna '${username}'.`)
38
+ ```
@@ -22,3 +22,21 @@
22
22
  - variables: 在方案调用时从调用者那里接收的对象
23
23
 
24
24
  - data: 在方案执行过程中生成的每个步骤的结果数据
25
+
26
+ - logger(only for script):在脚本中需要时可以留下日志
27
+ - 日志级别:info, warn, error
28
+
29
+ ```javascript
30
+ // 内置变量和变量使用示例
31
+ const username = user ? user.name : '未知用户'
32
+ const companyName = domain ? domain.name : '未知公司'
33
+
34
+ // 记录 info 级别日志的示例(使用内置变量和变量)
35
+ logger.info(`用户 '${username}' 从 '${companyName}' 访问了系统。`)
36
+
37
+ // 记录 warn 级别日志的示例(使用内置变量和变量)
38
+ logger.warn(`用户 '${username}' 尝试了未授权的操作。`)
39
+
40
+ // 记录 error 级别日志的示例(使用内置变量和变量)
41
+ logger.error(`处理用户 '${username}' 的数据时发生错误。`)
42
+ ```
@@ -1,33 +1,33 @@
1
- # MSSqlコネクタ
1
+ # MS-SQLコネクタ
2
2
 
3
- ## MSSqlとは
3
+ ## MS-SQLとは
4
4
 
5
- [MSSql](https://www.microsoft.com/sql-server)はMicrosoft SQL Serverです。
5
+ [MS-SQL](https://www.microsoft.com/sql-server)はMicrosoft SQL Serverです。
6
6
 
7
7
  ## 設定
8
8
 
9
9
  ### エンドポイント
10
10
 
11
- MSSqlエンジンのホスト名とサービスポート
11
+ MS-SQLエンジンのホスト名とサービスポート
12
12
 
13
13
  - ホスト名:データベースサーバーホスト
14
- - サービスポート:データベースサービスポート(デフォルト - 5432
14
+ - サービスポート:データベースサービスポート(デフォルト - 1433
15
15
  - フォーマット
16
16
  - {ホスト名}[:{ポート}]
17
17
  - 例
18
- - "localhost:5432"
18
+ - "localhost:1433"
19
19
  - "localhost"
20
- - "192.168.0.1:5432"
20
+ - "192.168.0.1:1433"
21
21
 
22
22
  ## パラメーター
23
23
 
24
24
  ### ユーザー
25
25
 
26
- - MSSqlデータベースのユーザーID
26
+ - MS-SQLデータベースのユーザーID
27
27
 
28
28
  ### パスワード
29
29
 
30
- - MSSqlデータベースのユーザーパスワード
30
+ - MS-SQLデータベースのユーザーパスワード
31
31
 
32
32
  ### データベース
33
33
 
@@ -36,3 +36,7 @@ MSSqlエンジンのホスト名とサービスポート
36
36
  ### 暗号化
37
37
 
38
38
  - 暗号化された接続
39
+
40
+ ### サーバー証明書の信頼性
41
+
42
+ - MS-SQL サーバーにインストールされた SSL/TLS 証明書が自己署名証明書であっても信頼できるかどうか
@@ -1,33 +1,33 @@
1
- # mssql 커넥터
1
+ # MS-SQL 커넥터
2
2
 
3
- ## mssql
3
+ ## MS-SQL
4
4
 
5
- [mssql](https://www.microsoft.com/sql-server)은 Microsoft SQL Server입니다.
5
+ [MS-SQL](https://www.microsoft.com/sql-server)은 Microsoft SQL Server입니다.
6
6
 
7
7
  ## 설정
8
8
 
9
9
  ### 엔드포인트
10
10
 
11
- mssql 엔진 호스트 이름과 서비스 포트
11
+ MS-SQL 엔진 호스트 이름과 서비스 포트
12
12
 
13
13
  - 호스트 이름 : 데이터베이스 서버 호스트
14
- - 서비스 포트 : 데이터베이스 서비스 포트 (기본값 - 5432)
14
+ - 서비스 포트 : 데이터베이스 서비스 포트 (기본값 - 1433)
15
15
  - 형식
16
16
  - {호스트 이름}[:{포트}]
17
17
  - 예시
18
- - "localhost:5432"
18
+ - "localhost:1433"
19
19
  - "localhost"
20
- - "192.168.0.1:5432"
20
+ - "192.168.0.1:1433"
21
21
 
22
22
  ## 매개변수
23
23
 
24
24
  ### 사용자
25
25
 
26
- - mssql 데이터베이스의 사용자 ID
26
+ - MS-SQL 데이터베이스의 사용자 ID
27
27
 
28
28
  ### 비밀번호
29
29
 
30
- - mssql 데이터베이스의 사용자 비밀번호
30
+ - MS-SQL 데이터베이스의 사용자 비밀번호
31
31
 
32
32
  ### 데이터베이스
33
33
 
@@ -36,3 +36,7 @@ mssql 엔진 호스트 이름과 서비스 포트
36
36
  ### 암호화
37
37
 
38
38
  - 암호화된 연결
39
+
40
+ ### 서버 인증서 신뢰
41
+
42
+ - MS-SQL 서버에 설치된 SSL/TLS 인증서가 self-signed certificate 이더라도 신뢰할 지 여부
@@ -1,33 +1,33 @@
1
- # MSSql connector
1
+ # MS-SQL connector
2
2
 
3
- ## MSSql is
3
+ ## MS-SQL is
4
4
 
5
- [MSSql](https://www.microsoft.com/sql-server) is Microsoft SQL Server
5
+ [MS-SQL](https://www.microsoft.com/sql-server) is Microsoft SQL Server
6
6
 
7
7
  ## Setting
8
8
 
9
9
  ### endpoint
10
10
 
11
- MSSql engine hostname and service port
11
+ MS-SQL engine hostname and service port
12
12
 
13
13
  - hostname : database server host
14
- - service port : database service port (default - 5432)
14
+ - service port : database service port (default - 1433)
15
15
  - format
16
16
  - {hostname}[:{port}]
17
17
  - eg.
18
- - "localhost:5432"
18
+ - "localhost:1433"
19
19
  - "localhost"
20
- - "192.168.0.1:5432"
20
+ - "192.168.0.1:1433"
21
21
 
22
22
  ## Parameters
23
23
 
24
24
  ### user
25
25
 
26
- - user id for MSSql database
26
+ - user id for MS-SQL database
27
27
 
28
28
  ### password
29
29
 
30
- - user password for MSSql database
30
+ - user password for MS-SQL database
31
31
 
32
32
  ### database
33
33
 
@@ -36,3 +36,7 @@ MSSql engine hostname and service port
36
36
  ### encrypt
37
37
 
38
38
  - encrypted connection
39
+
40
+ ### trust server certificate
41
+
42
+ - whether the SSL/TLS certificate installed on the MS-SQL server is trustworthy, even if it is a self-signed certificate
@@ -1,33 +1,33 @@
1
- # Penyambung MSSql
1
+ # Penyambung MS-SQL
2
2
 
3
- ## MSSql adalah
3
+ ## MS-SQL adalah
4
4
 
5
- [MSSql](https://www.microsoft.com/sql-server) adalah Microsoft SQL Server
5
+ [MS-SQL](https://www.microsoft.com/sql-server) adalah Microsoft SQL Server
6
6
 
7
7
  ## Tetapan
8
8
 
9
9
  ### titik akhir
10
10
 
11
- Nama hos dan port perkhidmatan enjin MSSql
11
+ Nama hos dan port perkhidmatan enjin MS-SQL
12
12
 
13
13
  - nama hos : hos pelayan pangkalan data
14
- - port perkhidmatan : port perkhidmatan pangkalan data (lalai - 5432)
14
+ - port perkhidmatan : port perkhidmatan pangkalan data (lalai - 1433)
15
15
  - format
16
16
  - {nama hos}[:{port}]
17
17
  - contoh
18
- - "localhost:5432"
18
+ - "localhost:1433"
19
19
  - "localhost"
20
- - "192.168.0.1:5432"
20
+ - "192.168.0.1:1433"
21
21
 
22
22
  ## Parameter
23
23
 
24
24
  ### pengguna
25
25
 
26
- - ID pengguna untuk pangkalan data MSSql
26
+ - ID pengguna untuk pangkalan data MS-SQL
27
27
 
28
28
  ### kata laluan
29
29
 
30
- - Kata laluan pengguna untuk pangkalan data MSSql
30
+ - Kata laluan pengguna untuk pangkalan data MS-SQL
31
31
 
32
32
  ### pangkalan data
33
33
 
@@ -36,3 +36,7 @@ Nama hos dan port perkhidmatan enjin MSSql
36
36
  ### enkripsi
37
37
 
38
38
  - Sambungan terenkripsi
39
+
40
+ ### kepercayaan sijil pelayan
41
+
42
+ - adakah sijil SSL/TLS yang dipasang di pelayan MS-SQL boleh dipercayai walaupun ia sijil yang ditandatangani sendiri
@@ -1,33 +1,33 @@
1
- # MSSql连接器
1
+ # MS-SQL连接器
2
2
 
3
- ## MSSql是什么
3
+ ## MS-SQL是什么
4
4
 
5
- [MSSql](https://www.microsoft.com/sql-server)是Microsoft SQL Server
5
+ [MS-SQL](https://www.microsoft.com/sql-server)是Microsoft SQL Server
6
6
 
7
7
  ## 设置
8
8
 
9
9
  ### 终端点
10
10
 
11
- MSSql引擎主机名和服务端口
11
+ MS-SQL引擎主机名和服务端口
12
12
 
13
13
  - 主机名:数据库服务器主机
14
- - 服务端口:数据库服务端口(默认 - 5432
14
+ - 服务端口:数据库服务端口(默认 - 1433
15
15
  - 格式
16
16
  - {主机名}[:{端口}]
17
17
  - 例如
18
- - "localhost:5432"
18
+ - "localhost:1433"
19
19
  - "localhost"
20
- - "192.168.0.1:5432"
20
+ - "192.168.0.1:1433"
21
21
 
22
22
  ## 参数
23
23
 
24
24
  ### 用户
25
25
 
26
- - MSSql数据库的用户ID
26
+ - MS-SQL数据库的用户ID
27
27
 
28
28
  ### 密码
29
29
 
30
- - MSSql数据库的用户密码
30
+ - MS-SQL数据库的用户密码
31
31
 
32
32
  ### 数据库
33
33
 
@@ -36,3 +36,7 @@ MSSql引擎主机名和服务端口
36
36
  ### 加密
37
37
 
38
38
  - 加密连接
39
+
40
+ ### 服务器证书信任
41
+
42
+ - MS-SQL 服务器安装的 SSL/TLS 证书是否值得信赖,即使是自签名证书
@@ -25,13 +25,10 @@ GraphQLサーバーエンドポイントを指定します。
25
25
 
26
26
  - 対象サーバーで動作させたいドメインを指定する必要があります。
27
27
 
28
-
29
28
  ### タグ
30
29
 
31
30
  - ターゲットサーバーで pubsub ベースのデータを購読する際に使用されるタグ名を指定します。
32
31
 
33
-
34
32
  ### 场景
35
33
 
36
34
  - タグが設定されている場合、購読されたメッセージを処理するシナリオを指定します。
37
-
@@ -6,7 +6,7 @@
6
6
 
7
7
  - script
8
8
  - JavaScript 構文で記述します。
9
- - グローバルオブジェクトは、対応する[シナリオコンテキスト](../concept/scenario-context.md)からのデータと変数を含むシンプルなオブジェクトです。つまり、スクリプト内では、シナリオの[スクリプト内蔵変数](../concept/script-internal-variables.md)から特別な修飾子なしで、または`this`アクセサを介してデータ、変数、ドメイン、ユーザー、lng 変数を使用できます。
9
+ - グローバルオブジェクトは、対応する[シナリオコンテキスト](../concept/scenario-context.md)からのデータと変数を含むシンプルなオブジェクトです。つまり、スクリプト内では、シナリオの[スクリプト内蔵変数](../concept/script-internal-variables.md)から特別な修飾子なしで、または`this`アクセサを介して data, variables, domain, user, lng, logger 変数を使用できます。
10
10
  - タスクの実行結果は`return`構文を介して返されます。
11
11
  - スクリプト内のグ
12
12
 
@@ -6,7 +6,7 @@ Javascript Syntax로 작성된 script를 실행하여 그 결과를 리턴하는
6
6
 
7
7
  - script
8
8
  - javascript systax로 작성한다.
9
- - global 오브젝트는 해당된 [Scenario Context](../concept/scenario-context.md)중 data 와 variables 를 가진 단순한 오브젝트이다. 즉, 스크립트 내에서 해당된 시나리오의 [스크립트 내장변수](../concept/script-internal-variables.md)인 data, variables, domain, user, lng 변수를 특별한 수식자없이 또는 this 접근자를 통해서 사용할 수 있다.
9
+ - global 오브젝트는 해당된 [Scenario Context](../concept/scenario-context.md)중 data 와 variables 를 가진 단순한 오브젝트이다. 즉, 스크립트 내에서 해당된 시나리오의 [스크립트 내장변수](../concept/script-internal-variables.md)인 data, variables, domain, user, lng, logger 변수를 특별한 수식자없이 또는 this 접근자를 통해서 사용할 수 있다.
10
10
  - 태스크의 수행 결과는 return 신택스를 통해서 반환된다.
11
11
  - script 내에서는 global 오브젝트가 data와 variables 등 [스크립트 내장변수](../concept/script-internal-variables.md)로 한정되므로, 대부분의 시스템 관련된 기능은 사용할 수 없는 sandbox 환경이라고 이해하고, 단순한 연산정도의 기능을 구현하는 것을 권장한다.
12
12
  - [Node Sandbox](https://medium.com/@devnullnor/a-secure-node-sandbox-f23b9fc9f2b0)
@@ -6,7 +6,7 @@ This is a task that executes a script written in JavaScript syntax and returns t
6
6
 
7
7
  - script
8
8
  - Write in JavaScript syntax.
9
- - The global object is a simple object that contains data and variables from the corresponding [Scenario Context](../concept/scenario-context.md). In other words, within the script, you can use the data, variables, domain, user, and lng variables from the scenario's [Script Built-in Variables](../concept/script-internal-variables.md) without any special modifiers or through the `this` accessor.
9
+ - The global object is a simple object that contains data and variables from the corresponding [Scenario Context](../concept/scenario-context.md). In other words, within the script, you can use the data, variables, domain, user, logger and lng variables from the scenario's [Script Built-in Variables](../concept/script-internal-variables.md) without any special modifiers or through the `this` accessor.
10
10
  - The task's execution result is returned through the `return` syntax.
11
11
  - Since the global object within the script is limited to data and variables, as well as other [Script Built-in Variables](../concept/script-internal-variables.md), consider it a sandbox environment where most system-related functionalities are unavailable. It's recommended to implement simple operations.
12
12
  - [Node Sandbox](https://medium.com/@devnullnor/a-secure-node-sandbox-f23b9fc9f2b0)
@@ -6,7 +6,7 @@ Ini adalah tugas yang menjalankan skrip yang ditulis dalam sintaks JavaScript da
6
6
 
7
7
  - skrip
8
8
  - Ditulis dalam sintaks JavaScript.
9
- - Objek global adalah objek sederhana yang mengandungi data dan pembolehubah dari [Konteks Senario](../concept/scenario-context.md) yang berkaitan. Dengan kata lain, dalam skrip ini, anda boleh menggunakan data, pembolehubah, domain, pengguna, dan pembolehubah lng dari [Pembolehubah Terbina Dalam Skrip](../concept/script-internal-variables.md) senario tanpa modifier khas atau melalui aksesori `this`.
9
+ - Objek global adalah objek sederhana yang mengandungi data dan pembolehubah dari [Konteks Senario](../concept/scenario-context.md) yang berkaitan. Dengan kata lain, dalam skrip ini, anda boleh menggunakan data, variables, domain, user, lng, logger dari [Pembolehubah Terbina Dalam Skrip](../concept/script-internal-variables.md) senario tanpa modifier khas atau melalui aksesori `this`.
10
10
  - Hasil pelaksanaan tugas dikembalikan melalui sintaks `return`.
11
11
  - Oleh kerana objek global dalam skrip terhad kepada data dan pembolehubah, serta Pembolehubah Terbina Dalam Skrip yang lain, pertimbangkan ia sebagai persekitaran sandbox di mana kebanyakan fungsi berkaitan sistem tidak tersedia. Disarankan untuk melaksanakan operasi yang ringkas.
12
12
  - [Node Sandbox](https://medium.com/@devnullnor/a-secure-node-sandbox-f23b9fc9f2b0)
@@ -6,7 +6,7 @@
6
6
 
7
7
  - 脚本
8
8
  - 以 JavaScript 语法编写。
9
- - 全局对象是一个简单的对象,包含来自相应[场景上下文](../concept/scenario-context.md)的数据和变量。换句话说,在脚本内部,您可以使用来自场景的[脚本内置变量](../concept/script-internal-variables.md)(例如 data、variables、domain、user 和 lng 变量)而无需任何特殊修饰符,或者通过`this`访问器。
9
+ - 全局对象是一个简单的对象,包含来自相应[场景上下文](../concept/scenario-context.md)的数据和变量。换句话说,在脚本内部,您可以使用来自场景的[脚本内置变量](../concept/script-internal-variables.md)(例如 data、variables、domain、user, logger 和 lng 变量)而无需任何特殊修饰符,或者通过`this`访问器。
10
10
  - 任务的执行结果通过`return`语法返回。
11
11
  - 由于脚本内的全局对象仅限于数据和变量以及其他[脚本内置变量](../concept/script-internal-variables.md),请将其视为一个沙盒环境,在该环境中大多数与系统相关的功能不可用。建议实现简单的操作。
12
12
  - [Node Sandbox](https://medium.com/@devnullnor/a-secure-node-sandbox-f23b9fc9f2b0)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/integration-base",
3
- "version": "7.0.0-alpha.8",
3
+ "version": "7.0.0",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -26,22 +26,23 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@apollo/client": "^3.6.9",
29
- "@things-factory/api": "^7.0.0-alpha.8",
30
- "@things-factory/auth-base": "^7.0.0-alpha.8",
31
- "@things-factory/env": "^7.0.0-alpha.0",
32
- "@things-factory/oauth2-client": "^7.0.0-alpha.8",
33
- "@things-factory/scheduler-client": "^7.0.0-alpha.8",
34
- "@things-factory/shell": "^7.0.0-alpha.8",
35
- "@things-factory/utils": "^7.0.0-alpha.0",
29
+ "@operato/moment-timezone-es": "^7.0.0",
30
+ "@things-factory/api": "^7.0.0",
31
+ "@things-factory/auth-base": "^7.0.0",
32
+ "@things-factory/cache-service": "^7.0.0",
33
+ "@things-factory/env": "^7.0.0",
34
+ "@things-factory/oauth2-client": "^7.0.0",
35
+ "@things-factory/scheduler-client": "^7.0.0",
36
+ "@things-factory/shell": "^7.0.0",
37
+ "@things-factory/utils": "^7.0.0",
36
38
  "async-mqtt": "^2.5.0",
37
39
  "chance": "^1.1.11",
38
40
  "cross-fetch": "^3.0.4",
39
41
  "ieee754": "^1.2.1",
40
- "moment-timezone": "^0.5.40",
41
42
  "node-fetch": "^2.6.0",
42
43
  "promise-socket": "^7.0.0",
43
44
  "readline": "^1.3.0",
44
- "vm2": "3.9.11"
45
+ "ses": "^1.5.0"
45
46
  },
46
- "gitHead": "b4981ea2721e7eaf4dbd618b6c77316ebc000ee5"
47
+ "gitHead": "00f3917ca132679e3571f3f4fd16f4caf84f488e"
47
48
  }
@@ -1,14 +1,22 @@
1
1
  import { getRepository, Domain, GraphqlLocalClient } from '@things-factory/shell'
2
- import { PrivilegeObject, checkPermission } from '@things-factory/auth-base'
2
+ import { PrivilegeObject, User, checkPermission } from '@things-factory/auth-base'
3
+ import { cacheService } from '@things-factory/cache-service'
3
4
 
4
5
  import { ScenarioEngine } from '../engine/scenario-engine'
5
6
  import { Scenario } from '../service/scenario/scenario'
6
- import { ScenarioInstance } from '../service/scenario-instance/scenario-instance-type'
7
+ import {
8
+ ScenarioInstance,
9
+ ScenarioInstanceRunResult,
10
+ ScenarioInstanceStatus
11
+ } from '../service/scenario-instance/scenario-instance-type'
7
12
  import { Step } from '../service/step/step-type'
8
13
 
9
14
  const debug = require('debug')('things-factory:integration-base:controller:run-scenario')
10
15
 
11
- async function findScenario(scenarioName: string, domain: Domain): Promise<{ name: string; steps: Step[]; domain: Domain; privilege?: PrivilegeObject }> {
16
+ async function findScenario(
17
+ scenarioName: string,
18
+ domain: Domain
19
+ ): Promise<{ id: string; name: string; steps: Step[]; domain: Domain; privilege?: PrivilegeObject; ttl?: number }> {
12
20
  var repository = getRepository(Scenario)
13
21
 
14
22
  var scenario = await repository.findOne({
@@ -26,7 +34,12 @@ async function findScenario(scenarioName: string, domain: Domain): Promise<{ nam
26
34
  return scenario as any
27
35
  }
28
36
 
29
- export async function runScenario(instanceName: string, scenarioName: string, variables: any, context: ResolverContext): Promise<ScenarioInstance> {
37
+ export async function runScenario(
38
+ instanceName: string,
39
+ scenarioName: string,
40
+ variables: any,
41
+ context: ResolverContext
42
+ ): Promise<ScenarioInstanceRunResult> {
30
43
  const { domain, user, lng, unsafeIP, prohibitedPrivileges } = context.state
31
44
 
32
45
  debug('runScenario', scenarioName, instanceName, variables)
@@ -43,7 +56,23 @@ export async function runScenario(instanceName: string, scenarioName: string, va
43
56
 
44
57
  if (!(await checkPermission(scenario.privilege, user, domain, unsafeIP, prohibitedPrivileges))) {
45
58
  const { category, privilege } = scenario.privilege || {}
46
- throw new Error(`Unauthorized! ${category && privilege ? category + ':' + privilege + ' privilege' : 'ownership granted'} required`)
59
+
60
+ console.error(
61
+ `Unauthorized! ${category && privilege ? category + ':' + privilege + ' privilege' : 'ownership granted'} required`
62
+ )
63
+
64
+ throw new Error(
65
+ context.t('error.scenario run unauthorized', {
66
+ scenario: scenarioName
67
+ })
68
+ )
69
+ }
70
+
71
+ if (scenario.ttl > 0) {
72
+ const cachedValue = await cacheService.getFromCache(scenario.id, { domain: domain.id, variables: variables || {} })
73
+ if (cachedValue) {
74
+ return cachedValue.value
75
+ }
47
76
  }
48
77
 
49
78
  /* 시나리오 인스턴스를 생성한다. */
@@ -56,12 +85,25 @@ export async function runScenario(instanceName: string, scenarioName: string, va
56
85
  client: GraphqlLocalClient.client
57
86
  })
58
87
 
59
- await instance.run()
88
+ try {
89
+ return await instance.run()
90
+ } catch (err) {
91
+ console.error(err)
60
92
 
61
- return instance
93
+ throw new Error(
94
+ context.t('error.scenario run error', {
95
+ scenario: scenarioName
96
+ })
97
+ )
98
+ }
62
99
  }
63
100
 
64
- export async function startScenario(instanceName: string, scenarioName: string, variables: any, context: ResolverContext): Promise<ScenarioInstance> {
101
+ export async function startScenario(
102
+ instanceName: string,
103
+ scenarioName: string,
104
+ variables: any,
105
+ context: ResolverContext
106
+ ): Promise<ScenarioInstance> {
65
107
  const { domain, user, lng, unsafeIP, prohibitedPrivileges } = context.state
66
108
 
67
109
  debug('startScenario', instanceName, scenarioName, variables)
@@ -78,14 +120,19 @@ export async function startScenario(instanceName: string, scenarioName: string,
78
120
 
79
121
  if (!(await checkPermission(scenario.privilege, user, domain, unsafeIP, prohibitedPrivileges))) {
80
122
  const { category, privilege } = scenario.privilege || {}
81
- throw new Error(`Unauthorized! ${category && privilege ? category + ':' + privilege + ' privilege' : 'ownership granted'} required`)
123
+ throw new Error(
124
+ `Unauthorized! ${category && privilege ? category + ':' + privilege + ' privilege' : 'ownership granted'} required`
125
+ )
82
126
  }
83
127
 
84
128
  instanceName = instanceName || scenarioName
85
129
  return await ScenarioEngine.load(instanceName, scenario, { domain, user, lng, variables })
86
130
  }
87
131
 
88
- export async function stopScenario(instanceName: string, context: ResolverContext): Promise<ScenarioInstance | undefined> {
132
+ export async function stopScenario(
133
+ instanceName: string,
134
+ context: ResolverContext
135
+ ): Promise<ScenarioInstance | undefined> {
89
136
  const { domain, user, unsafeIP, prohibitedPrivileges } = context.state
90
137
 
91
138
  debug('stopScenario', instanceName)
@@ -107,7 +154,9 @@ export async function stopScenario(instanceName: string, context: ResolverContex
107
154
 
108
155
  if (!(await checkPermission(scenario.privilege, user, domain, unsafeIP, prohibitedPrivileges))) {
109
156
  const { category, privilege } = scenario.privilege || {}
110
- throw new Error(`Unauthorized! ${category && privilege ? category + ':' + privilege + ' privilege' : 'ownership granted'} required`)
157
+ throw new Error(
158
+ `Unauthorized! ${category && privilege ? category + ':' + privilege + ' privilege' : 'ownership granted'} required`
159
+ )
111
160
  }
112
161
 
113
162
  await ScenarioEngine.unload(domain, instanceName)