@budibase/server 2.0.15 → 2.0.17

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 (157) hide show
  1. package/builder/assets/{index.e969ba05.js → index.e349ec0e.js} +181 -181
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +226 -221
  4. package/coverage/coverage-final.json +2 -2
  5. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/datasource.js.html +57 -36
  10. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/index.html +19 -19
  12. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  18. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/row/index.html +15 -15
  23. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +18 -9
  25. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  31. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  36. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  40. package/coverage/lcov-report/api/index.html +1 -1
  41. package/coverage/lcov-report/api/index.js.html +1 -1
  42. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  43. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  44. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  45. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  46. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/index.html +1 -1
  52. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  66. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  69. package/coverage/lcov-report/automations/actions.js.html +1 -1
  70. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  71. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  72. package/coverage/lcov-report/automations/index.html +1 -1
  73. package/coverage/lcov-report/automations/index.js.html +1 -1
  74. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  75. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  76. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  77. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  78. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/index.html +1 -1
  81. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  91. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  92. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  93. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  94. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  95. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  100. package/coverage/lcov-report/constants/index.html +1 -1
  101. package/coverage/lcov-report/constants/index.js.html +1 -1
  102. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  103. package/coverage/lcov-report/constants/screens.js.html +1 -1
  104. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  105. package/coverage/lcov-report/db/index.html +1 -1
  106. package/coverage/lcov-report/db/index.js.html +1 -1
  107. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  108. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  109. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  110. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  111. package/coverage/lcov-report/db/newid.js.html +1 -1
  112. package/coverage/lcov-report/db/utils.js.html +1 -1
  113. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  114. package/coverage/lcov-report/events/index.html +1 -1
  115. package/coverage/lcov-report/events/index.js.html +1 -1
  116. package/coverage/lcov-report/events/utils.js.html +1 -1
  117. package/coverage/lcov-report/index.html +25 -25
  118. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  119. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  120. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  121. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  122. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  123. package/coverage/lcov-report/middleware/index.html +1 -1
  124. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  125. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  126. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  127. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  128. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  129. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  130. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  131. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  132. package/coverage/lcov-report/utilities/global.js.html +1 -1
  133. package/coverage/lcov-report/utilities/index.html +1 -1
  134. package/coverage/lcov-report/utilities/index.js.html +1 -1
  135. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  136. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  137. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  138. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  139. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  140. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  141. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  142. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  143. package/coverage/lcov-report/utilities/security.js.html +1 -1
  144. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  145. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  146. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  147. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  148. package/coverage/lcov-report/utilities/users.js.html +1 -1
  149. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  150. package/coverage/lcov.info +403 -393
  151. package/dist/api/controllers/datasource.js +17 -11
  152. package/dist/api/controllers/row/internalSearch.js +4 -1
  153. package/dist/package.json +6 -6
  154. package/dist/tsconfig.build.tsbuildinfo +1 -1
  155. package/package.json +7 -7
  156. package/src/api/controllers/datasource.js +20 -13
  157. package/src/api/controllers/row/internalSearch.js +4 -1
