@budibase/server 1.0.46-alpha.5 → 1.0.46-alpha.6

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 (195) hide show
  1. package/builder/assets/{index.298ba3d3.js → index.00221ff2.js} +234 -234
  2. package/builder/assets/{index.243ca52c.css → index.dd9e386f.css} +1 -1
  3. package/builder/index.html +2 -2
  4. package/coverage/clover.xml +157 -145
  5. package/coverage/coverage-final.json +4 -4
  6. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/datasource.js.html +44 -8
  15. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/index.html +15 -15
  17. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/index.html +15 -15
  22. package/coverage/lcov-report/api/controllers/query/index.js.html +44 -11
  23. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  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 +1 -1
  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 +5 -14
  32. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  47. package/coverage/lcov-report/api/index.html +1 -1
  48. package/coverage/lcov-report/api/index.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/index.html +1 -1
  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 +1 -1
  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 +1 -1
  79. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  80. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  81. package/coverage/lcov-report/automations/index.html +1 -1
  82. package/coverage/lcov-report/automations/index.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/index.html +1 -1
  92. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  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 +1 -1
  99. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  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 +5 -5
  112. package/coverage/lcov-report/constants/index.js.html +16 -4
  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 +1 -1
  120. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  121. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  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 +26 -26
  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 +1 -1
  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/middleware/utils.js.html +1 -1
  142. package/coverage/lcov-report/migrations/usageQuotas/index.html +1 -1
  143. package/coverage/lcov-report/migrations/usageQuotas/index.js.html +1 -1
  144. package/coverage/lcov-report/migrations/usageQuotas/syncApps.js.html +1 -1
  145. package/coverage/lcov-report/migrations/usageQuotas/syncRows.js.html +1 -1
  146. package/coverage/lcov-report/threads/automation.js.html +1 -1
  147. package/coverage/lcov-report/threads/index.html +1 -1
  148. package/coverage/lcov-report/threads/index.js.html +1 -1
  149. package/coverage/lcov-report/threads/query.js.html +1 -1
  150. package/coverage/lcov-report/threads/utils.js.html +1 -1
  151. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  152. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  153. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  154. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  155. package/coverage/lcov-report/utilities/global.js.html +1 -1
  156. package/coverage/lcov-report/utilities/index.html +1 -1
  157. package/coverage/lcov-report/utilities/index.js.html +1 -1
  158. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  159. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  160. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  161. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  162. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  163. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  164. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  165. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  166. package/coverage/lcov-report/utilities/security.js.html +1 -1
  167. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  168. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  169. package/coverage/lcov-report/utilities/usageQuota/index.js.html +1 -1
  170. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  171. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  172. package/coverage/lcov-report/utilities/users.js.html +1 -1
  173. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  174. package/coverage/lcov.info +253 -226
  175. package/dist/api/controllers/datasource.js +11 -0
  176. package/dist/api/controllers/query/index.js +11 -3
  177. package/dist/api/controllers/row/utils.js +1 -2
  178. package/dist/constants/index.js +3 -0
  179. package/dist/definitions/datasource.js +1 -0
  180. package/dist/integrations/googlesheets.js +340 -0
  181. package/dist/integrations/index.js +3 -0
  182. package/dist/integrations/rest.js +5 -5
  183. package/dist/integrations/s3.js +1 -1
  184. package/dist/package.json +7 -4
  185. package/dist/tsconfig.tsbuildinfo +1 -1
  186. package/package.json +8 -5
  187. package/src/api/controllers/datasource.js +12 -0
  188. package/src/api/controllers/query/index.js +14 -3
  189. package/src/api/controllers/row/utils.js +1 -4
  190. package/src/constants/index.js +4 -0
  191. package/src/definitions/datasource.ts +3 -0
  192. package/src/integrations/googlesheets.ts +353 -0
  193. package/src/integrations/index.ts +3 -0
  194. package/src/integrations/rest.ts +28 -9
  195. package/src/integrations/s3.ts +1 -1
