@budibase/server 1.0.89 → 1.0.90

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 (187) hide show
  1. package/builder/assets/{index.7f34af34.js → index.5cea89f7.js} +2 -2
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +267 -239
  4. package/coverage/coverage-final.json +6 -5
  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 +1 -1
  14. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/index.html +1 -1
  16. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query/index.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/external.js.html +44 -8
  27. package/coverage/lcov-report/api/controllers/row/index.html +17 -17
  28. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +34 -7
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
  44. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  49. package/coverage/lcov-report/api/index.html +1 -1
  50. package/coverage/lcov-report/api/index.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/index.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  80. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  81. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  83. package/coverage/lcov-report/automations/actions.js.html +1 -1
  84. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  85. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  86. package/coverage/lcov-report/automations/index.html +1 -1
  87. package/coverage/lcov-report/automations/index.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/index.html +1 -1
  97. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  104. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  105. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  113. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  114. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  115. package/coverage/lcov-report/automations/utils.js.html +1 -1
  116. package/coverage/lcov-report/constants/index.html +1 -1
  117. package/coverage/lcov-report/constants/index.js.html +1 -1
  118. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  119. package/coverage/lcov-report/constants/screens.js.html +1 -1
  120. package/coverage/lcov-report/db/client.js.html +1 -1
  121. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  122. package/coverage/lcov-report/db/index.html +1 -1
  123. package/coverage/lcov-report/db/index.js.html +1 -1
  124. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  126. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  127. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  128. package/coverage/lcov-report/db/newid.js.html +1 -1
  129. package/coverage/lcov-report/db/utils.js.html +1 -1
  130. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  131. package/coverage/lcov-report/events/index.html +1 -1
  132. package/coverage/lcov-report/events/index.js.html +1 -1
  133. package/coverage/lcov-report/events/utils.js.html +1 -1
  134. package/coverage/lcov-report/index.html +24 -24
  135. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  136. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  137. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  138. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  139. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  140. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  141. package/coverage/lcov-report/middleware/index.html +24 -9
  142. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  143. package/coverage/lcov-report/middleware/publicApi.js.html +143 -0
  144. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  145. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  146. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  147. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  148. package/coverage/lcov-report/threads/automation.js.html +1 -1
  149. package/coverage/lcov-report/threads/index.html +1 -1
  150. package/coverage/lcov-report/threads/index.js.html +1 -1
  151. package/coverage/lcov-report/threads/query.js.html +1 -1
  152. package/coverage/lcov-report/threads/utils.js.html +1 -1
  153. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  154. package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
  155. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  156. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  157. package/coverage/lcov-report/utilities/global.js.html +1 -1
  158. package/coverage/lcov-report/utilities/index.html +1 -1
  159. package/coverage/lcov-report/utilities/index.js.html +1 -1
  160. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  161. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  162. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  163. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  164. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  165. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  166. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  167. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  168. package/coverage/lcov-report/utilities/security.js.html +1 -1
  169. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  170. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  171. package/coverage/lcov-report/utilities/usageQuota/index.js.html +1 -1
  172. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  173. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  174. package/coverage/lcov-report/utilities/users.js.html +1 -1
  175. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  176. package/coverage/lcov.info +417 -372
  177. package/dist/api/controllers/row/external.js +11 -2
  178. package/dist/api/controllers/row/internal.js +9 -1
  179. package/dist/api/routes/public/index.js +6 -0
  180. package/dist/middleware/publicApi.js +24 -0
  181. package/dist/package.json +4 -4
  182. package/dist/tsconfig.tsbuildinfo +1 -1
  183. package/package.json +5 -5
  184. package/src/api/controllers/row/external.js +14 -2
  185. package/src/api/controllers/row/internal.js +10 -1
  186. package/src/api/routes/public/index.ts +7 -0
  187. package/src/middleware/publicApi.js +21 -0
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1647343600077" clover="3.2.0">
3
- <project timestamp="1647343600077" name="All files">
4
- <metrics statements="5019" coveredstatements="3724" conditionals="2064" coveredconditionals="1121" methods="732" coveredmethods="524" elements="7815" coveredelements="5369" complexity="0" loc="5019" ncloc="5019" packages="23" files="146" classes="146"/>
2
+ <coverage generated="1647430621839" clover="3.2.0">
3
+ <project timestamp="1647430621839" name="All files">
4
+ <metrics statements="5044" coveredstatements="3736" conditionals="2071" coveredconditionals="1125" methods="734" coveredmethods="526" elements="7849" coveredelements="5387" complexity="0" loc="5044" ncloc="5044" packages="23" files="147" classes="147"/>
5
5
  <package name="api">
6
6
  <metrics statements="31" coveredstatements="29" conditionals="5" coveredconditionals="2" methods="5" coveredmethods="4"/>
7
7
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/index.js">
@@ -1319,111 +1319,119 @@
1319
1319
  </file>
1320
1320
  </package>
1321
1321
  <package name="api.controllers.row">
1322
- <metrics statements="661" coveredstatements="414" conditionals="298" coveredconditionals="127" methods="98" coveredmethods="57"/>
1322
+ <metrics statements="676" coveredstatements="418" conditionals="298" coveredconditionals="127" methods="98" coveredmethods="57"/>
1323
1323
  <file name="external.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/row/external.js">
1324
- <metrics statements="102" coveredstatements="16" conditionals="46" coveredconditionals="0" methods="15" coveredmethods="0"/>
1324
+ <metrics statements="110" coveredstatements="18" conditionals="46" coveredconditionals="0" methods="15" coveredmethods="0"/>
1325
1325
  <line num="6" count="40" type="stmt"/>
1326
1326
  <line num="10" count="40" type="stmt"/>
1327
1327
  <line num="11" count="40" type="stmt"/>
1328
1328
  <line num="12" count="40" type="stmt"/>
