@budibase/server 0.9.138 → 0.9.140-alpha.2

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.b18ab99b.js → index.1d1fa051.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 +2138 -2091
  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 +26 -128
  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 +79 -76
  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 +3255 -3218
  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
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">25% </span>
26
+ <span class="strong">33.33% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>3/12</span>
28
+ <span class='fraction'>4/12</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">25% </span>
47
+ <span class="strong">33.33% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>3/12</span>
49
+ <span class='fraction'>4/12</span>
50
50
  </div>
51
51
 
52
52
 
@@ -137,13 +137,10 @@
137
137
  <a name='L78'></a><a href='#L78'>78</a>
138
138
  <a name='L79'></a><a href='#L79'>79</a>
139
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">33x</span>
140
+ <a name='L81'></a><a href='#L81'>81</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
141
+ <span class="cline-any cline-yes">34x</span>
145
142
  <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-yes">33x</span>
143
+ <span class="cline-any cline-yes">34x</span>
147
144
  <span class="cline-any cline-neutral">&nbsp;</span>
148
145
  <span class="cline-any cline-neutral">&nbsp;</span>
149
146
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -185,7 +182,8 @@
185
182
  <span class="cline-any cline-neutral">&nbsp;</span>
186
183
  <span class="cline-any cline-neutral">&nbsp;</span>
187
184
  <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-yes">33x</span>
185
+ <span class="cline-any cline-neutral">&nbsp;</span>
186
+ <span class="cline-any cline-yes">34x</span>
189
187
  <span class="cline-any cline-no">&nbsp;</span>
190
188
  <span class="cline-any cline-no">&nbsp;</span>
191
189
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -206,12 +204,7 @@
206
204
  <span class="cline-any cline-neutral">&nbsp;</span>
207
205
  <span class="cline-any cline-neutral">&nbsp;</span>
208
206
  <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
207
  <span class="cline-any cline-no">&nbsp;</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
208
  <span class="cline-any cline-no">&nbsp;</span>
216
209
  <span class="cline-any cline-no">&nbsp;</span>
217
210
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -219,21 +212,22 @@
219
212
  <span class="cline-any cline-neutral">&nbsp;</span>
220
213
  <span class="cline-any cline-neutral">&nbsp;</span>
221
214
  <span class="cline-any cline-no">&nbsp;</span>
222
- <span class="cline-any cline-no">&nbsp;</span>
223
215
  <span class="cline-any cline-neutral">&nbsp;</span>
224
216
  <span class="cline-any cline-neutral">&nbsp;</span>
225
217
  <span class="cline-any cline-neutral">&nbsp;</span>
226
218
  <span class="cline-any cline-neutral">&nbsp;</span>
227
219
  <span class="cline-any cline-neutral">&nbsp;</span>
228
220
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const queryController = require("../../api/controllers/query")
221
+ const { buildCtx } = require("./utils")
229
222
  &nbsp;
