@budibase/server 0.9.169-alpha.9 → 0.9.172

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 (227) hide show
  1. package/builder/assets/{index.aafb155b.js → index.9ab01cd4.js} +34 -34
  2. package/builder/assets/{index.0ea76a5c.css → index.dbc6728e.css} +2 -2
  3. package/builder/assets/{vendor.2053eff2.js → vendor.54435e8f.js} +2 -2
  4. package/builder/index.html +3 -3
  5. package/coverage/clover.xml +517 -609
  6. package/coverage/coverage-final.json +31 -32
  7. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/backup.js.html +9 -6
  13. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/dev.js.html +17 -41
  17. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/index.html +45 -45
  19. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/permission.js.html +4 -7
  23. package/coverage/lcov-report/api/controllers/query.js.html +24 -129
  24. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/index.html +5 -5
  28. package/coverage/lcov-report/api/controllers/row/index.js.html +15 -15
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/script.js.html +57 -12
  34. package/coverage/lcov-report/api/controllers/table/index.html +28 -28
  35. package/coverage/lcov-report/api/controllers/table/index.js.html +37 -16
  36. package/coverage/lcov-report/api/controllers/table/utils.js.html +33 -279
  37. package/coverage/lcov-report/api/controllers/templates.js.html +13 -49
  38. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/utils.js.html +8 -8
  43. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +6 -6
  44. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  45. package/coverage/lcov-report/api/index.html +1 -1
  46. package/coverage/lcov-report/api/index.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/dev.js.html +11 -26
  58. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/index.html +9 -9
  60. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/query.js.html +3 -9
  66. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  77. package/coverage/lcov-report/automations/actions.js.html +10 -31
  78. package/coverage/lcov-report/automations/automationUtils.js.html +86 -14
  79. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  80. package/coverage/lcov-report/automations/index.html +25 -25
  81. package/coverage/lcov-report/automations/index.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/bash.js.html +7 -10
  83. package/coverage/lcov-report/automations/steps/createRow.js.html +2 -2
  84. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/deleteRow.js.html +5 -8
  86. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/executeQuery.js.html +7 -10
  88. package/coverage/lcov-report/automations/steps/executeScript.js.html +7 -10
  89. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/index.html +57 -57
  91. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +7 -10
  93. package/coverage/lcov-report/automations/steps/queryRows.js.html +7 -10
  94. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +7 -10
  95. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/updateRow.js.html +14 -14
  98. package/coverage/lcov-report/automations/steps/utils.js.html +10 -10
  99. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  100. package/coverage/lcov-report/automations/thread.js.html +12 -54
  101. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  110. package/coverage/lcov-report/automations/utils.js.html +1 -1
  111. package/coverage/lcov-report/constants/index.html +1 -1
  112. package/coverage/lcov-report/constants/index.js.html +2 -5
  113. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  114. package/coverage/lcov-report/constants/screens.js.html +1 -1
  115. package/coverage/lcov-report/db/client.js.html +1 -1
  116. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  117. package/coverage/lcov-report/db/index.html +1 -1
  118. package/coverage/lcov-report/db/index.js.html +1 -1
  119. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +12 -12
  120. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  121. package/coverage/lcov-report/db/linkedRows/index.js.html +9 -9
  122. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  123. package/coverage/lcov-report/db/newid.js.html +1 -1
  124. package/coverage/lcov-report/db/utils.js.html +1 -1
  125. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  126. package/coverage/lcov-report/events/index.html +1 -1
  127. package/coverage/lcov-report/events/index.js.html +1 -1
  128. package/coverage/lcov-report/events/utils.js.html +1 -1
  129. package/coverage/lcov-report/index.html +69 -69
  130. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  131. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  132. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  133. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  134. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  135. package/coverage/lcov-report/middleware/currentapp.js.html +2 -2
  136. package/coverage/lcov-report/middleware/index.html +1 -1
  137. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  138. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  139. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  140. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  141. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  142. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  143. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  144. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  145. package/coverage/lcov-report/utilities/global.js.html +2 -2
  146. package/coverage/lcov-report/utilities/index.html +7 -22
  147. package/coverage/lcov-report/utilities/index.js.html +1 -1
  148. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  149. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  150. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  151. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  152. package/coverage/lcov-report/utilities/rowProcessor/index.html +14 -14
  153. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +8 -38
  154. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  155. package/coverage/lcov-report/utilities/security.js.html +1 -1
  156. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  157. package/coverage/lcov-report/utilities/users.js.html +1 -1
  158. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  159. package/coverage/lcov.info +848 -1026
  160. package/dist/api/controllers/backup.js +4 -4
  161. package/dist/api/controllers/dev.js +11 -17
  162. package/dist/api/controllers/permission.js +0 -1
  163. package/dist/api/controllers/query.js +8 -26
  164. package/dist/api/controllers/row/ExternalRequest.js +5 -46
  165. package/dist/api/controllers/script.js +16 -4
  166. package/dist/api/controllers/table/index.js +10 -5
  167. package/dist/api/controllers/table/utils.js +10 -83
  168. package/dist/api/controllers/templates.js +3 -18
  169. package/dist/api/routes/dev.js +4 -8
  170. package/dist/api/routes/query.js +1 -3
  171. package/dist/automations/actions.js +3 -9
  172. package/dist/automations/automationUtils.js +29 -8
  173. package/dist/automations/steps/bash.js +1 -2
  174. package/dist/automations/steps/createRow.js +1 -1
  175. package/dist/automations/steps/deleteRow.js +1 -2
  176. package/dist/automations/steps/executeQuery.js +1 -2
  177. package/dist/automations/steps/executeScript.js +1 -2
  178. package/dist/automations/steps/outgoingWebhook.js +1 -2
  179. package/dist/automations/steps/queryRows.js +1 -2
  180. package/dist/automations/steps/sendSmtpEmail.js +1 -2
  181. package/dist/automations/steps/updateRow.js +2 -6
  182. package/dist/automations/thread.js +3 -14
  183. package/dist/constants/index.js +0 -1
  184. package/dist/integrations/base/sql.js +4 -4
  185. package/dist/integrations/utils.js +1 -16
  186. package/dist/middleware/currentapp.js +1 -1
  187. package/dist/package.json +5 -6
  188. package/dist/tsconfig.tsbuildinfo +1 -1
  189. package/dist/utilities/fileSystem/index.js +33 -49
  190. package/dist/utilities/global.js +1 -1
  191. package/dist/utilities/rowProcessor/index.js +0 -8
  192. package/package.json +6 -7
  193. package/src/api/controllers/backup.js +5 -4
  194. package/src/api/controllers/dev.js +8 -16
  195. package/src/api/controllers/permission.js +0 -1
  196. package/src/api/controllers/query.js +11 -46
  197. package/src/api/controllers/row/ExternalRequest.ts +4 -49
  198. package/src/api/controllers/script.js +19 -4
  199. package/src/api/controllers/table/index.js +12 -5
  200. package/src/api/controllers/table/utils.js +12 -94
  201. package/src/api/controllers/templates.js +5 -17
  202. package/src/api/routes/dev.js +4 -9
  203. package/src/api/routes/query.js +1 -3
  204. package/src/automations/actions.js +3 -10
  205. package/src/automations/automationUtils.js +31 -7
  206. package/src/automations/steps/bash.js +1 -2
  207. package/src/automations/steps/createRow.js +1 -1
  208. package/src/automations/steps/deleteRow.js +1 -2
  209. package/src/automations/steps/executeQuery.js +1 -2
  210. package/src/automations/steps/executeScript.js +1 -2
  211. package/src/automations/steps/outgoingWebhook.js +1 -2
  212. package/src/automations/steps/queryRows.js +1 -2
  213. package/src/automations/steps/sendSmtpEmail.js +1 -2
  214. package/src/automations/steps/updateRow.js +6 -6
  215. package/src/automations/thread.js +3 -17
  216. package/src/constants/index.js +0 -1
  217. package/src/integrations/base/sql.ts +3 -5
  218. package/src/integrations/tests/mongo.spec.js +6 -10
  219. package/src/integrations/utils.ts +0 -15
  220. package/src/middleware/currentapp.js +1 -1
  221. package/src/middleware/tests/currentapp.spec.js +3 -3
  222. package/src/utilities/fileSystem/index.js +43 -65
  223. package/src/utilities/global.js +1 -1
  224. package/src/utilities/rowProcessor/index.js +0 -10
  225. package/coverage/lcov-report/utilities/scriptRunner.js.html +0 -143
  226. package/dist/utilities/scriptRunner.js +0 -19
  227. package/src/utilities/scriptRunner.js +0 -21
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">77.78% </span>
26
+ <span class="strong">79.55% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>77/99</span>
28
+ <span class='fraction'>70/88</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">53.66% </span>
33
+ <span class="strong">54.05% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>22/41</span>
35
+ <span class='fraction'>20/37</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">92.31% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>12/13</span>
42
+ <span class='fraction'>10/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">78.13% </span>
47
+ <span class="strong">79.31% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>75/96</span>
49
+ <span class='fraction'>69/87</span>
50
50
  </div>