1329
- <line num="16" count="0" type="cond" truecount="0" falsecount="4"/>
1330
- <line num="17" count="0" type="stmt"/>
1331
- <line num="18" count="0" type="cond" truecount="0" falsecount="2"/>
1329
+ <line num="13" count="40" type="stmt"/>
1330
+ <line num="14" count="40" type="stmt"/>
1331
+ <line num="18" count="0" type="cond" truecount="0" falsecount="4"/>
1332
1332
  <line num="19" count="0" type="stmt"/>
1333
+ <line num="20" count="0" type="cond" truecount="0" falsecount="2"/>
1333
1334
  <line num="21" count="0" type="stmt"/>
1334
- <line num="22" count="0" type="cond" truecount="0" falsecount="4"/>
1335
1335
  <line num="23" count="0" type="stmt"/>
1336
- <line num="28" count="0" type="stmt"/>
1337
- <line num="31" count="40" type="stmt"/>
1336
+ <line num="24" count="0" type="cond" truecount="0" falsecount="4"/>
1337
+ <line num="25" count="0" type="stmt"/>
1338
+ <line num="30" count="0" type="stmt"/>
1338
1339
  <line num="33" count="40" type="stmt"/>
1339
- <line num="34" count="0" type="stmt"/>
1340
- <line num="35" count="0" type="stmt"/>
1340
+ <line num="35" count="40" type="stmt"/>
1341
1341
  <line num="36" count="0" type="stmt"/>
1342
+ <line num="37" count="0" type="stmt"/>
1342
1343
  <line num="38" count="0" type="stmt"/>
1343
- <line num="39" count="0" type="stmt"/>
1344
- <line num="45" count="40" type="stmt"/>
1345
- <line num="46" count="0" type="stmt"/>
1346
- <line num="47" count="0" type="stmt"/>
1344
+ <line num="40" count="0" type="stmt"/>
1345
+ <line num="41" count="0" type="stmt"/>
1346
+ <line num="47" count="40" type="stmt"/>
1347
1347
  <line num="48" count="0" type="stmt"/>
1348
- <line num="53" count="40" type="stmt"/>
1349
- <line num="56" count="0" type="stmt"/>
1350
- <line num="57" count="0" type="cond" truecount="0" falsecount="2"/>
1348
+ <line num="49" count="0" type="stmt"/>
1349
+ <line num="50" count="0" type="stmt"/>
1350
+ <line num="55" count="40" type="stmt"/>
1351
1351
  <line num="58" count="0" type="stmt"/>
1352
- <line num="61" count="40" type="stmt"/>
1353
- <line num="62" count="0" type="stmt"/>
1354
- <line num="63" count="0" type="stmt"/>
1355
- <line num="66" count="40" type="stmt"/>
1356
- <line num="67" count="0" type="stmt"/>
1357
- <line num="68" count="0" type="stmt"/>
1352
+ <line num="59" count="0" type="cond" truecount="0" falsecount="2"/>
1353
+ <line num="60" count="0" type="stmt"/>
1354
+ <line num="63" count="40" type="stmt"/>
1355
+ <line num="64" count="0" type="stmt"/>
1356
+ <line num="65" count="0" type="stmt"/>
1357
+ <line num="68" count="40" type="stmt"/>
1358
1358
  <line num="69" count="0" type="stmt"/>
1359
- <line num="72" count="0" type="cond" truecount="0" falsecount="2"/>
1360
- <line num="75" count="40" type="stmt"/>
1361
- <line num="76" count="0" type="stmt"/>
1362
- <line num="77" count="0" type="stmt"/>
1359
+ <line num="70" count="0" type="stmt"/>
1360
+ <line num="71" count="0" type="stmt"/>
1361
+ <line num="74" count="0" type="cond" truecount="0" falsecount="2"/>
1362
+ <line num="77" count="40" type="stmt"/>
1363
1363
  <line num="78" count="0" type="stmt"/>
1364
- <line num="81" count="0" type="stmt"/>
1365
- <line num="84" count="40" type="stmt"/>
1366
- <line num="85" count="0" type="stmt"/>
1367
- <line num="86" count="0" type="stmt"/>
1364
+ <line num="79" count="0" type="stmt"/>
1365
+ <line num="80" count="0" type="stmt"/>
1366
+ <line num="83" count="0" type="stmt"/>
1367
+ <line num="86" count="40" type="stmt"/>
1368
1368
  <line num="87" count="0" type="stmt"/>
1369
1369
  <line num="88" count="0" type="stmt"/>
1370
1370
  <line num="89" count="0" type="stmt"/>
1371
- <line num="95" count="0" type="stmt"/>
1372
- <line num="96" count="0" type="stmt"/>
1373
- <line num="99" count="40" type="stmt"/>
1374
- <line num="100" count="0" type="stmt"/>
1375
- <line num="101" count="0" type="stmt"/>
1371
+ <line num="90" count="0" type="stmt"/>
1372
+ <line num="91" count="0" type="stmt"/>
1373
+ <line num="97" count="0" type="stmt"/>
1374
+ <line num="98" count="0" type="stmt"/>
1375
+ <line num="101" count="40" type="stmt"/>
1376
1376
  <line num="102" count="0" type="stmt"/>
1377
- <line num="103" count="0" type="cond" truecount="0" falsecount="4"/>
1377
+ <line num="103" count="0" type="stmt"/>
1378
1378
  <line num="104" count="0" type="stmt"/>
1379
+ <line num="105" count="0" type="cond" truecount="0" falsecount="4"/>
1379
1380
  <line num="106" count="0" type="stmt"/>
