@budibase/server 0.9.185-alpha.12 → 0.9.185-alpha.13

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 (173) hide show
  1. package/builder/assets/{index.708945dd.js → index.dc495306.js} +136 -135
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +32 -19
  4. package/coverage/coverage-final.json +2 -2
  5. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +102 -18
  14. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/index.html +19 -19
  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.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  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 +1 -1
  43. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  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 +1 -1
  58. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/index.html +1 -1
  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 +1 -1
  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 +1 -1
  78. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  79. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  80. package/coverage/lcov-report/automations/index.html +1 -1
  81. package/coverage/lcov-report/automations/index.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/index.html +1 -1
  91. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  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 +1 -1
  98. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  109. package/coverage/lcov-report/automations/utils.js.html +1 -1
  110. package/coverage/lcov-report/constants/index.html +5 -5
  111. package/coverage/lcov-report/constants/index.js.html +25 -4
  112. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  113. package/coverage/lcov-report/constants/screens.js.html +1 -1
  114. package/coverage/lcov-report/db/client.js.html +1 -1
  115. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  116. package/coverage/lcov-report/db/index.html +1 -1
  117. package/coverage/lcov-report/db/index.js.html +1 -1
  118. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  119. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  120. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  121. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  122. package/coverage/lcov-report/db/newid.js.html +1 -1
  123. package/coverage/lcov-report/db/utils.js.html +1 -1
  124. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  125. package/coverage/lcov-report/events/index.html +1 -1
  126. package/coverage/lcov-report/events/index.js.html +1 -1
  127. package/coverage/lcov-report/events/utils.js.html +1 -1
  128. package/coverage/lcov-report/index.html +21 -21
  129. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  130. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  131. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  132. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  133. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  134. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  135. package/coverage/lcov-report/middleware/index.html +1 -1
  136. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  137. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  138. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  139. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  140. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  141. package/coverage/lcov-report/threads/automation.js.html +1 -1
  142. package/coverage/lcov-report/threads/index.html +1 -1
  143. package/coverage/lcov-report/threads/index.js.html +1 -1
  144. package/coverage/lcov-report/threads/query.js.html +1 -1
  145. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  146. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  147. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  148. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  149. package/coverage/lcov-report/utilities/global.js.html +1 -1
  150. package/coverage/lcov-report/utilities/index.html +1 -1
  151. package/coverage/lcov-report/utilities/index.js.html +1 -1
  152. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  153. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  154. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  155. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  156. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  157. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  158. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  159. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  160. package/coverage/lcov-report/utilities/security.js.html +1 -1
  161. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  162. package/coverage/lcov-report/utilities/users.js.html +1 -1
  163. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  164. package/coverage/lcov.info +54 -29
  165. package/dist/api/controllers/datasource.js +25 -5
  166. package/dist/constants/index.js +6 -0
  167. package/dist/integrations/utils.js +7 -1
  168. package/dist/package.json +4 -4
  169. package/dist/tsconfig.tsbuildinfo +1 -1
  170. package/package.json +5 -5
  171. package/src/api/controllers/datasource.js +35 -7
  172. package/src/constants/index.js +7 -0
  173. package/src/integrations/utils.ts +6 -1
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">50% </span>
26
+ <span class="strong">44.44% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>48/96</span>
28
+ <span class='fraction'>48/108</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">25% </span>
33
+ <span class="strong">19.44% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/28</span>
35
+ <span class='fraction'>7/36</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">57.14% </span>
40
+ <span class="strong">50% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>8/14</span>
42
+ <span class='fraction'>8/16</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">49.47% </span>
47
+ <span class="strong">43.92% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>47/95</span>
49
+ <span class='fraction'>47/107</span>
50
50
  </div>
51
51
 
52
52
 
@@ -55,7 +55,7 @@
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
57
  </div>
58
- <div class='status-line medium'></div>
58
+ <div class='status-line low'></div>
59
59
  <pre><table class="coverage">
60
60
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
61
  <a name='L2'></a><a href='#L2'>2</a>