51
51
 
52
52
 
@@ -233,43 +233,7 @@
233
233
  <a name='L174'></a><a href='#L174'>174</a>
234
234
  <a name='L175'></a><a href='#L175'>175</a>
235
235
  <a name='L176'></a><a href='#L176'>176</a>
236
- <a name='L177'></a><a href='#L177'>177</a>
237
- <a name='L178'></a><a href='#L178'>178</a>
238
- <a name='L179'></a><a href='#L179'>179</a>
239
- <a name='L180'></a><a href='#L180'>180</a>
240
- <a name='L181'></a><a href='#L181'>181</a>
241
- <a name='L182'></a><a href='#L182'>182</a>
242
- <a name='L183'></a><a href='#L183'>183</a>
243
- <a name='L184'></a><a href='#L184'>184</a>
244
- <a name='L185'></a><a href='#L185'>185</a>
245
- <a name='L186'></a><a href='#L186'>186</a>
246
- <a name='L187'></a><a href='#L187'>187</a>
247
- <a name='L188'></a><a href='#L188'>188</a>
248
- <a name='L189'></a><a href='#L189'>189</a>
249
- <a name='L190'></a><a href='#L190'>190</a>
250
- <a name='L191'></a><a href='#L191'>191</a>
251
- <a name='L192'></a><a href='#L192'>192</a>
252
- <a name='L193'></a><a href='#L193'>193</a>
253
- <a name='L194'></a><a href='#L194'>194</a>
254
- <a name='L195'></a><a href='#L195'>195</a>
255
- <a name='L196'></a><a href='#L196'>196</a>
256
- <a name='L197'></a><a href='#L197'>197</a>
257
- <a name='L198'></a><a href='#L198'>198</a>
258
- <a name='L199'></a><a href='#L199'>199</a>
259
- <a name='L200'></a><a href='#L200'>200</a>
260
- <a name='L201'></a><a href='#L201'>201</a>
261
- <a name='L202'></a><a href='#L202'>202</a>
262
- <a name='L203'></a><a href='#L203'>203</a>
263
- <a name='L204'></a><a href='#L204'>204</a>
264
- <a name='L205'></a><a href='#L205'>205</a>
265
- <a name='L206'></a><a href='#L206'>206</a>
266
- <a name='L207'></a><a href='#L207'>207</a>
267
- <a name='L208'></a><a href='#L208'>208</a>
268
- <a name='L209'></a><a href='#L209'>209</a>
269
- <a name='L210'></a><a href='#L210'>210</a>
270
- <a name='L211'></a><a href='#L211'>211</a>
271
- <a name='L212'></a><a href='#L212'>212</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
272
- <span class="cline-any cline-yes">34x</span>
236
+ <a name='L177'></a><a href='#L177'>177</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
273
237
  <span class="cline-any cline-yes">34x</span>