230
- module.exports.definition = {
223
+ exports.definition = {
231
224
  name: "External Data Connector",
232
225
  tagline: "Execute Data Connector",
233
- icon: "ri-database-2-line",
226
+ icon: "Data",
234
227
  description: "Execute a query in an external data connector",
235
228
  type: "ACTION",
236
229
  stepId: "EXECUTE_QUERY",
230
+ internal: true,
237
231
  inputs: {},
238
232
  schema: {
239
233
  inputs: {
@@ -269,7 +263,7 @@ module.exports.definition = {
269
263
  },
270
264
  }
271
265
  &nbsp;
272
- module.exports.run = <span class="fstat-no" title="function not covered" >as</span>ync function ({ inputs, appId, emitter }) {
266
+ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync function ({ inputs, appId, emitter }) {
273
267
  <span class="cstat-no" title="statement not covered" > if (inputs.query == null) {</span>
274
268
  <span class="cstat-no" title="statement not covered" > return {</span>
275
269
  success: false,
@@ -281,28 +275,22 @@ module.exports.run = <span class="fstat-no" title="function not covered" >as</sp
281
275
  &nbsp;
282
276
  const { queryId, ...rest } = <span class="cstat-no" title="statement not covered" >inputs.query</span>
283
277
  &nbsp;
284
- const ctx = <span class="cstat-no" title="statement not covered" >{</span>
278
+ const ctx = <span class="cstat-no" title="statement not covered" >buildCtx(appId, emitter, {</span>
279
+ body: {
280
+ parameters: rest,
281
+ },
285
282
  params: {
286
283
  queryId,
287
284
  },
288
- request: {
289
- body: {
290
- parameters: rest,
291
- },
292
- },
293
- appId,
294
- eventEmitter: emitter,
295
- }
296
- &nbsp;
297
- <span class="cstat-no" title="statement not covered" > await queryController.execute(ctx)</span>
285
+ })
298
286
  &nbsp;
299
287
  <span class="cstat-no" title="statement not covered" > try {</span>
288
+ <span class="cstat-no" title="statement not covered" > await queryController.execute(ctx)</span>
300
289
  <span class="cstat-no" title="statement not covered" > return {</span>
301
290
  response: ctx.body,
302
- success: ctx.status === 200,
291
+ success: true,
303
292
  }
304
293
  } catch (err) {
305
- <span class="cstat-no" title="statement not covered" > console.error(err)</span>
306
294
  <span class="cstat-no" title="statement not covered" > return {</span>
307
295
  success: false,
308
296
  response: err,
@@ -316,7 +304,7 @@ module.exports.run = <span class="fstat-no" title="function not covered" >as</sp
316
304
  <div class='footer quiet pad2 space-top1 center small'>
317
305
  Code coverage generated by
318
306
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
319
- at Tue Sep 21 2021 15:48:31 GMT+0000 (Coordinated Universal Time)
307
+ at Wed Sep 22 2021 10:50:28 GMT+0000 (Coordinated Universal Time)
320
308
  </div>
321
309
  </div>
322
310
  <script src="../../prettify.js"></script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">27.27% </span>
26
+ <span class="strong">36.36% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>3/11</span>
28
+ <span class='fraction'>4/11</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">27.27% </span>
47
+ <span class="strong">36.36% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>3/11</span>
49
+ <span class='fraction'>4/11</span>
50
50
  </div>
51
51
 
52
52
 
@@ -126,13 +126,10 @@
126
126
  <a name='L67'></a><a href='#L67'>67</a>
127
127
  <a name='L68'></a><a href='#L68'>68</a>
128
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
129
+ <a name='L70'></a><a href='#L70'>70</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
130
+ <span class="cline-any cline-yes">34x</span>
134
131
  <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-yes">33x</span>
132
+ <span class="cline-any cline-yes">34x</span>
136
133
  <span class="cline-any cline-neutral">&nbsp;</span>
137
134
  <span class="cline-any cline-neutral">&nbsp;</span>
138
135
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -168,7 +165,7 @@
168
165
  <span class="cline-any cline-neutral">&nbsp;</span>
169
166
  <span class="cline-any cline-neutral">&nbsp;</span>
170
167
  <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-yes">33x</span>
168
+ <span class="cline-any cline-yes">34x</span>
172
169
  <span class="cline-any cline-no">&nbsp;</span>
173
170
  <span class="cline-any cline-no">&nbsp;</span>
174
171
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -185,10 +182,6 @@
185
182
  <span class="cline-any cline-neutral">&nbsp;</span>
186
183
  <span class="cline-any cline-neutral">&nbsp;</span>
187
184
  <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
185
  <span class="cline-any cline-no">&nbsp;</span>
193
186
  <span class="cline-any cline-no">&nbsp;</span>
194
187
  <span class="cline-any cline-no">&nbsp;</span>
@@ -197,20 +190,21 @@
197
190
  <span class="cline-any cline-neutral">&nbsp;</span>
198
191
  <span class="cline-any cline-neutral">&nbsp;</span>
199
192
  <span class="cline-any cline-no">&nbsp;</span>
200
- <span class="cline-any cline-no">&nbsp;</span>
201
193
  <span class="cline-any cline-neutral">&nbsp;</span>
202
194
  <span class="cline-any cline-neutral">&nbsp;</span>
203
195
  <span class="cline-any cline-neutral">&nbsp;</span>
204
196
  <span class="cline-any cline-neutral">&nbsp;</span>
205
197
  <span class="cline-any cline-neutral">&nbsp;</span>
206
198
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const scriptController = require("../../api/controllers/script")
199
+ const { buildCtx } = require("./utils")
207
200
  &nbsp;
208
- module.exports.definition = {
201
+ exports.definition = {
209
202
  name: "JS Scripting",
210
203
  tagline: "Execute JavaScript Code",
211
- icon: "ri-terminal-box-line",
204
+ icon: "Code",
212
205
  description: "Run a piece of JavaScript code in your automation",
213
206
  type: "ACTION",
207
+ internal: true,
214
208
  stepId: "EXECUTE_SCRIPT",
215
209
  inputs: {},
216
210
  schema: {
@@ -228,8 +222,7 @@ module.exports.definition = {
228
222
  properties: {
229
223
  value: {
230
224
  type: "string",
231
- description:
232
- "The result of the last statement of the executed script.",
225
+ description: "The result of the return statement",
233
226
  },
234
227
  success: {
235
228
  type: "boolean",
@@ -241,7 +234,7 @@ module.exports.definition = {
241
234
  },
242
235
  }
243
236
  &nbsp;
244
- module.exports.run = <span class="fstat-no" title="function not covered" >as</span>ync function ({ inputs, appId, context, emitter }) {
237
+ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync function ({ inputs, appId, context, emitter }) {
245
238
  <span class="cstat-no" title="statement not covered" > if (inputs.code == null) {</span>
246
239
  <span class="cstat-no" title="statement not covered" > return {</span>
247
240
  success: false,
@@ -251,25 +244,20 @@ module.exports.run = <span class="fstat-no" title="function not covered" >as</sp
251
244
  }
252
245
  }
253
246
  &nbsp;
254
- const ctx = <span class="cstat-no" title="statement not covered" >{</span>
255
- request: {
256
- body: {
257
- script: inputs.code,
258
- context,
259
- },
247
+ const ctx = <span class="cstat-no" title="statement not covered" >buildCtx(appId, emitter, {</span>
248
+ body: {
249
+ script: inputs.code,
250
+ context,
260
251
  },
261
- user: { appId },
262
- eventEmitter: emitter,
263
- }
252
+ })
264
253
  &nbsp;
265
254
  <span class="cstat-no" title="statement not covered" > try {</span>
266
255
  <span class="cstat-no" title="statement not covered" > await scriptController.execute(ctx)</span>
267
256
  <span class="cstat-no" title="statement not covered" > return {</span>
268
- success: ctx.status === 200,
257
+ success: true,
269
258
  value: ctx.body,
270
259
  }
271
260
  } catch (err) {
272
- <span class="cstat-no" title="statement not covered" > console.error(err)</span>
273
261
  <span class="cstat-no" title="statement not covered" > return {</span>
274
262
  success: false,
275
263
  response: err,
@@ -283,7 +271,7 @@ module.exports.run = <span class="fstat-no" title="function not covered" >as</sp
283
271
  <div class='footer quiet pad2 space-top1 center small'>
284
272
  Code coverage generated by
285
273
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
286
- at Tue Sep 21 2021 15:48:31 GMT+0000 (Coordinated Universal Time)
274
+ at Wed Sep 22 2021 10:50:28 GMT+0000 (Coordinated Universal Time)
287
275
  </div>
288
276
  </div>
289
277
  <script src="../../prettify.js"></script>
@@ -147,24 +147,25 @@
147
147
  <a name='L88'></a><a href='#L88'>88</a>
148
148
  <a name='L89'></a><a href='#L89'>89</a>
149
149
  <a name='L90'></a><a href='#L90'>90</a>
150
- <a name='L91'></a><a href='#L91'>91</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
150
+ <a name='L91'></a><a href='#L91'>91</a>
151
+ <a name='L92'></a><a href='#L92'>92</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
151
152
  <span class="cline-any cline-neutral">&nbsp;</span>
152
153
  <span class="cline-any cline-neutral">&nbsp;</span>
153
154
  <span class="cline-any cline-neutral">&nbsp;</span>
154
155
  <span class="cline-any cline-neutral">&nbsp;</span>
155
156
  <span class="cline-any cline-neutral">&nbsp;</span>
156
157
  <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-yes">33x</span>
158
+ <span class="cline-any cline-yes">34x</span>
158
159
  <span class="cline-any cline-neutral">&nbsp;</span>
159
160
  <span class="cline-any cline-neutral">&nbsp;</span>
160
161
  <span class="cline-any cline-neutral">&nbsp;</span>
161
162
  <span class="cline-any cline-neutral">&nbsp;</span>
162
163
  <span class="cline-any cline-neutral">&nbsp;</span>
163
164
  <span class="cline-any cline-neutral">&nbsp;</span>
164
- <span class="cline-any cline-yes">33x</span>
165
- <span class="cline-any cline-yes">33x</span>
165
+ <span class="cline-any cline-yes">34x</span>
166
+ <span class="cline-any cline-yes">34x</span>
166
167
  <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-yes">33x</span>
168
+ <span class="cline-any cline-yes">34x</span>
168
169
  <span class="cline-any cline-neutral">&nbsp;</span>
169
170
  <span class="cline-any cline-neutral">&nbsp;</span>
170
171
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -206,7 +207,8 @@
206
207
  <span class="cline-any cline-neutral">&nbsp;</span>
207
208
  <span class="cline-any cline-neutral">&nbsp;</span>
208
209
  <span class="cline-any cline-neutral">&nbsp;</span>
209
- <span class="cline-any cline-yes">33x</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-yes">34x</span>
210
212
  <span class="cline-any cline-yes">11x</span>
211
213
  <span class="cline-any cline-neutral">&nbsp;</span>
212
214
  <span class="cline-any cline-yes">11x</span>
@@ -237,32 +239,33 @@
237
239
  <span class="cline-any cline-neutral">&nbsp;</span>
238
240
  <span class="cline-any cline-yes">11x</span>
239
241
  <span class="cline-any cline-neutral">&nbsp;</span>
240
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const LogicConditions = {
242
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const FilterConditions = {
241
243
  EQUAL: "EQUAL",
242
244
  NOT_EQUAL: "NOT_EQUAL",
243
245
  GREATER_THAN: "GREATER_THAN",
244
246
  LESS_THAN: "LESS_THAN",
245
247
  }
246
248
  &nbsp;
247
- const PrettyLogicConditions = {
248
- [LogicConditions.EQUAL]: "Equals",
249
- [LogicConditions.NOT_EQUAL]: "Not equals",
250
- [LogicConditions.GREATER_THAN]: "Greater than",
251
- [LogicConditions.LESS_THAN]: "Less than",
249
+ const PrettyFilterConditions = {
250
+ [FilterConditions.EQUAL]: "Equals",
251
+ [FilterConditions.NOT_EQUAL]: "Not equals",
252
+ [FilterConditions.GREATER_THAN]: "Greater than",
253
+ [FilterConditions.LESS_THAN]: "Less than",
252
254
  }
253
255
  &nbsp;
254
- module.exports.LogicConditions = LogicConditions
255
- module.exports.PrettyLogicConditions = PrettyLogicConditions
256
+ exports.FilterConditions = FilterConditions
257
+ exports.PrettyFilterConditions = PrettyFilterConditions
256
258
  &nbsp;
257
- module.exports.definition = {
259
+ exports.definition = {
258
260
  name: "Filter",
259
261
  tagline: "{{inputs.field}} {{inputs.condition}} {{inputs.value}}",
260
- icon: "ri-git-branch-line",
262
+ icon: "Branch2",
261
263
  description: "Filter any automations which do not meet certain conditions",
262
264
  type: "LOGIC",
265
+ internal: true,
263
266
  stepId: "FILTER",
264
267
  inputs: {
265
- condition: LogicConditions.EQUALS,
268
+ condition: FilterConditions.EQUALS,
266
269
  },
267
270
  schema: {
268
271
  inputs: {
@@ -274,8 +277,8 @@ module.exports.definition = {
274
277
  condition: {
275
278
  type: "string",
276
279
  title: "Condition",
277
- enum: Object.values(LogicConditions),
278
- pretty: Object.values(PrettyLogicConditions),
280
+ enum: Object.values(FilterConditions),
281
+ pretty: Object.values(PrettyFilterConditions),
279
282
  },
280
283
  value: {
281
284
  type: "string",
@@ -296,7 +299,7 @@ module.exports.definition = {
296
299
  },
297
300
  }
298
301
  &nbsp;
299
- module.exports.run = async function filter({ inputs }) {
302
+ exports.run = async function filter({ inputs }) {
300
303
  let { field, condition, value } = inputs
301
304
  // coerce types so that we can use them
302
305
  if (!isNaN(value) &amp;&amp; !isNaN(field)) {
@@ -309,16 +312,16 @@ module.exports.run = async function filter({ inputs }) {
309
312
  let success = false
310
313
  if (typeof field !== "object" &amp;&amp; typeof value !== "object") {
311
314
  switch (condition) {
312
- case LogicConditions.EQUAL:
315
+ case FilterConditions.EQUAL:
313
316
  success = field === value
314
317
  break
315
- case LogicConditions.NOT_EQUAL:
318
+ case FilterConditions.NOT_EQUAL:
316
319
  success = field !== value
317
320
  break
318
- case LogicConditions.GREATER_THAN:
321
+ case FilterConditions.GREATER_THAN:
319
322
  success = field &gt; value
320
323
  break
321
- case LogicConditions.LESS_THAN:
324
+ case FilterConditions.LESS_THAN:
322
325
  success = field &lt; value
323
326
  break
324
327
  }
@@ -334,7 +337,7 @@ module.exports.run = async function filter({ inputs }) {
334
337
  <div class='footer quiet pad2 space-top1 center small'>
335
338
  Code coverage generated by
336
339
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
337
- at Tue Sep 21 2021 15:48:31 GMT+0000 (Coordinated Universal Time)
340
+ at Wed Sep 22 2021 10:50:28 GMT+0000 (Coordinated Universal Time)
338
341
  </div>
339
342
  </div>
340
343
  <script src="../../prettify.js"></script>