@budibase/server 0.9.136 → 0.9.140-alpha.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 (296) hide show
  1. package/builder/assets/discord.c14881e9.svg +10 -0
  2. package/builder/assets/{index.a0ab7774.js → index.0d1fa670.js} +35 -35
  3. package/builder/assets/{index.121692c9.css → index.79907e5c.css} +5 -5
  4. package/builder/assets/integromat.42212f11.png +0 -0
  5. package/builder/assets/slack.1e1f7cfb.svg +33 -0
  6. package/builder/assets/{vendor.7177f366.js → vendor.d39b3c1e.js} +2 -2
  7. package/builder/assets/zapier.3fbd8f5c.png +0 -0
  8. package/builder/index.html +3 -3
  9. package/coverage/clover.xml +2142 -2095
  10. package/coverage/coverage-final.json +120 -106
  11. package/coverage/lcov-report/api/controllers/analytics.js.html +3 -3
  12. package/coverage/lcov-report/api/controllers/apikeys.js.html +6 -6
  13. package/coverage/lcov-report/api/controllers/application.js.html +84 -84
  14. package/coverage/lcov-report/api/controllers/auth.js.html +6 -6
  15. package/coverage/lcov-report/api/controllers/automation.js.html +182 -356
  16. package/coverage/lcov-report/api/controllers/backup.js.html +3 -3
  17. package/coverage/lcov-report/api/controllers/component.js.html +5 -5
  18. package/coverage/lcov-report/api/controllers/datasource.js.html +12 -12
  19. package/coverage/lcov-report/api/controllers/dev.js.html +15 -15
  20. package/coverage/lcov-report/api/controllers/hosting.js.html +8 -8
  21. package/coverage/lcov-report/api/controllers/index.html +47 -32
  22. package/coverage/lcov-report/api/controllers/integration.js.html +4 -4
  23. package/coverage/lcov-report/api/controllers/layout.js.html +6 -6
  24. package/coverage/lcov-report/api/controllers/metadata.js.html +218 -0
  25. package/coverage/lcov-report/api/controllers/permission.js.html +14 -14
  26. package/coverage/lcov-report/api/controllers/query.js.html +17 -23
  27. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  28. package/coverage/lcov-report/api/controllers/routing.js.html +9 -9
  29. package/coverage/lcov-report/api/controllers/row/external.js.html +15 -15
  30. package/coverage/lcov-report/api/controllers/row/index.html +29 -44
  31. package/coverage/lcov-report/api/controllers/row/index.js.html +48 -45
  32. package/coverage/lcov-report/api/controllers/row/internal.js.html +159 -126
  33. package/coverage/lcov-report/api/controllers/row/utils.js.html +17 -17
  34. package/coverage/lcov-report/api/controllers/screen.js.html +7 -7
  35. package/coverage/lcov-report/api/controllers/script.js.html +5 -5
  36. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/index.js.html +40 -40
  38. package/coverage/lcov-report/api/controllers/table/utils.js.html +48 -48
  39. package/coverage/lcov-report/api/controllers/templates.js.html +5 -5
  40. package/coverage/lcov-report/api/controllers/user.js.html +14 -11
  41. package/coverage/lcov-report/api/controllers/view/exporters.js.html +3 -3
  42. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/index.js.html +9 -9
  44. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +6 -6
  45. package/coverage/lcov-report/api/controllers/webhook.js.html +14 -14
  46. package/coverage/lcov-report/api/index.html +1 -1
  47. package/coverage/lcov-report/api/index.js.html +23 -23
  48. package/coverage/lcov-report/api/routes/analytics.js.html +6 -6
  49. package/coverage/lcov-report/api/routes/apikeys.js.html +8 -8
  50. package/coverage/lcov-report/api/routes/application.js.html +8 -8
  51. package/coverage/lcov-report/api/routes/auth.js.html +6 -6
  52. package/coverage/lcov-report/api/routes/automation.js.html +41 -26
  53. package/coverage/lcov-report/api/routes/backup.js.html +8 -8
  54. package/coverage/lcov-report/api/routes/component.js.html +8 -8
  55. package/coverage/lcov-report/api/routes/datasource.js.html +13 -13
  56. package/coverage/lcov-report/api/routes/deploy.js.html +8 -8
  57. package/coverage/lcov-report/api/routes/dev.js.html +11 -11
  58. package/coverage/lcov-report/api/routes/hosting.js.html +8 -8
  59. package/coverage/lcov-report/api/routes/index.html +24 -9
  60. package/coverage/lcov-report/api/routes/index.js.html +36 -30
  61. package/coverage/lcov-report/api/routes/integration.js.html +8 -8
  62. package/coverage/lcov-report/api/routes/layout.js.html +8 -8
  63. package/coverage/lcov-report/api/routes/metadata.js.html +194 -0
  64. package/coverage/lcov-report/api/routes/permission.js.html +12 -12
  65. package/coverage/lcov-report/api/routes/query.js.html +13 -13
  66. package/coverage/lcov-report/api/routes/role.js.html +12 -12
  67. package/coverage/lcov-report/api/routes/routing.js.html +8 -8
  68. package/coverage/lcov-report/api/routes/row.js.html +10 -10
  69. package/coverage/lcov-report/api/routes/screen.js.html +11 -11
  70. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/static.js.html +13 -16
  72. package/coverage/lcov-report/api/routes/table.js.html +12 -12
  73. package/coverage/lcov-report/api/routes/templates.js.html +8 -8
  74. package/coverage/lcov-report/api/routes/user.js.html +9 -9
  75. package/coverage/lcov-report/api/routes/view.js.html +11 -11
  76. package/coverage/lcov-report/api/routes/webhook.js.html +11 -11
  77. package/coverage/lcov-report/automations/actions.js.html +57 -117
  78. package/coverage/lcov-report/automations/automationUtils.js.html +7 -7
  79. package/coverage/lcov-report/automations/bullboard.js.html +49 -16
  80. package/coverage/lcov-report/automations/index.html +67 -67
  81. package/coverage/lcov-report/automations/index.js.html +27 -129
  82. package/coverage/lcov-report/automations/steps/bash.js.html +37 -16
  83. package/coverage/lcov-report/automations/steps/createRow.js.html +15 -15
  84. package/coverage/lcov-report/automations/steps/delay.js.html +48 -9
  85. package/coverage/lcov-report/automations/steps/deleteRow.js.html +14 -14
  86. package/coverage/lcov-report/automations/steps/discord.js.html +329 -0
  87. package/coverage/lcov-report/automations/steps/executeQuery.js.html +22 -34
  88. package/coverage/lcov-report/automations/steps/executeScript.js.html +21 -33
  89. package/coverage/lcov-report/automations/steps/filter.js.html +28 -25
  90. package/coverage/lcov-report/automations/steps/index.html +140 -65
  91. package/coverage/lcov-report/automations/steps/integromat.js.html +341 -0
  92. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +44 -38
  93. package/coverage/lcov-report/automations/steps/queryRows.js.html +437 -0
  94. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +13 -13
  95. package/coverage/lcov-report/automations/steps/serverLog.js.html +23 -11
  96. package/coverage/lcov-report/automations/steps/{sendgridEmail.js.html → slack.js.html} +58 -88
  97. package/coverage/lcov-report/automations/steps/updateRow.js.html +12 -12
  98. package/coverage/lcov-report/automations/steps/utils.js.html +188 -0
  99. package/coverage/lcov-report/automations/steps/zapier.js.html +332 -0
  100. package/coverage/lcov-report/automations/thread.js.html +81 -78
  101. package/coverage/lcov-report/automations/triggerInfo/app.js.html +173 -0
  102. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +173 -0
  103. package/coverage/lcov-report/automations/triggerInfo/index.html +201 -0
  104. package/coverage/lcov-report/automations/triggerInfo/index.js.html +125 -0
  105. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +176 -0
  106. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +200 -0
  107. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +200 -0
  108. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +188 -0
  109. package/coverage/lcov-report/automations/triggers.js.html +67 -838
  110. package/coverage/lcov-report/automations/utils.js.html +557 -0
  111. package/coverage/lcov-report/constants/index.html +5 -5
  112. package/coverage/lcov-report/constants/index.js.html +32 -17
  113. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  114. package/coverage/lcov-report/constants/screens.js.html +4 -4
  115. package/coverage/lcov-report/db/client.js.html +18 -18
  116. package/coverage/lcov-report/db/index.html +19 -19
  117. package/coverage/lcov-report/db/index.js.html +3 -3
  118. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +79 -79
  119. package/coverage/lcov-report/db/linkedRows/index.html +18 -18
  120. package/coverage/lcov-report/db/linkedRows/index.js.html +107 -149
  121. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +43 -43
  122. package/coverage/lcov-report/db/newid.js.html +4 -4
  123. package/coverage/lcov-report/db/utils.js.html +127 -76
  124. package/coverage/lcov-report/events/AutomationEmitter.js.html +7 -7
  125. package/coverage/lcov-report/events/index.html +1 -1
  126. package/coverage/lcov-report/events/index.js.html +6 -6
  127. package/coverage/lcov-report/events/utils.js.html +3 -3
  128. package/coverage/lcov-report/index.html +116 -101
  129. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  130. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  131. package/coverage/lcov-report/{automations/logic.js.html → middleware/appInfo.js.html} +35 -38
  132. package/coverage/lcov-report/middleware/authorized.js.html +16 -16
  133. package/coverage/lcov-report/middleware/builder.js.html +15 -15
  134. package/coverage/lcov-report/middleware/currentapp.js.html +33 -33
  135. package/coverage/lcov-report/middleware/index.html +23 -8
  136. package/coverage/lcov-report/middleware/joi-validator.js.html +6 -6
  137. package/coverage/lcov-report/middleware/resourceId.js.html +28 -28
  138. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  139. package/coverage/lcov-report/middleware/usageQuota.js.html +8 -8
  140. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  141. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  142. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  143. package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
  144. package/coverage/lcov-report/utilities/global.js.html +33 -33
  145. package/coverage/lcov-report/utilities/index.html +28 -28
  146. package/coverage/lcov-report/utilities/index.js.html +178 -25
  147. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +18 -18
  148. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  149. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  150. package/coverage/lcov-report/utilities/routing/index.js.html +6 -6
  151. package/coverage/lcov-report/utilities/rowProcessor/index.html +14 -14
  152. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +87 -51
  153. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +10 -10
  154. package/coverage/lcov-report/utilities/security.js.html +9 -9
  155. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  156. package/coverage/lcov-report/utilities/users.js.html +5 -5
  157. package/coverage/lcov-report/utilities/workerRequests.js.html +52 -52
  158. package/coverage/lcov.info +3250 -3213
  159. package/dist/api/controllers/automation.js +60 -127
  160. package/dist/api/controllers/deploy/index.js +17 -1
  161. package/dist/api/controllers/metadata.js +49 -0
  162. package/dist/api/controllers/query.js +0 -2
  163. package/dist/api/controllers/row/ExternalRequest.js +1 -1
  164. package/dist/api/controllers/row/index.js +1 -0
  165. package/dist/api/controllers/row/internal.js +33 -23
  166. package/dist/api/controllers/static/index.js +1 -28
  167. package/dist/api/controllers/static/templates/BudibaseApp.svelte +4 -1
  168. package/dist/api/controllers/user.js +1 -1
  169. package/dist/api/routes/automation.js +4 -5
  170. package/dist/api/routes/index.js +2 -0
  171. package/dist/api/routes/metadata.js +13 -0
  172. package/dist/api/routes/static.js +0 -1
  173. package/dist/api/routes/tests/utilities/TestFunctions.js +13 -0
  174. package/dist/app.js +1 -1
  175. package/dist/automations/actions.js +29 -46
  176. package/dist/automations/bullboard.js +11 -2
  177. package/dist/automations/index.js +11 -48
  178. package/dist/automations/steps/bash.js +12 -6
  179. package/dist/automations/steps/createRow.js +5 -5
  180. package/dist/automations/steps/delay.js +16 -3
  181. package/dist/automations/steps/deleteRow.js +5 -5
  182. package/dist/automations/steps/discord.js +91 -0
  183. package/dist/automations/steps/executeQuery.js +12 -15
  184. package/dist/automations/steps/executeScript.js +12 -15
  185. package/dist/automations/steps/filter.js +19 -18
  186. package/dist/automations/steps/integromat.js +94 -0
  187. package/dist/automations/steps/outgoingWebhook.js +19 -20
  188. package/dist/automations/steps/queryRows.js +129 -0
  189. package/dist/automations/steps/sendSmtpEmail.js +4 -4
  190. package/dist/automations/steps/serverLog.js +7 -3
  191. package/dist/automations/steps/slack.js +73 -0
  192. package/dist/automations/steps/updateRow.js +4 -4
  193. package/dist/automations/steps/utils.js +46 -0
  194. package/dist/automations/steps/zapier.js +91 -0
  195. package/dist/automations/tests/utilities/index.js +2 -12
  196. package/dist/automations/thread.js +23 -25
  197. package/dist/automations/triggerInfo/app.js +32 -0
  198. package/dist/automations/triggerInfo/cron.js +32 -0
  199. package/dist/automations/triggerInfo/index.js +15 -0
  200. package/dist/automations/triggerInfo/rowDeleted.js +33 -0
  201. package/dist/automations/triggerInfo/rowSaved.js +41 -0
  202. package/dist/automations/triggerInfo/rowUpdated.js +41 -0
  203. package/dist/automations/triggerInfo/webhook.js +37 -0
  204. package/dist/automations/triggers.js +27 -285
  205. package/dist/automations/utils.js +143 -0
  206. package/dist/constants/index.js +4 -0
  207. package/dist/db/linkedRows/index.js +20 -34
  208. package/dist/db/utils.js +14 -1
  209. package/dist/environment.js +2 -1
  210. package/dist/integrations/mysql.js +14 -2
  211. package/dist/middleware/appInfo.js +17 -0
  212. package/dist/middleware/usageQuota.js +1 -1
  213. package/dist/package.json +12 -11
  214. package/dist/tsconfig.tsbuildinfo +1 -1
  215. package/dist/utilities/appDirectoryTemplate/package.json +1 -1
  216. package/dist/utilities/fileSystem/clientLibrary.js +2 -2
  217. package/dist/utilities/fileSystem/index.js +2 -27
  218. package/dist/utilities/index.js +54 -0
  219. package/dist/utilities/redis.js +16 -1
  220. package/dist/utilities/rowProcessor/index.js +7 -4
  221. package/package.json +13 -12
  222. package/scripts/jestSetup.js +1 -0
  223. package/scripts/selfhost.js +8 -0
  224. package/src/api/controllers/automation.js +87 -145
  225. package/src/api/controllers/deploy/index.js +23 -1
  226. package/src/api/controllers/metadata.js +46 -0
  227. package/src/api/controllers/query.js +0 -2
  228. package/src/api/controllers/row/ExternalRequest.ts +1 -1
  229. package/src/api/controllers/row/index.js +1 -0
  230. package/src/api/controllers/row/internal.js +34 -23
  231. package/src/api/controllers/static/index.js +1 -39
  232. package/src/api/controllers/static/templates/BudibaseApp.svelte +4 -1
  233. package/src/api/controllers/user.js +1 -0
  234. package/src/api/routes/automation.js +16 -11
  235. package/src/api/routes/index.js +2 -0
  236. package/src/api/routes/metadata.js +38 -0
  237. package/src/api/routes/static.js +0 -1
  238. package/src/api/routes/tests/automation.spec.js +4 -26
  239. package/src/api/routes/tests/metadata.spec.js +65 -0
  240. package/src/api/routes/tests/utilities/TestFunctions.js +14 -0
  241. package/src/app.ts +1 -1
  242. package/src/automations/actions.js +29 -49
  243. package/src/automations/bullboard.js +13 -2
  244. package/src/automations/index.js +11 -45
  245. package/src/automations/steps/bash.js +13 -6
  246. package/src/automations/steps/createRow.js +5 -5
  247. package/src/automations/steps/delay.js +16 -3
  248. package/src/automations/steps/deleteRow.js +5 -5
  249. package/src/automations/steps/discord.js +83 -0
  250. package/src/automations/steps/executeQuery.js +12 -16
  251. package/src/automations/steps/executeScript.js +12 -16
  252. package/src/automations/steps/filter.js +19 -18
  253. package/src/automations/steps/integromat.js +87 -0
  254. package/src/automations/steps/outgoingWebhook.js +20 -18
  255. package/src/automations/steps/queryRows.js +119 -0
  256. package/src/automations/steps/sendSmtpEmail.js +4 -4
  257. package/src/automations/steps/serverLog.js +7 -3
  258. package/src/automations/steps/slack.js +64 -0
  259. package/src/automations/steps/updateRow.js +4 -4
  260. package/src/automations/steps/utils.js +36 -0
  261. package/src/automations/steps/zapier.js +84 -0
  262. package/src/automations/tests/automation.spec.js +4 -67
  263. package/src/automations/tests/delay.spec.js +2 -2
  264. package/src/automations/tests/filter.spec.js +14 -14
  265. package/src/automations/tests/queryRows.spec.js +51 -0
  266. package/src/automations/tests/utilities/index.js +2 -13
  267. package/src/automations/thread.js +27 -26
  268. package/src/automations/triggerInfo/app.js +31 -0
  269. package/src/automations/triggerInfo/cron.js +31 -0
  270. package/src/automations/triggerInfo/index.js +15 -0
  271. package/src/automations/triggerInfo/rowDeleted.js +32 -0
  272. package/src/automations/triggerInfo/rowSaved.js +40 -0
  273. package/src/automations/triggerInfo/rowUpdated.js +40 -0
  274. package/src/automations/triggerInfo/webhook.js +36 -0
  275. package/src/automations/triggers.js +33 -290
  276. package/src/automations/utils.js +159 -0
  277. package/src/constants/index.js +5 -0
  278. package/src/db/linkedRows/index.js +21 -35
  279. package/src/db/tests/linkTests.spec.js +0 -12
  280. package/src/db/utils.js +17 -0
  281. package/src/environment.js +2 -1
  282. package/src/integrations/mysql.ts +15 -2
  283. package/src/middleware/appInfo.js +19 -0
  284. package/src/middleware/usageQuota.js +1 -1
  285. package/src/utilities/appDirectoryTemplate/package.json +1 -1
  286. package/src/utilities/fileSystem/clientLibrary.js +2 -2
  287. package/src/utilities/fileSystem/index.js +2 -36
  288. package/src/utilities/index.js +51 -0
  289. package/src/utilities/redis.js +18 -1
  290. package/src/utilities/rowProcessor/index.js +16 -4
  291. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +0 -1244
  292. package/dist/automations/logic.js +0 -17
  293. package/dist/automations/steps/sendgridEmail.js +0 -85
  294. package/src/automations/logic.js +0 -20
  295. package/src/automations/steps/sendgridEmail.js +0 -74
  296. package/src/automations/tests/sendEmail.spec.js +0 -36
