@budibase/server 1.0.219-alpha.9 → 1.0.220-alpha.1

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 (191) hide show
  1. package/.yarnrc +1 -0
  2. package/builder/assets/{index.40715052.js → index.b4622e74.js} +153 -152
  3. package/builder/index.html +1 -1
  4. package/coverage/clover.xml +283 -262
  5. package/coverage/coverage-final.json +5 -5
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/index.html +1 -1
  15. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/validation.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 +15 -15
  26. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +78 -24
  28. package/coverage/lcov-report/api/controllers/row/staticFormula.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/bulkFormula.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  44. package/coverage/lcov-report/api/index.html +1 -1
  45. package/coverage/lcov-report/api/index.js.html +1 -1
  46. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/index.html +1 -1
  57. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  71. package/coverage/lcov-report/api/routes/utils/validators.js.html +5 -2
  72. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  74. package/coverage/lcov-report/automations/actions.js.html +1 -1
  75. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  76. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  77. package/coverage/lcov-report/automations/index.html +1 -1
  78. package/coverage/lcov-report/automations/index.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/executeQuery.js.html +2 -2
  83. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/index.html +1 -1
  86. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  105. package/coverage/lcov-report/constants/index.html +1 -1
  106. package/coverage/lcov-report/constants/index.js.html +1 -1
  107. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  108. package/coverage/lcov-report/constants/screens.js.html +1 -1
  109. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  110. package/coverage/lcov-report/db/index.html +1 -1
  111. package/coverage/lcov-report/db/index.js.html +1 -1
  112. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  113. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  114. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  116. package/coverage/lcov-report/db/newid.js.html +1 -1
  117. package/coverage/lcov-report/db/utils.js.html +1 -1
  118. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  119. package/coverage/lcov-report/events/index.html +1 -1
  120. package/coverage/lcov-report/events/index.js.html +1 -1
  121. package/coverage/lcov-report/events/utils.js.html +1 -1
  122. package/coverage/lcov-report/index.html +30 -30
  123. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  124. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  125. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  126. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  127. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  128. package/coverage/lcov-report/middleware/index.html +1 -1
  129. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  130. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  131. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  132. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  133. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  134. package/coverage/lcov-report/threads/automation.js.html +1 -1
  135. package/coverage/lcov-report/threads/index.html +14 -14
  136. package/coverage/lcov-report/threads/query.js.html +40 -25
  137. package/coverage/lcov-report/threads/utils.js.html +1 -1
  138. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  139. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  140. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  141. package/coverage/lcov-report/utilities/global.js.html +1 -1
  142. package/coverage/lcov-report/utilities/index.html +16 -16
  143. package/coverage/lcov-report/utilities/index.js.html +1 -1
  144. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  145. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  146. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  147. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  148. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  149. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  150. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  151. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  152. package/coverage/lcov-report/utilities/security.js.html +1 -1
  153. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  154. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  155. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  156. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  157. package/coverage/lcov-report/utilities/users.js.html +1 -1
  158. package/coverage/lcov-report/utilities/workerRequests.js.html +57 -9
  159. package/coverage/lcov.info +501 -462
  160. package/dist/api/controllers/public/applications.js +1 -1
  161. package/dist/api/controllers/public/utils.js +8 -1
  162. package/dist/api/controllers/query/index.js +7 -4
  163. package/dist/api/controllers/row/internalSearch.js +26 -10
  164. package/dist/api/routes/public/rows.js +7 -2
  165. package/dist/api/routes/utils/validators.js +1 -0
  166. package/dist/app.js +20 -0
  167. package/dist/automations/steps/executeQuery.js +1 -1
  168. package/dist/environment.js +2 -0
  169. package/dist/integrations/base/sql.js +4 -2
  170. package/dist/package.json +6 -6
  171. package/dist/threads/query.js +20 -13
  172. package/dist/tsconfig.build.tsbuildinfo +1 -1
  173. package/dist/utilities/workerRequests.js +8 -0
  174. package/package.json +7 -7
  175. package/scripts/dev/manage.js +2 -0
  176. package/specs/openapi.json +9 -5
  177. package/specs/openapi.yaml +10 -4
  178. package/src/api/controllers/public/applications.ts +2 -2
  179. package/src/api/controllers/public/utils.ts +8 -1
  180. package/src/api/controllers/query/index.ts +13 -5
  181. package/src/api/controllers/row/internalSearch.js +27 -9
  182. package/src/api/routes/public/rows.ts +7 -2
  183. package/src/api/routes/tests/query.spec.js +0 -1
  184. package/src/api/routes/utils/validators.js +1 -0
  185. package/src/app.ts +30 -1
  186. package/src/automations/steps/executeQuery.js +1 -1
  187. package/src/definitions/openapi.ts +471 -469
  188. package/src/environment.js +2 -0
  189. package/src/integrations/base/sql.ts +6 -2
  190. package/src/threads/query.js +20 -15
  191. package/src/utilities/workerRequests.js +16 -0
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1657192346832" clover="3.2.0">
3
- <project timestamp="1657192346832" name="All files">
4
- <metrics statements="4382" coveredstatements="3148" conditionals="1827" coveredconditionals="957" methods="632" coveredmethods="446" elements="6841" coveredelements="4551" complexity="0" loc="4382" ncloc="4382" packages="23" files="129" classes="129"/>
2
+ <coverage generated="1657534880977" clover="3.2.0">
3
+ <project timestamp="1657534880977" name="All files">
4
+ <metrics statements="4403" coveredstatements="3164" conditionals="1841" coveredconditionals="964" methods="634" coveredmethods="446" elements="6878" coveredelements="4574" complexity="0" loc="4403" ncloc="4403" packages="23" files="129" classes="129"/>
5
5
  <package name="api">
6
6
  <metrics statements="35" coveredstatements="34" conditionals="5" coveredconditionals="2" methods="4" coveredmethods="4"/>
7
7
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/index.js">
@@ -1113,7 +1113,7 @@
1113
1113
  </file>
1114
1114
  </package>
1115
1115
  <package name="api.controllers.row">