274
238
  <span class="cline-any cline-yes">34x</span>
275
239
  <span class="cline-any cline-yes">34x</span>
@@ -300,35 +264,8 @@
300
264
  <span class="cline-any cline-neutral">&nbsp;</span>
301
265
  <span class="cline-any cline-neutral">&nbsp;</span>
302
266
  <span class="cline-any cline-yes">2x</span>
303
- <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-neutral">&nbsp;</span>
306
- <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-neutral">&nbsp;</span>
309
- <span class="cline-any cline-neutral">&nbsp;</span>
310
- <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-yes">2x</span>
312
- <span class="cline-any cline-neutral">&nbsp;</span>
313
- <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-yes">2x</span>
315
- <span class="cline-any cline-no">&nbsp;</span>
316
- <span class="cline-any cline-no">&nbsp;</span>
317
- <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-neutral">&nbsp;</span>
319
- <span class="cline-any cline-neutral">&nbsp;</span>
320
- <span class="cline-any cline-yes">2x</span>
321
- <span class="cline-any cline-no">&nbsp;</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span>
325
- <span class="cline-any cline-yes">2x</span>
326
267
  <span class="cline-any cline-no">&nbsp;</span>
327
268
  <span class="cline-any cline-neutral">&nbsp;</span>
328
- <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-yes">2x</span>
331
- <span class="cline-any cline-neutral">&nbsp;</span>
332
269
  <span class="cline-any cline-yes">2x</span>
