@budibase/server 0.9.172 → 0.9.173-alpha.3

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 (261) hide show
  1. package/__mocks__/{mysql.ts → mysql2.ts} +0 -0
  2. package/builder/assets/{index.dbc6728e.css → index.7469e1e4.css} +2 -2
  3. package/builder/assets/{index.9ab01cd4.js → index.b38aa4d6.js} +34 -34
  4. package/builder/assets/{vendor.54435e8f.js → vendor.278a305c.js} +1 -1
  5. package/builder/index.html +3 -3
  6. package/coverage/clover.xml +973 -849
  7. package/coverage/coverage-final.json +47 -46
  8. package/coverage/lcov-report/api/controllers/analytics.js.html +21 -9
  9. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/application.js.html +186 -84
  11. package/coverage/lcov-report/api/controllers/auth.js.html +37 -10
  12. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/backup.js.html +6 -9
  14. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/dev.js.html +41 -17
  18. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/index.html +71 -71
  20. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/permission.js.html +7 -4
  24. package/coverage/lcov-report/api/controllers/query.js.html +129 -24
  25. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/index.html +5 -5
  29. package/coverage/lcov-report/api/controllers/row/index.js.html +15 -15
  30. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/screen.js.html +9 -9
  34. package/coverage/lcov-report/api/controllers/script.js.html +12 -57
  35. package/coverage/lcov-report/api/controllers/table/index.html +28 -28
  36. package/coverage/lcov-report/api/controllers/table/index.js.html +16 -37
  37. package/coverage/lcov-report/api/controllers/table/utils.js.html +279 -33
  38. package/coverage/lcov-report/api/controllers/templates.js.html +49 -13
  39. package/coverage/lcov-report/api/controllers/user.js.html +3 -3
  40. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/index.html +19 -19
  42. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/utils.js.html +8 -8
  44. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +54 -15
  45. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  46. package/coverage/lcov-report/api/index.html +1 -1
  47. package/coverage/lcov-report/api/index.js.html +3 -3
  48. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/application.js.html +5 -2
  51. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/dev.js.html +26 -11
  59. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/index.html +9 -9
  61. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/query.js.html +9 -3
  67. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  78. package/coverage/lcov-report/automations/actions.js.html +31 -10
  79. package/coverage/lcov-report/automations/automationUtils.js.html +14 -86
  80. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  81. package/coverage/lcov-report/automations/index.html +37 -37
  82. package/coverage/lcov-report/automations/index.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/bash.js.html +10 -7
  84. package/coverage/lcov-report/automations/steps/createRow.js.html +2 -2
  85. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/deleteRow.js.html +8 -5
  87. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/executeQuery.js.html +10 -7
  89. package/coverage/lcov-report/automations/steps/executeScript.js.html +10 -7
  90. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/index.html +57 -57
  92. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +10 -7
  94. package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -7
  95. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +10 -7
  96. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/updateRow.js.html +14 -14
  99. package/coverage/lcov-report/automations/steps/utils.js.html +10 -10
  100. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  101. package/coverage/lcov-report/automations/thread.js.html +54 -12
  102. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  111. package/coverage/lcov-report/automations/utils.js.html +28 -28
  112. package/coverage/lcov-report/constants/index.html +1 -1
  113. package/coverage/lcov-report/constants/index.js.html +5 -2
  114. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  115. package/coverage/lcov-report/constants/screens.js.html +2 -2
  116. package/coverage/lcov-report/db/client.js.html +1 -1
  117. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  118. package/coverage/lcov-report/db/index.html +1 -1
  119. package/coverage/lcov-report/db/index.js.html +1 -1
  120. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +12 -12
  121. package/coverage/lcov-report/db/linkedRows/index.html +18 -18
  122. package/coverage/lcov-report/db/linkedRows/index.js.html +47 -26
  123. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  124. package/coverage/lcov-report/db/newid.js.html +2 -2
  125. package/coverage/lcov-report/db/utils.js.html +17 -17
  126. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  127. package/coverage/lcov-report/events/index.html +1 -1
  128. package/coverage/lcov-report/events/index.js.html +1 -1
  129. package/coverage/lcov-report/events/utils.js.html +1 -1
  130. package/coverage/lcov-report/index.html +107 -107
  131. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  132. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  133. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  134. package/coverage/lcov-report/middleware/authorized.js.html +2 -2
  135. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  136. package/coverage/lcov-report/middleware/currentapp.js.html +52 -25
  137. package/coverage/lcov-report/middleware/index.html +15 -15
  138. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  139. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  140. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  141. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  142. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  143. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  144. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  145. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  146. package/coverage/lcov-report/utilities/global.js.html +27 -27
  147. package/coverage/lcov-report/utilities/index.html +32 -17
  148. package/coverage/lcov-report/utilities/index.js.html +4 -4
  149. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +29 -8
  150. package/coverage/lcov-report/utilities/queue/index.html +15 -15
  151. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  152. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  153. package/coverage/lcov-report/utilities/rowProcessor/index.html +14 -14
  154. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +38 -8
  155. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  156. package/coverage/lcov-report/utilities/scriptRunner.js.html +143 -0
  157. package/coverage/lcov-report/utilities/security.js.html +1 -1
  158. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  159. package/coverage/lcov-report/utilities/users.js.html +1 -1
  160. package/coverage/lcov-report/utilities/workerRequests.js.html +19 -19
  161. package/coverage/lcov.info +1692 -1452
  162. package/dist/api/controllers/analytics.js +4 -0
  163. package/dist/api/controllers/application.js +185 -171
  164. package/dist/api/controllers/auth.js +12 -2
  165. package/dist/api/controllers/backup.js +4 -4
  166. package/dist/api/controllers/deploy/index.js +3 -16
  167. package/dist/api/controllers/dev.js +17 -11
  168. package/dist/api/controllers/permission.js +1 -0
  169. package/dist/api/controllers/query.js +26 -8
  170. package/dist/api/controllers/row/ExternalRequest.js +46 -5
  171. package/dist/api/controllers/script.js +4 -16
  172. package/dist/api/controllers/table/index.js +5 -10
  173. package/dist/api/controllers/table/utils.js +83 -10
  174. package/dist/api/controllers/templates.js +18 -3
  175. package/dist/api/controllers/view/viewBuilder.js +15 -1
  176. package/dist/api/routes/application.js +1 -0
  177. package/dist/api/routes/dev.js +8 -4
  178. package/dist/api/routes/query.js +3 -1
  179. package/dist/api/routes/tests/utilities/TestFunctions.js +7 -9
  180. package/dist/automations/actions.js +9 -3
  181. package/dist/automations/automationUtils.js +8 -29
  182. package/dist/automations/steps/bash.js +2 -1
  183. package/dist/automations/steps/createRow.js +1 -1
  184. package/dist/automations/steps/deleteRow.js +2 -1
  185. package/dist/automations/steps/executeQuery.js +2 -1
  186. package/dist/automations/steps/executeScript.js +2 -1
  187. package/dist/automations/steps/outgoingWebhook.js +2 -1
  188. package/dist/automations/steps/queryRows.js +2 -1
  189. package/dist/automations/steps/sendSmtpEmail.js +2 -1
  190. package/dist/automations/steps/updateRow.js +6 -2
  191. package/dist/automations/thread.js +14 -3
  192. package/dist/constants/index.js +1 -0
  193. package/dist/db/linkedRows/index.js +9 -6
  194. package/dist/integrations/base/sql.js +4 -4
  195. package/dist/integrations/mysql.js +1 -1
  196. package/dist/integrations/utils.js +17 -1
  197. package/dist/middleware/currentapp.js +8 -2
  198. package/dist/package.json +7 -6
  199. package/dist/tests/utilities/TestConfiguration.js +34 -19
  200. package/dist/tests/utilities/controllers.js +1 -0
  201. package/dist/tsconfig.tsbuildinfo +1 -1
  202. package/dist/utilities/fileSystem/index.js +49 -33
  203. package/dist/utilities/global.js +1 -1
  204. package/dist/utilities/queue/inMemoryQueue.js +6 -0
  205. package/dist/utilities/rowProcessor/index.js +8 -0
  206. package/dist/utilities/scriptRunner.js +19 -0
  207. package/package.json +8 -7
  208. package/scripts/jestSetup.js +2 -0
  209. package/src/api/controllers/analytics.js +4 -0
  210. package/src/api/controllers/application.js +43 -9
  211. package/src/api/controllers/auth.js +12 -3
  212. package/src/api/controllers/backup.js +4 -5
  213. package/src/api/controllers/deploy/index.js +3 -18
  214. package/src/api/controllers/dev.js +16 -8
  215. package/src/api/controllers/permission.js +1 -0
  216. package/src/api/controllers/query.js +46 -11
  217. package/src/api/controllers/row/ExternalRequest.ts +53 -4
  218. package/src/api/controllers/script.js +4 -19
  219. package/src/api/controllers/table/index.js +5 -12
  220. package/src/api/controllers/table/utils.js +94 -12
  221. package/src/api/controllers/templates.js +17 -5
  222. package/src/api/controllers/view/tests/__snapshots__/viewBuilder.spec.js.snap +1 -1
  223. package/src/api/controllers/view/viewBuilder.js +14 -1
  224. package/src/api/routes/application.js +1 -0
  225. package/src/api/routes/dev.js +9 -4
  226. package/src/api/routes/query.js +3 -1
  227. package/src/api/routes/tests/auth.spec.js +1 -2
  228. package/src/api/routes/tests/permissions.spec.js +3 -0
  229. package/src/api/routes/tests/query.spec.js +2 -2
  230. package/src/api/routes/tests/routing.spec.js +24 -8
  231. package/src/api/routes/tests/user.spec.js +1 -1
  232. package/src/api/routes/tests/utilities/TestFunctions.js +7 -9
  233. package/src/api/routes/tests/webhook.spec.js +4 -1
  234. package/src/automations/actions.js +10 -3
  235. package/src/automations/automationUtils.js +7 -31
  236. package/src/automations/steps/bash.js +2 -1
  237. package/src/automations/steps/createRow.js +1 -1
  238. package/src/automations/steps/deleteRow.js +2 -1
  239. package/src/automations/steps/executeQuery.js +2 -1
  240. package/src/automations/steps/executeScript.js +2 -1
  241. package/src/automations/steps/outgoingWebhook.js +2 -1
  242. package/src/automations/steps/queryRows.js +2 -1
  243. package/src/automations/steps/sendSmtpEmail.js +2 -1
  244. package/src/automations/steps/updateRow.js +6 -6
  245. package/src/automations/thread.js +17 -3
  246. package/src/constants/index.js +1 -0
  247. package/src/db/linkedRows/index.js +14 -7
  248. package/src/integrations/base/sql.ts +11 -3
  249. package/src/integrations/mysql.ts +1 -1
  250. package/src/integrations/tests/mongo.spec.js +10 -6
  251. package/src/integrations/tests/mysql.spec.js +1 -1
  252. package/src/integrations/utils.ts +18 -0
  253. package/src/middleware/currentapp.js +11 -2
  254. package/src/middleware/tests/currentapp.spec.js +3 -3
  255. package/src/tests/utilities/TestConfiguration.js +47 -19
  256. package/src/tests/utilities/controllers.js +1 -0
  257. package/src/utilities/fileSystem/index.js +65 -43
  258. package/src/utilities/global.js +1 -1
  259. package/src/utilities/queue/inMemoryQueue.js +7 -0
  260. package/src/utilities/rowProcessor/index.js +10 -0
  261. package/src/utilities/scriptRunner.js +21 -0