1380
- <line num="108" count="0" type="cond" truecount="0" falsecount="2"/>
1381
- <line num="109" count="0" type="stmt"/>
1382
- <line num="114" count="0" type="cond" truecount="0" falsecount="4"/>
1383
- <line num="115" count="0" type="stmt"/>
1384
- <line num="120" count="0" type="cond" truecount="0" falsecount="2"/>
1381
+ <line num="108" count="0" type="stmt"/>
1382
+ <line num="110" count="0" type="cond" truecount="0" falsecount="2"/>
1383
+ <line num="111" count="0" type="stmt"/>
1384
+ <line num="116" count="0" type="cond" truecount="0" falsecount="4"/>
1385
+ <line num="117" count="0" type="stmt"/>
1385
1386
  <line num="122" count="0" type="cond" truecount="0" falsecount="2"/>
1386
- <line num="125" count="0" type="stmt"/>
1387
- <line num="129" count="0" type="stmt"/>
1388
- <line num="134" count="0" type="stmt"/>
1389
- <line num="135" count="0" type="cond" truecount="0" falsecount="4"/>
1387
+ <line num="124" count="0" type="cond" truecount="0" falsecount="2"/>
1388
+ <line num="127" count="0" type="stmt"/>
1389
+ <line num="131" count="0" type="stmt"/>
1390
1390
  <line num="136" count="0" type="stmt"/>
1391
- <line num="144" count="0" type="stmt"/>
1392
- <line num="147" count="0" type="stmt"/>
1393
- <line num="150" count="40" type="stmt"/>
1394
- <line num="152" count="0" type="stmt"/>
1395
- <line num="155" count="40" type="stmt"/>
1396
- <line num="156" count="0" type="stmt"/>
1397
- <line num="157" count="0" type="stmt"/>
1391
+ <line num="137" count="0" type="cond" truecount="0" falsecount="4"/>
1392
+ <line num="138" count="0" type="stmt"/>
1393
+ <line num="146" count="0" type="stmt"/>
1394
+ <line num="149" count="0" type="stmt"/>
1395
+ <line num="152" count="40" type="stmt"/>
1396
+ <line num="154" count="0" type="stmt"/>
1397
+ <line num="157" count="40" type="stmt"/>
1398
1398
  <line num="158" count="0" type="stmt"/>
1399
- <line num="159" count="0" type="cond" truecount="0" falsecount="4"/>
1399
+ <line num="159" count="0" type="stmt"/>
1400
1400
  <line num="160" count="0" type="stmt"/>
1401
- <line num="162" count="0" type="stmt"/>
1401
+ <line num="161" count="0" type="stmt"/>
1402
+ <line num="162" count="0" type="cond" truecount="0" falsecount="4"/>
1402
1403
  <line num="163" count="0" type="stmt"/>
1403
- <line num="164" count="0" type="stmt"/>
1404
- <line num="168" count="0" type="stmt"/>
1405
- <line num="173" count="0" type="stmt"/>
1406
- <line num="176" count="40" type="stmt"/>
1404
+ <line num="165" count="0" type="stmt"/>
1405
+ <line num="166" count="0" type="stmt"/>
1406
+ <line num="167" count="0" type="stmt"/>
1407
+ <line num="171" count="0" type="stmt"/>
1407
1408
  <line num="177" count="0" type="stmt"/>
1408
- <line num="178" count="0" type="stmt"/>
1409
1409
  <line num="179" count="0" type="stmt"/>
1410
1410
  <line num="180" count="0" type="stmt"/>
1411
1411
  <line num="181" count="0" type="stmt"/>
1412
- <line num="182" count="0" type="cond" truecount="0" falsecount="4"/>
1413
- <line num="183" count="0" type="stmt"/>
1412
+ <line num="184" count="0" type="stmt"/>
1414
1413
  <line num="185" count="0" type="stmt"/>
1415
- <line num="186" count="0" type="stmt"/>
1414
+ <line num="188" count="40" type="stmt"/>
1415
+ <line num="189" count="0" type="stmt"/>
1416
1416
  <line num="190" count="0" type="stmt"/>
1417
1417
  <line num="191" count="0" type="stmt"/>
1418
- <line num="194" count="0" type="stmt"/>
1419
- <line num="195" count="0" type="cond" truecount="0" falsecount="2"/>
1420
- <line num="200" count="0" type="stmt"/>
1418
+ <line num="192" count="0" type="stmt"/>
1419
+ <line num="193" count="0" type="stmt"/>
1420
+ <line num="194" count="0" type="cond" truecount="0" falsecount="4"/>
1421
+ <line num="195" count="0" type="stmt"/>
1422
+ <line num="197" count="0" type="stmt"/>
1423
+ <line num="198" count="0" type="stmt"/>
1421
1424
  <line num="202" count="0" type="stmt"/>
1422
1425
  <line num="203" count="0" type="stmt"/>
1423
- <line num="204" count="0" type="stmt"/>
1424
1426
  <line num="206" count="0" type="stmt"/>
1425
- <line num="207" count="0" type="stmt"/>
1426
- <line num="220" count="0" type="stmt"/>
1427
+ <line num="207" count="0" type="cond" truecount="0" falsecount="2"/>
1428
+ <line num="212" count="0" type="stmt"/>
1429
+ <line num="214" count="0" type="stmt"/>
1430
+ <line num="215" count="0" type="stmt"/>
1431
+ <line num="216" count="0" type="stmt"/>
1432
+ <line num="218" count="0" type="stmt"/>
1433
+ <line num="219" count="0" type="stmt"/>
1434
+ <line num="232" count="0" type="stmt"/>
1427
1435
  </file>
1428
1436
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/row/index.js">
1429
1437
  <metrics statements="90" coveredstatements="80" conditionals="34" coveredconditionals="32" methods="12" coveredmethods="11"/>
@@ -1519,7 +1527,7 @@
1519
1527
  <line num="146" count="0" type="stmt"/>
1520
1528
  </file>
1521
1529
  <file name="internal.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/row/internal.js">