333
270
  <span class="cline-any cline-neutral">&nbsp;</span>
334
271
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -421,15 +358,14 @@
421
358
  <span class="cline-any cline-neutral">&nbsp;</span>
422
359
  <span class="cline-any cline-neutral">&nbsp;</span>
423
360
  <span class="cline-any cline-yes">1x</span>
424
- <span class="cline-any cline-yes">1x</span>
425
- <span class="cline-any cline-yes">1x</span>
426
361
  <span class="cline-any cline-neutral">&nbsp;</span>
427
362
  <span class="cline-any cline-yes">1x</span>
428
363
  <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <span class="cline-any cline-yes">1x</span>
365
+ <span class="cline-any cline-yes">1x</span>
429
366
  <span class="cline-any cline-neutral">&nbsp;</span>
430
367
  <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-yes">1x</span>
433
369
  <span class="cline-any cline-neutral">&nbsp;</span>
434
370
  <span class="cline-any cline-yes">1x</span>
435
371
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -457,15 +393,9 @@
457
393
  <span class="cline-any cline-neutral">&nbsp;</span>
458
394
  <span class="cline-any cline-neutral">&nbsp;</span>
459
395
  <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-yes">1x</span>
461
- <span class="cline-any cline-neutral">&nbsp;</span>
462
396
  <span class="cline-any cline-neutral">&nbsp;</span>
463
397
  <span class="cline-any cline-yes">1x</span>
464
398
  <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-neutral">&nbsp;</span>
467
- <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-neutral">&nbsp;</span>
469
399
  <span class="cline-any cline-yes">1x</span>
470
400
  <span class="cline-any cline-neutral">&nbsp;</span>
471
401
  <span class="cline-any cline-yes">1x</span>
@@ -485,7 +415,6 @@ const { generateQueryID, getQueryParams } = require("../../db/utils")
485
415
  const { integrations } = require("../../integrations")
486
416
  const { BaseQueryVerbs } = require("../../constants")
487
417
  const env = require("../../environment")
488
- const ScriptRunner = require("../../utilities/scriptRunner")
489
418
  &nbsp;