@@ -244,7 +244,7 @@ exports.staticRoutes = staticRoutes
244
244
  <div class='footer quiet pad2 space-top1 center small'>
245
245
  Code coverage generated by
246
246
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
247
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
247
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
248
248
  </div>
249
249
  </div>
250
250
  <script src="../../prettify.js"></script>
@@ -100,7 +100,7 @@ module.exports = router
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
103
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
103
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
@@ -112,7 +112,7 @@ module.exports = router
112
112
  <div class='footer quiet pad2 space-top1 center small'>
113
113
  Code coverage generated by
114
114
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
115
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
115
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
116
116
  </div>
117
117
  </div>
118
118
  <script src="../../prettify.js"></script>
@@ -178,7 +178,7 @@ module.exports = router
178
178
  <div class='footer quiet pad2 space-top1 center small'>
179
179
  Code coverage generated by
180
180
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
181
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
181
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
182
182
  </div>
183
183
  </div>
184
184
  <script src="../../prettify.js"></script>
@@ -196,7 +196,7 @@ module.exports = router
196
196
  <div class='footer quiet pad2 space-top1 center small'>
197
197
  Code coverage generated by
198
198
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
199
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
199
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
200
200
  </div>
201
201
  </div>
202
202
  <script src="../../prettify.js"></script>