@@ -0,0 +1,332 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for automations/steps/zapier.js</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">automations/steps</a> zapier.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">50% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>4/8</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">50% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>4/8</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ </div>
58
+ <div class='status-line medium'></div>
59
+ <pre><table class="coverage">
60
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
+ <a name='L2'></a><a href='#L2'>2</a>
62
+ <a name='L3'></a><a href='#L3'>3</a>
63
+ <a name='L4'></a><a href='#L4'>4</a>
64
+ <a name='L5'></a><a href='#L5'>5</a>
65
+ <a name='L6'></a><a href='#L6'>6</a>
66
+ <a name='L7'></a><a href='#L7'>7</a>
67
+ <a name='L8'></a><a href='#L8'>8</a>
68
+ <a name='L9'></a><a href='#L9'>9</a>
69
+ <a name='L10'></a><a href='#L10'>10</a>
70
+ <a name='L11'></a><a href='#L11'>11</a>
71
+ <a name='L12'></a><a href='#L12'>12</a>
72
+ <a name='L13'></a><a href='#L13'>13</a>
73
+ <a name='L14'></a><a href='#L14'>14</a>
74
+ <a name='L15'></a><a href='#L15'>15</a>
75
+ <a name='L16'></a><a href='#L16'>16</a>
76
+ <a name='L17'></a><a href='#L17'>17</a>
77
+ <a name='L18'></a><a href='#L18'>18</a>
78
+ <a name='L19'></a><a href='#L19'>19</a>
79
+ <a name='L20'></a><a href='#L20'>20</a>
80
+ <a name='L21'></a><a href='#L21'>21</a>
81
+ <a name='L22'></a><a href='#L22'>22</a>
82
+ <a name='L23'></a><a href='#L23'>23</a>
83
+ <a name='L24'></a><a href='#L24'>24</a>
84
+ <a name='L25'></a><a href='#L25'>25</a>
85
+ <a name='L26'></a><a href='#L26'>26</a>
86
+ <a name='L27'></a><a href='#L27'>27</a>
87
+ <a name='L28'></a><a href='#L28'>28</a>
88
+ <a name='L29'></a><a href='#L29'>29</a>
89
+ <a name='L30'></a><a href='#L30'>30</a>
90
+ <a name='L31'></a><a href='#L31'>31</a>
91
+ <a name='L32'></a><a href='#L32'>32</a>
92
+ <a name='L33'></a><a href='#L33'>33</a>
93
+ <a name='L34'></a><a href='#L34'>34</a>
94
+ <a name='L35'></a><a href='#L35'>35</a>
95
+ <a name='L36'></a><a href='#L36'>36</a>
96
+ <a name='L37'></a><a href='#L37'>37</a>
97
+ <a name='L38'></a><a href='#L38'>38</a>
98
+ <a name='L39'></a><a href='#L39'>39</a>
99
+ <a name='L40'></a><a href='#L40'>40</a>
100
+ <a name='L41'></a><a href='#L41'>41</a>
101
+ <a name='L42'></a><a href='#L42'>42</a>
102
+ <a name='L43'></a><a href='#L43'>43</a>
103
+ <a name='L44'></a><a href='#L44'>44</a>
104
+ <a name='L45'></a><a href='#L45'>45</a>
105
+ <a name='L46'></a><a href='#L46'>46</a>
106
+ <a name='L47'></a><a href='#L47'>47</a>
107
+ <a name='L48'></a><a href='#L48'>48</a>
108
+ <a name='L49'></a><a href='#L49'>49</a>
109
+ <a name='L50'></a><a href='#L50'>50</a>
110
+ <a name='L51'></a><a href='#L51'>51</a>
111
+ <a name='L52'></a><a href='#L52'>52</a>
112
+ <a name='L53'></a><a href='#L53'>53</a>
113
+ <a name='L54'></a><a href='#L54'>54</a>
114
+ <a name='L55'></a><a href='#L55'>55</a>
115
+ <a name='L56'></a><a href='#L56'>56</a>
116
+ <a name='L57'></a><a href='#L57'>57</a>
117
+ <a name='L58'></a><a href='#L58'>58</a>
118
+ <a name='L59'></a><a href='#L59'>59</a>
119
+ <a name='L60'></a><a href='#L60'>60</a>
120
+ <a name='L61'></a><a href='#L61'>61</a>
121
+ <a name='L62'></a><a href='#L62'>62</a>
122
+ <a name='L63'></a><a href='#L63'>63</a>
123
+ <a name='L64'></a><a href='#L64'>64</a>
124
+ <a name='L65'></a><a href='#L65'>65</a>
125
+ <a name='L66'></a><a href='#L66'>66</a>
126
+ <a name='L67'></a><a href='#L67'>67</a>
127
+ <a name='L68'></a><a href='#L68'>68</a>
128
+ <a name='L69'></a><a href='#L69'>69</a>
129
+ <a name='L70'></a><a href='#L70'>70</a>
130
+ <a name='L71'></a><a href='#L71'>71</a>
131
+ <a name='L72'></a><a href='#L72'>72</a>
132
+ <a name='L73'></a><a href='#L73'>73</a>
133
+ <a name='L74'></a><a href='#L74'>74</a>
134
+ <a name='L75'></a><a href='#L75'>75</a>
135
+ <a name='L76'></a><a href='#L76'>76</a>
136
+ <a name='L77'></a><a href='#L77'>77</a>
137
+ <a name='L78'></a><a href='#L78'>78</a>
138
+ <a name='L79'></a><a href='#L79'>79</a>
139
+ <a name='L80'></a><a href='#L80'>80</a>
140
+ <a name='L81'></a><a href='#L81'>81</a>
141
+ <a name='L82'></a><a href='#L82'>82</a>
142
+ <a name='L83'></a><a href='#L83'>83</a>
143
+ <a name='L84'></a><a href='#L84'>84</a>
144
+ <a name='L85'></a><a href='#L85'>85</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
145
+ <span class="cline-any cline-yes">34x</span>
146
+ <span class="cline-any cline-neutral">&nbsp;</span>
147
+ <span class="cline-any cline-yes">34x</span>
148
+ <span class="cline-any cline-neutral">&nbsp;</span>
149
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span>
151
+ <span class="cline-any cline-neutral">&nbsp;</span>
152
+ <span class="cline-any cline-neutral">&nbsp;</span>
153
+ <span class="cline-any cline-neutral">&nbsp;</span>
154
+ <span class="cline-any cline-neutral">&nbsp;</span>
155
+ <span class="cline-any cline-neutral">&nbsp;</span>
156
+ <span class="cline-any cline-neutral">&nbsp;</span>
157
+ <span class="cline-any cline-neutral">&nbsp;</span>
158
+ <span class="cline-any cline-neutral">&nbsp;</span>
159
+ <span class="cline-any cline-neutral">&nbsp;</span>
160
+ <span class="cline-any cline-neutral">&nbsp;</span>
161
+ <span class="cline-any cline-neutral">&nbsp;</span>
162
+ <span class="cline-any cline-neutral">&nbsp;</span>
163
+ <span class="cline-any cline-neutral">&nbsp;</span>
164
+ <span class="cline-any cline-neutral">&nbsp;</span>
165
+ <span class="cline-any cline-neutral">&nbsp;</span>
166
+ <span class="cline-any cline-neutral">&nbsp;</span>
167
+ <span class="cline-any cline-neutral">&nbsp;</span>
168
+ <span class="cline-any cline-neutral">&nbsp;</span>
169
+ <span class="cline-any cline-neutral">&nbsp;</span>
170
+ <span class="cline-any cline-neutral">&nbsp;</span>
171
+ <span class="cline-any cline-neutral">&nbsp;</span>
172
+ <span class="cline-any cline-neutral">&nbsp;</span>
173
+ <span class="cline-any cline-neutral">&nbsp;</span>
174
+ <span class="cline-any cline-neutral">&nbsp;</span>
175
+ <span class="cline-any cline-neutral">&nbsp;</span>
176
+ <span class="cline-any cline-neutral">&nbsp;</span>
177
+ <span class="cline-any cline-neutral">&nbsp;</span>
178
+ <span class="cline-any cline-neutral">&nbsp;</span>
179
+ <span class="cline-any cline-neutral">&nbsp;</span>
180
+ <span class="cline-any cline-neutral">&nbsp;</span>
181
+ <span class="cline-any cline-neutral">&nbsp;</span>
182
+ <span class="cline-any cline-neutral">&nbsp;</span>
183
+ <span class="cline-any cline-neutral">&nbsp;</span>
184
+ <span class="cline-any cline-neutral">&nbsp;</span>
185
+ <span class="cline-any cline-neutral">&nbsp;</span>
186
+ <span class="cline-any cline-neutral">&nbsp;</span>
187
+ <span class="cline-any cline-neutral">&nbsp;</span>
188
+ <span class="cline-any cline-neutral">&nbsp;</span>
189
+ <span class="cline-any cline-neutral">&nbsp;</span>
190
+ <span class="cline-any cline-neutral">&nbsp;</span>
191
+ <span class="cline-any cline-neutral">&nbsp;</span>
192
+ <span class="cline-any cline-neutral">&nbsp;</span>
193
+ <span class="cline-any cline-neutral">&nbsp;</span>
194
+ <span class="cline-any cline-neutral">&nbsp;</span>
195
+ <span class="cline-any cline-neutral">&nbsp;</span>
196
+ <span class="cline-any cline-neutral">&nbsp;</span>
197
+ <span class="cline-any cline-neutral">&nbsp;</span>
198
+ <span class="cline-any cline-neutral">&nbsp;</span>
199
+ <span class="cline-any cline-neutral">&nbsp;</span>
200
+ <span class="cline-any cline-yes">34x</span>
201
+ <span class="cline-any cline-no">&nbsp;</span>
202
+ <span class="cline-any cline-neutral">&nbsp;</span>
203
+ <span class="cline-any cline-neutral">&nbsp;</span>
204
+ <span class="cline-any cline-neutral">&nbsp;</span>
205
+ <span class="cline-any cline-no">&nbsp;</span>
206
+ <span class="cline-any cline-neutral">&nbsp;</span>
207
+ <span class="cline-any cline-neutral">&nbsp;</span>
208
+ <span class="cline-any cline-neutral">&nbsp;</span>
209
+ <span class="cline-any cline-neutral">&nbsp;</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-neutral">&nbsp;</span>
212
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-neutral">&nbsp;</span>
214
+ <span class="cline-any cline-neutral">&nbsp;</span>
215
+ <span class="cline-any cline-neutral">&nbsp;</span>
216
+ <span class="cline-any cline-neutral">&nbsp;</span>
217
+ <span class="cline-any cline-neutral">&nbsp;</span>
218
+ <span class="cline-any cline-neutral">&nbsp;</span>
219
+ <span class="cline-any cline-neutral">&nbsp;</span>
220
+ <span class="cline-any cline-no">&nbsp;</span>
221
+ <span class="cline-any cline-neutral">&nbsp;</span>
222
+ <span class="cline-any cline-no">&nbsp;</span>
223
+ <span class="cline-any cline-neutral">&nbsp;</span>
224
+ <span class="cline-any cline-neutral">&nbsp;</span>
225
+ <span class="cline-any cline-neutral">&nbsp;</span>
226
+ <span class="cline-any cline-neutral">&nbsp;</span>
227
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const fetch = require("node-fetch")
229
+ const { getFetchResponse } = require("./utils")
230
+ &nbsp;
231
+ exports.definition = {
232
+ name: "Zapier Webhook",
233
+ stepId: "zapier",
234
+ type: "ACTION",
235
+ internal: false,
236
+ description: "Trigger a Zapier Zap via webhooks",
237
+ tagline: "Trigger a Zapier Zap",
238
+ icon: "ri-flashlight-line",
239
+ schema: {
240
+ inputs: {
241
+ properties: {
242
+ url: {
243
+ type: "string",
244
+ title: "Webhook URL",
245
+ },
246
+ value1: {
247
+ type: "string",
248
+ title: "Payload Value 1",
249
+ },
250
+ value2: {
251
+ type: "string",
252
+ title: "Payload Value 2",
253
+ },
254
+ value3: {
255
+ type: "string",
256
+ title: "Payload Value 3",
257
+ },
258
+ value4: {
259
+ type: "string",
260
+ title: "Payload Value 4",
261
+ },
262
+ value5: {
263
+ type: "string",
264
+ title: "Payload Value 5",
265
+ },
266
+ },
267
+ required: ["url"],
268
+ },
269
+ outputs: {
270
+ properties: {
271
+ httpStatus: {
272
+ type: "number",
273
+ description: "The HTTP status code of the request",
274
+ },
275
+ response: {
276
+ type: "string",
277
+ description: "The response from Zapier",
278
+ },
279
+ },
280
+ },
281
+ },
282
+ }
283
+ &nbsp;
284
+ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync function ({ inputs }) {
285
+ const { url, value1, value2, value3, value4, value5 } = <span class="cstat-no" title="statement not covered" >inputs</span>
286
+ &nbsp;
287
+ // send the platform to make sure zaps always work, even
288
+ // if no values supplied
289
+ const response = <span class="cstat-no" title="statement not covered" >await fetch(url, {</span>
290
+ method: "post",
291
+ body: JSON.stringify({
292
+ platform: "budibase",
293
+ value1,
294
+ value2,
295
+ value3,
296
+ value4,
297
+ value5,
298
+ }),
299
+ headers: {
300
+ "Content-Type": "application/json",
301
+ },
302
+ })
303
+ &nbsp;
304
+ const { status, message } = <span class="cstat-no" title="statement not covered" >await getFetchResponse(response)</span>
305
+ &nbsp;
306
+ <span class="cstat-no" title="statement not covered" > return {</span>
307
+ success: status === 200,
308
+ httpStatus: status,
309
+ response: message,
310
+ }
311
+ }
312
+ &nbsp;</pre></td></tr></table></pre>
313
+
314
+ <div class='push'></div><!-- for sticky footer -->
315
+ </div><!-- /wrapper -->
316
+ <div class='footer quiet pad2 space-top1 center small'>
317
+ Code coverage generated by
318
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
319
+ at Tue Sep 21 2021 20:54:54 GMT+0000 (Coordinated Universal Time)
320
+ </div>
321
+ </div>
322
+ <script src="../../prettify.js"></script>
323
+ <script>
324
+ window.onload = function () {
325
+ prettyPrint();
326
+ };
327
+ </script>
328
+ <script src="../../sorter.js"></script>
329
+ <script src="../../block-navigation.js"></script>
330
+ </body>
331
+ </html>
332
+
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">83.64% </span>
26
+ <span class="strong">91.07% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>46/55</span>
28
+ <span class='fraction'>51/56</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">45.45% </span>
33
+ <span class="strong">60% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>10/22</span>
35
+ <span class='fraction'>9/15</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>6/6</span>
42
+ <span class='fraction'>7/7</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">83.64% </span>
47
+ <span class="strong">91.07% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>46/55</span>
49
+ <span class='fraction'>51/56</span>
50
50
  </div>