@@ -181,7 +181,7 @@ exports.endUserPing = <span class="fstat-no" title="function not covered" >as</s
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
184
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
184
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  </div>
187
187
  <script src="../../prettify.js"></script>
@@ -226,7 +226,7 @@ exports.update = async function (ctx) {
226
226
  <div class='footer quiet pad2 space-top1 center small'>
227
227
  Code coverage generated by
228
228
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
229
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
229
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
230
230
  </div>
231
231
  </div>
232
232
  <script src="../../prettify.js"></script>
@@ -1369,7 +1369,7 @@ const createEmptyAppPackage = async (ctx, app) =&gt; {
1369
1369
  <div class='footer quiet pad2 space-top1 center small'>
1370
1370
  Code coverage generated by
1371
1371
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1372
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
1372
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
1373
1373
  </div>
1374
1374
  </div>
1375
1375
  <script src="../../prettify.js"></script>
@@ -229,7 +229,7 @@ exports.fetchSelf = async ctx =&gt; {
229
229
  <div class='footer quiet pad2 space-top1 center small'>
230
230
  Code coverage generated by
231
231
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
232
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
232
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
233
233
  </div>
234
234
  </div>
235
235
  <script src="../../prettify.js"></script>
@@ -748,7 +748,7 @@ exports.test = async function (ctx) {
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 Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
751
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
752
752
  </div>
753
753
  </div>
754
754
  <script src="../../prettify.js"></script>
@@ -91,7 +91,7 @@ exports.exportAppDump = async function (ctx) {
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
94
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
94
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  </div>
97
97
  <script src="../../prettify.js"></script>
@@ -406,7 +406,7 @@ exports.importApps = <span class="fstat-no" title="function not covered" >as</sp
406
406
  <div class='footer quiet pad2 space-top1 center small'>
407
407
  Code coverage generated by
408
408
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
409
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
409
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
410
410
  </div>
411
411
  </div>
412
412
  <script src="../../prettify.js"></script>
@@ -169,7 +169,7 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
169
169
  <div class='footer quiet pad2 space-top1 center small'>
170
170
  Code coverage generated by
171
171
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
172
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
172
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
173
173
  </div>
174
174
  </div>
175
175
  <script src="../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">59.67% </span>
26
+ <span class="strong">60% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>74/124</span>
28
+ <span class='fraction'>78/130</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">33.33% </span>
33
+ <span class="strong">37.73% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>15/45</span>
35
+ <span class='fraction'>20/53</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">59.34% </span>
47
+ <span class="strong">59.68% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>73/123</span>
49
+ <span class='fraction'>77/129</span>
50
50
  </div>
51
51
 
52
52
 
@@ -306,7 +306,19 @@
306
306
  <a name='L247'></a><a href='#L247'>247</a>
307
307
  <a name='L248'></a><a href='#L248'>248</a>
308
308
  <a name='L249'></a><a href='#L249'>249</a>
309
- <a name='L250'></a><a href='#L250'>250</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
309
+ <a name='L250'></a><a href='#L250'>250</a>
310
+ <a name='L251'></a><a href='#L251'>251</a>
311
+ <a name='L252'></a><a href='#L252'>252</a>
312
+ <a name='L253'></a><a href='#L253'>253</a>
313
+ <a name='L254'></a><a href='#L254'>254</a>
314
+ <a name='L255'></a><a href='#L255'>255</a>
315
+ <a name='L256'></a><a href='#L256'>256</a>
316
+ <a name='L257'></a><a href='#L257'>257</a>
317
+ <a name='L258'></a><a href='#L258'>258</a>
318
+ <a name='L259'></a><a href='#L259'>259</a>
319
+ <a name='L260'></a><a href='#L260'>260</a>
320
+ <a name='L261'></a><a href='#L261'>261</a>
321
+ <a name='L262'></a><a href='#L262'>262</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
310
322
  <span class="cline-any cline-neutral">&nbsp;</span>
311
323
  <span class="cline-any cline-neutral">&nbsp;</span>
312
324
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -347,6 +359,13 @@
347
359
  <span class="cline-any cline-yes">1x</span>
348
360
  <span class="cline-any cline-neutral">&nbsp;</span>
349
361
  <span class="cline-any cline-yes">2x</span>
362
+ <span class="cline-any cline-yes">1x</span>
363
+ <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <span class="cline-any cline-no">&nbsp;</span>
365
+ <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-yes">2x</span>
350
369
  <span class="cline-any cline-neutral">&nbsp;</span>
351
370
  <span class="cline-any cline-neutral">&nbsp;</span>
352
371
  <span class="cline-any cline-yes">37x</span>
@@ -404,6 +423,11 @@
404
423
  <span class="cline-any cline-yes">6x</span>
405
424
  <span class="cline-any cline-yes">6x</span>
406
425
  <span class="cline-any cline-yes">6x</span>
426
+ <span class="cline-any cline-yes">6x</span>
427
+ <span class="cline-any cline-yes">6x</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-no">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
407
431
  <span class="cline-any cline-neutral">&nbsp;</span>
408
432
  <span class="cline-any cline-yes">6x</span>
409
433
  <span class="cline-any cline-yes">6x</span>
@@ -594,6 +618,13 @@ exports.fetch = async function (ctx) {
594
618
  })
595
619
  )
596
620
  ).rows.map(row =&gt; row.doc)
621
+ &nbsp;
622
+ for (let datasource of datasources) {
623
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (datasource.config &amp;&amp; datasource.config.auth) {
624
+ // strip secrets from response so they don't show in the network request
625
+ <span class="cstat-no" title="statement not covered" > delete datasource.config.auth</span>
626
+ }
627
+ }
597
628
  &nbsp;
598
629
  ctx.body = [bbInternalDb, ...datasources]
599
630
  }
@@ -651,8 +682,13 @@ exports.update = async function (ctx) {
651
682
  const db = new CouchDB(ctx.appId)
652
683
  const datasourceId = ctx.params.datasourceId
653
684
  let datasource = await db.get(datasourceId)
685
+ const auth = datasource.config.auth
654
686
  await invalidateVariables(datasource, ctx.request.body)
655
687
  datasource = { ...datasource, ...ctx.request.body }
688
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (auth &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!ctx.request.body.auth)</span> {
689
+ // don't strip auth config from DB
690
+ <span class="cstat-no" title="statement not covered" > datasource.config.auth = auth</span>
691
+ }
656
692
  &nbsp;
657
693
  const response = await db.put(datasource)
658
694
  datasource._rev = response.rev
@@ -811,7 +847,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
811
847
  <div class='footer quiet pad2 space-top1 center small'>
812
848
  Code coverage generated by
813
849
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
814
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
850
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
815
851
  </div>
816
852
  </div>
817
853
  <script src="../../prettify.js"></script>
@@ -430,7 +430,7 @@ exports.getBudibaseVersion = <span class="fstat-no" title="function not covered"
430
430
  <div class='footer quiet pad2 space-top1 center small'>
431
431
  Code coverage generated by
432
432
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
433
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
433
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
434
434
  </div>
435
435
  </div>
436
436
  <script src="../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">70.98% </span>
26
+ <span class="strong">70.96% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>778/1096</span>
28
+ <span class='fraction'>782/1102</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">45.58% </span>
33
+ <span class="strong">45.96% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>160/351</span>
35
+ <span class='fraction'>165/359</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">71.08% </span>
47
+ <span class="strong">71.05% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>767/1079</span>
49
+ <span class='fraction'>771/1085</span>
50
50
  </div>
51
51
 
52
52
 
@@ -194,17 +194,17 @@
194
194
 
195
195
  <tr>
196
196
  <td class="file medium" data-value="datasource.js"><a href="datasource.js.html">datasource.js</a></td>
197
- <td data-value="59.67" class="pic medium">
198
- <div class="chart"><div class="cover-fill" style="width: 59%"></div><div class="cover-empty" style="width: 41%"></div></div>
197
+ <td data-value="60" class="pic medium">
198
+ <div class="chart"><div class="cover-fill" style="width: 60%"></div><div class="cover-empty" style="width: 40%"></div></div>
199
199
  </td>
200
- <td data-value="59.67" class="pct medium">59.67%</td>
201
- <td data-value="124" class="abs medium">74/124</td>
202
- <td data-value="33.33" class="pct low">33.33%</td>
203
- <td data-value="45" class="abs low">15/45</td>
200
+ <td data-value="60" class="pct medium">60%</td>
201
+ <td data-value="130" class="abs medium">78/130</td>
202
+ <td data-value="37.73" class="pct low">37.73%</td>
203
+ <td data-value="53" class="abs low">20/53</td>
204
204
  <td data-value="57.89" class="pct medium">57.89%</td>
205
205
  <td data-value="19" class="abs medium">11/19</td>
206
- <td data-value="59.34" class="pct medium">59.34%</td>
207
- <td data-value="123" class="abs medium">73/123</td>
206
+ <td data-value="59.68" class="pct medium">59.68%</td>
207
+ <td data-value="129" class="abs medium">77/129</td>
208
208
  </tr>
209
209
 
210
210
  <tr>
@@ -395,7 +395,7 @@
395
395
  <div class='footer quiet pad2 space-top1 center small'>
396
396
  Code coverage generated by
397
397
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
398
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
398
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
399
399
  </div>
400
400
  </div>
401
401
  <script src="../../prettify.js"></script>
@@ -100,7 +100,7 @@ exports.find = async function (ctx) {
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 Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
103
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
@@ -217,7 +217,7 @@ exports.destroy = async function (ctx) {
217
217
  <div class='footer quiet pad2 space-top1 center small'>
218
218
  Code coverage generated by
219
219
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
220
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
220
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
221
221
  </div>
222
222
  </div>
223
223
  <script src="../../prettify.js"></script>
@@ -202,7 +202,7 @@ exports.getMetadata = async ctx =&gt; {
202
202
  <div class='footer quiet pad2 space-top1 center small'>
203
203
  Code coverage generated by
204
204
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
205
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
205
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
206
206
  </div>
207
207
  </div>
208
208
  <script src="../../prettify.js"></script>
@@ -589,7 +589,7 @@ exports.removePermission = async function (ctx) {
589
589
  <div class='footer quiet pad2 space-top1 center small'>
590
590
  Code coverage generated by
591
591
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
592
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
592
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
593
593
  </div>
594
594
  </div>
595
595
  <script src="../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">82.82% </span>
26
+ <span class="strong">81.55% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>82/99</span>
28
+ <span class='fraction'>84/103</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">71.42% </span>
33
+ <span class="strong">65.51% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>15/21</span>
35
+ <span class='fraction'>19/29</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">82.47% </span>
47
+ <span class="strong">81.37% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>80/97</span>
49
+ <span class='fraction'>83/102</span>
50
50
  </div>
51
51
 
52
52
 
@@ -74,17 +74,17 @@
74
74
  </thead>
75
75
  <tbody><tr>
76
76
  <td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
77
- <td data-value="81.31" class="pic high">
78
- <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
77
+ <td data-value="80" class="pic high">
78
+ <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
79
79
  </td>
80
- <td data-value="81.31" class="pct high">81.31%</td>
81
- <td data-value="91" class="abs high">74/91</td>
82
- <td data-value="71.42" class="pct medium">71.42%</td>
83
- <td data-value="21" class="abs medium">15/21</td>
80
+ <td data-value="80" class="pct high">80%</td>
81
+ <td data-value="95" class="abs high">76/95</td>
82
+ <td data-value="65.51" class="pct medium">65.51%</td>
83
+ <td data-value="29" class="abs medium">19/29</td>
84
84
  <td data-value="85.71" class="pct high">85.71%</td>
85
85
  <td data-value="14" class="abs high">12/14</td>
86
- <td data-value="80.89" class="pct high">80.89%</td>
87
- <td data-value="89" class="abs high">72/89</td>
86
+ <td data-value="79.78" class="pct medium">79.78%</td>
87
+ <td data-value="94" class="abs medium">75/94</td>
88
88
  </tr>
89
89
 
90
90
  <tr>
@@ -110,7 +110,7 @@
110
110
  <div class='footer quiet pad2 space-top1 center small'>
111
111
  Code coverage generated by
112
112
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
113
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
113
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
114
114
  </div>
115
115
  </div>
116
116
  <script src="../../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.31% </span>
26
+ <span class="strong">80% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>74/91</span>
28
+ <span class='fraction'>76/95</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">71.42% </span>
33
+ <span class="strong">65.51% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>15/21</span>
35
+ <span class='fraction'>19/29</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">80.89% </span>
47
+ <span class="strong">79.78% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>72/89</span>
49
+ <span class='fraction'>75/94</span>
50
50
  </div>
51
51
 
52
52
 
@@ -256,7 +256,18 @@
256
256
  <a name='L197'></a><a href='#L197'>197</a>
257
257
  <a name='L198'></a><a href='#L198'>198</a>
258
258
  <a name='L199'></a><a href='#L199'>199</a>
259
- <a name='L200'></a><a href='#L200'>200</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
260
271
  <span class="cline-any cline-neutral">&nbsp;</span>
261
272
  <span class="cline-any cline-neutral">&nbsp;</span>
262
273
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -399,6 +410,16 @@
399
410
  <span class="cline-any cline-yes">2x</span>
400
411
  <span class="cline-any cline-yes">2x</span>
401
412
  <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-yes">2x</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-yes">2x</span>
416
+ <span class="cline-any cline-yes">2x</span>
417
+ <span class="cline-any cline-no">&nbsp;</span>
418
+ <span class="cline-any cline-no">&nbsp;</span>
419
+ <span class="cline-any cline-neutral">&nbsp;</span>
420
+ <span class="cline-any cline-neutral">&nbsp;</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
402
423
  <span class="cline-any cline-neutral">&nbsp;</span>
403
424
  <span class="cline-any cline-yes">2x</span>
404
425
  <span class="cline-any cline-yes">2x</span>
@@ -438,6 +459,7 @@
438
459
  <span class="cline-any cline-neutral">&nbsp;</span>
439
460
  <span class="cline-any cline-yes">1x</span>
440
461
  <span class="cline-any cline-yes">1x</span>
462
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
463
  <span class="cline-any cline-yes">1x</span>
442
464
  <span class="cline-any cline-neutral">&nbsp;</span>
443
465
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -597,6 +619,16 @@ async function execute(ctx, opts = <span class="branch-0 cbranch-no" title="bran
597
619
  &nbsp;
598
620
  const query = await db.get(ctx.params.queryId)
599
621
  const datasource = await db.get(query.datasourceId)
622
+ &nbsp;
623
+ const enrichedParameters = ctx.request.body.parameters || <span class="branch-1 cbranch-no" title="branch not covered" >{}</span>
624
+ // make sure parameters are fully enriched with defaults
625
+ if (query &amp;&amp; query.parameters) {
626
+ for (let parameter of query.parameters) {
627
+ <span class="cstat-no" title="statement not covered" > if (!enrichedParameters[parameter.name]) {</span>
628
+ <span class="cstat-no" title="statement not covered" > enrichedParameters[parameter.name] = parameter.default</span>
629
+ }
630
+ }
631
+ }
600
632
  &nbsp;
601
633
  // call the relevant CRUD method on the integration class
602
634
  try {
@@ -606,7 +638,7 @@ async function execute(ctx, opts = <span class="branch-0 cbranch-no" title="bran
606
638
  queryVerb: query.queryVerb,
607
639
  fields: query.fields,
608
640
  pagination: ctx.request.body.pagination,
609
- parameters: ctx.request.body.parameters,
641
+ parameters: enrichedParameters,
610
642
  transformer: query.transformer,
611
643
  queryId: ctx.params.queryId,
612
644
  })
@@ -635,8 +667,9 @@ const removeDynamicVariables = async (db, queryId) =&gt; {
635
667
  &nbsp;
636
668
  if (dynamicVariables) {
637
669
  // delete dynamic variables from the datasource
638
- const newVariables = dynamicVariables.filter(dv =&gt; dv.queryId !== queryId)
639
- datasource.config.dynamicVariables = newVariables
670
+ datasource.config.dynamicVariables = dynamicVariables.filter(
671
+ dv =&gt; dv.queryId !== queryId
672
+ )
640
673
  await db.put(datasource)
641
674
  &nbsp;
642
675
  // invalidate the deleted variables
@@ -661,7 +694,7 @@ exports.destroy = async function (ctx) {
661
694
  <div class='footer quiet pad2 space-top1 center small'>
662
695
  Code coverage generated by
663
696
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
664
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
697
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
665
698
  </div>
666
699
  </div>
667
700
  <script src="../../../prettify.js"></script>
@@ -190,7 +190,7 @@ exports.generateQueryPreviewValidation = () =&gt; {
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 Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
193
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
194
194
  </div>
195
195
  </div>
196
196
  <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 Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
361
+ at Wed Jan 26 2022 17:11: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 Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
346
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
347
347
  </div>
348
348
  </div>
349
349
  <script src="../../prettify.js"></script>
@@ -757,7 +757,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
757
757
  <div class='footer quiet pad2 space-top1 center small'>
758
758
  Code coverage generated by
759
759
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
760
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
760
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
761
761
  </div>
762
762
  </div>
763
763
  <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">32.94% </span>
33
+ <span class="strong">32.68% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>85/258</span>
35
+ <span class='fraction'>84/257</span>
36
36
  </div>
37
37
 
38
38
 
@@ -139,8 +139,8 @@
139
139
  </td>
140
140
  <td data-value="69.23" class="pct medium">69.23%</td>
141
141
  <td data-value="52" class="abs medium">36/52</td>
142
- <td data-value="45.16" class="pct low">45.16%</td>
143
- <td data-value="31" class="abs low">14/31</td>
142
+ <td data-value="43.33" class="pct low">43.33%</td>
143
+ <td data-value="30" class="abs low">13/30</td>
144
144
  <td data-value="66.66" class="pct medium">66.66%</td>
145
145
  <td data-value="6" class="abs medium">4/6</td>
146
146
  <td data-value="68.62" class="pct medium">68.62%</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 Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
158
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="../../../prettify.js"></script>
@@ -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 Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
484
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
485
485
  </div>
486
486
  </div>
487
487
  <script src="../../../prettify.js"></script>
@@ -1432,7 +1432,7 @@ exports.fetchEnrichedRow = async ctx =&gt; {
1432
1432
  <div class='footer quiet pad2 space-top1 center small'>
1433
1433
  Code coverage generated by
1434
1434
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1435
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
1435
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
1436
1436
  </div>
1437
1437
  </div>
1438
1438
  <script src="../../../prettify.js"></script>
@@ -1231,7 +1231,7 @@ exports.fullSearch = <span class="fstat-no" title="function not covered" >as</sp
1231
1231
  <div class='footer quiet pad2 space-top1 center small'>
1232
1232
  Code coverage generated by
1233
1233
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1234
- at Wed Jan 26 2022 15:03:02 GMT+0000 (Coordinated Universal Time)
1234
+ at Wed Jan 26 2022 17:11:28 GMT+0000 (Coordinated Universal Time)
1235
1235
  </div>
1236
1236
  </div>
1237
1237
  <script src="../../../prettify.js"></script>