@@ -140,7 +140,9 @@
140
140
  <a name='L81'></a><a href='#L81'>81</a>
141
141
  <a name='L82'></a><a href='#L82'>82</a>
142
142
  <a name='L83'></a><a href='#L83'>83</a>
143
- <a name='L84'></a><a href='#L84'>84</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
143
+ <a name='L84'></a><a href='#L84'>84</a>
144
+ <a name='L85'></a><a href='#L85'>85</a>
145
+ <a name='L86'></a><a href='#L86'>86</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
144
146
  <span class="cline-any cline-yes">23x</span>
145
147
  <span class="cline-any cline-yes">23x</span>
146
148
  <span class="cline-any cline-yes">23x</span>
@@ -179,6 +181,7 @@
179
181
  <span class="cline-any cline-neutral">&nbsp;</span>
180
182
  <span class="cline-any cline-neutral">&nbsp;</span>
181
183
  <span class="cline-any cline-neutral">&nbsp;</span>
184
+ <span class="cline-any cline-neutral">&nbsp;</span>
182
185
  <span class="cline-any cline-yes">23x</span>
183
186
  <span class="cline-any cline-neutral">&nbsp;</span>
184
187
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -188,6 +191,7 @@
188
191
  <span class="cline-any cline-neutral">&nbsp;</span>