490
419
  // simple function to append "readable" to all read queries
491
420
  function enrichQueries(input) {
@@ -510,37 +439,10 @@ function formatResponse(resp) {
510
439
  <span class="cstat-no" title="statement not covered" > resp = { response: resp }</span>
511
440
  }
512
441
  }
513
- return resp
514
- }
515
- &nbsp;
516
- async function runAndTransform(
517
- integration,
518
- queryVerb,
519
- enrichedQuery,
520
- transformer
521
- ) {
522
- let rows = formatResponse(await integration[queryVerb](enrichedQuery))
523
- &nbsp;
524
- // transform as required
525
- <span class="missing-if-branch" title="if path not taken" >I</span>if (transformer) {
526
- const runner = <span class="cstat-no" title="statement not covered" >new ScriptRunner(transformer, { data: rows })</span>
527
- <span class="cstat-no" title="statement not covered" > rows = runner.execute()</span>
528
- }
529
- &nbsp;
530
- // needs to an array for next step
531
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!Array.isArray(rows)) {
532
- <span class="cstat-no" title="statement not covered" > rows = [rows]</span>
533
- }
534
- &nbsp;
535
- // map into JSON if just raw primitive here
536
- <span class="missing-if-branch" title="if path not taken" >I</span>if (rows.find(row =&gt; typeof row !== "object")) {
537
- <span class="cstat-no" title="statement not covered" > rows = rows.map(<span class="fstat-no" title="function not covered" >va</span>lue =&gt; (<span class="cstat-no" title="statement not covered" >{ value })</span>)</span>
442
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!Array.isArray(resp)) {
443
+ <span class="cstat-no" title="statement not covered" > resp = [resp]</span>
538
444
  }
539
- &nbsp;
540
- // get all the potential fields in the schema
541
- let keys = rows.flatMap(Object.keys)
542
- &nbsp;
543
- return { rows, keys }
445
+ return resp
544
446
  }
545
447
  &nbsp;