1116
- <metrics statements="610" coveredstatements="344" conditionals="280" coveredconditionals="97" methods="88" coveredmethods="46"/>
1116
+ <metrics statements="621" coveredstatements="355" conditionals="292" coveredconditionals="104" methods="88" coveredmethods="46"/>
1117
1117
  <file name="external.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/row/external.js">
1118
1118
  <metrics statements="116" coveredstatements="18" conditionals="50" coveredconditionals="0" methods="15" coveredmethods="0"/>
1119
1119
  <line num="6" count="44" type="stmt"/>
@@ -1450,172 +1450,183 @@
1450
1450
  <line num="454" count="2" type="stmt"/>
1451
1451
  </file>
1452
1452
  <file name="internalSearch.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/row/internalSearch.js">
1453
- <metrics statements="165" coveredstatements="96" conditionals="101" coveredconditionals="39" methods="35" coveredmethods="18"/>
1453
+ <metrics statements="176" coveredstatements="107" conditionals="113" coveredconditionals="46" methods="35" coveredmethods="18"/>
1454
1454
  <line num="1" count="43" type="stmt"/>
1455
1455
  <line num="2" count="43" type="stmt"/>
1456
1456
  <line num="3" count="43" type="stmt"/>
1457
1457
  <line num="4" count="43" type="stmt"/>
1458
1458
  <line num="12" count="1" type="stmt"/>
1459
- <line num="23" count="1" type="stmt"/>
1460
1459
  <line num="24" count="1" type="stmt"/>
1461
1460
  <line num="25" count="1" type="stmt"/>
1462
1461
  <line num="26" count="1" type="stmt"/>
1463
1462
  <line num="27" count="1" type="stmt"/>
1464
- <line num="31" count="1" type="stmt"/>
1463
+ <line num="28" count="1" type="stmt"/>
1465
1464
  <line num="32" count="1" type="stmt"/>
1466
- <line num="36" count="1" type="stmt"/>
1465
+ <line num="33" count="1" type="stmt"/>
1467
1466
  <line num="37" count="1" type="stmt"/>
1468
- <line num="41" count="1" type="cond" truecount="1" falsecount="1"/>
1469
- <line num="42" count="1" type="stmt"/>
1470
- <line num="44" count="1" type="stmt"/>
1471
- <line num="48" count="1" type="cond" truecount="1" falsecount="1"/>
1472
- <line num="49" count="0" type="stmt"/>
1473
- <line num="51" count="1" type="stmt"/>
1474
- <line num="55" count="1" type="cond" truecount="1" falsecount="1"/>
1475
- <line num="56" count="0" type="stmt"/>
1476
- <line num="58" count="1" type="stmt"/>
1477
- <line num="62" count="1" type="cond" truecount="1" falsecount="1"/>
1478
- <line num="63" count="0" type="stmt"/>
1479
- <line num="65" count="1" type="stmt"/>
1480
- <line num="69" count="1" type="stmt"/>
1467
+ <line num="38" count="1" type="stmt"/>
1468
+ <line num="42" count="1" type="cond" truecount="1" falsecount="1"/>
1469
+ <line num="43" count="1" type="stmt"/>
1470
+ <line num="45" count="1" type="stmt"/>
1471
+ <line num="49" count="1" type="cond" truecount="1" falsecount="1"/>
1472
+ <line num="50" count="0" type="stmt"/>
1473
+ <line num="52" count="1" type="stmt"/>
1474
+ <line num="56" count="1" type="cond" truecount="1" falsecount="1"/>
1475
+ <line num="57" count="0" type="stmt"/>
1476
+ <line num="59" count="1" type="stmt"/>
1477
+ <line num="63" count="1" type="cond" truecount="1" falsecount="1"/>
1478
+ <line num="64" count="0" type="stmt"/>
1479
+ <line num="66" count="1" type="stmt"/>
1481
1480
  <line num="70" count="1" type="stmt"/>
1482
- <line num="74" count="0" type="stmt"/>
1481
+ <line num="71" count="1" type="stmt"/>
1483
1482
  <line num="75" count="0" type="stmt"/>
1484
- <line num="79" count="0" type="stmt"/>
1483
+ <line num="76" count="0" type="stmt"/>
1485
1484
  <line num="80" count="0" type="stmt"/>
1486
- <line num="84" count="0" type="stmt"/>
1485
+ <line num="81" count="0" type="stmt"/>
1487
1486
  <line num="85" count="0" type="stmt"/>
1488
- <line num="89" count="0" type="stmt"/>
1489
- <line num="93" count="0" type="stmt"/>
1490
- <line num="97" count="0" type="stmt"/>
1487
+ <line num="86" count="0" type="stmt"/>
1488
+ <line num="90" count="0" type="stmt"/>
1489
+ <line num="94" count="0" type="stmt"/>
1491
1490
  <line num="98" count="0" type="stmt"/>
1492
- <line num="102" count="0" type="stmt"/>
1491
+ <line num="99" count="0" type="stmt"/>
1493
1492
  <line num="103" count="0" type="stmt"/>
1494
- <line num="107" count="0" type="stmt"/>
1493
+ <line num="104" count="0" type="stmt"/>
1495
1494
  <line num="108" count="0" type="stmt"/>
1496
- <line num="112" count="0" type="stmt"/>
1495
+ <line num="109" count="0" type="stmt"/>
1497
1496
  <line num="113" count="0" type="stmt"/>
1498
- <line num="117" count="0" type="stmt"/>
1497
+ <line num="114" count="0" type="stmt"/>
1499
1498
  <line num="118" count="0" type="stmt"/>