51
51
 
52
52
 
@@ -164,17 +164,17 @@
164
164
  <a name='L105'></a><a href='#L105'>105</a>
165
165
  <a name='L106'></a><a href='#L106'>106</a>
166
166
  <a name='L107'></a><a href='#L107'>107</a>
167
- <a name='L108'></a><a href='#L108'>108</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
168
- <span class="cline-any cline-yes">23x</span>
169
- <span class="cline-any cline-yes">23x</span>
170
- <span class="cline-any cline-yes">23x</span>
171
- <span class="cline-any cline-yes">23x</span>
172
- <span class="cline-any cline-yes">23x</span>
173
- <span class="cline-any cline-yes">23x</span>
174
- <span class="cline-any cline-yes">23x</span>
175
- <span class="cline-any cline-yes">23x</span>
167
+ <a name='L108'></a><a href='#L108'>108</a>
168
+ <a name='L109'></a><a href='#L109'>109</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
169
+ <span class="cline-any cline-yes">33x</span>
170
+ <span class="cline-any cline-yes">33x</span>
171
+ <span class="cline-any cline-yes">33x</span>
172
+ <span class="cline-any cline-yes">33x</span>
173
+ <span class="cline-any cline-yes">33x</span>
174
+ <span class="cline-any cline-yes">33x</span>
175
+ <span class="cline-any cline-yes">33x</span>
176
176
  <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-yes">23x</span>