@@ -244,7 +244,35 @@
244
244
  <a name='L185'></a><a href='#L185'>185</a>
245
245
  <a name='L186'></a><a href='#L186'>186</a>
246
246
  <a name='L187'></a><a href='#L187'>187</a>
247
- <a name='L188'></a><a href='#L188'>188</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
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>
272
+ <a name='L213'></a><a href='#L213'>213</a>
273
+ <a name='L214'></a><a href='#L214'>214</a>
274
+ <a name='L215'></a><a href='#L215'>215</a>
275
+ <a name='L216'></a><a href='#L216'>216</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
248
276
  <span class="cline-any cline-neutral">&nbsp;</span>
249
277
  <span class="cline-any cline-neutral">&nbsp;</span>
250
278
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -398,6 +426,23 @@
398
426
  <span class="cline-any cline-neutral">&nbsp;</span>
399
427
  <span class="cline-any cline-neutral">&nbsp;</span>
400
428
  <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-no">&nbsp;</span>
431
+ <span class="cline-any cline-no">&nbsp;</span>
432
+ <span class="cline-any cline-no">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-no">&nbsp;</span>
437
+ <span class="cline-any cline-no">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-no">&nbsp;</span>
440
+ <span class="cline-any cline-no">&nbsp;</span>
441
+ <span class="cline-any cline-neutral">&nbsp;</span>
442
+ <span class="cline-any cline-no">&nbsp;</span>
443
+ <span class="cline-any cline-no">&nbsp;</span>
444
+ <span class="cline-any cline-neutral">&nbsp;</span>
445
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
446
  <span class="cline-any cline-yes">33x</span>
402
447
  <span class="cline-any cline-no">&nbsp;</span>
403
448
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -429,6 +474,17 @@
429
474
  <span class="cline-any cline-neutral">&nbsp;</span>
430
475
  <span class="cline-any cline-neutral">&nbsp;</span>
431
476
  <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-no">&nbsp;</span>
480
+ <span class="cline-any cline-no">&nbsp;</span>
481
+ <span class="cline-any cline-no">&nbsp;</span>
482
+ <span class="cline-any cline-neutral">&nbsp;</span>
483
+ <span class="cline-any cline-neutral">&nbsp;</span>
484
+ <span class="cline-any cline-neutral">&nbsp;</span>
485
+ <span class="cline-any cline-neutral">&nbsp;</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
488
  <span class="cline-any cline-no">&nbsp;</span>
433
489
  <span class="cline-any cline-neutral">&nbsp;</span>
434
490
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
@@ -440,7 +496,7 @@ const {
440
496
  BudibaseInternalDB,
441
497
  getTableParams,
442
498
  } = require("../../db/utils")
443
- const { BuildSchemaErrors } = require("../../constants")
499
+ const { BuildSchemaErrors, InvalidColumns } = require("../../constants")
444
500
  const { integrations } = require("../../integrations")
445
501
  const { getDatasourceAndQuery } = require("./row/utils")
446
502
  &nbsp;
@@ -585,6 +641,23 @@ exports.query = async function (ctx) {
585
641
  }
586
642
  }
587
643
  &nbsp;