1500
- <line num="129" count="2" type="stmt"/>
1501
- <line num="131" count="2" type="stmt"/>
1502
- <line num="133" count="2" type="cond" truecount="4" falsecount="0"/>
1503
- <line num="134" count="1" type="cond" truecount="1" falsecount="1"/>
1504
- <line num="137" count="2" type="cond" truecount="3" falsecount="1"/>
1505
- <line num="138" count="2" type="stmt"/>
1506
- <line num="141" count="2" type="cond" truecount="2" falsecount="2"/>
1507
- <line num="142" count="0" type="cond" truecount="0" falsecount="2"/>
1508
- <line num="144" count="2" type="stmt"/>
1509
- <line num="148" count="1" type="stmt"/>
1499
+ <line num="119" count="0" type="stmt"/>
1500
+ <line num="130" count="2" type="stmt"/>
1501
+ <line num="132" count="2" type="stmt"/>
1502
+ <line num="134" count="2" type="cond" truecount="4" falsecount="0"/>
1503
+ <line num="135" count="1" type="cond" truecount="1" falsecount="1"/>
1504
+ <line num="138" count="2" type="cond" truecount="3" falsecount="1"/>
1505
+ <line num="139" count="2" type="stmt"/>
1506
+ <line num="142" count="2" type="cond" truecount="2" falsecount="2"/>
1507
+ <line num="143" count="0" type="cond" truecount="0" falsecount="2"/>
1508
+ <line num="145" count="2" type="stmt"/>
1510
1509
  <line num="149" count="1" type="stmt"/>
1511
- <line num="150" count="1" type="stmt"/>
1512
- <line num="153" count="8" type="stmt"/>
1513
- <line num="154" count="1" type="stmt"/>
1514
- <line num="157" count="1" type="stmt"/>
1515
- <line num="158" count="1" type="cond" truecount="1" falsecount="1"/>
1516
- <line num="159" count="0" type="stmt"/>
1517
- <line num="161" count="1" type="stmt"/>
1518
- <line num="166" count="1" type="cond" truecount="1" falsecount="1"/>
1519
- <line num="167" count="1" type="stmt"/>
1520
- <line num="168" count="0" type="cond" truecount="0" falsecount="2"/>
1521
- <line num="169" count="0" type="stmt"/>
1522
- <line num="171" count="0" type="stmt"/>
1523
- <line num="175" count="0" type="stmt"/>
1524
- <line num="178" count="1" type="cond" truecount="1" falsecount="1"/>
1510
+ <line num="150" count="1" type="cond" truecount="2" falsecount="0"/>
1511
+ <line num="151" count="1" type="cond" truecount="1" falsecount="1"/>
1512
+ <line num="152" count="1" type="stmt"/>
1513
+ <line num="154" count="1" type="cond" truecount="1" falsecount="1"/>
1514
+ <line num="155" count="1" type="stmt"/>
1515
+ <line num="156" count="1" type="stmt"/>
1516
+ <line num="159" count="1" type="stmt"/>
1517
+ <line num="161" count="1" type="cond" truecount="2" falsecount="2"/>
1518
+ <line num="162" count="0" type="stmt"/>
1519
+ <line num="164" count="1" type="stmt"/>
1520
+ <line num="168" count="9" type="stmt"/>
1521
+ <line num="169" count="1" type="stmt"/>
1522
+ <line num="172" count="1" type="stmt"/>
1523
+ <line num="173" count="1" type="cond" truecount="1" falsecount="1"/>
1524
+ <line num="174" count="0" type="stmt"/>
1525
+ <line num="176" count="1" type="cond" truecount="1" falsecount="1"/>
1526
+ <line num="177" count="1" type="cond" truecount="1" falsecount="1"/>
1525
1527
  <line num="179" count="1" type="stmt"/>
1526
- <line num="180" count="0" type="cond" truecount="0" falsecount="2"/>
1527
- <line num="181" count="0" type="stmt"/>
1528
- <line num="183" count="0" type="cond" truecount="0" falsecount="4"/>
1529
- <line num="184" count="0" type="stmt"/>
1530
- <line num="186" count="0" type="cond" truecount="0" falsecount="4"/>
1528
+ <line num="184" count="1" type="cond" truecount="1" falsecount="1"/>
1529
+ <line num="185" count="1" type="stmt"/>
1530
+ <line num="186" count="0" type="cond" truecount="0" falsecount="2"/>
1531
1531
  <line num="187" count="0" type="stmt"/>
1532
1532
  <line num="189" count="0" type="stmt"/>
1533
- <line num="190" count="0" type="stmt"/>
1534
- <line num="191" count="0" type="stmt"/>
1535
- <line num="194" count="1" type="cond" truecount="1" falsecount="1"/>
1536
- <line num="195" count="1" type="stmt"/>
1537
- <line num="196" count="0" type="cond" truecount="0" falsecount="2"/>
1538
- <line num="197" count="0" type="stmt"/>
1533
+ <line num="193" count="0" type="stmt"/>
1534
+ <line num="196" count="1" type="cond" truecount="1" falsecount="1"/>
1535
+ <line num="197" count="1" type="stmt"/>
1536
+ <line num="198" count="0" type="cond" truecount="0" falsecount="2"/>
1539
1537
  <line num="199" count="0" type="stmt"/>