1522
- <metrics statements="203" coveredstatements="167" conditionals="62" coveredconditionals="39" methods="26" coveredmethods="22"/>
1530
+ <metrics statements="210" coveredstatements="169" conditionals="62" coveredconditionals="39" methods="26" coveredmethods="22"/>
1523
1531
  <line num="1" count="40" type="stmt"/>
1524
1532
  <line num="8" count="40" type="stmt"/>
1525
1533
  <line num="9" count="40" type="stmt"/>
@@ -1534,195 +1542,202 @@
1534
1542
  <line num="27" count="40" type="stmt"/>
1535
1543
  <line num="28" count="40" type="stmt"/>
1536
1544
  <line num="29" count="40" type="stmt"/>
1545
+ <line num="30" count="40" type="stmt"/>
1537
1546
  <line num="31" count="40" type="stmt"/>
1538
- <line num="38" count="6" type="cond" truecount="1" falsecount="1"/>
1539
- <line num="39" count="6" type="cond" truecount="1" falsecount="1"/>
1547
+ <line num="33" count="40" type="stmt"/>
1540
1548
  <line num="40" count="6" type="cond" truecount="1" falsecount="1"/>
1541
- <line num="42" count="6" type="stmt"/>
1542
- <line num="43" count="6" type="stmt"/>
1549
+ <line num="41" count="6" type="cond" truecount="1" falsecount="1"/>
1550
+ <line num="42" count="6" type="cond" truecount="1" falsecount="1"/>
1543
1551
  <line num="44" count="6" type="stmt"/>
1544
- <line num="47" count="1" type="cond" truecount="1" falsecount="1"/>
1545
- <line num="48" count="0" type="stmt"/>
1546
- <line num="50" count="1" type="stmt"/>
1547
- <line num="51" count="0" type="stmt"/>
1548
- <line num="54" count="5" type="cond" truecount="1" falsecount="1"/>
1549
- <line num="55" count="0" type="stmt"/>
1550
- <line num="57" count="5" type="cond" truecount="1" falsecount="1"/>
1551
- <line num="58" count="0" type="stmt"/>
1552
- <line num="60" count="5" type="stmt"/>
1553
- <line num="65" count="5" type="cond" truecount="1" falsecount="1"/>
1554
- <line num="66" count="0" type="stmt"/>
1555
- <line num="67" count="0" type="stmt"/>
1556
- <line num="69" count="5" type="stmt"/>
1557
- <line num="74" count="10" type="stmt"/>
1558
- <line num="76" count="5" type="stmt"/>
1559
- <line num="79" count="40" type="stmt"/>
1560
- <line num="80" count="5" type="stmt"/>
1561
- <line num="81" count="5" type="stmt"/>
1552
+ <line num="45" count="6" type="stmt"/>
1553
+ <line num="46" count="6" type="stmt"/>
1554
+ <line num="49" count="1" type="cond" truecount="1" falsecount="1"/>
1555
+ <line num="50" count="0" type="stmt"/>
1556
+ <line num="52" count="1" type="stmt"/>
1557
+ <line num="53" count="0" type="stmt"/>
1558
+ <line num="56" count="5" type="cond" truecount="1" falsecount="1"/>
1559
+ <line num="57" count="0" type="stmt"/>
1560
+ <line num="59" count="5" type="cond" truecount="1" falsecount="1"/>
1561
+ <line num="60" count="0" type="stmt"/>
1562
+ <line num="62" count="5" type="stmt"/>
1563
+ <line num="67" count="5" type="cond" truecount="1" falsecount="1"/>
1564
+ <line num="68" count="0" type="stmt"/>
1565
+ <line num="69" count="0" type="stmt"/>
1566
+ <line num="71" count="5" type="stmt"/>
1567
+ <line num="76" count="10" type="stmt"/>
1568
+ <line num="78" count="5" type="stmt"/>
1569
+ <line num="81" count="40" type="stmt"/>
1562
1570
  <line num="82" count="5" type="stmt"/>
1563
1571
  <line num="83" count="5" type="stmt"/>
1572
+ <line num="84" count="5" type="stmt"/>
1564
1573
  <line num="85" count="5" type="stmt"/>
1565
- <line num="86" count="5" type="stmt"/>
1566
- <line num="88" count="0" type="cond" truecount="0" falsecount="2"/>
1567
- <line num="91" count="0" type="stmt"/>
1568
- <line num="95" count="0" type="stmt"/>
1569
- <line num="98" count="5" type="stmt"/>
1574
+ <line num="87" count="5" type="stmt"/>
1575
+ <line num="88" count="5" type="stmt"/>
1576
+ <line num="90" count="0" type="cond" truecount="0" falsecount="2"/>
1577
+ <line num="93" count="0" type="stmt"/>
1578
+ <line num="97" count="0" type="stmt"/>
1570
1579
  <line num="100" count="5" type="stmt"/>
1571
- <line num="101" count="5" type="stmt"/>
1572
- <line num="102" count="21" type="cond" truecount="2" falsecount="0"/>
1573
- <line num="103" count="6" type="stmt"/>
1574
- <line num="107" count="5" type="stmt"/>
1575
- <line num="108" count="5" type="stmt"/>
1576
- <line num="113" count="5" type="cond" truecount="2" falsecount="0"/>
1577
- <line num="114" count="1" type="stmt"/>
1578
- <line num="118" count="4" type="stmt"/>
1579
- <line num="125" count="4" type="stmt"/>
1580
- <line num="127" count="4" type="cond" truecount="1" falsecount="1"/>
1581
- <line num="129" count="0" type="stmt"/>
1582
- <line num="130" count="0" type="stmt"/>
1580
+ <line num="102" count="5" type="stmt"/>
1581
+ <line num="103" count="5" type="stmt"/>
1582
+ <line num="104" count="21" type="cond" truecount="2" falsecount="0"/>
1583
+ <line num="105" count="6" type="stmt"/>
1584
+ <line num="109" count="5" type="stmt"/>
1585
+ <line num="110" count="5" type="stmt"/>
1586
+ <line num="115" count="5" type="cond" truecount="2" falsecount="0"/>
1587
+ <line num="116" count="1" type="stmt"/>
1588
+ <line num="120" count="4" type="stmt"/>
1589
+ <line num="127" count="4" type="stmt"/>
1590
+ <line num="129" count="4" type="cond" truecount="1" falsecount="1"/>
1583
1591
  <line num="131" count="0" type="stmt"/>