177
+ <span class="cline-any cline-yes">33x</span>
178
178
  <span class="cline-any cline-neutral">&nbsp;</span>
179
179
  <span class="cline-any cline-neutral">&nbsp;</span>
180
180
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -183,48 +183,57 @@
183
183
  <span class="cline-any cline-neutral">&nbsp;</span>
184
184
  <span class="cline-any cline-neutral">&nbsp;</span>
185
185
  <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-yes">5x</span>
187
- <span class="cline-any cline-yes">5x</span>
188
- <span class="cline-any cline-yes">5x</span>
189
- <span class="cline-any cline-yes">5x</span>
186
+ <span class="cline-any cline-yes">7x</span>
187
+ <span class="cline-any cline-yes">7x</span>
188
+ <span class="cline-any cline-yes">7x</span>
189
+ <span class="cline-any cline-yes">7x</span>
190
190
  <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-yes">5x</span>
192
- <span class="cline-any cline-yes">5x</span>
191
+ <span class="cline-any cline-yes">7x</span>
192
+ <span class="cline-any cline-yes">7x</span>
193
193
  <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-yes">5x</span>
195
- <span class="cline-any cline-yes">5x</span>
194
+ <span class="cline-any cline-yes">7x</span>
195
+ <span class="cline-any cline-yes">7x</span>
196
196
  <span class="cline-any cline-neutral">&nbsp;</span>