1540
- <line num="203" count="0" type="stmt"/>
1541
- <line num="206" count="1" type="cond" truecount="1" falsecount="1"/>
1542
- <line num="207" count="1" type="stmt"/>
1543
- <line num="209" count="1" type="cond" truecount="2" falsecount="2"/>
1544
- <line num="210" count="0" type="stmt"/>
1545
- <line num="212" count="1" type="stmt"/>
1546
- <line num="215" count="1" type="cond" truecount="1" falsecount="1"/>
1547
- <line num="216" count="1" type="stmt"/>
1548
- <line num="217" count="0" type="cond" truecount="0" falsecount="2"/>
1549
- <line num="218" count="0" type="stmt"/>
1550
- <line num="220" count="0" type="stmt"/>
1551
- <line num="223" count="1" type="cond" truecount="1" falsecount="1"/>
1552
- <line num="224" count="1" type="stmt"/>
1553
- <line num="226" count="1" type="cond" truecount="1" falsecount="1"/>
1554
- <line num="227" count="1" type="stmt"/>
1555
- <line num="229" count="1" type="cond" truecount="1" falsecount="1"/>
1556
- <line num="230" count="1" type="stmt"/>
1557
- <line num="231" count="0" type="cond" truecount="0" falsecount="2"/>
1558
- <line num="232" count="0" type="cond" truecount="0" falsecount="2"/>
1559
- <line num="233" count="0" type="stmt"/>
1560
- <line num="235" count="0" type="stmt"/>
1561
- <line num="238" count="0" type="stmt"/>
1562
- <line num="242" count="0" type="stmt"/>
1563
- <line num="243" count="0" type="stmt"/>
1564
- <line num="248" count="0" type="stmt"/>
1565
- <line num="251" count="1" type="stmt"/>
1566
- <line num="255" count="1" type="stmt"/>
1567
- <line num="260" count="1" type="cond" truecount="1" falsecount="1"/>
1568
- <line num="261" count="0" type="stmt"/>
1569
- <line num="263" count="1" type="cond" truecount="1" falsecount="1"/>
1570
- <line num="264" count="0" type="cond" truecount="0" falsecount="2"/>
1571
- <line num="265" count="0" type="stmt"/>
1572
- <line num="266" count="0" type="stmt"/>
1573
- <line num="268" count="1" type="stmt"/>
1574
- <line num="272" count="1" type="stmt"/>
1538
+ <line num="201" count="0" type="cond" truecount="0" falsecount="4"/>
1539
+ <line num="202" count="0" type="stmt"/>
1540
+ <line num="204" count="0" type="cond" truecount="0" falsecount="4"/>
1541
+ <line num="205" count="0" type="stmt"/>
1542
+ <line num="207" count="0" type="stmt"/>
1543
+ <line num="208" count="0" type="stmt"/>
1544
+ <line num="209" count="0" type="stmt"/>
1545
+ <line num="212" count="1" type="cond" truecount="1" falsecount="1"/>
1546
+ <line num="213" count="1" type="stmt"/>
1547
+ <line num="214" count="0" type="cond" truecount="0" falsecount="2"/>
1548
+ <line num="215" count="0" type="stmt"/>
1549
+ <line num="217" count="0" type="stmt"/>
1550
+ <line num="221" count="0" type="stmt"/>
1551
+ <line num="224" count="1" type="cond" truecount="1" falsecount="1"/>
1552
+ <line num="225" count="1" type="stmt"/>
1553
+ <line num="227" count="1" type="cond" truecount="1" falsecount="1"/>
1554
+ <line num="228" count="1" type="stmt"/>
1555
+ <line num="229" count="0" type="cond" truecount="0" falsecount="2"/>
1556
+ <line num="230" count="0" type="stmt"/>
1557
+ <line num="232" count="0" type="stmt"/>
1558
+ <line num="235" count="1" type="cond" truecount="1" falsecount="1"/>
1559
+ <line num="236" count="1" type="stmt"/>
1560
+ <line num="238" count="1" type="cond" truecount="1" falsecount="1"/>
1561
+ <line num="239" count="1" type="stmt"/>
1562
+ <line num="241" count="1" type="cond" truecount="1" falsecount="1"/>
1563
+ <line num="242" count="1" type="stmt"/>
1564
+ <line num="243" count="0" type="cond" truecount="0" falsecount="2"/>
1565
+ <line num="244" count="0" type="cond" truecount="0" falsecount="2"/>
1566
+ <line num="245" count="0" type="stmt"/>
1567
+ <line num="247" count="0" type="stmt"/>
1568
+ <line num="250" count="0" type="stmt"/>
1569
+ <line num="254" count="0" type="stmt"/>
1570
+ <line num="255" count="0" type="stmt"/>
1571
+ <line num="260" count="0" type="stmt"/>
1572
+ <line num="264" count="1" type="cond" truecount="1" falsecount="1"/>
1573
+ <line num="265" count="1" type="stmt"/>
1574
+ <line num="266" count="1" type="stmt"/>
1575
+ <line num="267" count="1" type="stmt"/>
1576
+ <line num="269" count="1" type="stmt"/>
1575
1577
  <line num="273" count="1" type="stmt"/>
1576
- <line num="274" count="1" type="stmt"/>
1577
- <line num="275" count="1" type="stmt"/>
1578
- <line num="276" count="1" type="stmt"/>
1579
- <line num="287" count="43" type="stmt"/>
1580
- <line num="288" count="1" type="stmt"/>
1581
- <line num="295" count="1" type="stmt"/>
1582
- <line num="297" count="1" type="stmt"/>
1583
- <line num="300" count="1" type="cond" truecount="3" falsecount="1"/>
1584
- <line num="301" count="1" type="stmt"/>
1585
- <line num="303" count="1" type="cond" truecount="1" falsecount="1"/>
1586
- <line num="304" count="1" type="stmt"/>
1578
+ <line num="278" count="1" type="cond" truecount="1" falsecount="1"/>
1579
+ <line num="279" count="0" type="stmt"/>
1580
+ <line num="281" count="1" type="cond" truecount="1" falsecount="1"/>
1581
+ <line num="282" count="0" type="cond" truecount="0" falsecount="2"/>
1582
+ <line num="283" count="0" type="stmt"/>
1583
+ <line num="284" count="0" type="stmt"/>
1584
+ <line num="286" count="1" type="stmt"/>
1585
+ <line num="290" count="1" type="stmt"/>
1586
+ <line num="291" count="1" type="stmt"/>
1587
+ <line num="292" count="1" type="stmt"/>
1588
+ <line num="293" count="1" type="stmt"/>
1589
+ <line num="294" count="1" type="stmt"/>
1590
+ <line num="305" count="43" type="stmt"/>
1587
1591
  <line num="306" count="1" type="stmt"/>