644
+ function <span class="fstat-no" title="function not covered" >getErrorTables(</span>errors, errorType) {
645
+ <span class="cstat-no" title="statement not covered" > return Object.entries(errors)</span>
646
+ .filter(<span class="fstat-no" title="function not covered" >en</span>try =&gt; <span class="cstat-no" title="statement not covered" >entry[1] === errorType)</span>
647
+ .map(<span class="fstat-no" title="function not covered" >([</span>name]) =&gt; <span class="cstat-no" title="statement not covered" >name)</span>
648
+ }
649
+ &nbsp;
650
+ function <span class="fstat-no" title="function not covered" >updateError(</span>error, newError, tables) {
651
+ <span class="cstat-no" title="statement not covered" > if (!error) {</span>
652
+ <span class="cstat-no" title="statement not covered" > error = ""</span>
653
+ }
654
+ <span class="cstat-no" title="statement not covered" > if (error.length &gt; 0) {</span>
655
+ <span class="cstat-no" title="statement not covered" > error += "\n"</span>
656
+ }
657
+ <span class="cstat-no" title="statement not covered" > error += `${newError} ${tables.join(", ")}`</span>
658
+ <span class="cstat-no" title="statement not covered" > return error</span>
659
+ }
660
+ &nbsp;
588
661
  const buildSchemaHelper = <span class="fstat-no" title="function not covered" >as</span>ync datasource =&gt; {
589
662
  const Connector = <span class="cstat-no" title="statement not covered" >integrations[datasource.source]</span>
590
663
  &nbsp;
@@ -609,12 +682,23 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
609
682
  const errors = <span class="cstat-no" title="statement not covered" >connector.schemaErrors</span>
610
683
  let error = <span class="cstat-no" title="statement not covered" >null</span>
611
684
  <span class="cstat-no" title="statement not covered" > if (errors &amp;&amp; Object.keys(errors).length &gt; 0) {</span>
612
- const noKeyTables = <span class="cstat-no" title="statement not covered" >Object.entries(errors)</span>
613
- .filter(<span class="fstat-no" title="function not covered" >en</span>try =&gt; <span class="cstat-no" title="statement not covered" >entry[1] === BuildSchemaErrors.NO_KEY)</span>
614
- .map(<span class="fstat-no" title="function not covered" >([</span>name]) =&gt; <span class="cstat-no" title="statement not covered" >name)</span>
615
- <span class="cstat-no" title="statement not covered" > error = `No primary key constraint found for the following: ${noKeyTables.join(</span>
616
- ", "
617
- )}`
685
+ const noKey = <span class="cstat-no" title="statement not covered" >getErrorTables(errors, BuildSchemaErrors.NO_KEY)</span>
686
+ const invalidCol = <span class="cstat-no" title="statement not covered" >getErrorTables(errors, BuildSchemaErrors.INVALID_COLUMN)</span>
687
+ <span class="cstat-no" title="statement not covered" > if (noKey.length) {</span>
688
+ <span class="cstat-no" title="statement not covered" > error = updateError(</span>
689
+ error,
690
+ "No primary key constraint found for the following:",
691
+ noKey
692
+ )
693
+ }
694
+ <span class="cstat-no" title="statement not covered" > if (invalidCol.length) {</span>
695
+ const invalidCols = <span class="cstat-no" title="statement not covered" >Object.values(InvalidColumns).join(", ")</span>
696
+ <span class="cstat-no" title="statement not covered" > error = updateError(</span>
697
+ error,
698
+ `Cannot use columns ${invalidCols} found in following:`,
699
+ invalidCol
700
+ )
701
+ }
618
702
  }
619
703
  <span class="cstat-no" title="statement not covered" > return { tables: connector.tables, error }</span>
620
704
  }
@@ -625,7 +709,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
625
709
  <div class='footer quiet pad2 space-top1 center small'>
626
710
  Code coverage generated by
627
711
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
628
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
712
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
629
713
  </div>
630
714
  </div>
631
715
  <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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
433
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
434
434
  </div>
435
435
  </div>
436
436
  <script src="../../prettify.js"></script>
@@ -130,7 +130,7 @@ exports.getDeployedApps = <span class="fstat-no" title="function not covered" >a
130
130
  <div class='footer quiet pad2 space-top1 center small'>
131
131
  Code coverage generated by
132
132
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
133
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
133
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
134
134
  </div>
135
135
  </div>
136
136
  <script src="../../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">72.62% </span>
26
+ <span class="strong">71.85% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>812/1118</span>
28
+ <span class='fraction'>812/1130</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">47.63% </span>
33
+ <span class="strong">46.59% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>171/359</span>
35
+ <span class='fraction'>171/367</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">72.84% </span>
40
+ <span class="strong">71.89% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>110/151</span>
42
+ <span class='fraction'>110/153</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">72.82% </span>
47
+ <span class="strong">72.04% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>804/1104</span>
49
+ <span class='fraction'>804/1116</span>
50
50
  </div>