197
197
  <span class="cline-any cline-neutral">&nbsp;</span>
198
- <span class="cline-any cline-yes">5x</span>
198
+ <span class="cline-any cline-yes">7x</span>
199
+ <span class="cline-any cline-yes">7x</span>
200
+ <span class="cline-any cline-neutral">&nbsp;</span>
201
+ <span class="cline-any cline-yes">7x</span>
202
+ <span class="cline-any cline-yes">7x</span>
203
+ <span class="cline-any cline-yes">7x</span>
199
204
  <span class="cline-any cline-neutral">&nbsp;</span>
200
205
  <span class="cline-any cline-neutral">&nbsp;</span>
201
206
  <span class="cline-any cline-neutral">&nbsp;</span>
202
207
  <span class="cline-any cline-yes">5x</span>
203
208
  <span class="cline-any cline-yes">5x</span>
204
- <span class="cline-any cline-yes">5x</span>
205
- <span class="cline-any cline-no">&nbsp;</span>
206
209
  <span class="cline-any cline-no">&nbsp;</span>
207
210
  <span class="cline-any cline-neutral">&nbsp;</span>
208
211
  <span class="cline-any cline-yes">5x</span>
212
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-neutral">&nbsp;</span>
214
+ <span class="cline-any cline-neutral">&nbsp;</span>
215
+ <span class="cline-any cline-yes">7x</span>
216
+ <span class="cline-any cline-yes">7x</span>
209
217
  <span class="cline-any cline-no">&nbsp;</span>