1588
- <line num="325" count="43" type="stmt"/>
1589
- <line num="326" count="1" type="stmt"/>
1590
- <line num="327" count="1" type="cond" truecount="2" falsecount="0"/>
1591
- <line num="328" count="1" type="cond" truecount="1" falsecount="1"/>
1592
- <line num="329" count="0" type="stmt"/>
1593
- <line num="331" count="1" type="stmt"/>
1594
- <line num="332" count="1" type="cond" truecount="1" falsecount="1"/>
1595
- <line num="333" count="0" type="stmt"/>
1596
- <line num="335" count="1" type="stmt"/>
1597
- <line num="344" count="1" type="cond" truecount="1" falsecount="1"/>
1598
- <line num="345" count="0" type="stmt"/>
1599
- <line num="347" count="1" type="cond" truecount="1" falsecount="1"/>
1600
- <line num="348" count="1" type="stmt"/>
1601
- <line num="350" count="0" type="stmt"/>
1602
- <line num="355" count="0" type="stmt"/>
1603
- <line num="373" count="43" type="stmt"/>
1604
- <line num="374" count="0" type="stmt"/>
1605
- <line num="375" count="0" type="cond" truecount="0" falsecount="5"/>
1606
- <line num="376" count="0" type="stmt"/>
1607
- <line num="378" count="0" type="stmt"/>
1608
- <line num="379" count="0" type="stmt"/>
1609
- <line num="385" count="0" type="stmt"/>
1592
+ <line num="313" count="1" type="stmt"/>
1593
+ <line num="315" count="1" type="stmt"/>
1594
+ <line num="318" count="1" type="cond" truecount="3" falsecount="1"/>
1595
+ <line num="319" count="1" type="stmt"/>
1596
+ <line num="321" count="1" type="cond" truecount="1" falsecount="1"/>
1597
+ <line num="322" count="1" type="stmt"/>
1598
+ <line num="324" count="1" type="stmt"/>
1599
+ <line num="343" count="43" type="stmt"/>
1600
+ <line num="344" count="1" type="stmt"/>
1601
+ <line num="345" count="1" type="cond" truecount="2" falsecount="0"/>
1602
+ <line num="346" count="1" type="cond" truecount="1" falsecount="1"/>
1603
+ <line num="347" count="0" type="stmt"/>
1604
+ <line num="349" count="1" type="stmt"/>
1605
+ <line num="350" count="1" type="cond" truecount="1" falsecount="1"/>
1606
+ <line num="351" count="0" type="stmt"/>
1607
+ <line num="353" count="1" type="stmt"/>
1608
+ <line num="362" count="1" type="cond" truecount="1" falsecount="1"/>
1609
+ <line num="363" count="0" type="stmt"/>
1610
+ <line num="365" count="1" type="cond" truecount="1" falsecount="1"/>
1611
+ <line num="366" count="1" type="stmt"/>
1612
+ <line num="368" count="0" type="stmt"/>
1613
+ <line num="373" count="0" type="stmt"/>
1614
+ <line num="391" count="43" type="stmt"/>
1610
1615
  <line num="392" count="0" type="stmt"/>
1616
+ <line num="393" count="0" type="cond" truecount="0" falsecount="5"/>
1617
+ <line num="394" count="0" type="stmt"/>
1618
+ <line num="396" count="0" type="stmt"/>
1611
1619
  <line num="397" count="0" type="stmt"/>
1612
- <line num="418" count="43" type="stmt"/>
1613
- <line num="419" count="1" type="stmt"/>
1614
- <line num="420" count="1" type="cond" truecount="2" falsecount="3"/>
1615
- <line num="421" count="1" type="stmt"/>
1616
- <line num="423" count="1" type="stmt"/>
1617
- <line num="424" count="1" type="stmt"/>
1618
- <line num="425" count="1" type="stmt"/>
1620
+ <line num="403" count="0" type="stmt"/>
1621
+ <line num="410" count="0" type="stmt"/>
1622
+ <line num="415" count="0" type="stmt"/>
1623
+ <line num="436" count="43" type="stmt"/>
1624
+ <line num="437" count="1" type="stmt"/>
1625
+ <line num="438" count="1" type="cond" truecount="2" falsecount="3"/>
1626
+ <line num="439" count="1" type="stmt"/>
1627
+ <line num="441" count="1" type="stmt"/>
1628
+ <line num="442" count="1" type="stmt"/>
1629
+ <line num="443" count="1" type="stmt"/>
1619
1630
  </file>
1620
1631
  <file name="staticFormula.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/row/staticFormula.js">
1621
1632
  <metrics statements="63" coveredstatements="23" conditionals="31" coveredconditionals="5" methods="6" coveredmethods="2"/>
@@ -2568,27 +2579,27 @@
2568
2579
  <line num="34" count="27" type="stmt"/>
2569
2580
  <line num="36" count="27" type="stmt"/>
2570
2581
  <line num="50" count="81" type="stmt"/>
2571
- <line num="64" count="27" type="stmt"/>
2572
- <line num="66" count="27" type="stmt"/>
2573
- <line num="78" count="27" type="stmt"/>
2582
+ <line num="65" count="27" type="stmt"/>
2583
+ <line num="67" count="27" type="stmt"/>
2574
2584
  <line num="79" count="27" type="stmt"/>
2575
- <line num="96" count="27" type="stmt"/>
2576
- <line num="98" count="27" type="stmt"/>
2577
- <line num="117" count="27" type="stmt"/>
2578
- <line num="119" count="27" type="stmt"/>
2579
- <line num="132" count="27" type="stmt"/>
2585
+ <line num="80" count="27" type="stmt"/>
2586
+ <line num="97" count="27" type="stmt"/>
2587
+ <line num="99" count="27" type="stmt"/>
2588
+ <line num="118" count="27" type="stmt"/>
2589
+ <line num="120" count="27" type="stmt"/>
2580
2590
  <line num="133" count="27" type="stmt"/>
2581
- <line num="135" count="27" type="stmt"/>
2582
- <line num="148" count="27" type="stmt"/>
2583
- <line num="149" count="54" type="stmt"/>
2584
- <line num="151" count="54" type="stmt"/>
2585
- <line num="158" count="27" type="stmt"/>
2586
- <line num="160" count="27" type="stmt"/>
2587
- <line num="180" count="108" type="stmt"/>
2588
- <line num="193" count="27" type="cond" truecount="0" falsecount="1"/>
2589
- <line num="195" count="54" type="stmt"/>
2590
- <line num="207" count="27" type="stmt"/>
2591
- <line num="209" count="54" type="stmt"/>
2591
+ <line num="134" count="27" type="stmt"/>
2592
+ <line num="136" count="27" type="stmt"/>
2593
+ <line num="149" count="27" type="stmt"/>
2594
+ <line num="150" count="54" type="stmt"/>
2595
+ <line num="152" count="54" type="stmt"/>
2596
+ <line num="159" count="27" type="stmt"/>
2597
+ <line num="161" count="27" type="stmt"/>
2598
+ <line num="181" count="108" type="stmt"/>
2599
+ <line num="194" count="27" type="cond" truecount="0" falsecount="1"/>
2600
+ <line num="196" count="54" type="stmt"/>
2601
+ <line num="208" count="27" type="stmt"/>
2602
+ <line num="210" count="54" type="stmt"/>
2592
2603
  </file>