51
51
 
52
52
 
@@ -193,18 +193,18 @@
193
193
  </tr>
194
194
 
195
195
  <tr>
196
- <td class="file medium" data-value="datasource.js"><a href="datasource.js.html">datasource.js</a></td>
197
- <td data-value="50" class="pic medium">
198
- <div class="chart"><div class="cover-fill" style="width: 50%"></div><div class="cover-empty" style="width: 50%"></div></div>
196
+ <td class="file low" data-value="datasource.js"><a href="datasource.js.html">datasource.js</a></td>
197
+ <td data-value="44.44" class="pic low">
198
+ <div class="chart"><div class="cover-fill" style="width: 44%"></div><div class="cover-empty" style="width: 56%"></div></div>
199
199
  </td>
200
+ <td data-value="44.44" class="pct low">44.44%</td>
201
+ <td data-value="108" class="abs low">48/108</td>
202
+ <td data-value="19.44" class="pct low">19.44%</td>
203
+ <td data-value="36" class="abs low">7/36</td>
200
204
  <td data-value="50" class="pct medium">50%</td>
201
- <td data-value="96" class="abs medium">48/96</td>
202
- <td data-value="25" class="pct low">25%</td>
203
- <td data-value="28" class="abs low">7/28</td>
204
- <td data-value="57.14" class="pct medium">57.14%</td>
205
- <td data-value="14" class="abs medium">8/14</td>
206
- <td data-value="49.47" class="pct low">49.47%</td>
207
- <td data-value="95" class="abs low">47/95</td>
205
+ <td data-value="16" class="abs medium">8/16</td>
206
+ <td data-value="43.92" class="pct low">43.92%</td>
207
+ <td data-value="107" class="abs low">47/107</td>
208
208
  </tr>
209
209
 
210
210
  <tr>
@@ -425,7 +425,7 @@
425
425
  <div class='footer quiet pad2 space-top1 center small'>
426
426
  Code coverage generated by
427
427
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
428
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
428
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
429
429
  </div>
430
430
  </div>
431
431
  <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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
103
+ at Mon Nov 22 2021 11:11:02 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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
220
+ at Mon Nov 22 2021 11:11:02 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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
205
+ at Mon Nov 22 2021 11:11:02 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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
592
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
593
593
  </div>
594
594
  </div>
595
595
  <script src="../../prettify.js"></script>