210
218
  <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-yes">5x</span>
219
+ <span class="cline-any cline-yes">7x</span>
220
+ <span class="cline-any cline-yes">7x</span>
221
+ <span class="cline-any cline-yes">6x</span>
212
222
  <span class="cline-any cline-neutral">&nbsp;</span>
213
223
  <span class="cline-any cline-neutral">&nbsp;</span>
214
224
  <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-yes">5x</span>
216
- <span class="cline-any cline-yes">5x</span>
217
- <span class="cline-any cline-no">&nbsp;</span>
225
+ <span class="cline-any cline-yes">12x</span>
218
226
  <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-yes">5x</span>
220
- <span class="cline-any cline-yes">5x</span>
221
- <span class="cline-any cline-yes">5x</span>
227
+ <span class="cline-any cline-yes">12x</span>
228
+ <span class="cline-any cline-yes">7x</span>
222
229
  <span class="cline-any cline-neutral">&nbsp;</span>
230
+ <span class="cline-any cline-yes">12x</span>
223
231
  <span class="cline-any cline-neutral">&nbsp;</span>
224
232
  <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-yes">5x</span>
226
- <span class="cline-any cline-yes">5x</span>
227
- <span class="cline-any cline-yes">5x</span>
233
+ <span class="cline-any cline-neutral">&nbsp;</span>
234
+ <span class="cline-any cline-yes">7x</span>
235
+ <span class="cline-any cline-yes">7x</span>
236
+ <span class="cline-any cline-yes">6x</span>
228
237
  <span class="cline-any cline-yes">5x</span>