2593
2604
  </package>
2594
2605
  <package name="automations">
@@ -3857,7 +3868,7 @@
3857
3868
  </file>
3858
3869
  </package>
3859
3870
  <package name="threads">
3860
- <metrics statements="327" coveredstatements="217" conditionals="147" coveredconditionals="68" methods="35" coveredmethods="27"/>
3871
+ <metrics statements="331" coveredstatements="220" conditionals="149" coveredconditionals="68" methods="35" coveredmethods="27"/>
3861
3872
  <file name="automation.js" path="/home/runner/work/budibase/budibase/packages/server/src/threads/automation.js">
3862
3873
  <metrics statements="165" coveredstatements="84" conditionals="75" coveredconditionals="20" methods="13" coveredmethods="9"/>
3863
3874
  <line num="1" count="3" type="stmt"/>
@@ -4027,7 +4038,7 @@
4027
4038
  <line num="346" count="0" type="stmt"/>
4028
4039
  </file>
4029
4040
  <file name="query.js" path="/home/runner/work/budibase/budibase/packages/server/src/threads/query.js">
4030
- <metrics statements="126" coveredstatements="103" conditionals="57" coveredconditionals="38" methods="13" coveredmethods="10"/>
4041
+ <metrics statements="130" coveredstatements="106" conditionals="59" coveredconditionals="38" methods="13" coveredmethods="10"/>
4031
4042
  <line num="1" count="2" type="stmt"/>
4032
4043
  <line num="2" count="2" type="stmt"/>
4033
4044
  <line num="3" count="2" type="stmt"/>
@@ -4037,9 +4048,9 @@
4037
4048
  <line num="10" count="2" type="stmt"/>
4038
4049
  <line num="11" count="2" type="stmt"/>
4039
4050
  <line num="12" count="2" type="stmt"/>
4040
- <line num="14" count="2" type="stmt"/>
4041
- <line num="18" count="2" type="stmt"/>
4042
- <line num="22" count="22" type="stmt"/>
4051
+ <line num="13" count="2" type="stmt"/>
4052
+ <line num="15" count="2" type="stmt"/>
4053
+ <line num="19" count="2" type="stmt"/>
4043
4054
  <line num="23" count="22" type="stmt"/>
4044
4055
  <line num="24" count="22" type="stmt"/>
4045
4056
  <line num="25" count="22" type="stmt"/>
@@ -4048,112 +4059,116 @@
4048
4059
  <line num="28" count="22" type="stmt"/>
4049
4060
  <line num="29" count="22" type="stmt"/>
4050
4061
  <line num="30" count="22" type="stmt"/>
4051
- <line num="32" count="22" type="stmt"/>
4052
- <line num="36" count="22" type="stmt"/>
4062
+ <line num="31" count="22" type="stmt"/>
4063
+ <line num="33" count="22" type="stmt"/>
4053
4064
  <line num="37" count="22" type="stmt"/>
4054
4065
  <line num="38" count="22" type="stmt"/>
4055
- <line num="42" count="23" type="stmt"/>
4056
- <line num="44" count="23" type="stmt"/>
4057
- <line num="45" count="23" type="cond" truecount="2" falsecount="0"/>
4058
- <line num="46" count="2" type="stmt"/>
4059
- <line num="49" count="21" type="cond" truecount="1" falsecount="1"/>
4060
- <line num="50" count="0" type="stmt"/>
4061
- <line num="52" count="0" type="stmt"/>
4062
- <line num="57" count="21" type="stmt"/>
4066
+ <line num="39" count="22" type="stmt"/>
4067
+ <line num="43" count="23" type="stmt"/>
4068
+ <line num="45" count="23" type="stmt"/>
4069
+ <line num="46" count="23" type="stmt"/>
4070
+ <line num="48" count="23" type="stmt"/>
4071
+ <line num="49" count="23" type="cond" truecount="2" falsecount="0"/>
4072
+ <line num="50" count="2" type="stmt"/>
4073
+ <line num="53" count="21" type="cond" truecount="1" falsecount="1"/>
4074
+ <line num="54" count="0" type="stmt"/>
4075
+ <line num="56" count="0" type="stmt"/>
4063
4076
  <line num="60" count="21" type="stmt"/>
4064
- <line num="64" count="21" type="stmt"/>
4065
- <line num="65" count="21" type="stmt"/>
4066
- <line num="68" count="21" type="cond" truecount="2" falsecount="0"/>
4067
- <line num="69" count="1" type="stmt"/>
4068
- <line num="77" count="21" type="cond" truecount="2" falsecount="0"/>
4069
- <line num="78" count="2" type="stmt"/>
4070
- <line num="80" count="19" type="stmt"/>
4071
- <line num="84" count="21" type="cond" truecount="1" falsecount="1"/>
4072
- <line num="85" count="0" type="stmt"/>
4073
- <line num="88" count="21" type="stmt"/>
4074
- <line num="89" count="21" type="stmt"/>
4075
- <line num="90" count="21" type="stmt"/>
4077
+ <line num="63" count="21" type="stmt"/>
4078
+ <line num="67" count="21" type="stmt"/>
4079
+ <line num="68" count="21" type="stmt"/>
4080
+ <line num="71" count="21" type="cond" truecount="2" falsecount="0"/>
4081
+ <line num="72" count="1" type="stmt"/>
4082
+ <line num="80" count="21" type="cond" truecount="2" falsecount="0"/>
4083
+ <line num="81" count="2" type="stmt"/>
4084
+ <line num="83" count="19" type="stmt"/>
4085
+ <line num="87" count="21" type="cond" truecount="1" falsecount="1"/>
4086
+ <line num="88" count="0" type="stmt"/>
4076
4087
  <line num="91" count="21" type="stmt"/>
4077
4088
  <line num="92" count="21" type="stmt"/>