189
192
  <span class="cline-any cline-neutral">&nbsp;</span>
190
193
  <span class="cline-any cline-neutral">&nbsp;</span>
194
+ <span class="cline-any cline-neutral">&nbsp;</span>
191
195
  <span class="cline-any cline-yes">23x</span>
192
196
  <span class="cline-any cline-neutral">&nbsp;</span>
193
197
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -256,7 +260,8 @@ function generateQueryValidation() {
256
260
  })),
257
261
  queryVerb: Joi.string().allow().required(),
258
262
  extra: Joi.object().optional(),
259
- schema: Joi.object({}).required().unknown(true)
263
+ schema: Joi.object({}).required().unknown(true),
264
+ transformer: Joi.string().optional(),
260
265
  }))
261
266
  }
262
267
  &nbsp;
@@ -267,6 +272,7 @@ function generateQueryPreviewValidation() {
267
272
  queryVerb: Joi.string().allow().required(),
268
273
  extra: Joi.object().optional(),
269
274
  datasourceId: Joi.string().required(),
275
+ transformer: Joi.string().optional(),
270
276
  parameters: Joi.object({}).required().unknown(true)
271
277
  }))
272
278
  }
@@ -313,7 +319,7 @@ module.exports = router
313
319
  <div class='footer quiet pad2 space-top1 center small'>
314
320
  Code coverage generated by
315
321
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
316
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
322
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
317
323
  </div>
318
324
  </div>
319
325
  <script src="../../prettify.js"></script>
@@ -172,7 +172,7 @@ module.exports = router
172
172
  <div class='footer quiet pad2 space-top1 center small'>
173
173
  Code coverage generated by
174
174
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
175
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
175
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
176
176
  </div>
177
177
  </div>
178
178
  <script src="../../prettify.js"></script>
@@ -106,7 +106,7 @@ module.exports = router
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
109
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
109
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
110
110
  </div>
111
111
  </div>
112
112
  <script src="../../prettify.js"></script>
@@ -292,7 +292,7 @@ module.exports = router
292
292
  <div class='footer quiet pad2 space-top1 center small'>
293
293
  Code coverage generated by
294
294
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
295
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
295
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
296
296
  </div>
297
297
  </div>
298
298
  <script src="../../prettify.js"></script>
@@ -199,7 +199,7 @@ module.exports = router
199
199
  <div class='footer quiet pad2 space-top1 center small'>
200
200
  Code coverage generated by
201
201
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
202
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
202
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
203
203
  </div>
204
204
  </div>
205
205
  <script src="../../prettify.js"></script>