1584
- <line num="134" count="4" type="stmt"/>
1585
- <line num="140" count="40" type="stmt"/>
1586
- <line num="141" count="72" type="stmt"/>
1587
- <line num="142" count="72" type="stmt"/>
1592
+ <line num="132" count="0" type="stmt"/>
1593
+ <line num="133" count="0" type="stmt"/>
1594
+ <line num="136" count="4" type="stmt"/>
1595
+ <line num="142" count="40" type="stmt"/>
1588
1596
  <line num="143" count="72" type="stmt"/>
1589
- <line num="145" count="72" type="cond" truecount="3" falsecount="1"/>
1590
- <line num="146" count="72" type="stmt"/>
1591
- <line num="150" count="72" type="stmt"/>
1592
- <line num="151" count="72" type="stmt"/>
1597
+ <line num="144" count="72" type="stmt"/>
1598
+ <line num="145" count="72" type="stmt"/>
1599
+ <line num="147" count="72" type="cond" truecount="3" falsecount="1"/>
1600
+ <line num="148" count="72" type="stmt"/>
1593
1601
  <line num="152" count="72" type="stmt"/>
1594
- <line num="157" count="72" type="cond" truecount="1" falsecount="1"/>
1595
- <line num="158" count="0" type="stmt"/>
1596
- <line num="162" count="72" type="stmt"/>
1597
- <line num="169" count="71" type="stmt"/>
1598
- <line num="175" count="40" type="stmt"/>
1599
- <line num="176" count="7" type="stmt"/>
1600
- <line num="179" count="7" type="cond" truecount="2" falsecount="0"/>
1601
- <line num="180" count="1" type="stmt"/>
1602
- <line num="181" count="1" type="stmt"/>
1603
- <line num="184" count="6" type="stmt"/>
1604
- <line num="185" count="6" type="stmt"/>
1602
+ <line num="153" count="72" type="stmt"/>
1603
+ <line num="154" count="72" type="stmt"/>
1604
+ <line num="159" count="72" type="cond" truecount="1" falsecount="1"/>
1605
+ <line num="160" count="0" type="stmt"/>
1606
+ <line num="164" count="72" type="stmt"/>
1607
+ <line num="171" count="71" type="stmt"/>
1608
+ <line num="177" count="40" type="stmt"/>
1609
+ <line num="178" count="7" type="stmt"/>
1610
+ <line num="181" count="7" type="cond" truecount="2" falsecount="0"/>
1611
+ <line num="182" count="1" type="stmt"/>
1612
+ <line num="183" count="1" type="stmt"/>
1605
1613
  <line num="186" count="6" type="stmt"/>
1606
- <line num="188" count="5" type="cond" truecount="1" falsecount="1"/>
1607
- <line num="189" count="5" type="stmt"/>
1608
- <line num="194" count="0" type="stmt"/>
1609
- <line num="195" count="0" type="stmt"/>
1614
+ <line num="187" count="6" type="stmt"/>
1615
+ <line num="188" count="6" type="stmt"/>
1616
+ <line num="190" count="5" type="cond" truecount="1" falsecount="1"/>
1617
+ <line num="191" count="5" type="stmt"/>
1610
1618
  <line num="196" count="0" type="stmt"/>
1611
- <line num="200" count="5" type="cond" truecount="2" falsecount="0"/>
1612
- <line num="201" count="3" type="stmt"/>
1619
+ <line num="197" count="0" type="stmt"/>
1620
+ <line num="198" count="0" type="stmt"/>
1621
+ <line num="202" count="5" type="cond" truecount="2" falsecount="0"/>
1613
1622
  <line num="203" count="3" type="stmt"/>
1614
- <line num="204" count="3" type="stmt"/>
1615
- <line num="211" count="3" type="stmt"/>
1616
- <line num="214" count="5" type="cond" truecount="2" falsecount="0"/>
1617
- <line num="215" count="3" type="stmt"/>
1618
- <line num="221" count="2" type="stmt"/>
1619
- <line num="224" count="5" type="cond" truecount="1" falsecount="1"/>
1620
- <line num="228" count="0" type="stmt"/>
1621
- <line num="234" count="5" type="stmt"/>
1622
- <line num="237" count="40" type="stmt"/>
1623
- <line num="238" count="5" type="stmt"/>
1623
+ <line num="205" count="3" type="stmt"/>
1624
+ <line num="206" count="3" type="stmt"/>
1625
+ <line num="213" count="3" type="stmt"/>
1626
+ <line num="216" count="5" type="cond" truecount="2" falsecount="0"/>
1627
+ <line num="217" count="3" type="stmt"/>
1628
+ <line num="223" count="2" type="stmt"/>
1629
+ <line num="226" count="5" type="cond" truecount="1" falsecount="1"/>
1630
+ <line num="230" count="0" type="stmt"/>
1631
+ <line num="236" count="5" type="stmt"/>
1632
+ <line num="239" count="40" type="stmt"/>
1624
1633
  <line num="240" count="5" type="stmt"/>
1625
- <line num="241" count="5" type="stmt"/>
1626
1634
  <line num="242" count="5" type="stmt"/>