4078
- <line num="93" count="21" type="cond" truecount="2" falsecount="0"/>
4079
- <line num="94" count="19" type="stmt"/>
4080
- <line num="95" count="19" type="stmt"/>
4081
- <line num="96" count="19" type="stmt"/>
4089
+ <line num="93" count="21" type="stmt"/>
4090
+ <line num="94" count="21" type="stmt"/>
4091
+ <line num="95" count="21" type="stmt"/>
4092
+ <line num="96" count="21" type="cond" truecount="2" falsecount="0"/>
4082
4093
  <line num="97" count="19" type="stmt"/>
4083
- <line num="101" count="21" type="cond" truecount="1" falsecount="1"/>
4084
- <line num="102" count="0" type="stmt"/>
4085
- <line num="106" count="0" type="stmt"/>
4086
- <line num="110" count="21" type="cond" truecount="5" falsecount="0"/>
4087
- <line num="111" count="1" type="cond" truecount="1" falsecount="1"/>
4088
- <line num="116" count="0" type="stmt"/>
4089
- <line num="118" count="0" type="stmt"/>
4090
- <line num="121" count="1" type="stmt"/>
4091
- <line num="122" count="1" type="stmt"/>
4094
+ <line num="98" count="19" type="stmt"/>
4095
+ <line num="99" count="19" type="stmt"/>
4096
+ <line num="100" count="19" type="stmt"/>
4097
+ <line num="104" count="21" type="cond" truecount="1" falsecount="1"/>
4098
+ <line num="105" count="0" type="stmt"/>
4099
+ <line num="109" count="0" type="stmt"/>
4100
+ <line num="113" count="21" type="cond" truecount="5" falsecount="0"/>
4101
+ <line num="114" count="1" type="cond" truecount="1" falsecount="1"/>
4102
+ <line num="119" count="0" type="stmt"/>
4103
+ <line num="121" count="0" type="stmt"/>
4092
4104
  <line num="123" count="1" type="stmt"/>
4093
- <line num="127" count="20" type="cond" truecount="1" falsecount="1"/>
4094
- <line num="128" count="0" type="stmt"/>
4095
- <line num="132" count="20" type="cond" truecount="2" falsecount="0"/>
4096
- <line num="133" count="18" type="stmt"/>
4097
- <line num="137" count="20" type="cond" truecount="1" falsecount="1"/>
4098
- <line num="138" count="0" type="stmt"/>
4099
- <line num="142" count="20" type="stmt"/>
4100
- <line num="144" count="20" type="cond" truecount="1" falsecount="1"/>
4101
- <line num="145" count="0" type="stmt"/>
4102
- <line num="148" count="20" type="stmt"/>
4103
- <line num="152" count="5" type="stmt"/>
4104
- <line num="153" count="5" type="stmt"/>
4105
- <line num="154" count="5" type="stmt"/>
4106
- <line num="155" count="5" type="stmt"/>
4107
- <line num="168" count="0" type="stmt"/>
4108
- <line num="169" count="0" type="stmt"/>
4109
- <line num="171" count="0" type="cond" truecount="0" falsecount="4"/>
4105
+ <line num="126" count="1" type="stmt"/>
4106
+ <line num="127" count="1" type="stmt"/>
4107
+ <line num="131" count="20" type="cond" truecount="1" falsecount="1"/>
4108
+ <line num="132" count="0" type="stmt"/>
4109
+ <line num="136" count="20" type="cond" truecount="2" falsecount="0"/>
4110
+ <line num="137" count="18" type="stmt"/>
4111
+ <line num="141" count="20" type="cond" truecount="1" falsecount="1"/>
4112
+ <line num="142" count="0" type="stmt"/>
4113
+ <line num="146" count="20" type="stmt"/>
4114
+ <line num="148" count="20" type="cond" truecount="1" falsecount="1"/>
4115
+ <line num="149" count="0" type="stmt"/>
4116
+ <line num="152" count="20" type="stmt"/>
4117
+ <line num="156" count="5" type="stmt"/>
4118
+ <line num="157" count="5" type="stmt"/>
4119
+ <line num="158" count="5" type="stmt"/>
4120
+ <line num="159" count="5" type="stmt"/>
4110
4121
  <line num="172" count="0" type="stmt"/>
4111
- <line num="175" count="0" type="stmt"/>
4112
- <line num="183" count="0" type="cond" truecount="0" falsecount="2"/>
4113
- <line num="184" count="0" type="stmt"/>
4114
- <line num="185" count="0" type="stmt"/>
4115
- <line num="186" count="0" type="stmt"/>
4122
+ <line num="173" count="0" type="stmt"/>
4123
+ <line num="175" count="0" type="cond" truecount="0" falsecount="4"/>
4124
+ <line num="176" count="0" type="stmt"/>
4125
+ <line num="179" count="0" type="stmt"/>
4126
+ <line num="187" count="0" type="cond" truecount="0" falsecount="2"/>
4127
+ <line num="188" count="0" type="stmt"/>
4128
+ <line num="189" count="0" type="stmt"/>
4116
4129
  <line num="190" count="0" type="stmt"/>
4130
+ <line num="194" count="0" type="cond" truecount="0" falsecount="2"/>
4117
4131
  <line num="195" count="0" type="stmt"/>