@@ -532,7 +532,7 @@ exports.destroy = async function (ctx) {
532
532
  <div class='footer quiet pad2 space-top1 center small'>
533
533
  Code coverage generated by
534
534
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
535
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
535
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
536
536
  </div>
537
537
  </div>
538
538
  <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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
361
+ at Mon Nov 22 2021 11:11:02 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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
346
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
347
347
  </div>
348
348
  </div>
349
349
  <script src="../../prettify.js"></script>
@@ -754,7 +754,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
754
754
  <div class='footer quiet pad2 space-top1 center small'>
755
755
  Code coverage generated by
756
756
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
757
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
757
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
758
758
  </div>
759
759
  </div>
760
760
  <script src="../../../prettify.js"></script>
@@ -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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
158
+ at Mon Nov 22 2021 11:11:02 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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
484
+ at Mon Nov 22 2021 11:11:02 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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
1408
+ at Mon Nov 22 2021 11:11:02 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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
1231
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
1232
1232
  </div>
1233
1233
  </div>
1234
1234
  <script src="../../../prettify.js"></script>
@@ -319,7 +319,7 @@ exports.validate = async ({ appId, tableId, row, table }) =&gt; {
319
319
  <div class='footer quiet pad2 space-top1 center small'>
320
320
  Code coverage generated by
321
321
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
322
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
322
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
323
323
  </div>
324
324
  </div>
325
325
  <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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
211
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
212
212
  </div>
213
213
  </div>
214
214
  <script src="../../prettify.js"></script>
@@ -97,7 +97,7 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
100
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
100
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
101
101
  </div>
102
102
  </div>
103
103
  <script src="../../prettify.js"></script>
@@ -964,7 +964,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
964
964
  <div class='footer quiet pad2 space-top1 center small'>
965
965
  Code coverage generated by
966
966
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
967
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
967
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
968
968
  </div>
969
969
  </div>
970
970
  <script src="../../../prettify.js"></script>
@@ -140,7 +140,7 @@
140
140
  <div class='footer quiet pad2 space-top1 center small'>
141
141
  Code coverage generated by
142
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
143
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
144
144
  </div>
145
145
  </div>
146
146
  <script src="../../../prettify.js"></script>
@@ -382,7 +382,7 @@ exports.validateCSVSchema = async function (ctx) {
382
382
  <div class='footer quiet pad2 space-top1 center small'>
383
383
  Code coverage generated by
384
384
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
385
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
385
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
386
386
  </div>
387
387
  </div>
388
388
  <script src="../../../prettify.js"></script>
@@ -529,7 +529,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
529
529
  <div class='footer quiet pad2 space-top1 center small'>
530
530
  Code coverage generated by
531
531
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
532
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
532
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
533
533
  </div>
534
534
  </div>
535
535
  <script src="../../../prettify.js"></script>
@@ -1141,7 +1141,7 @@ exports.TableSaveFunctions = TableSaveFunctions
1141
1141
  <div class='footer quiet pad2 space-top1 center small'>
1142
1142
  Code coverage generated by
1143
1143
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1144
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
1144
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
1145
1145
  </div>
1146
1146
  </div>
1147
1147
  <script src="../../../prettify.js"></script>
@@ -181,7 +181,7 @@ exports.downloadTemplate = async function (ctx) {
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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
184
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  </div>
187
187
  <script src="../../prettify.js"></script>
@@ -655,7 +655,7 @@ exports.findMetadata = async function (ctx) {
655
655
  <div class='footer quiet pad2 space-top1 center small'>
656
656
  Code coverage generated by
657
657
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
658
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
658
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
659
659
  </div>
660
660
  </div>
661
661
  <script src="../../prettify.js"></script>
@@ -118,7 +118,7 @@ exports.json = function (headers, rows) {
118
118
  <div class='footer quiet pad2 space-top1 center small'>
119
119
  Code coverage generated by
120
120
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
121
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
121
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
122
122
  </div>
123
123
  </div>
124
124
  <script src="../../../prettify.js"></script>
@@ -140,7 +140,7 @@
140
140
  <div class='footer quiet pad2 space-top1 center small'>
141
141
  Code coverage generated by
142
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
143
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
144
144
  </div>
145
145
  </div>
146
146
  <script src="../../../prettify.js"></script>
@@ -346,7 +346,7 @@ exports.exportView = async ctx =&gt; {
346
346
  <div class='footer quiet pad2 space-top1 center small'>
347
347
  Code coverage generated by
348
348
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
349
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
349
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
350
350
  </div>
351
351
  </div>
352
352
  <script src="../../../prettify.js"></script>
@@ -493,7 +493,7 @@ exports.getFromMemoryDoc = async (db, viewName) =&gt; {
493
493
  <div class='footer quiet pad2 space-top1 center small'>
494
494
  Code coverage generated by
495
495
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
496
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
496
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
497
497
  </div>
498
498
  </div>
499
499
  <script src="../../../prettify.js"></script>
@@ -550,7 +550,7 @@ module.exports = viewTemplate
550
550
  <div class='footer quiet pad2 space-top1 center small'>
551
551
  Code coverage generated by
552
552
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
553
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
553
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
554
554
  </div>
555
555
  </div>
556
556
  <script src="../../../prettify.js"></script>
@@ -394,7 +394,7 @@ exports.trigger = async ctx =&gt; {
394
394
  <div class='footer quiet pad2 space-top1 center small'>
395
395
  Code coverage generated by
396
396
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
397
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
397
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
398
398
  </div>
399
399
  </div>
400
400
  <script src="../../prettify.js"></script>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
98
+ at Mon Nov 22 2021 11:11:02 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../prettify.js"></script>