1627
1635
  <line num="243" count="5" type="stmt"/>
1628
- <line num="246" count="40" type="stmt"/>
1629
- <line num="247" count="18" type="stmt"/>
1630
- <line num="248" count="18" type="stmt"/>
1636
+ <line num="244" count="5" type="stmt"/>
1637
+ <line num="245" count="5" type="stmt"/>
1638
+ <line num="248" count="40" type="stmt"/>
1631
1639
  <line num="249" count="18" type="stmt"/>
1632
- <line num="250" count="15" type="stmt"/>
1633
- <line num="251" count="15" type="stmt"/>
1634
- <line num="254" count="40" type="stmt"/>
1635
- <line num="255" count="4" type="stmt"/>
1636
- <line num="256" count="4" type="stmt"/>
1640
+ <line num="250" count="18" type="stmt"/>
1641
+ <line num="251" count="18" type="stmt"/>
1642
+ <line num="252" count="15" type="stmt"/>
1643
+ <line num="253" count="15" type="stmt"/>
1644
+ <line num="256" count="40" type="stmt"/>
1637
1645
  <line num="257" count="4" type="stmt"/>
1638
- <line num="259" count="3" type="cond" truecount="1" falsecount="1"/>
1639
- <line num="260" count="0" type="stmt"/>
1640
- <line num="262" count="3" type="stmt"/>
1646
+ <line num="258" count="4" type="stmt"/>
1647
+ <line num="259" count="4" type="stmt"/>
1648
+ <line num="261" count="3" type="cond" truecount="1" falsecount="1"/>
1649
+ <line num="262" count="0" type="stmt"/>
1641
1650
  <line num="264" count="3" type="stmt"/>
1642
1651
  <line num="266" count="3" type="stmt"/>
1643
- <line num="272" count="3" type="stmt"/>
1652
+ <line num="268" count="3" type="stmt"/>
1644
1653
  <line num="274" count="3" type="stmt"/>
1645
- <line num="277" count="3" type="cond" truecount="1" falsecount="1"/>
1646
- <line num="278" count="0" type="stmt"/>
1647
- <line num="281" count="0" type="stmt"/>
1648
- <line num="282" count="0" type="stmt"/>
1649
- <line num="284" count="3" type="stmt"/>
1654
+ <line num="276" count="3" type="stmt"/>
1655
+ <line num="279" count="3" type="cond" truecount="1" falsecount="1"/>
1656
+ <line num="280" count="0" type="stmt"/>
1657
+ <line num="283" count="0" type="stmt"/>
1658
+ <line num="284" count="0" type="stmt"/>
1650
1659
  <line num="286" count="3" type="stmt"/>
1651
- <line num="289" count="40" type="stmt"/>
1652
- <line num="290" count="2" type="stmt"/>
1653
- <line num="291" count="2" type="stmt"/>
1660
+ <line num="288" count="3" type="stmt"/>
1661
+ <line num="291" count="40" type="stmt"/>
1654
1662
  <line num="292" count="2" type="stmt"/>
1655
1663
  <line num="293" count="2" type="stmt"/>
1656
- <line num="297" count="2" type="stmt"/>
1657
- <line num="300" count="2" type="stmt"/>
1658
- <line num="301" count="3" type="stmt"/>
1659
- <line num="307" count="2" type="cond" truecount="1" falsecount="1"/>
1660
- <line num="308" count="0" type="stmt"/>
1664
+ <line num="294" count="2" type="stmt"/>
1665
+ <line num="295" count="2" type="stmt"/>
1666
+ <line num="299" count="2" type="stmt"/>
1667
+ <line num="302" count="2" type="stmt"/>
1668
+ <line num="303" count="3" type="stmt"/>
1669
+ <line num="309" count="2" type="cond" truecount="1" falsecount="1"/>
1661
1670
  <line num="310" count="0" type="stmt"/>
1662
- <line num="313" count="0" type="stmt"/>
1663
- <line num="317" count="3" type="stmt"/>
1664
- <line num="320" count="2" type="stmt"/>
1665
- <line num="321" count="2" type="stmt"/>
1671
+ <line num="312" count="0" type="stmt"/>
1672
+ <line num="315" count="0" type="stmt"/>
1673
+ <line num="319" count="3" type="stmt"/>
1666
1674
  <line num="322" count="2" type="stmt"/>
1667
1675
  <line num="323" count="2" type="stmt"/>
1668
- <line num="326" count="40" type="stmt"/>
1669
- <line num="328" count="2" type="cond" truecount="1" falsecount="1"/>
1670
- <line num="329" count="0" type="stmt"/>
1671
- <line num="332" count="2" type="stmt"/>
1672
- <line num="333" count="2" type="stmt"/>
1676
+ <line num="324" count="2" type="stmt"/>
1677
+ <line num="325" count="2" type="stmt"/>
1678
+ <line num="328" count="40" type="stmt"/>
1679
+ <line num="330" count="2" type="cond" truecount="1" falsecount="1"/>
1680
+ <line num="331" count="0" type="stmt"/>
1673
1681
  <line num="334" count="2" type="stmt"/>
1674
1682
  <line num="335" count="2" type="stmt"/>
1675
1683
  <line num="336" count="2" type="stmt"/>