@@ -232,7 +232,7 @@ exports.update = async function (ctx) {
232
232
  <div class='footer quiet pad2 space-top1 center small'>
233
233
  Code coverage generated by
234
234
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
235
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
235
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
236
236
  </div>
237
237
  <script src="../../prettify.js"></script>
238
238
  <script>
@@ -925,7 +925,7 @@ exports.test = async function (ctx) {
925
925
  <div class='footer quiet pad2 space-top1 center small'>
926
926
  Code coverage generated by
927
927
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
928
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
928
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
929
929
  </div>
930
930
  <script src="../../prettify.js"></script>
931
931
  <script>
@@ -127,7 +127,7 @@ exports.exportAppDump = async function (ctx) {
127
127
  <div class='footer quiet pad2 space-top1 center small'>
128
128
  Code coverage generated by
129
129
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
130
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
130
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
131
131
  </div>
132
132
  <script src="../../prettify.js"></script>
133
133
  <script>
@@ -400,7 +400,7 @@ exports.importApps = <span class="fstat-no" title="function not covered" >as</sp
400
400
  <div class='footer quiet pad2 space-top1 center small'>
401
401
  Code coverage generated by
402
402
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
403
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
403
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
404
404
  </div>
405
405
  <script src="../../prettify.js"></script>
406
406
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">58.45% </span>
26
+ <span class="strong">57.93% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>83/142</span>
28
+ <span class='fraction'>84/145</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">32.78% </span>
33
+ <span class="strong">33.89% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>20/61</span>
35
+ <span class='fraction'>20/59</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">55% </span>
40
+ <span class="strong">52.38% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>11/20</span>
42
+ <span class='fraction'>11/21</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">58.15% </span>
47
+ <span class="strong">57.63% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>82/141</span>
49
+ <span class='fraction'>83/144</span>
50
50
  </div>
51
51
 
52
52
 
@@ -339,7 +339,14 @@
339
339
  <a name='L274'></a><a href='#L274'>274</a>
340
340
  <a name='L275'></a><a href='#L275'>275</a>
341
341
  <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
343
350
  <span class="cline-any cline-neutral">&nbsp;</span>
344
351
  <span class="cline-any cline-neutral">&nbsp;</span>
345
352
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -411,6 +418,7 @@
411
418
  <span class="cline-any cline-neutral">&nbsp;</span>
412
419
  <span class="cline-any cline-no">&nbsp;</span>
413
420
  <span class="cline-any cline-no">&nbsp;</span>
421
+ <span class="cline-any cline-no">&nbsp;</span>
414
422
  <span class="cline-any cline-neutral">&nbsp;</span>
415
423
  <span class="cline-any cline-no">&nbsp;</span>
416
424
  <span class="cline-any cline-no">&nbsp;</span>
@@ -423,6 +431,24 @@
423
431
  <span class="cline-any cline-neutral">&nbsp;</span>
424
432
  <span class="cline-any cline-neutral">&nbsp;</span>
425
433
  <span class="cline-any cline-yes">45x</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-no">&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>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-yes">45x</span>
426
452
  <span class="cline-any cline-yes">6x</span>
427
453
  <span class="cline-any cline-yes">6x</span>
428
454
  <span class="cline-any cline-yes">6x</span>
@@ -496,6 +522,7 @@
496
522
  <span class="cline-any cline-no">&nbsp;</span>
497
523
  <span class="cline-any cline-no">&nbsp;</span>
498
524
  <span class="cline-any cline-no">&nbsp;</span>
525
+ <span class="cline-any cline-no">&nbsp;</span>
499
526
  <span class="cline-any cline-neutral">&nbsp;</span>
500
527
  <span class="cline-any cline-neutral">&nbsp;</span>
501
528
  <span class="cline-any cline-yes">64x</span>
@@ -579,19 +606,6 @@
579
606
  <span class="cline-any cline-no">&nbsp;</span>
580
607
  <span class="cline-any cline-no">&nbsp;</span>
581
608
  <span class="cline-any cline-neutral">&nbsp;</span>
582
- <span class="cline-any cline-neutral">&nbsp;</span>
583
- <span class="cline-any cline-no">&nbsp;</span>
584
- <span class="cline-any cline-no">&nbsp;</span>
585
- <span class="cline-any cline-no">&nbsp;</span>
586
- <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-no">&nbsp;</span>
588
- <span class="cline-any cline-no">&nbsp;</span>
589
- <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-no">&nbsp;</span>
591
- <span class="cline-any cline-no">&nbsp;</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-neutral">&nbsp;</span>
595
609
  <span class="cline-any cline-no">&nbsp;</span>
596
610
  <span class="cline-any cline-no">&nbsp;</span>
597
611
  <span class="cline-any cline-no">&nbsp;</span>
@@ -685,6 +699,7 @@ exports.buildSchemaFromDb = <span class="fstat-no" title="function not covered"
685
699
  <span class="cstat-no" title="statement not covered" > datasource.entities = tables</span>
686
700
  }
687
701
  &nbsp;
702
+ <span class="cstat-no" title="statement not covered" > setDefaultDisplayColumns(datasource)</span>
688
703
  const dbResp = <span class="cstat-no" title="statement not covered" >await db.put(datasource)</span>
689
704
  <span class="cstat-no" title="statement not covered" > datasource._rev = dbResp.rev</span>
690
705
  &nbsp;
@@ -695,6 +710,24 @@ exports.buildSchemaFromDb = <span class="fstat-no" title="function not covered"
695
710
  <span class="cstat-no" title="statement not covered" > ctx.body = response</span>
696
711
  }
697
712
  &nbsp;
713
+ /**
714
+ * Make sure all datasource entities have a display name selected
715
+ */
716
+ const setDefaultDisplayColumns = <span class="fstat-no" title="function not covered" >da</span>tasource =&gt; {
717
+ //
718
+ <span class="cstat-no" title="statement not covered" > for (let entity of Object.values(datasource.entities)) {</span>
719
+ <span class="cstat-no" title="statement not covered" > if (entity.primaryDisplay) {</span>
720
+ <span class="cstat-no" title="statement not covered" > continue</span>
721
+ }
722
+ const notAutoColumn = <span class="cstat-no" title="statement not covered" >Object.values(entity.schema).find(</span>
723
+ <span class="fstat-no" title="function not covered" > sc</span>hema =&gt; <span class="cstat-no" title="statement not covered" >!schema.autocolumn</span>
724
+ )
725
+ <span class="cstat-no" title="statement not covered" > if (notAutoColumn) {</span>
726
+ <span class="cstat-no" title="statement not covered" > entity.primaryDisplay = notAutoColumn.name</span>
727
+ }
728
+ }
729
+ }
730
+ &nbsp;
698
731
  /**
699
732
  * Check for variables that have been updated or removed and invalidate them.
700
733
  */
@@ -772,6 +805,7 @@ exports.save = async function (ctx) {
772
805
  const { tables, error } = <span class="cstat-no" title="statement not covered" >await buildSchemaHelper(datasource)</span>
773
806
  <span class="cstat-no" title="statement not covered" > schemaError = error</span>
774
807
  <span class="cstat-no" title="statement not covered" > datasource.entities = tables</span>
808
+ <span class="cstat-no" title="statement not covered" > setDefaultDisplayColumns(datasource)</span>
775
809
  }
776
810
  &nbsp;
777
811
  const dbResp = await db.put(datasource)
@@ -854,19 +888,6 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
854
888
  // Connect to the DB and build the schema
855
889
  const connector = <span class="cstat-no" title="statement not covered" >new Connector(datasource.config)</span>
856
890
  <span class="cstat-no" title="statement not covered" > await connector.buildSchema(datasource._id, datasource.entities)</span>
857
- &nbsp;
858
- // make sure they all have a display name selected
859
- <span class="cstat-no" title="statement not covered" > for (let entity of Object.values(datasource.entities ?? {})) {</span>
860
- <span class="cstat-no" title="statement not covered" > if (entity.primaryDisplay) {</span>
861
- <span class="cstat-no" title="statement not covered" > continue</span>
862
- }
863
- const notAutoColumn = <span class="cstat-no" title="statement not covered" >Object.values(entity.schema).find(</span>
864
- <span class="fstat-no" title="function not covered" > sc</span>hema =&gt; <span class="cstat-no" title="statement not covered" >!schema.autocolumn</span>
865
- )
866
- <span class="cstat-no" title="statement not covered" > if (notAutoColumn) {</span>
867
- <span class="cstat-no" title="statement not covered" > entity.primaryDisplay = notAutoColumn.name</span>
868
- }
869
- }
870
891
  &nbsp;
871
892
  const errors = <span class="cstat-no" title="statement not covered" >connector.schemaErrors</span>
872
893
  let error = <span class="cstat-no" title="statement not covered" >null</span>
@@ -898,7 +919,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
898
919
  <div class='footer quiet pad2 space-top1 center small'>
899
920
  Code coverage generated by
900
921
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
901
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
922
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
902
923
  </div>
903
924
  <script src="../../prettify.js"></script>
904
925
  <script>
@@ -475,7 +475,7 @@ exports.getBudibaseVersion = async ctx =&gt; {
475
475
  <div class='footer quiet pad2 space-top1 center small'>
476
476
  Code coverage generated by
477
477
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
478
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
478
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
479
479
  </div>
480
480
  <script src="../../prettify.js"></script>
481
481
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">70.2% </span>
26
+ <span class="strong">70.08% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>641/913</span>
28
+ <span class='fraction'>642/916</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">44.64% </span>
33
+ <span class="strong">44.96% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>125/280</span>
35
+ <span class='fraction'>125/278</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">65.41% </span>
40
+ <span class="strong">64.92% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>87/133</span>
42
+ <span class='fraction'>87/134</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">70.07% </span>
47
+ <span class="strong">69.95% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>630/899</span>
49
+ <span class='fraction'>631/902</span>
50
50
  </div>
51
51
 
52
52
 
@@ -140,17 +140,17 @@
140
140
 
141
141
  <tr>
142
142
  <td class="file medium" data-value="datasource.js"><a href="datasource.js.html">datasource.js</a></td>
143
- <td data-value="58.45" class="pic medium">
144
- <div class="chart"><div class="cover-fill" style="width: 58%"></div><div class="cover-empty" style="width: 42%"></div></div>
143
+ <td data-value="57.93" class="pic medium">
144
+ <div class="chart"><div class="cover-fill" style="width: 57%"></div><div class="cover-empty" style="width: 43%"></div></div>
145
145
  </td>
146
- <td data-value="58.45" class="pct medium">58.45%</td>
147
- <td data-value="142" class="abs medium">83/142</td>
148
- <td data-value="32.78" class="pct low">32.78%</td>
149
- <td data-value="61" class="abs low">20/61</td>
150
- <td data-value="55" class="pct medium">55%</td>
151
- <td data-value="20" class="abs medium">11/20</td>
152
- <td data-value="58.15" class="pct medium">58.15%</td>
153
- <td data-value="141" class="abs medium">82/141</td>
146
+ <td data-value="57.93" class="pct medium">57.93%</td>
147
+ <td data-value="145" class="abs medium">84/145</td>
148
+ <td data-value="33.89" class="pct low">33.89%</td>
149
+ <td data-value="59" class="abs low">20/59</td>
150
+ <td data-value="52.38" class="pct medium">52.38%</td>
151
+ <td data-value="21" class="abs medium">11/21</td>
152
+ <td data-value="57.63" class="pct medium">57.63%</td>
153
+ <td data-value="144" class="abs medium">83/144</td>
154
154
  </tr>
155
155
 
156
156
  <tr>
@@ -341,7 +341,7 @@
341
341
  <div class='footer quiet pad2 space-top1 center small'>
342
342
  Code coverage generated by
343
343
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
344
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
344
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
345
345
  </div>
346
346
  <script src="../../prettify.js"></script>
347
347
  <script>
@@ -136,7 +136,7 @@ exports.find = async function (ctx) {
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
139
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  <script src="../../prettify.js"></script>
142
142
  <script>
@@ -211,7 +211,7 @@ exports.destroy = async function (ctx) {
211
211
  <div class='footer quiet pad2 space-top1 center small'>
212
212
  Code coverage generated by
213
213
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
214
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
214
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
215
215
  </div>
216
216
  <script src="../../prettify.js"></script>
217
217
  <script>
@@ -193,7 +193,7 @@ exports.getMetadata = async ctx =&gt; {
193
193
  <div class='footer quiet pad2 space-top1 center small'>
194
194
  Code coverage generated by
195
195
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
196
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
196
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
197
197
  </div>
198
198
  <script src="../../prettify.js"></script>
199
199
  <script>
@@ -109,7 +109,7 @@ exports.fetchDefinitions = <span class="fstat-no" title="function not covered" >
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
112
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  <script src="../../prettify.js"></script>
115
115
  <script>
@@ -595,7 +595,7 @@ exports.removePermission = async function (ctx) {
595
595
  <div class='footer quiet pad2 space-top1 center small'>
596
596
  Code coverage generated by
597
597
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
598
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
598
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
599
599
  </div>
600
600
  <script src="../../prettify.js"></script>
601
601
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
104
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -220,7 +220,7 @@ exports.generateQueryPreviewValidation = () =&gt; {
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
223
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
224
224
  </div>
225
225
  <script src="../../../prettify.js"></script>
226
226
  <script>
@@ -394,7 +394,7 @@ exports.destroy = async function (ctx) {
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" rel="noopener noreferrer">istanbul</a>
397
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
397
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
398
398
  </div>
399
399
  <script src="../../prettify.js"></script>
400
400
  <script>
@@ -346,7 +346,7 @@ exports.clientFetch = 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" rel="noopener noreferrer">istanbul</a>
349
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
349
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
350
350
  </div>
351
351
  <script src="../../prettify.js"></script>
352
352
  <script>
@@ -829,7 +829,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
829
829
  <div class='footer quiet pad2 space-top1 center small'>
830
830
  Code coverage generated by
831
831
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
832
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
832
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
833
833
  </div>
834
834
  <script src="../../../prettify.js"></script>
835
835
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">65.1% </span>
26
+ <span class="strong">65.05% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>444/682</span>
28
+ <span class='fraction'>445/684</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">47.94% </span>
33
+ <span class="strong">48.44% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>152/317</span>
35
+ <span class='fraction'>156/322</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">64.96% </span>
47
+ <span class="strong">64.91% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>432/665</span>
49
+ <span class='fraction'>433/667</span>
50
50
  </div>
51
51
 
52
52
 
@@ -110,17 +110,17 @@
110
110
 
111
111
  <tr>
112
112
  <td class="file medium" data-value="internalSearch.js"><a href="internalSearch.js.html">internalSearch.js</a></td>
113
- <td data-value="79.14" class="pic medium">
114
- <div class="chart"><div class="cover-fill" style="width: 79%"></div><div class="cover-empty" style="width: 21%"></div></div>
113
+ <td data-value="78.87" class="pic medium">
114
+ <div class="chart"><div class="cover-fill" style="width: 78%"></div><div class="cover-empty" style="width: 22%"></div></div>
115
115
  </td>
116
- <td data-value="79.14" class="pct medium">79.14%</td>
117
- <td data-value="211" class="abs medium">167/211</td>
118
- <td data-value="68.75" class="pct medium">68.75%</td>
119
- <td data-value="128" class="abs medium">88/128</td>
116
+ <td data-value="78.87" class="pct medium">78.87%</td>
117
+ <td data-value="213" class="abs medium">168/213</td>
118
+ <td data-value="69.17" class="pct medium">69.17%</td>
119
+ <td data-value="133" class="abs medium">92/133</td>
120
120
  <td data-value="68.29" class="pct medium">68.29%</td>
121
121
  <td data-value="41" class="abs medium">28/41</td>
122
- <td data-value="78.64" class="pct medium">78.64%</td>
123
- <td data-value="206" class="abs medium">162/206</td>
122
+ <td data-value="78.36" class="pct medium">78.36%</td>
123
+ <td data-value="208" class="abs medium">163/208</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
164
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
165
165
  </div>
166
166
  <script src="../../../prettify.js"></script>
167
167
  <script>
@@ -1477,7 +1477,7 @@ exports.fetchEnrichedRow = async ctx =&gt; {
1477
1477
  <div class='footer quiet pad2 space-top1 center small'>
1478
1478
  Code coverage generated by
1479
1479
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1480
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
1480
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
1481
1481
  </div>
1482
1482
  <script src="../../../prettify.js"></script>
1483
1483
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">79.14% </span>
26
+ <span class="strong">78.87% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>167/211</span>
28
+ <span class='fraction'>168/213</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">68.75% </span>
33
+ <span class="strong">69.17% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>88/128</span>
35
+ <span class='fraction'>92/133</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">78.64% </span>
47
+ <span class="strong">78.36% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>162/206</span>
49
+ <span class='fraction'>163/208</span>
50
50
  </div>
51
51
 
52
52
 
@@ -565,7 +565,10 @@
565
565
  <a name='L500'></a><a href='#L500'>500</a>
566
566
  <a name='L501'></a><a href='#L501'>501</a>
567
567
  <a name='L502'></a><a href='#L502'>502</a>
568
- <a name='L503'></a><a href='#L503'>503</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
568
+ <a name='L503'></a><a href='#L503'>503</a>
569
+ <a name='L504'></a><a href='#L504'>504</a>
570
+ <a name='L505'></a><a href='#L505'>505</a>
571
+ <a name='L506'></a><a href='#L506'>506</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
569
572
  <span class="cline-any cline-yes">45x</span>
570
573
  <span class="cline-any cline-yes">45x</span>
571
574
  <span class="cline-any cline-yes">45x</span>
@@ -725,6 +728,9 @@
725
728
  <span class="cline-any cline-yes">138x</span>
726
729
  <span class="cline-any cline-neutral">&nbsp;</span>
727
730
  <span class="cline-any cline-neutral">&nbsp;</span>
731
+ <span class="cline-any cline-neutral">&nbsp;</span>
732
+ <span class="cline-any cline-yes">148x</span>
733
+ <span class="cline-any cline-no">&nbsp;</span>
728
734
  <span class="cline-any cline-yes">148x</span>
729
735
  <span class="cline-any cline-yes">58x</span>
730
736
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1226,8 +1232,11 @@ class QueryBuilder {
1226
1232
  if (escape &amp;&amp; originalType === "string") {
1227
1233
  value = `${value}`.replace(/[ #+\-&amp;|!(){}\]^"~*?:\\]/g, "\\$&amp;")
1228
1234
  }
1235
+ &nbsp;
1229
1236
  // Wrap in quotes
1230
- if (hasVersion &amp;&amp; wrap) {
1237
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (originalType === "string" &amp;&amp; !isNaN(value) &amp;&amp; !escape) {
1238
+ <span class="cstat-no" title="statement not covered" > value = `"${value}"`</span>
1239
+ } else if (hasVersion &amp;&amp; wrap) {
1231
1240
  value = originalType === "number" ? value : `"${value}"`
1232
1241
  }
1233
1242
  return value
@@ -1576,7 +1585,7 @@ exports.fullSearch = async (query, params) =&gt; {
1576
1585
  <div class='footer quiet pad2 space-top1 center small'>
1577
1586
  Code coverage generated by
1578
1587
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1579
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
1588
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
1580
1589
  </div>
1581
1590
  <script src="../../../prettify.js"></script>
1582
1591
  <script>
@@ -538,7 +538,7 @@ exports.finaliseRow = async (
538
538
  <div class='footer quiet pad2 space-top1 center small'>
539
539
  Code coverage generated by
540
540
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
541
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
541
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
542
542
  </div>
543
543
  <script src="../../../prettify.js"></script>
544
544
  <script>
@@ -364,7 +364,7 @@ exports.validate = async ({ tableId, row, table }) =&gt; {
364
364
  <div class='footer quiet pad2 space-top1 center small'>
365
365
  Code coverage generated by
366
366
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
367
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
367
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
368
368
  </div>
369
369
  <script src="../../../prettify.js"></script>
370
370
  <script>
@@ -103,7 +103,7 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
106
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
106
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
107
107
  </div>
108
108
  <script src="../../prettify.js"></script>
109
109
  <script>
@@ -589,7 +589,7 @@ exports.runStaticFormulaChecks = async (table, { oldTable, deletion }) =&gt; {
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" rel="noopener noreferrer">istanbul</a>
592
- at Tue Oct 04 2022 09:47:09 GMT+0000 (Coordinated Universal Time)
592
+ at Tue Oct 04 2022 13:20:06 GMT+0000 (Coordinated Universal Time)
593
593
  </div>
594
594
  <script src="../../../prettify.js"></script>
595
595
  <script>