229
238
  <span class="cline-any cline-yes">5x</span>
230
239
  <span class="cline-any cline-yes">5x</span>
@@ -247,32 +256,24 @@
247
256
  <span class="cline-any cline-no">&nbsp;</span>
248
257
  <span class="cline-any cline-neutral">&nbsp;</span>
249
258
  <span class="cline-any cline-yes">5x</span>
259
+ <span class="cline-any cline-yes">5x</span>
250
260
  <span class="cline-any cline-neutral">&nbsp;</span>
251
261
  <span class="cline-any cline-no">&nbsp;</span>
262
+ <span class="cline-any cline-no">&nbsp;</span>
252
263
  <span class="cline-any cline-neutral">&nbsp;</span>
253
264
  <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-yes">6x</span>
254
266
  <span class="cline-any cline-neutral">&nbsp;</span>
255
267
  <span class="cline-any cline-neutral">&nbsp;</span>
256
268
  <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-neutral">&nbsp;</span>
258
- <span class="cline-any cline-yes">23x</span>
259
- <span class="cline-any cline-yes">5x</span>
260
- <span class="cline-any cline-yes">5x</span>
261
- <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-yes">33x</span>
270
+ <span class="cline-any cline-yes">7x</span>
262
271
  <span class="cline-any cline-neutral">&nbsp;</span>
263
272
  <span class="cline-any cline-neutral">&nbsp;</span>