546
448
  exports.fetch = async function (ctx) {
@@ -631,16 +533,15 @@ exports.preview = async function (ctx) {
631
533
  ctx.throw(400, "Integration type does not exist.")
632
534
  }
633
535
  &nbsp;
634
- const { fields, parameters, queryVerb, transformer } = ctx.request.body
536
+ const { fields, parameters, queryVerb } = ctx.request.body
537
+ &nbsp;
635
538
  const enrichedQuery = await enrichQueryFields(fields, parameters)
539
+ &nbsp;
636
540
  const integration = new Integration(datasource.config)
541
+ const rows = formatResponse(await integration[queryVerb](enrichedQuery))
637
542
  &nbsp;
638
- const { rows, keys } = await runAndTransform(
639
- integration,
640
- queryVerb,
641
- enrichedQuery,
642
- transformer
643
- )
543
+ // get all the potential fields in the schema
544
+ const keys = rows.flatMap(Object.keys)
644
545
  &nbsp;
645
546
  ctx.body = {
646
547
  rows,
@@ -668,16 +569,10 @@ exports.execute = async function (ctx) {
668
569
  query.fields,
669
570
  ctx.request.body.parameters
670
571
  )
671
- const integration = new Integration(datasource.config)
672
572
  &nbsp;
573
+ const integration = new Integration(datasource.config)
673
574
  // call the relevant CRUD method on the integration class
674
- const { rows } = await runAndTransform(
675
- integration,
676
- query.queryVerb,
677
- enrichedQuery,
678
- query.transformer
679
- )
680
- ctx.body = rows
575
+ ctx.body = formatResponse(await integration[query.queryVerb](enrichedQuery))
681
576
  // cleanup
682
577
  <span class="missing-if-branch" title="if path not taken" >I</span>if (integration.end) {
683
578
  <span class="cstat-no" title="statement not covered" > integration.end()</span>
@@ -697,7 +592,7 @@ exports.destroy = async function (ctx) {
697
592
  <div class='footer quiet pad2 space-top1 center small'>
698
593
  Code coverage generated by
699
594
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
700
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
595
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
701
596
  </div>
702
597
  </div>
703
598
  <script src="../../prettify.js"></script>
@@ -358,7 +358,7 @@ exports.destroy = async function (ctx) {
358
358
  <div class='footer quiet pad2 space-top1 center small'>
359
359
  Code coverage generated by
360
360
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
361
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
361
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
362
362
  </div>
363
363
  </div>
364
364
  <script src="../../prettify.js"></script>
@@ -343,7 +343,7 @@ exports.clientFetch = async ctx =&gt; {
343
343
  <div class='footer quiet pad2 space-top1 center small'>
344
344
  Code coverage generated by
345
345
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
346
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
346
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
347
347
  </div>
348
348
  </div>
349
349
  <script src="../../prettify.js"></script>
@@ -748,7 +748,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
748
748
  <div class='footer quiet pad2 space-top1 center small'>
749
749
  Code coverage generated by
750
750
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
751
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
751
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
752
752
  </div>
753
753
  </div>
754
754
  <script src="../../../prettify.js"></script>
@@ -30,9 +30,9 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">33.88% </span>
33
+ <span class="strong">33.47% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>83/245</span>
35
+ <span class='fraction'>82/245</span>
36
36
  </div>
37
37
 
38
38
 
@@ -94,8 +94,8 @@
94
94
  </td>
95
95
  <td data-value="92.94" class="pct high">92.94%</td>
96
96
  <td data-value="85" class="abs high">79/85</td>
97
- <td data-value="94.12" class="pct high">94.12%</td>
98
- <td data-value="34" class="abs high">32/34</td>
97
+ <td data-value="91.18" class="pct high">91.18%</td>
98
+ <td data-value="34" class="abs high">31/34</td>
99
99
  <td data-value="100" class="pct high">100%</td>
100
100
  <td data-value="11" class="abs high">11/11</td>
101
101
  <td data-value="92.94" class="pct high">92.94%</td>
@@ -155,7 +155,7 @@
155
155
  <div class='footer quiet pad2 space-top1 center small'>
156
156
  Code coverage generated by
157
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
158
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="../../../prettify.js"></script>
@@ -30,9 +30,9 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">94.12% </span>
33
+ <span class="strong">91.18% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>32/34</span>
35
+ <span class='fraction'>31/34</span>
36
36
  </div>
37
37
 
38
38
 
@@ -201,41 +201,41 @@
201
201
  <span class="cline-any cline-yes">34x</span>
202
202
  <span class="cline-any cline-neutral">&nbsp;</span>
203
203
  <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-yes">111x</span>
204
+ <span class="cline-any cline-yes">110x</span>
205
205
  <span class="cline-any cline-no">&nbsp;</span>
206
206
  <span class="cline-any cline-neutral">&nbsp;</span>
207
207
  <span class="cline-any cline-yes">110x</span>
208
208
  <span class="cline-any cline-neutral">&nbsp;</span>
209
209
  <span class="cline-any cline-neutral">&nbsp;</span>
210
210
  <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-yes">113x</span>
211
+ <span class="cline-any cline-yes">112x</span>
212
212
  <span class="cline-any cline-yes">73x</span>
213
213
  <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-yes">40x</span>
214
+ <span class="cline-any cline-yes">39x</span>
215
215
  <span class="cline-any cline-yes">32x</span>
216
216
  <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-yes">8x</span>
217
+ <span class="cline-any cline-yes">7x</span>
218
218
  <span class="cline-any cline-yes">7x</span>
219
219
  <span class="cline-any cline-neutral">&nbsp;</span>
220
220
  <span class="cline-any cline-neutral">&nbsp;</span>
221
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
222
  <span class="cline-any cline-yes">34x</span>
223
- <span class="cline-any cline-yes">6x</span>
224
- <span class="cline-any cline-yes">6x</span>
225
- <span class="cline-any cline-yes">6x</span>
223
+ <span class="cline-any cline-yes">5x</span>
224
+ <span class="cline-any cline-yes">5x</span>
225
+ <span class="cline-any cline-yes">5x</span>
226
226
  <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-yes">6x</span>
227
+ <span class="cline-any cline-yes">5x</span>
228
228
  <span class="cline-any cline-no">&nbsp;</span>
229
229
  <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-yes">6x</span>
231
- <span class="cline-any cline-yes">6x</span>
230
+ <span class="cline-any cline-yes">5x</span>
231
+ <span class="cline-any cline-yes">5x</span>
232
232
  <span class="cline-any cline-yes">4x</span>
233
233
  <span class="cline-any cline-yes">4x</span>
234
234
  <span class="cline-any cline-neutral">&nbsp;</span>
235
235
  <span class="cline-any cline-yes">4x</span>
236
236
  <span class="cline-any cline-yes">4x</span>
237
237
  <span class="cline-any cline-neutral">&nbsp;</span>
238
- <span class="cline-any cline-yes">2x</span>
238
+ <span class="cline-any cline-yes">1x</span>
239
239
  <span class="cline-any cline-neutral">&nbsp;</span>
240
240
  <span class="cline-any cline-neutral">&nbsp;</span>
241
241
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -353,7 +353,7 @@ function getTableId(ctx) {
353
353
  if (ctx.params &amp;&amp; ctx.params.tableId) {
354
354
  return ctx.params.tableId
355
355
  }
356
- if (ctx.params &amp;&amp; ctx.params.viewName) {
356
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (ctx.params &amp;&amp; ctx.params.viewName) {
357
357
  return ctx.params.viewName
358
358
  }
359
359
  }
@@ -481,7 +481,7 @@ exports.fetchEnrichedRow = async function (ctx) {
481
481
  <div class='footer quiet pad2 space-top1 center small'>
482
482
  Code coverage generated by
483
483
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
484
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
484
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
485
485
  </div>
486
486
  </div>
487
487
  <script src="../../../prettify.js"></script>
@@ -1405,7 +1405,7 @@ exports.fetchEnrichedRow = async ctx =&gt; {
1405
1405
  <div class='footer quiet pad2 space-top1 center small'>
1406
1406
  Code coverage generated by
1407
1407
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1408
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
1408
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
1409
1409
  </div>
1410
1410
  </div>
1411
1411
  <script src="../../../prettify.js"></script>
@@ -1228,7 +1228,7 @@ exports.fullSearch = <span class="fstat-no" title="function not covered" >as</sp
1228
1228
  <div class='footer quiet pad2 space-top1 center small'>
1229
1229
  Code coverage generated by
1230
1230
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1231
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
1231
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
1232
1232
  </div>
1233
1233
  </div>
1234
1234
  <script src="../../../prettify.js"></script>
@@ -328,7 +328,7 @@ exports.validate = async ({ appId, tableId, row, table }) =&gt; {
328
328
  <div class='footer quiet pad2 space-top1 center small'>
329
329
  Code coverage generated by
330
330
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
331
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
331
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
332
332
  </div>
333
333
  </div>
334
334
  <script src="../../../prettify.js"></script>
@@ -208,7 +208,7 @@ exports.destroy = async ctx =&gt; {
208
208
  <div class='footer quiet pad2 space-top1 center small'>
209
209
  Code coverage generated by
210
210
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
211
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
211
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
212
212
  </div>
213
213
  </div>
214
214
  <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">42.86% </span>
26
+ <span class="strong">30.77% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>3/7</span>
28
+ <span class='fraction'>4/13</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/2</span>
42
+ <span class='fraction'>0/4</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">42.86% </span>
47
+ <span class="strong">30.77% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>3/7</span>
49
+ <span class='fraction'>4/13</span>
50
50
  </div>
51
51
 
52
52
 
@@ -68,23 +68,68 @@
68
68
  <a name='L9'></a><a href='#L9'>9</a>
69
69
  <a name='L10'></a><a href='#L10'>10</a>
70
70
  <a name='L11'></a><a href='#L11'>11</a>
71
- <a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
72
- <span class="cline-any cline-neutral">&nbsp;</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
73
87
  <span class="cline-any cline-yes">34x</span>
88
+ <span class="cline-any cline-neutral">&nbsp;</span>
89
+ <span class="cline-any cline-neutral">&nbsp;</span>
90
+ <span class="cline-any cline-neutral">&nbsp;</span>
91
+ <span class="cline-any cline-no">&nbsp;</span>
74
92
  <span class="cline-any cline-no">&nbsp;</span>
75
93
  <span class="cline-any cline-no">&nbsp;</span>
76
94
  <span class="cline-any cline-no">&nbsp;</span>
77
95
  <span class="cline-any cline-neutral">&nbsp;</span>
78
96
  <span class="cline-any cline-neutral">&nbsp;</span>
97
+ <span class="cline-any cline-neutral">&nbsp;</span>
98
+ <span class="cline-any cline-no">&nbsp;</span>
99
+ <span class="cline-any cline-no">&nbsp;</span>
100
+ <span class="cline-any cline-neutral">&nbsp;</span>
101
+ <span class="cline-any cline-neutral">&nbsp;</span>
102
+ <span class="cline-any cline-neutral">&nbsp;</span>
79
103
  <span class="cline-any cline-yes">34x</span>
80
104
  <span class="cline-any cline-no">&nbsp;</span>
81
105
  <span class="cline-any cline-neutral">&nbsp;</span>
82
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const ScriptRunner = require("../../utilities/scriptRunner")
106
+ <span class="cline-any cline-no">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span>
109
+ <span class="cline-any cline-yes">34x</span>
110
+ <span class="cline-any cline-no">&nbsp;</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
112
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const fetch = require("node-fetch")
113
+ const vm = require("vm")
114
+ &nbsp;
115
+ class ScriptExecutor {
116
+ <span class="fstat-no" title="function not covered" > co</span>nstructor(body) {
117
+ const code = <span class="cstat-no" title="statement not covered" >`let fn = () =&gt; {\n${body.script}\n}; out = fn();`</span>
118
+ <span class="cstat-no" title="statement not covered" > this.script = new vm.Script(code)</span>
119
+ <span class="cstat-no" title="statement not covered" > this.context = vm.createContext(body.context)</span>
120
+ <span class="cstat-no" title="statement not covered" > this.context.fetch = fetch</span>
121
+ }
122
+ &nbsp;
123
+ <span class="fstat-no" title="function not covered" > ex</span>ecute() {
124
+ <span class="cstat-no" title="statement not covered" > this.script.runInContext(this.context)</span>
125
+ <span class="cstat-no" title="statement not covered" > return this.context.out</span>
126
+ }
127
+ }
83
128
  &nbsp;
84
129
  exports.execute = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
85
- const { script, context } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
86
- const runner = <span class="cstat-no" title="statement not covered" >new ScriptRunner(script, context)</span>
87
- <span class="cstat-no" title="statement not covered" > ctx.body = runner.execute()</span>
130
+ const executor = <span class="cstat-no" title="statement not covered" >new ScriptExecutor(ctx.request.body)</span>
131
+ &nbsp;
132
+ <span class="cstat-no" title="statement not covered" > ctx.body = executor.execute()</span>
88
133
  }
89
134
  &nbsp;
90
135
  exports.save = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
@@ -97,7 +142,7 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
97
142
  <div class='footer quiet pad2 space-top1 center small'>
98
143
  Code coverage generated by
99
144
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
100
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
145
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
101
146
  </div>
102
147
  </div>
103
148
  <script src="../../prettify.js"></script>