@@ -94,7 +94,7 @@ const router = <span class="cstat-no" title="statement not covered" >Router()</s
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
97
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
97
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../../prettify.js"></script>
@@ -214,7 +214,7 @@ module.exports = router
214
214
  <div class='footer quiet pad2 space-top1 center small'>
215
215
  Code coverage generated by
216
216
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
217
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
217
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
218
218
  </div>
219
219
  </div>
220
220
  <script src="../../prettify.js"></script>
@@ -235,7 +235,7 @@ module.exports = router
235
235
  <div class='footer quiet pad2 space-top1 center small'>
236
236
  Code coverage generated by
237
237
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
238
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
238
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
239
239
  </div>
240
240
  </div>
241
241
  <script src="../../prettify.js"></script>
@@ -112,7 +112,7 @@ module.exports = router
112
112
  <div class='footer quiet pad2 space-top1 center small'>
113
113
  Code coverage generated by
114
114
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
115
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
115
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
116
116
  </div>
117
117
  </div>
118
118
  <script src="../../prettify.js"></script>
@@ -178,7 +178,7 @@ module.exports = router
178
178
  <div class='footer quiet pad2 space-top1 center small'>
179
179
  Code coverage generated by
180
180
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
181
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
181
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
182
182
  </div>
183
183
  </div>
184
184
  <script src="../../prettify.js"></script>
@@ -157,7 +157,7 @@ module.exports = router
157
157
  <div class='footer quiet pad2 space-top1 center small'>
158
158
  Code coverage generated by
159
159
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
160
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
160
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
161
161
  </div>
162
162
  </div>
163
163
  <script src="../../prettify.js"></script>
@@ -190,7 +190,7 @@ module.exports = router
190
190
  <div class='footer quiet pad2 space-top1 center small'>
191
191
  Code coverage generated by
192
192
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
193
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
193
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
194
194
  </div>
195
195
  </div>
196
196
  <script src="../../prettify.js"></script>
@@ -25,14 +25,14 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>19/19</span>
28
+ <span class='fraction'>23/23</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
33
+ <span class="strong">50% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
35
+ <span class='fraction'>1/2</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>19/19</span>
49
+ <span class='fraction'>23/23</span>
50
50
  </div>
51
51
 
52
52
 
@@ -121,7 +121,14 @@
121
121
  <a name='L62'></a><a href='#L62'>62</a>
122
122
  <a name='L63'></a><a href='#L63'>63</a>
123
123
  <a name='L64'></a><a href='#L64'>64</a>
124
- <a name='L65'></a><a href='#L65'>65</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
125
132
  <span class="cline-any cline-yes">34x</span>
126
133
  <span class="cline-any cline-yes">34x</span>
127
134
  <span class="cline-any cline-yes">34x</span>
@@ -156,7 +163,6 @@
156
163
  <span class="cline-any cline-neutral">&nbsp;</span>
157
164
  <span class="cline-any cline-neutral">&nbsp;</span>
158
165
  <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-neutral">&nbsp;</span>
160
166
  <span class="cline-any cline-yes">34x</span>
161
167
  <span class="cline-any cline-neutral">&nbsp;</span>
162
168
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -179,6 +185,14 @@
179
185
  <span class="cline-any cline-neutral">&nbsp;</span>
180
186
  <span class="cline-any cline-neutral">&nbsp;</span>
181
187
  <span class="cline-any cline-neutral">&nbsp;</span>
188
+ <span class="cline-any cline-yes">34x</span>
189
+ <span class="cline-any cline-yes">34x</span>
190
+ <span class="cline-any cline-yes">34x</span>
191
+ <span class="cline-any cline-yes">34x</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>
182
196
  <span class="cline-any cline-neutral">&nbsp;</span>
183
197
  <span class="cline-any cline-neutral">&nbsp;</span>
184
198
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -190,7 +204,6 @@ const createRow = require("./steps/createRow")
190
204
  const updateRow = require("./steps/updateRow")
191
205
  const deleteRow = require("./steps/deleteRow")
192
206
  const executeScript = require("./steps/executeScript")
193
- const bash = require("./steps/bash")
194
207
  const executeQuery = require("./steps/executeQuery")
195
208
  const outgoingWebhook = require("./steps/outgoingWebhook")
196
209
  const serverLog = require("./steps/serverLog")
@@ -201,6 +214,7 @@ const integromat = require("./steps/integromat")
201
214
  let filter = require("./steps/filter")