4118
- <line num="199" count="6" type="stmt"/>
4119
- <line num="200" count="6" type="stmt"/>
4120
- <line num="201" count="6" type="stmt"/>
4121
- <line num="202" count="6" type="stmt"/>
4122
- <line num="203" count="6" type="cond" truecount="2" falsecount="0"/>
4123
- <line num="204" count="5" type="cond" truecount="1" falsecount="1"/>
4124
- <line num="208" count="5" type="stmt"/>
4125
- <line num="209" count="5" type="stmt"/>
4126
- <line num="211" count="1" type="stmt"/>
4127
- <line num="213" count="6" type="stmt"/>
4128
- <line num="217" count="21" type="stmt"/>
4129
- <line num="218" count="21" type="cond" truecount="3" falsecount="1"/>
4130
- <line num="219" count="0" type="stmt"/>
4131
- <line num="221" count="21" type="cond" truecount="2" falsecount="0"/>
4132
- <line num="222" count="21" type="cond" truecount="2" falsecount="0"/>
4133
- <line num="223" count="21" type="stmt"/>
4134
- <line num="224" count="2" type="cond" truecount="1" falsecount="1"/>
4135
- <line num="225" count="2" type="stmt"/>
4136
- <line num="228" count="21" type="cond" truecount="2" falsecount="0"/>
4137
- <line num="230" count="16" type="stmt"/>
4138
- <line num="231" count="16" type="stmt"/>
4139
- <line num="233" count="6" type="cond" truecount="1" falsecount="1"/>
4140
- <line num="234" count="0" type="stmt"/>
4141
- <line num="237" count="6" type="stmt"/>
4142
- <line num="238" count="6" type="stmt"/>
4143
- <line num="240" count="16" type="stmt"/>
4144
- <line num="241" count="16" type="stmt"/>
4145
- <line num="242" count="16" type="stmt"/>
4132
+ <line num="200" count="0" type="stmt"/>
4133
+ <line num="204" count="6" type="stmt"/>
4134
+ <line num="205" count="6" type="stmt"/>
4135
+ <line num="206" count="6" type="stmt"/>
4136
+ <line num="207" count="6" type="stmt"/>
4137
+ <line num="208" count="6" type="cond" truecount="2" falsecount="0"/>
4138
+ <line num="209" count="5" type="cond" truecount="1" falsecount="1"/>
4139
+ <line num="213" count="5" type="stmt"/>
4140
+ <line num="214" count="5" type="stmt"/>
4141
+ <line num="216" count="1" type="stmt"/>
4142
+ <line num="218" count="6" type="stmt"/>
4143
+ <line num="222" count="21" type="stmt"/>
4144
+ <line num="223" count="21" type="cond" truecount="3" falsecount="1"/>
4145
+ <line num="224" count="0" type="stmt"/>
4146
+ <line num="226" count="21" type="cond" truecount="2" falsecount="0"/>
4147
+ <line num="227" count="21" type="cond" truecount="2" falsecount="0"/>
4148
+ <line num="228" count="21" type="stmt"/>
4149
+ <line num="229" count="2" type="cond" truecount="1" falsecount="1"/>
4150
+ <line num="230" count="2" type="stmt"/>
4151
+ <line num="233" count="21" type="cond" truecount="2" falsecount="0"/>
4152
+ <line num="235" count="16" type="stmt"/>
4153
+ <line num="236" count="16" type="stmt"/>
4154
+ <line num="238" count="6" type="cond" truecount="1" falsecount="1"/>
4155
+ <line num="239" count="0" type="stmt"/>
4156
+ <line num="242" count="6" type="stmt"/>
4146
4157
  <line num="243" count="6" type="stmt"/>
4147
- <line num="244" count="6" type="stmt"/>
4148
- <line num="255" count="6" type="stmt"/>
4149
- <line num="258" count="21" type="stmt"/>
4150
- <line num="262" count="2" type="stmt"/>
4151
- <line num="263" count="17" type="stmt"/>
4152
- <line num="264" count="17" type="stmt"/>
4153
- <line num="265" count="17" type="stmt"/>
4154
- <line num="266" count="17" type="stmt"/>
4155
- <line num="267" count="15" type="stmt"/>
4156
- <line num="269" count="2" type="stmt"/>
4158
+ <line num="245" count="16" type="stmt"/>
4159
+ <line num="246" count="16" type="stmt"/>
4160
+ <line num="247" count="16" type="stmt"/>
4161
+ <line num="248" count="6" type="stmt"/>
4162
+ <line num="249" count="6" type="stmt"/>
4163
+ <line num="260" count="6" type="stmt"/>
4164
+ <line num="263" count="21" type="stmt"/>
4165
+ <line num="267" count="2" type="stmt"/>
4166
+ <line num="268" count="17" type="stmt"/>
4167
+ <line num="269" count="17" type="stmt"/>
4168
+ <line num="270" count="17" type="stmt"/>
4169
+ <line num="271" count="17" type="stmt"/>
4170
+ <line num="272" count="15" type="stmt"/>
4171
+ <line num="274" count="2" type="stmt"/>
4157
4172
  </file>
4158
4173
  <file name="utils.js" path="/home/runner/work/budibase/budibase/packages/server/src/threads/utils.js">
4159
4174
  <metrics statements="36" coveredstatements="30" conditionals="15" coveredconditionals="10" methods="9" coveredmethods="8"/>
@@ -4196,7 +4211,7 @@
4196
4211
  </file>
4197
4212
  </package>
4198
4213
  <package name="utilities">
4199
- <metrics statements="338" coveredstatements="249" conditionals="145" coveredconditionals="85" methods="65" coveredmethods="48"/>
4214
+ <metrics statements="344" coveredstatements="251" conditionals="145" coveredconditionals="85" methods="67" coveredmethods="48"/>
4200
4215
  <file name="budibaseDir.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/budibaseDir.js">
4201
4216
  <metrics statements="2" coveredstatements="2" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
4202
4217
  <line num="1" count="45" type="stmt"/>
@@ -4507,7 +4522,7 @@
4507
4522
  <line num="44" count="2" type="stmt"/>
4508
4523
  </file>
4509
4524
  <file name="workerRequests.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/workerRequests.js">
4510
- <metrics statements="56" coveredstatements="28" conditionals="26" coveredconditionals="10" methods="9" coveredmethods="3"/>
4525
+ <metrics statements="62" coveredstatements="30" conditionals="26" coveredconditionals="10" methods="11" coveredmethods="3"/>
4511
4526
  <line num="1" count="44" type="stmt"/>
4512
4527
  <line num="2" count="44" type="stmt"/>
4513
4528
  <line num="3" count="44" type="stmt"/>
@@ -4564,6 +4579,12 @@
4564
4579
  <line num="130" count="44" type="stmt"/>
4565
4580
  <line num="131" count="0" type="stmt"/>
4566
4581
  <line num="138" count="0" type="stmt"/>
4582
+ <line num="141" count="44" type="stmt"/>
4583
+ <line num="142" count="0" type="stmt"/>
4584
+ <line num="146" count="0" type="stmt"/>
4585
+ <line num="149" count="44" type="stmt"/>
4586
+ <line num="150" count="0" type="stmt"/>
4587
+ <line num="154" count="0" type="stmt"/>
4567
4588
  </file>
4568
4589
  </package>
4569
4590
  <package name="utilities.queue">