1676
- <line num="339" count="2" type="cond" truecount="1" falsecount="1"/>
1677
- <line num="340" count="0" type="stmt"/>
1678
- <line num="342" count="2" type="stmt"/>
1679
- <line num="346" count="2" type="cond" truecount="3" falsecount="1"/>
1680
- <line num="348" count="2" type="cond" truecount="1" falsecount="1"/>
1681
- <line num="349" count="0" type="stmt"/>
1682
- <line num="351" count="2" type="stmt"/>
1683
- <line num="352" count="2" type="stmt"/>
1684
- <line num="355" count="2" type="stmt"/>
1685
- <line num="358" count="40" type="stmt"/>
1686
- <line num="359" count="2" type="stmt"/>
1687
- <line num="365" count="40" type="stmt"/>
1688
- <line num="366" count="0" type="stmt"/>
1689
- <line num="367" count="0" type="stmt"/>
1684
+ <line num="337" count="2" type="stmt"/>
1685
+ <line num="338" count="2" type="stmt"/>
1686
+ <line num="341" count="2" type="cond" truecount="1" falsecount="1"/>
1687
+ <line num="342" count="0" type="stmt"/>
1688
+ <line num="344" count="2" type="stmt"/>
1689
+ <line num="348" count="2" type="cond" truecount="3" falsecount="1"/>
1690
+ <line num="350" count="2" type="cond" truecount="1" falsecount="1"/>
1691
+ <line num="351" count="0" type="stmt"/>
1692
+ <line num="353" count="2" type="stmt"/>
1693
+ <line num="354" count="2" type="stmt"/>
1694
+ <line num="357" count="2" type="stmt"/>
1695
+ <line num="360" count="40" type="stmt"/>
1696
+ <line num="361" count="2" type="stmt"/>
1697
+ <line num="367" count="40" type="stmt"/>
1690
1698
  <line num="368" count="0" type="stmt"/>
1691
1699
  <line num="369" count="0" type="stmt"/>
1692
- <line num="374" count="0" type="stmt"/>
1693
- <line num="376" count="0" type="stmt"/>
1694
- <line num="378" count="0" type="stmt"/>
1695
- <line num="381" count="40" type="stmt"/>
1696
- <line num="382" count="2" type="stmt"/>
1697
- <line num="383" count="2" type="stmt"/>
1698
- <line num="384" count="2" type="stmt"/>
1699
- <line num="386" count="2" type="stmt"/>
1700
+ <line num="370" count="0" type="stmt"/>
1701
+ <line num="371" count="0" type="stmt"/>
1702
+ <line num="372" count="0" type="stmt"/>
1703
+ <line num="377" count="0" type="stmt"/>
1704
+ <line num="379" count="0" type="stmt"/>
1705
+ <line num="381" count="0" type="stmt"/>
1706
+ <line num="382" count="0" type="stmt"/>
1707
+ <line num="383" count="0" type="stmt"/>
1708
+ <line num="386" count="0" type="stmt"/>
1709
+ <line num="387" count="0" type="stmt"/>
1710
+ <line num="390" count="40" type="stmt"/>
1700
1711
  <line num="391" count="2" type="stmt"/>
1701
- <line num="396" count="2" type="stmt"/>
1702
- <line num="399" count="1" type="stmt"/>
1703
- <line num="401" count="1" type="stmt"/>
1704
- <line num="403" count="2" type="stmt"/>
1705
- <line num="404" count="2" type="stmt"/>
1712
+ <line num="392" count="2" type="stmt"/>
1713
+ <line num="393" count="2" type="stmt"/>
1714
+ <line num="395" count="2" type="stmt"/>
1715
+ <line num="400" count="2" type="stmt"/>
1706
1716
  <line num="405" count="2" type="stmt"/>
1707
- <line num="406" count="1" type="cond" truecount="1" falsecount="1"/>
1708
- <line num="407" count="0" type="stmt"/>
1709
- <line num="409" count="1" type="stmt"/>
1710
- <line num="410" count="1" type="cond" truecount="1" falsecount="1"/>
1711
- <line num="411" count="1" type="stmt"/>
1712
- <line num="412" count="1" type="stmt"/>
1713
- <line num="414" count="0" type="stmt"/>
1714
- <line num="417" count="2" type="stmt"/>
1715
- <line num="418" count="2" type="stmt"/>
1717
+ <line num="408" count="1" type="stmt"/>
1718
+ <line num="410" count="1" type="stmt"/>
1719
+ <line num="412" count="2" type="stmt"/>
1720
+ <line num="413" count="2" type="stmt"/>
1721
+ <line num="414" count="2" type="stmt"/>
1722
+ <line num="415" count="1" type="cond" truecount="1" falsecount="1"/>
1723
+ <line num="416" count="0" type="stmt"/>
1724
+ <line num="418" count="1" type="stmt"/>
1725
+ <line num="419" count="1" type="cond" truecount="1" falsecount="1"/>
1716
1726
  <line num="420" count="1" type="stmt"/>
1727
+ <line num="421" count="1" type="stmt"/>
1728
+ <line num="423" count="0" type="stmt"/>
1717
1729
  <line num="426" count="2" type="stmt"/>
1718
- <line num="427" count="5" type="stmt"/>
1719
- <line num="428" count="5" type="cond" truecount="2" falsecount="0"/>
1720
- <line num="430" count="1" type="stmt"/>
1721
- <line num="431" count="1" type="stmt"/>
1722
- <line num="432" count="1" type="stmt"/>
1723
- <line num="434" count="1" type="stmt"/>
1724
- <line num="435" count="1" type="stmt"/>
1725
- <line num="439" count="2" type="stmt"/>
1730
+ <line num="427" count="2" type="stmt"/>
1731
+ <line num="429" count="1" type="stmt"/>
1732
+ <line num="435" count="2" type="stmt"/>
1733
+ <line num="436" count="5" type="stmt"/>
1734
+ <line num="437" count="5" type="cond" truecount="2" falsecount="0"/>
1735
+ <line num="439" count="1" type="stmt"/>
1736
+ <line num="440" count="1" type="stmt"/>
1737
+ <line num="441" count="1" type="stmt"/>
1738
+ <line num="443" count="1" type="stmt"/>
1739
+ <line num="444" count="1" type="stmt"/>
1740
+ <line num="448" count="2" type="stmt"/>
1726
1741
  </file>