202
215
  let delay = require("./steps/delay")
203
216
  let queryRow = require("./steps/queryRows")
217
+ const env = require("../environment")
204
218
  &nbsp;
205
219
  const ACTION_IMPLS = {
206
220
  SEND_EMAIL_SMTP: sendSmtpEmail.run,
@@ -209,7 +223,6 @@ const ACTION_IMPLS = {
209
223
  DELETE_ROW: deleteRow.run,
210
224
  OUTGOING_WEBHOOK: outgoingWebhook.run,
211
225
  EXECUTE_SCRIPT: executeScript.run,
212
- EXECUTE_BASH: bash.run,
213
226
  EXECUTE_QUERY: executeQuery.run,
214
227
  SERVER_LOG: serverLog.run,
215
228
  DELAY: delay.run,
@@ -229,7 +242,6 @@ const ACTION_DEFINITIONS = {
229
242
  OUTGOING_WEBHOOK: outgoingWebhook.definition,
230
243
  EXECUTE_SCRIPT: executeScript.definition,
231
244
  EXECUTE_QUERY: executeQuery.definition,
232
- EXECUTE_BASH: bash.definition,
233
245
  SERVER_LOG: serverLog.definition,
234
246
  DELAY: delay.definition,
235
247
  FILTER: filter.definition,
@@ -241,6 +253,15 @@ const ACTION_DEFINITIONS = {
241
253
  integromat: integromat.definition,
242
254
  }
243
255
  &nbsp;
256
+ // don't add the bash script/definitions unless in self host
257
+ // the fact this isn't included in any definitions means it cannot be
258
+ // ran at all
259
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (env.SELF_HOSTED) {
260
+ const bash = require("./steps/bash")
261
+ ACTION_IMPLS["EXECUTE_BASH"] = bash.run
262
+ ACTION_DEFINITIONS["EXECUTE_BASH"] = bash.definition
263
+ }
264
+ &nbsp;
244
265
  /* istanbul ignore next */
245
266
  exports.getAction = async function (actionName) {
246
267
  if (ACTION_IMPLS[actionName] != null) {
@@ -256,7 +277,7 @@ exports.ACTION_DEFINITIONS = ACTION_DEFINITIONS
256
277
  <div class='footer quiet pad2 space-top1 center small'>
257
278
  Code coverage generated by
258
279
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
259
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
280
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
260
281
  </div>
261
282
  </div>
262
283
  <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">94.29% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>33/35</span>
28
+ <span class='fraction'>27/27</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">94.29% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>33/35</span>
49
+ <span class='fraction'>27/27</span>
50
50
  </div>
51
51
 
52
52
 
@@ -125,36 +125,7 @@
125
125
  <a name='L66'></a><a href='#L66'>66</a>
126
126
  <a name='L67'></a><a href='#L67'>67</a>
127
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>
145
- <a name='L86'></a><a href='#L86'>86</a>
146
- <a name='L87'></a><a href='#L87'>87</a>
147
- <a name='L88'></a><a href='#L88'>88</a>
148
- <a name='L89'></a><a href='#L89'>89</a>
149
- <a name='L90'></a><a href='#L90'>90</a>
150
- <a name='L91'></a><a href='#L91'>91</a>
151
- <a name='L92'></a><a href='#L92'>92</a>
152
- <a name='L93'></a><a href='#L93'>93</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</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-yes">34x</span>
157
- <span class="cline-any cline-yes">34x</span>
128
+ <a name='L69'></a><a href='#L69'>69</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
158
129
  <span class="cline-any cline-neutral">&nbsp;</span>
159
130
  <span class="cline-any cline-neutral">&nbsp;</span>
160
131
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -216,37 +187,13 @@
216
187
  <span class="cline-any cline-neutral">&nbsp;</span>
217
188
  <span class="cline-any cline-yes">34x</span>
218
189
  <span class="cline-any cline-yes">9x</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-yes">9x</span>
221
- <span class="cline-any cline-no">&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-yes">9x</span>
225
- <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-neutral">&nbsp;</span>
227
190
  <span class="cline-any cline-yes">8x</span>
228
191
  <span class="cline-any cline-neutral">&nbsp;</span>
229
192
  <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-neutral">&nbsp;</span>
236
- <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-neutral">&nbsp;</span>
238
- <span class="cline-any cline-neutral">&nbsp;</span>
239
193
  <span class="cline-any cline-yes">34x</span>
240
- <span class="cline-any cline-yes">2x</span>
241
- <span class="cline-any cline-yes">2x</span>
242
- <span class="cline-any cline-yes">1x</span>
194
+ <span class="cline-any cline-yes">3x</span>
243
195
  <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../db")
245
- const {
246
- isExternalTable,
247
- breakExternalTableId,
248
- } = require("../integrations/utils")
249
- const { getExternalTable } = require("../api/controllers/table/utils")
196
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { getTable } = require("../api/controllers/table/utils")
250
197
  &nbsp;
251
198
  /**
252
199
  * When values are input to the system generally they will be of type string as this is required for template strings.
@@ -264,7 +211,7 @@ const { getExternalTable } = require("../api/controllers/table/utils")
264
211
  * @returns {object} The inputs object which has had all the various types supported by this function converted to their
265
212
  * primitive types.
266
213
  */
267
- module.exports.cleanInputValues = (inputs, schema) =&gt; {
214
+ exports.cleanInputValues = (inputs, schema) =&gt; {
268
215
  if (schema == null) {
269
216
  return inputs
270
217
  }
@@ -306,32 +253,13 @@ module.exports.cleanInputValues = (inputs, schema) =&gt; {
306
253
  * @param {object} row The input row structure which requires clean-up after having been through template statements.
307
254
  * @returns {Promise&lt;Object&gt;} The cleaned up rows object, will should now have all the required primitive types.
308
255
  */
309
- module.exports.cleanUpRow = async (appId, tableId, row) =&gt; {
310
- const db = new CouchDB(appId)
311
- let table
312
- <span class="missing-if-branch" title="if path not taken" >I</span>if (isExternalTable(tableId)) {
313
- const { datasourceId, tableName } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(tableId)</span>
314
- <span class="cstat-no" title="statement not covered" > table = await getExternalTable(appId, datasourceId, tableName)</span>
315
- } else {
316
- table = await db.get(tableId)
317
- }
318
- &nbsp;
319
- return module.exports.cleanInputValues(row, { properties: table.schema })
256
+ exports.cleanUpRow = async (appId, tableId, row) =&gt; {
257
+ let table = await getTable(appId, tableId)
258
+ return exports.cleanInputValues(row, { properties: table.schema })
320
259
  }
321
260
  &nbsp;
322
- /**
323
- * A utility function for the cleanUpRow, which can be used if only the row ID is known (not the table ID) to clean
324
- * up a row after template statements have been replaced. This is specifically useful for the update row action.
325
- *
326
- * @param {string} appId The instance which the Table/Table is contained under.
327
- * @param {string} rowId The ID of the row from which the tableId will be extracted, to get the Table/Table schema.
328
- * @param {object} row The input row structure which requires clean-up after having been through template statements.
329
- * @returns {Promise&lt;Object&gt;} The cleaned up rows object, which will now have all the required primitive types.
330
- */
331
- module.exports.cleanUpRowById = async (appId, rowId, row) =&gt; {
332
- const db = new CouchDB(appId)
333
- const foundRow = await db.get(rowId)
334
- return module.exports.cleanUpRow(appId, foundRow.tableId, row)
261
+ exports.getError = err =&gt; {
262
+ return typeof err !== "string" ? err.toString() : <span class="branch-1 cbranch-no" title="branch not covered" >err</span>
335
263
  }
336
264
  &nbsp;</pre></td></tr></table></pre>
337
265
 
@@ -340,7 +268,7 @@ module.exports.cleanUpRowById = async (appId, rowId, row) =&gt; {
340
268
  <div class='footer quiet pad2 space-top1 center small'>
341
269
  Code coverage generated by
342
270
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
343
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
271
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
344
272
  </div>
345
273
  </div>
346
274
  <script src="../prettify.js"></script>
@@ -157,7 +157,7 @@ exports.queue = automationQueue
157
157
  <div class='footer quiet pad2 space-top1 center small'>
158
158
  Code coverage generated by
159
159
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
160
- at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
160
+ at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
161
161
  </div>
162
162
  </div>
163
163
  <script src="../prettify.js"></script>