264
- <span class="cline-any cline-yes">5x</span>
265
- <span class="cline-any cline-yes">5x</span>
266
- <span class="cline-any cline-no">&nbsp;</span>
267
- <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-neutral">&nbsp;</span>
269
- <span class="cline-any cline-no">&nbsp;</span>
270
- <span class="cline-any cline-no">&nbsp;</span>
271
- <span class="cline-any cline-neutral">&nbsp;</span>
272
273
  <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-yes">7x</span>
273
275
  <span class="cline-any cline-neutral">&nbsp;</span>
274
276
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const actions = require("./actions")
275
- const logic = require("./logic")
276
277
  const automationUtils = require("./automationUtils")
277
278
  const AutomationEmitter = require("../events/AutomationEmitter")
278
279
  const { processObject } = require("@budibase/string-templates")
@@ -281,7 +282,7 @@ const CouchDB = require("../db")
281
282
  const { DocumentTypes } = require("../db/utils")
282
283
  const { doInTenant } = require("@budibase/auth/tenancy")
283
284
  &nbsp;
284
- const FILTER_STEP_ID = logic.BUILTIN_DEFINITIONS.FILTER.stepId
285
+ const FILTER_STEP_ID = actions.ACTION_DEFINITIONS.FILTER.stepId
285
286
  &nbsp;
286
287
  /**
287
288
  * The automation orchestrator is a class responsible for executing automations.
@@ -303,15 +304,15 @@ class Orchestrator {
303
304
  // create an emitter which has the chain count for this automation run in it, so it can block
304
305
  // excessive chaining if required
305
306
  this._emitter = new AutomationEmitter(this._chainCount + 1)
307
+ this.executionOutput = { trigger: {}, steps: [] }
308
+ // setup the execution output
309
+ const triggerStepId = automation.definition.trigger.stepId
310
+ const triggerId = automation.definition.trigger.id
311
+ this.updateExecutionOutput(triggerId, triggerStepId, null, triggerOutput)
306
312
  }
307
313
  &nbsp;
308
- async getStepFunctionality(type, stepId) {
309
- let step = null
310
- <span class="missing-if-branch" title="else path not taken" >E</span>if (type === "ACTION") {
311
- step = await actions.getAction(stepId)
312
- } else <span class="cstat-no" title="statement not covered" >if (type === "LOGIC") {</span>
313
- <span class="cstat-no" title="statement not covered" > step = logic.getLogic(stepId)</span>
314
- }
314
+ async getStepFunctionality(stepId) {
315
+ let step = await actions.getAction(stepId)
315
316
  <span class="missing-if-branch" title="if path not taken" >I</span>if (step == null) {
316
317
  <span class="cstat-no" title="statement not covered" > throw `Cannot find automation step by name ${stepId}`</span>
317
318
  }
@@ -327,12 +328,21 @@ class Orchestrator {
327
328
  this._app = await db.get(DocumentTypes.APP_METADATA)
328
329
  return this._app
329
330
  }
331
+ &nbsp;
332
+ updateExecutionOutput(id, stepId, inputs, outputs) {
333
+ const stepObj = { id, stepId, inputs, outputs }
334
+ // first entry is always the trigger (constructor)
335
+ if (this.executionOutput.steps.length === 0) {
336
+ this.executionOutput.trigger = stepObj
337
+ }
338
+ this.executionOutput.steps.push(stepObj)
339
+ }
330
340
  &nbsp;
331
341
  async execute() {
332
342
  let automation = this._automation
333
343
  const app = await this.getApp()
334
344
  for (let step of automation.definition.steps) {
335
- let stepFn = await this.getStepFunctionality(step.type, step.stepId)
345
+ let stepFn = await this.getStepFunctionality(step.stepId)
336
346
  step.inputs = await processObject(step.inputs, this._context)
337
347
  step.inputs = automationUtils.cleanInputValues(
338
348
  step.inputs,
@@ -354,29 +364,22 @@ class Orchestrator {
354
364
  <span class="cstat-no" title="statement not covered" > break</span>
355
365
  }
356
366
  this._context.steps.push(outputs)
367
+ this.updateExecutionOutput(step.id, step.stepId, step.inputs, outputs)
357
368
  } catch (err) {
358
369
  <span class="cstat-no" title="statement not covered" > console.error(`Automation error - ${step.stepId} - ${err}`)</span>
370
+ <span class="cstat-no" title="statement not covered" > return err</span>
359
371
  }
360
372
  }
373
+ return this.executionOutput
361
374
  }
362
375
  }
363
376
  &nbsp;
364
- // callback is required for worker-farm to state that the worker thread has completed
365
- module.exports = async (job, cb = null) =&gt; {
366
- try {
367
- const automationOrchestrator = new Orchestrator(
368
- job.data.automation,
369
- job.data.event
370
- )
371
- await automationOrchestrator.execute()
372
- <span class="missing-if-branch" title="if path not taken" >I</span>if (cb) {
373
- <span class="cstat-no" title="statement not covered" > cb()</span>
374
- }
375
- } catch (err) {
376
- <span class="cstat-no" title="statement not covered" > if (cb) {</span>
377
- <span class="cstat-no" title="statement not covered" > cb(err)</span>
378
- }
379
- }
377
+ module.exports = async job =&gt; {
378
+ const automationOrchestrator = new Orchestrator(
379
+ job.data.automation,
380
+ job.data.event
381
+ )
382
+ return automationOrchestrator.execute()
380
383
  }
381
384
  &nbsp;</pre></td></tr></table></pre>
382
385
 
@@ -385,7 +388,7 @@ module.exports = async (job, cb = null) =&gt; {
385
388
  <div class='footer quiet pad2 space-top1 center small'>
386
389
  Code coverage generated by
387
390
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
388
- at Tue Sep 21 2021 13:44:17 GMT+0000 (Coordinated Universal Time)
391
+ at Tue Sep 21 2021 20:54:54 GMT+0000 (Coordinated Universal Time)
389
392
  </div>
390
393
  </div>
391
394
  <script src="../prettify.js"></script>