1727
1742
  <file name="internalSearch.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/row/internalSearch.js">
1728
1743
  <metrics statements="152" coveredstatements="93" conditionals="95" coveredconditionals="38" methods="33" coveredmethods="18"/>
@@ -2556,7 +2571,7 @@
2556
2571
  <metrics statements="193" coveredstatements="143" conditionals="83" coveredconditionals="53" methods="25" coveredmethods="18"/>
2557
2572
  <file name="exporters.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/view/exporters.js">
2558
2573
  <metrics statements="11" coveredstatements="11" conditionals="2" coveredconditionals="1" methods="4" coveredmethods="4"/>
2559
- <line num="1" count="39" type="stmt"/>
2574
+ <line num="1" count="40" type="stmt"/>
2560
2575
  <line num="2" count="2" type="stmt"/>
2561
2576
  <line num="4" count="1" type="stmt"/>
2562
2577
  <line num="5" count="1" type="stmt"/>
@@ -2564,9 +2579,9 @@
2564
2579
  <line num="8" count="2" type="stmt"/>
2565
2580
  <line num="12" count="2" type="stmt"/>
2566
2581
  <line num="16" count="1" type="stmt"/>
2567
- <line num="19" count="39" type="stmt"/>
2582
+ <line num="19" count="40" type="stmt"/>
2568
2583
  <line num="20" count="1" type="stmt"/>
2569
- <line num="23" count="39" type="stmt"/>
2584
+ <line num="23" count="40" type="stmt"/>
2570
2585
  </file>
2571
2586
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/view/index.js">
2572
2587
  <metrics statements="68" coveredstatements="61" conditionals="25" coveredconditionals="18" methods="8" coveredmethods="5"/>
@@ -4290,7 +4305,7 @@
4290
4305
  </file>
4291
4306
  </package>
4292
4307
  <package name="middleware">
4293
- <metrics statements="268" coveredstatements="222" conditionals="181" coveredconditionals="128" methods="36" coveredmethods="31"/>
4308
+ <metrics statements="278" coveredstatements="230" conditionals="188" coveredconditionals="132" methods="38" coveredmethods="33"/>
4294
4309
  <file name="appInfo.js" path="/home/runner/work/budibase/budibase/packages/server/src/middleware/appInfo.js">
4295
4310
  <metrics statements="10" coveredstatements="8" conditionals="11" coveredconditionals="6" methods="2" coveredmethods="2"/>
4296
4311
  <line num="1" count="24" type="stmt"/>
@@ -4467,6 +4482,19 @@
4467
4482
  <line num="26" count="41" type="stmt"/>
4468
4483
  <line num="27" count="48" type="stmt"/>
4469
4484
  </file>
4485
+ <file name="publicApi.js" path="/home/runner/work/budibase/budibase/packages/server/src/middleware/publicApi.js">
4486
+ <metrics statements="10" coveredstatements="8" conditionals="7" coveredconditionals="4" methods="2" coveredmethods="2"/>
4487
+ <line num="1" count="24" type="stmt"/>
4488
+ <line num="2" count="24" type="stmt"/>
4489
+ <line num="4" count="24" type="cond" truecount="0" falsecount="1"/>
4490
+ <line num="5" count="120" type="stmt"/>
4491
+ <line num="6" count="21" type="stmt"/>
4492
+ <line num="7" count="21" type="cond" truecount="3" falsecount="1"/>
4493
+ <line num="8" count="0" type="stmt"/>
4494
+ <line num="13" count="21" type="cond" truecount="1" falsecount="1"/>
4495
+ <line num="14" count="0" type="stmt"/>
4496
+ <line num="19" count="21" type="stmt"/>
4497
+ </file>
4470
4498
  <file name="resourceId.js" path="/home/runner/work/budibase/budibase/packages/server/src/middleware/resourceId.js">
4471
4499
  <metrics statements="29" coveredstatements="29" conditionals="12" coveredconditionals="12" methods="9" coveredmethods="9"/>
4472
4500
  <line num="3" count="798" type="stmt"/>
@@ -4892,20 +4920,20 @@
4892
4920
  </file>
4893
4921
  <file name="budibaseDir.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/budibaseDir.js">
4894
4922
  <metrics statements="7" coveredstatements="6" conditionals="2" coveredconditionals="0" methods="1" coveredmethods="0"/>
4895
- <line num="1" count="40" type="stmt"/>
4896
- <line num="2" count="40" type="stmt"/>
4897
- <line num="3" count="40" type="stmt"/>
4898
- <line num="4" count="40" type="stmt"/>
4899
- <line num="6" count="40" type="stmt"/>
4923
+ <line num="1" count="41" type="stmt"/>
4924
+ <line num="2" count="41" type="stmt"/>
4925
+ <line num="3" count="41" type="stmt"/>
4926
+ <line num="4" count="41" type="stmt"/>
4927
+ <line num="6" count="41" type="stmt"/>
4900
4928
  <line num="7" count="0" type="cond" truecount="0" falsecount="2"/>
4901
- <line num="10" count="40" type="stmt"/>
4929
+ <line num="10" count="41" type="stmt"/>
4902
4930
  </file>
4903
4931
  <file name="centralPath.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/centralPath.js">
4904
4932
  <metrics statements="5" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="0"/>
4905
- <line num="1" count="40" type="stmt"/>
4906
- <line num="11" count="40" type="stmt"/>
4933
+ <line num="1" count="41" type="stmt"/>
4934
+ <line num="11" count="41" type="stmt"/>
4907
4935
  <line num="12" count="0" type="stmt"/>
4908
- <line num="20" count="40" type="stmt"/>
4936
+ <line num="20" count="41" type="stmt"/>
4909
4937
  <line num="21" count="0" type="stmt"/>
4910
4938
  </file>
4911
4939
  <file name="csvParser.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/csvParser.js">