@budibase/server 1.0.21 → 1.0.23-alpha.2

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 (238) hide show
  1. package/__mocks__/node-fetch.ts +3 -0
  2. package/builder/assets/bb-spaceship.8f6e81e1.svg +227 -0
  3. package/builder/assets/{index.c2e9e4e2.js → index.26923a83.js} +208 -204
  4. package/builder/assets/{index.4fb3f887.css → index.4a13c4cb.css} +1 -1
  5. package/builder/assets/{vendor.470042a4.js → vendor.f9faf6ab.js} +88 -88
  6. package/builder/index.html +3 -3
  7. package/coverage/clover.xml +654 -567
  8. package/coverage/coverage-final.json +22 -20
  9. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/automation.js.html +22 -10
  14. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/datasource.js.html +14 -14
  18. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/index.html +28 -43
  21. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/query/index.html +126 -0
  26. package/coverage/lcov-report/api/controllers/{query.js.html → query/index.js.html} +159 -27
  27. package/coverage/lcov-report/api/controllers/query/validation.js.html +203 -0
  28. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/user.js.html +108 -9
  45. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  49. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  50. package/coverage/lcov-report/api/controllers/webhook.js.html +18 -6
  51. package/coverage/lcov-report/api/index.html +1 -1
  52. package/coverage/lcov-report/api/index.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/index.html +9 -9
  66. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/query.js.html +11 -98
  72. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/user.js.html +32 -2
  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 +20 -20
  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 +5 -8
  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 +44 -11
  116. package/coverage/lcov-report/constants/index.html +1 -1
  117. package/coverage/lcov-report/constants/index.js.html +22 -22
  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 +18 -18
  121. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  122. package/coverage/lcov-report/db/index.html +15 -15
  123. package/coverage/lcov-report/db/index.js.html +3 -3
  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 +4 -4
  129. package/coverage/lcov-report/db/utils.js.html +91 -64
  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 +76 -61
  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 +2 -2
  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 +1 -1
  142. package/coverage/lcov-report/middleware/joi-validator.js.html +3 -3
  143. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  144. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  145. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  146. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  147. package/coverage/lcov-report/threads/automation.js.html +3 -6
  148. package/coverage/lcov-report/threads/index.html +35 -20
  149. package/coverage/lcov-report/threads/index.js.html +1 -1
  150. package/coverage/lcov-report/threads/query.js.html +62 -17
  151. package/coverage/lcov-report/threads/utils.js.html +119 -0
  152. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  153. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  154. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  155. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  156. package/coverage/lcov-report/utilities/global.js.html +1 -1
  157. package/coverage/lcov-report/utilities/index.html +19 -19
  158. package/coverage/lcov-report/utilities/index.js.html +66 -33
  159. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  160. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  161. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  162. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  163. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  164. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  165. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  166. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  167. package/coverage/lcov-report/utilities/security.js.html +2 -2
  168. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  169. package/coverage/lcov-report/utilities/users.js.html +1 -1
  170. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  171. package/coverage/lcov.info +1058 -918
  172. package/dist/api/controllers/automation.js +7 -5
  173. package/dist/api/controllers/query/import/index.js +79 -0
  174. package/dist/api/controllers/query/import/sources/base/index.js +63 -0
  175. package/dist/api/controllers/query/import/sources/base/openapi.js +42 -0
  176. package/dist/api/controllers/query/import/sources/curl.js +90 -0
  177. package/dist/api/controllers/query/import/sources/openapi2.js +139 -0
  178. package/dist/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
  179. package/dist/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
  180. package/dist/api/controllers/{query.js → query/index.js} +42 -6
  181. package/dist/api/controllers/query/validation.js +37 -0
  182. package/dist/api/controllers/user.js +37 -1
  183. package/dist/api/controllers/webhook.js +4 -0
  184. package/dist/api/routes/query.js +2 -32
  185. package/dist/api/routes/user.js +3 -1
  186. package/dist/automations/steps/outgoingWebhook.js +2 -3
  187. package/dist/automations/utils.js +10 -0
  188. package/dist/db/utils.js +8 -0
  189. package/dist/definitions/datasource.js +6 -1
  190. package/dist/integrations/rest.js +207 -117
  191. package/dist/package.json +10 -4
  192. package/dist/threads/automation.js +1 -2
  193. package/dist/threads/query.js +15 -5
  194. package/dist/threads/utils.js +13 -0
  195. package/dist/tsconfig.tsbuildinfo +1 -1
  196. package/dist/utilities/index.js +10 -0
  197. package/package.json +11 -5
  198. package/src/api/controllers/automation.js +8 -4
  199. package/src/api/controllers/query/import/index.ts +85 -0
  200. package/src/api/controllers/query/import/sources/base/index.ts +85 -0
  201. package/src/api/controllers/query/import/sources/base/openapi.ts +24 -0
  202. package/src/api/controllers/query/import/sources/curl.ts +94 -0
  203. package/src/api/controllers/query/import/sources/openapi2.ts +159 -0
  204. package/src/api/controllers/query/import/sources/tests/curl/curl.spec.js +104 -0
  205. package/src/api/controllers/query/import/sources/tests/curl/data/delete.txt +1 -0
  206. package/src/api/controllers/query/import/sources/tests/curl/data/empty-body.txt +2 -0
  207. package/src/api/controllers/query/import/sources/tests/curl/data/get.txt +1 -0
  208. package/src/api/controllers/query/import/sources/tests/curl/data/headers.txt +3 -0
  209. package/src/api/controllers/query/import/sources/tests/curl/data/patch.txt +2 -0
  210. package/src/api/controllers/query/import/sources/tests/curl/data/path.txt +1 -0
  211. package/src/api/controllers/query/import/sources/tests/curl/data/post.txt +2 -0
  212. package/src/api/controllers/query/import/sources/tests/curl/data/put.txt +2 -0
  213. package/src/api/controllers/query/import/sources/tests/curl/data/query.txt +1 -0
  214. package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
  215. package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.yaml +160 -0
  216. package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
  217. package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.yaml +711 -0
  218. package/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js +239 -0
  219. package/src/api/controllers/query/import/tests/index.spec.js +115 -0
  220. package/src/api/controllers/{query.js → query/index.js} +50 -6
  221. package/src/api/controllers/query/validation.js +41 -0
  222. package/src/api/controllers/user.js +33 -0
  223. package/src/api/controllers/webhook.js +4 -0
  224. package/src/api/routes/query.js +5 -34
  225. package/src/api/routes/user.js +10 -0
  226. package/src/automations/steps/outgoingWebhook.js +2 -3
  227. package/src/automations/utils.js +11 -0
  228. package/src/db/utils.js +9 -0
  229. package/src/definitions/common.ts +2 -16
  230. package/src/definitions/datasource.ts +73 -1
  231. package/src/integrations/base/IntegrationBase.ts +4 -4
  232. package/src/integrations/oracle.ts +1 -1
  233. package/src/integrations/rest.ts +227 -137
  234. package/src/integrations/tests/rest.spec.js +167 -19
  235. package/src/threads/automation.js +1 -2
  236. package/src/threads/query.js +20 -5
  237. package/src/threads/utils.js +13 -0
  238. package/src/utilities/index.js +11 -0
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1639418791589" clover="3.2.0">
3
- <project timestamp="1639418791589" name="All files">
4
- <metrics statements="4386" coveredstatements="3239" conditionals="1748" coveredconditionals="949" methods="623" coveredmethods="441" elements="6757" coveredelements="4629" complexity="0" loc="4386" ncloc="4386" packages="20" files="138" classes="138"/>
2
+ <coverage generated="1639650383993" clover="3.2.0">
3
+ <project timestamp="1639650383993" name="All files">
4
+ <metrics statements="4464" coveredstatements="3277" conditionals="1774" coveredconditionals="962" methods="632" coveredmethods="446" elements="6870" coveredelements="4685" complexity="0" loc="4464" ncloc="4464" packages="21" files="140" classes="140"/>
5
5
  <package name="api">
6
6
  <metrics statements="29" coveredstatements="27" 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">
@@ -38,7 +38,7 @@
38
38
  </file>
39
39
  </package>
40
40
  <package name="api.controllers">
41
- <metrics statements="1110" coveredstatements="797" conditionals="369" coveredconditionals="169" methods="153" coveredmethods="109"/>
41
+ <metrics statements="1064" coveredstatements="743" conditionals="348" coveredconditionals="157" methods="146" coveredmethods="100"/>
42
42
  <file name="analytics.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/analytics.js">
43
43
  <metrics statements="13" coveredstatements="6" conditionals="13" coveredconditionals="4" methods="2" coveredmethods="1"/>
44
44
  <line num="1" count="23" type="stmt"/>
@@ -296,101 +296,103 @@
296
296
  <line num="53" count="0" type="stmt"/>
297
297
  </file>
298
298
  <file name="automation.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/automation.js">
299
- <metrics statements="94" coveredstatements="84" conditionals="32" coveredconditionals="23" methods="14" coveredmethods="13"/>
299
+ <metrics statements="96" coveredstatements="86" conditionals="32" coveredconditionals="23" methods="14" coveredmethods="13"/>
300
300
  <line num="1" count="33" type="stmt"/>
301
301
  <line num="2" count="33" type="stmt"/>
302
302
  <line num="3" count="33" type="stmt"/>
303
303
  <line num="4" count="33" type="stmt"/>
304
- <line num="8" count="33" type="stmt"/>
305
304
  <line num="9" count="33" type="stmt"/>
306
305
  <line num="10" count="33" type="stmt"/>
307
306
  <line num="11" count="33" type="stmt"/>
308
- <line num="20" count="1" type="stmt"/>
309
- <line num="25" count="1" type="stmt"/>
310
- <line num="33" count="22" type="cond" truecount="1" falsecount="1"/>
311
- <line num="34" count="0" type="stmt"/>
312
- <line num="36" count="22" type="stmt"/>
313
- <line num="37" count="22" type="stmt"/>
314
- <line num="38" count="22" type="stmt"/>
315
- <line num="40" count="22" type="cond" truecount="2" falsecount="0"/>
316
- <line num="41" count="18" type="stmt"/>
317
- <line num="43" count="22" type="stmt"/>
318
- <line num="44" count="26" type="cond" truecount="1" falsecount="1"/>
319
- <line num="45" count="0" type="stmt"/>
320
- <line num="47" count="26" type="stmt"/>
321
- <line num="48" count="7" type="cond" truecount="3" falsecount="1"/>
307
+ <line num="12" count="33" type="stmt"/>
308
+ <line num="14" count="33" type="stmt"/>
309
+ <line num="15" count="33" type="stmt"/>
310
+ <line num="24" count="1" type="stmt"/>
311
+ <line num="29" count="1" type="stmt"/>
312
+ <line num="37" count="22" type="cond" truecount="1" falsecount="1"/>
313
+ <line num="38" count="0" type="stmt"/>
314
+ <line num="40" count="22" type="stmt"/>
315
+ <line num="41" count="22" type="stmt"/>
316
+ <line num="42" count="22" type="stmt"/>
317
+ <line num="44" count="22" type="cond" truecount="2" falsecount="0"/>
318
+ <line num="45" count="18" type="stmt"/>
319
+ <line num="47" count="22" type="stmt"/>
320
+ <line num="48" count="26" type="cond" truecount="1" falsecount="1"/>
322
321
  <line num="49" count="0" type="stmt"/>
323
- <line num="53" count="22" type="stmt"/>
324
- <line num="56" count="33" type="stmt"/>
325
- <line num="57" count="21" type="stmt"/>
326
- <line num="58" count="21" type="stmt"/>
327
- <line num="59" count="21" type="stmt"/>
328
- <line num="62" count="21" type="cond" truecount="4" falsecount="0"/>
329
- <line num="63" count="1" type="stmt"/>
330
- <line num="66" count="20" type="stmt"/>
331
- <line num="68" count="20" type="stmt"/>
332
- <line num="69" count="20" type="stmt"/>
322
+ <line num="51" count="26" type="stmt"/>
323
+ <line num="52" count="7" type="cond" truecount="3" falsecount="1"/>
324
+ <line num="53" count="0" type="stmt"/>
325
+ <line num="57" count="22" type="stmt"/>
326
+ <line num="60" count="33" type="stmt"/>
327
+ <line num="61" count="21" type="stmt"/>
328
+ <line num="62" count="21" type="stmt"/>
329
+ <line num="63" count="21" type="stmt"/>
330
+ <line num="66" count="21" type="cond" truecount="4" falsecount="0"/>
331
+ <line num="67" count="1" type="stmt"/>
333
332
  <line num="70" count="20" type="stmt"/>
333
+ <line num="72" count="20" type="stmt"/>
334
+ <line num="73" count="20" type="stmt"/>
334
335
  <line num="74" count="20" type="stmt"/>
335
- <line num="75" count="20" type="stmt"/>
336
- <line num="77" count="20" type="stmt"/>
337
336
  <line num="78" count="20" type="stmt"/>
338
- <line num="87" count="33" type="stmt"/>
339
- <line num="88" count="2" type="stmt"/>
340
- <line num="89" count="2" type="stmt"/>
341
- <line num="90" count="2" type="stmt"/>
342
- <line num="91" count="2" type="stmt"/>
337
+ <line num="79" count="20" type="stmt"/>
338
+ <line num="81" count="20" type="stmt"/>
339
+ <line num="82" count="20" type="stmt"/>
340
+ <line num="91" count="33" type="stmt"/>
343
341
  <line num="92" count="2" type="stmt"/>
344
342
  <line num="93" count="2" type="stmt"/>
345
- <line num="98" count="2" type="stmt"/>
346
- <line num="99" count="2" type="stmt"/>
347
- <line num="102" count="2" type="cond" truecount="3" falsecount="1"/>
343
+ <line num="94" count="2" type="stmt"/>
344
+ <line num="95" count="2" type="stmt"/>
345
+ <line num="96" count="2" type="stmt"/>
346
+ <line num="97" count="2" type="stmt"/>
347
+ <line num="102" count="2" type="stmt"/>
348
+ <line num="103" count="2" type="stmt"/>
348
349
  <line num="106" count="2" type="cond" truecount="3" falsecount="1"/>
349
- <line num="110" count="2" type="cond" truecount="2" falsecount="0"/>
350
- <line num="111" count="1" type="stmt"/>
351
- <line num="118" count="2" type="stmt"/>
352
- <line num="119" count="2" type="stmt"/>
353
- <line num="129" count="33" type="stmt"/>
354
- <line num="130" count="2" type="stmt"/>
355
- <line num="131" count="2" type="stmt"/>
356
- <line num="136" count="2" type="stmt"/>
357
- <line num="139" count="33" type="stmt"/>
358
- <line num="140" count="1" type="stmt"/>
359
- <line num="141" count="1" type="stmt"/>
360
- <line num="144" count="33" type="stmt"/>
350
+ <line num="110" count="2" type="cond" truecount="3" falsecount="1"/>
351
+ <line num="114" count="2" type="cond" truecount="2" falsecount="0"/>
352
+ <line num="115" count="1" type="stmt"/>
353
+ <line num="122" count="2" type="stmt"/>
354
+ <line num="123" count="2" type="stmt"/>
355
+ <line num="133" count="33" type="stmt"/>
356
+ <line num="134" count="2" type="stmt"/>
357
+ <line num="135" count="2" type="stmt"/>
358
+ <line num="140" count="2" type="stmt"/>
359
+ <line num="143" count="33" type="stmt"/>
360
+ <line num="144" count="1" type="stmt"/>
361
361
  <line num="145" count="1" type="stmt"/>
362
- <line num="146" count="1" type="stmt"/>
363
- <line num="147" count="1" type="stmt"/>
364
- <line num="148" count="1" type="stmt"/>
365
- <line num="153" count="1" type="stmt"/>
366
- <line num="154" count="1" type="stmt"/>
367
- <line num="157" count="33" type="stmt"/>
362
+ <line num="148" count="33" type="stmt"/>
363
+ <line num="149" count="1" type="stmt"/>
364
+ <line num="150" count="1" type="stmt"/>
365
+ <line num="151" count="1" type="stmt"/>
366
+ <line num="152" count="1" type="stmt"/>
367
+ <line num="157" count="1" type="stmt"/>
368
368
  <line num="158" count="1" type="stmt"/>
369
369
  <line num="161" count="33" type="stmt"/>
370
370
  <line num="162" count="1" type="stmt"/>
371
371
  <line num="165" count="33" type="stmt"/>
372
372
  <line num="166" count="1" type="stmt"/>
373
- <line num="178" count="33" type="stmt"/>
374
- <line num="179" count="0" type="stmt"/>
375
- <line num="180" count="0" type="stmt"/>
376
- <line num="181" count="0" type="stmt"/>
377
- <line num="182" count="0" type="stmt"/>
373
+ <line num="169" count="33" type="stmt"/>
374
+ <line num="170" count="1" type="stmt"/>
375
+ <line num="182" count="33" type="stmt"/>
376
+ <line num="183" count="0" type="stmt"/>
377
+ <line num="184" count="0" type="stmt"/>
378
+ <line num="185" count="0" type="stmt"/>
378
379
  <line num="186" count="0" type="stmt"/>
379
- <line num="194" count="2" type="cond" truecount="2" falsecount="2"/>
380
- <line num="195" count="0" type="stmt"/>
381
- <line num="197" count="2" type="cond" truecount="2" falsecount="2"/>
382
- <line num="198" count="0" type="stmt"/>
383
- <line num="200" count="2" type="stmt"/>
384
- <line num="203" count="33" type="stmt"/>
380
+ <line num="190" count="0" type="stmt"/>
381
+ <line num="198" count="2" type="cond" truecount="2" falsecount="2"/>
382
+ <line num="199" count="0" type="stmt"/>
383
+ <line num="201" count="2" type="cond" truecount="2" falsecount="2"/>
384
+ <line num="202" count="0" type="stmt"/>
385
385
  <line num="204" count="2" type="stmt"/>
386
- <line num="205" count="2" type="stmt"/>
387
- <line num="206" count="2" type="stmt"/>
388
- <line num="207" count="2" type="stmt"/>
386
+ <line num="207" count="33" type="stmt"/>
389
387
  <line num="208" count="2" type="stmt"/>
390
388
  <line num="209" count="2" type="stmt"/>
391
- <line num="218" count="2" type="stmt"/>
389
+ <line num="210" count="2" type="stmt"/>
390
+ <line num="211" count="2" type="stmt"/>
391
+ <line num="212" count="2" type="stmt"/>
392
+ <line num="213" count="2" type="stmt"/>
392
393
  <line num="222" count="2" type="stmt"/>
393
- <line num="223" count="2" type="stmt"/>
394
+ <line num="226" count="2" type="stmt"/>
395
+ <line num="227" count="2" type="stmt"/>
394
396
  </file>
395
397
  <file name="backup.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/backup.js">
396
398
  <metrics statements="7" coveredstatements="7" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
@@ -483,12 +485,12 @@
483
485
  </file>
484
486
  <file name="datasource.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/datasource.js">
485
487
  <metrics statements="107" coveredstatements="47" conditionals="36" coveredconditionals="7" methods="16" coveredmethods="8"/>
486
- <line num="1" count="33" type="stmt"/>
487
- <line num="9" count="33" type="stmt"/>
488
- <line num="10" count="33" type="stmt"/>
489
- <line num="11" count="33" type="stmt"/>
490
- <line num="12" count="33" type="stmt"/>
491
- <line num="14" count="33" type="stmt"/>
488
+ <line num="1" count="34" type="stmt"/>
489
+ <line num="9" count="34" type="stmt"/>
490
+ <line num="10" count="34" type="stmt"/>
491
+ <line num="11" count="34" type="stmt"/>
492
+ <line num="12" count="34" type="stmt"/>
493
+ <line num="14" count="34" type="stmt"/>
492
494
  <line num="15" count="2" type="stmt"/>
493
495
  <line num="18" count="2" type="stmt"/>
494
496
  <line num="19" count="2" type="stmt"/>
@@ -497,7 +499,7 @@
497
499
  <line num="32" count="2" type="stmt"/>
498
500
  <line num="38" count="1" type="stmt"/>
499
501
  <line num="40" count="2" type="stmt"/>
500
- <line num="43" count="33" type="stmt"/>
502
+ <line num="43" count="34" type="stmt"/>
501
503
  <line num="44" count="0" type="stmt"/>
502
504
  <line num="45" count="0" type="stmt"/>
503
505
  <line num="47" count="0" type="stmt"/>
@@ -508,7 +510,7 @@
508
510
  <line num="54" count="0" type="cond" truecount="0" falsecount="2"/>
509
511
  <line num="55" count="0" type="stmt"/>
510
512
  <line num="57" count="0" type="stmt"/>
511
- <line num="60" count="33" type="stmt"/>
513
+ <line num="60" count="34" type="stmt"/>
512
514
  <line num="61" count="0" type="stmt"/>
513
515
  <line num="62" count="0" type="stmt"/>
514
516
  <line num="63" count="0" type="stmt"/>
@@ -522,7 +524,7 @@
522
524
  <line num="77" count="0" type="stmt"/>
523
525
  <line num="78" count="0" type="stmt"/>
524
526
  <line num="79" count="0" type="stmt"/>
525
- <line num="82" count="33" type="stmt"/>
527
+ <line num="82" count="34" type="stmt"/>
526
528
  <line num="83" count="24" type="stmt"/>
527
529
  <line num="84" count="24" type="stmt"/>
528
530
  <line num="85" count="24" type="stmt"/>
@@ -542,7 +544,7 @@
542
544
  <line num="112" count="24" type="cond" truecount="1" falsecount="1"/>
543
545
  <line num="113" count="0" type="stmt"/>
544
546
  <line num="115" count="24" type="stmt"/>
545
- <line num="118" count="33" type="stmt"/>
547
+ <line num="118" count="34" type="stmt"/>
546
548
  <line num="119" count="1" type="stmt"/>
547
549
  <line num="122" count="1" type="stmt"/>
548
550
  <line num="125" count="1" type="stmt"/>
@@ -550,10 +552,10 @@
550
552
  <line num="134" count="1" type="stmt"/>
551
553
  <line num="136" count="1" type="stmt"/>
552
554
  <line num="137" count="1" type="stmt"/>
553
- <line num="140" count="33" type="stmt"/>
555
+ <line num="140" count="34" type="stmt"/>
554
556
  <line num="141" count="1" type="stmt"/>
555
557
  <line num="142" count="1" type="stmt"/>
556
- <line num="146" count="33" type="stmt"/>
558
+ <line num="146" count="34" type="stmt"/>
557
559
  <line num="147" count="1" type="stmt"/>
558
560
  <line num="148" count="1" type="stmt"/>
559
561
  <line num="149" count="1" type="stmt"/>
@@ -567,7 +569,7 @@
567
569
  <line num="166" count="0" type="stmt"/>
568
570
  <line num="168" count="0" type="stmt"/>
569
571
  <line num="169" count="0" type="stmt"/>
570
- <line num="172" count="33" type="stmt"/>
572
+ <line num="172" count="34" type="stmt"/>
571
573
  <line num="173" count="0" type="stmt"/>
572
574
  <line num="176" count="0" type="stmt"/>
573
575
  <line num="177" count="0" type="stmt"/>
@@ -823,79 +825,6 @@
823
825
  <line num="169" count="33" type="stmt"/>
824
826
  <line num="170" count="1" type="stmt"/>
825
827
  </file>
826
- <file name="query.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/query.js">
827
- <metrics statements="70" coveredstatements="59" conditionals="25" coveredconditionals="12" methods="9" coveredmethods="9"/>
828
- <line num="1" count="34" type="stmt"/>
829
- <line num="2" count="34" type="stmt"/>
830
- <line num="7" count="34" type="stmt"/>
831
- <line num="8" count="34" type="stmt"/>
832
- <line num="9" count="34" type="stmt"/>
833
- <line num="11" count="34" type="stmt"/>
834
- <line num="15" count="5" type="stmt"/>
835
- <line num="16" count="5" type="cond" truecount="2" falsecount="0"/>
836
- <line num="17" count="5" type="stmt"/>
837
- <line num="18" count="4" type="cond" truecount="1" falsecount="1"/>
838
- <line num="19" count="4" type="stmt"/>
839
- <line num="22" count="5" type="cond" truecount="2" falsecount="0"/>
840
- <line num="25" count="34" type="stmt"/>
841
- <line num="26" count="2" type="stmt"/>
842
- <line num="28" count="2" type="stmt"/>
843
- <line num="33" count="2" type="stmt"/>
844
- <line num="36" count="34" type="stmt"/>
845
- <line num="37" count="20" type="stmt"/>
846
- <line num="38" count="20" type="stmt"/>
847
- <line num="40" count="20" type="cond" truecount="1" falsecount="1"/>
848
- <line num="41" count="20" type="stmt"/>
849
- <line num="44" count="20" type="stmt"/>
850
- <line num="45" count="20" type="stmt"/>
851
- <line num="47" count="20" type="stmt"/>
852
- <line num="48" count="20" type="stmt"/>
853
- <line num="52" count="4" type="stmt"/>
854
- <line num="55" count="4" type="stmt"/>
855
- <line num="56" count="0" type="cond" truecount="0" falsecount="2"/>
856
- <line num="57" count="0" type="stmt"/>
857
- <line num="59" count="0" type="cond" truecount="0" falsecount="2"/>
858
- <line num="61" count="0" type="stmt"/>
859
- <line num="62" count="0" type="cond" truecount="0" falsecount="2"/>
860
- <line num="64" count="0" type="stmt"/>
861
- <line num="68" count="0" type="stmt"/>
862
- <line num="72" count="4" type="cond" truecount="1" falsecount="1"/>
863
- <line num="77" count="0" type="stmt"/>
864
- <line num="78" count="0" type="stmt"/>
865
- <line num="84" count="0" type="stmt"/>
866
- <line num="86" count="0" type="stmt"/>
867
- <line num="89" count="4" type="stmt"/>
868
- <line num="92" count="34" type="stmt"/>
869
- <line num="93" count="3" type="stmt"/>
870
- <line num="94" count="3" type="stmt"/>
871
- <line num="96" count="3" type="cond" truecount="2" falsecount="0"/>
872
- <line num="97" count="1" type="stmt"/>
873
- <line num="98" count="1" type="stmt"/>
874
- <line num="100" count="3" type="stmt"/>
875
- <line num="103" count="34" type="stmt"/>
876
- <line num="104" count="2" type="stmt"/>
877
- <line num="106" count="2" type="stmt"/>
878
- <line num="108" count="2" type="stmt"/>
879
- <line num="109" count="2" type="stmt"/>
880
- <line num="111" count="2" type="stmt"/>
881
- <line num="112" count="2" type="stmt"/>
882
- <line num="119" count="1" type="stmt"/>
883
- <line num="124" count="1" type="stmt"/>
884
- <line num="128" count="34" type="stmt"/>
885
- <line num="129" count="2" type="stmt"/>
886
- <line num="131" count="2" type="stmt"/>
887
- <line num="132" count="2" type="stmt"/>
888
- <line num="134" count="2" type="stmt"/>
889
- <line num="140" count="2" type="stmt"/>
890
- <line num="141" count="2" type="stmt"/>
891
- <line num="147" count="1" type="stmt"/>
892
- <line num="149" count="1" type="stmt"/>
893
- <line num="153" count="34" type="stmt"/>
894
- <line num="154" count="1" type="stmt"/>
895
- <line num="155" count="1" type="stmt"/>
896
- <line num="156" count="1" type="stmt"/>
897
- <line num="157" count="1" type="stmt"/>
898
- </file>
899
828
  <file name="role.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/role.js">
900
829
  <metrics statements="53" coveredstatements="47" conditionals="22" coveredconditionals="14" methods="7" coveredmethods="5"/>
901
830
  <line num="1" count="33" type="stmt"/>
@@ -1059,9 +988,8 @@
1059
988
  <line num="25" count="0" type="stmt"/>
1060
989
  </file>
1061
990
  <file name="user.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/user.js">
1062
- <metrics statements="98" coveredstatements="37" conditionals="33" coveredconditionals="0" methods="14" coveredmethods="5"/>
991
+ <metrics statements="119" coveredstatements="39" conditionals="37" coveredconditionals="0" methods="16" coveredmethods="5"/>
1063
992
  <line num="1" count="34" type="stmt"/>
1064
- <line num="5" count="34" type="stmt"/>
1065
993
  <line num="6" count="34" type="stmt"/>
1066
994
  <line num="7" count="34" type="stmt"/>
1067
995
  <line num="8" count="34" type="stmt"/>
@@ -1070,97 +998,119 @@
1070
998
  <line num="11" count="34" type="stmt"/>
1071
999
  <line num="12" count="34" type="stmt"/>
1072
1000
  <line num="13" count="34" type="stmt"/>
1073
- <line num="16" count="2" type="stmt"/>
1074
- <line num="22" count="0" type="stmt"/>
1075
- <line num="27" count="0" type="cond" truecount="0" falsecount="2"/>
1076
- <line num="28" count="0" type="stmt"/>
1077
- <line num="30" count="0" type="stmt"/>
1001
+ <line num="14" count="34" type="stmt"/>
1002
+ <line num="17" count="2" type="stmt"/>
1003
+ <line num="23" count="0" type="stmt"/>
1004
+ <line num="28" count="0" type="cond" truecount="0" falsecount="2"/>
1005
+ <line num="29" count="0" type="stmt"/>
1078
1006
  <line num="31" count="0" type="stmt"/>
1079
1007
  <line num="32" count="0" type="stmt"/>
1080
- <line num="37" count="0" type="cond" truecount="0" falsecount="2"/>
1081
- <line num="38" count="0" type="stmt"/>
1082
- <line num="41" count="0" type="cond" truecount="0" falsecount="2"/>
1083
- <line num="42" count="0" type="stmt"/>
1084
- <line num="44" count="0" type="cond" truecount="0" falsecount="4"/>
1085
- <line num="45" count="0" type="stmt"/>
1086
- <line num="50" count="0" type="stmt"/>
1087
- <line num="53" count="34" type="stmt"/>
1088
- <line num="55" count="0" type="stmt"/>
1008
+ <line num="33" count="0" type="stmt"/>
1009
+ <line num="38" count="0" type="cond" truecount="0" falsecount="2"/>
1010
+ <line num="39" count="0" type="stmt"/>
1011
+ <line num="42" count="0" type="cond" truecount="0" falsecount="2"/>
1012
+ <line num="43" count="0" type="stmt"/>
1013
+ <line num="45" count="0" type="cond" truecount="0" falsecount="4"/>
1014
+ <line num="46" count="0" type="stmt"/>
1015
+ <line num="51" count="0" type="stmt"/>
1016
+ <line num="54" count="34" type="stmt"/>
1089
1017
  <line num="56" count="0" type="stmt"/>
1090
- <line num="60" count="0" type="stmt"/>
1018
+ <line num="57" count="0" type="stmt"/>
1091
1019
  <line num="61" count="0" type="stmt"/>
1092
1020
  <line num="62" count="0" type="stmt"/>
1093
- <line num="63" count="0" type="cond" truecount="0" falsecount="2"/>
1094
- <line num="64" count="0" type="stmt"/>
1095
- <line num="67" count="0" type="stmt"/>
1096
- <line num="70" count="34" type="stmt"/>
1097
- <line num="71" count="0" type="stmt"/>
1098
- <line num="73" count="0" type="stmt"/>
1021
+ <line num="63" count="0" type="stmt"/>
1022
+ <line num="64" count="0" type="cond" truecount="0" falsecount="2"/>
1023
+ <line num="65" count="0" type="stmt"/>
1024
+ <line num="68" count="0" type="stmt"/>
1025
+ <line num="71" count="34" type="stmt"/>
1026
+ <line num="72" count="0" type="stmt"/>
1099
1027
  <line num="74" count="0" type="stmt"/>
1100
1028
  <line num="75" count="0" type="stmt"/>
1101
- <line num="77" count="0" type="cond" truecount="0" falsecount="4"/>
1102
- <line num="78" count="0" type="stmt"/>
1029
+ <line num="76" count="0" type="stmt"/>
1030
+ <line num="78" count="0" type="cond" truecount="0" falsecount="4"/>
1103
1031
  <line num="79" count="0" type="stmt"/>
1104
- <line num="81" count="0" type="stmt"/>
1105
- <line num="84" count="0" type="cond" truecount="0" falsecount="2"/>
1106
- <line num="86" count="0" type="stmt"/>
1032
+ <line num="80" count="0" type="stmt"/>
1033
+ <line num="82" count="0" type="stmt"/>
1034
+ <line num="85" count="0" type="cond" truecount="0" falsecount="2"/>
1107
1035
  <line num="87" count="0" type="stmt"/>
1108
1036
  <line num="88" count="0" type="stmt"/>
1109
- <line num="92" count="0" type="cond" truecount="0" falsecount="5"/>
1110
- <line num="93" count="0" type="stmt"/>
1111
- <line num="95" count="0" type="stmt"/>
1037
+ <line num="89" count="0" type="stmt"/>
1038
+ <line num="93" count="0" type="cond" truecount="0" falsecount="5"/>
1039
+ <line num="94" count="0" type="stmt"/>
1112
1040
  <line num="96" count="0" type="stmt"/>
1113
1041
  <line num="97" count="0" type="stmt"/>
1114
- <line num="99" count="0" type="stmt"/>
1042
+ <line num="98" count="0" type="stmt"/>
1115
1043
  <line num="100" count="0" type="stmt"/>
1116
1044
  <line num="101" count="0" type="stmt"/>
1117
1045
  <line num="102" count="0" type="stmt"/>
1118
- <line num="103" count="0" type="cond" truecount="0" falsecount="2"/>
1119
- <line num="104" count="0" type="stmt"/>
1120
- <line num="106" count="0" type="stmt"/>
1046
+ <line num="103" count="0" type="stmt"/>
1047
+ <line num="104" count="0" type="cond" truecount="0" falsecount="2"/>
1048
+ <line num="105" count="0" type="stmt"/>
1121
1049
  <line num="107" count="0" type="stmt"/>
1122
- <line num="109" count="0" type="stmt"/>
1050
+ <line num="108" count="0" type="stmt"/>
1123
1051
  <line num="110" count="0" type="stmt"/>
1124
- <line num="112" count="0" type="cond" truecount="0" falsecount="2"/>
1125
- <line num="113" count="0" type="stmt"/>
1126
- <line num="115" count="0" type="stmt"/>
1127
- <line num="120" count="0" type="cond" truecount="0" falsecount="2"/>
1128
- <line num="121" count="0" type="stmt"/>
1129
- <line num="123" count="0" type="cond" truecount="0" falsecount="2"/>
1130
- <line num="131" count="0" type="cond" truecount="0" falsecount="2"/>
1131
- <line num="132" count="0" type="stmt"/>
1132
- <line num="136" count="0" type="stmt"/>
1133
- <line num="141" count="34" type="stmt"/>
1134
- <line num="142" count="2" type="stmt"/>
1052
+ <line num="111" count="0" type="stmt"/>
1053
+ <line num="113" count="0" type="cond" truecount="0" falsecount="2"/>
1054
+ <line num="114" count="0" type="stmt"/>
1055
+ <line num="116" count="0" type="stmt"/>
1056
+ <line num="121" count="0" type="cond" truecount="0" falsecount="2"/>
1057
+ <line num="122" count="0" type="stmt"/>
1058
+ <line num="124" count="0" type="cond" truecount="0" falsecount="2"/>
1059
+ <line num="132" count="0" type="cond" truecount="0" falsecount="2"/>
1060
+ <line num="133" count="0" type="stmt"/>
1061
+ <line num="137" count="0" type="stmt"/>
1062
+ <line num="142" count="34" type="stmt"/>
1135
1063
  <line num="143" count="2" type="stmt"/>
1136
1064
  <line num="144" count="2" type="stmt"/>
1137
1065
  <line num="145" count="2" type="stmt"/>
1138
1066
  <line num="146" count="2" type="stmt"/>
1139
- <line num="148" count="7" type="stmt"/>
1140
- <line num="150" count="7" type="stmt"/>
1141
- <line num="158" count="2" type="stmt"/>
1142
- <line num="161" count="34" type="stmt"/>
1143
- <line num="163" count="0" type="stmt"/>
1144
- <line num="165" count="0" type="stmt"/>
1067
+ <line num="147" count="2" type="stmt"/>
1068
+ <line num="149" count="7" type="stmt"/>
1069
+ <line num="151" count="7" type="stmt"/>
1070
+ <line num="159" count="2" type="stmt"/>
1071
+ <line num="162" count="34" type="stmt"/>
1072
+ <line num="164" count="0" type="stmt"/>
1145
1073
  <line num="166" count="0" type="stmt"/>
1146
- <line num="169" count="34" type="stmt"/>
1147
- <line num="170" count="1" type="stmt"/>
1074
+ <line num="167" count="0" type="stmt"/>
1075
+ <line num="170" count="34" type="stmt"/>
1148
1076
  <line num="171" count="1" type="stmt"/>
1149
1077
  <line num="172" count="1" type="stmt"/>
1150
- <line num="174" count="1" type="stmt"/>
1078
+ <line num="173" count="1" type="stmt"/>
1151
1079
  <line num="175" count="1" type="stmt"/>
1152
- <line num="179" count="1" type="stmt"/>
1153
- <line num="182" count="34" type="stmt"/>
1154
- <line num="183" count="1" type="stmt"/>
1080
+ <line num="176" count="1" type="stmt"/>
1081
+ <line num="180" count="1" type="stmt"/>
1082
+ <line num="183" count="34" type="stmt"/>
1155
1083
  <line num="184" count="1" type="stmt"/>
1156
1084
  <line num="185" count="1" type="stmt"/>
1157
- <line num="186" count="0" type="stmt"/>
1158
- <line num="190" count="1" type="stmt"/>
1159
- <line num="195" count="34" type="stmt"/>
1160
- <line num="196" count="1" type="stmt"/>
1085
+ <line num="186" count="1" type="stmt"/>
1086
+ <line num="187" count="0" type="stmt"/>
1087
+ <line num="191" count="1" type="stmt"/>
1088
+ <line num="196" count="34" type="stmt"/>
1089
+ <line num="197" count="1" type="stmt"/>
1090
+ <line num="200" count="34" type="stmt"/>
1091
+ <line num="201" count="0" type="stmt"/>
1092
+ <line num="202" count="0" type="stmt"/>
1093
+ <line num="203" count="0" type="cond" truecount="0" falsecount="2"/>
1094
+ <line num="204" count="0" type="stmt"/>
1095
+ <line num="206" count="0" type="stmt"/>
1096
+ <line num="207" count="0" type="stmt"/>
1097
+ <line num="209" count="0" type="stmt"/>
1098
+ <line num="210" count="0" type="stmt"/>
1099
+ <line num="212" count="0" type="stmt"/>
1100
+ <line num="214" count="0" type="cond" truecount="0" falsecount="2"/>
1101
+ <line num="215" count="0" type="stmt"/>
1102
+ <line num="216" count="0" type="stmt"/>
1103
+ <line num="219" count="34" type="stmt"/>
1104
+ <line num="220" count="0" type="stmt"/>
1105
+ <line num="221" count="0" type="stmt"/>
1106
+ <line num="222" count="0" type="stmt"/>
1107
+ <line num="224" count="0" type="stmt"/>
1108
+ <line num="225" count="0" type="stmt"/>
1109
+ <line num="227" count="0" type="stmt"/>
1110
+ <line num="229" count="0" type="stmt"/>
1161
1111
  </file>
1162
1112
  <file name="webhook.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/webhook.js">
1163
- <metrics statements="56" coveredstatements="51" conditionals="10" coveredconditionals="4" methods="7" coveredmethods="7"/>
1113
+ <metrics statements="57" coveredstatements="52" conditionals="10" coveredconditionals="4" methods="7" coveredmethods="7"/>
1164
1114
  <line num="1" count="33" type="stmt"/>
1165
1115
  <line num="2" count="33" type="stmt"/>
1166
1116
  <line num="3" count="33" type="stmt"/>
@@ -1198,25 +1148,130 @@
1198
1148
  <line num="65" count="1" type="stmt"/>
1199
1149
  <line num="66" count="1" type="stmt"/>
1200
1150
  <line num="67" count="1" type="stmt"/>
1201
- <line num="68" count="1" type="stmt"/>
1202
1151
  <line num="69" count="1" type="stmt"/>
1203
- <line num="74" count="1" type="stmt"/>
1204
- <line num="76" count="1" type="stmt"/>
1205
- <line num="79" count="33" type="stmt"/>
1152
+ <line num="72" count="1" type="stmt"/>
1153
+ <line num="73" count="1" type="stmt"/>
1154
+ <line num="78" count="1" type="stmt"/>
1206
1155
  <line num="80" count="1" type="stmt"/>
1207
- <line num="81" count="1" type="stmt"/>
1208
- <line num="82" count="1" type="stmt"/>
1209
- <line num="83" count="1" type="stmt"/>
1210
- <line num="85" count="1" type="cond" truecount="1" falsecount="1"/>
1211
- <line num="86" count="0" type="stmt"/>
1212
- <line num="88" count="1" type="stmt"/>
1156
+ <line num="83" count="33" type="stmt"/>
1157
+ <line num="84" count="1" type="stmt"/>
1158
+ <line num="85" count="1" type="stmt"/>
1159
+ <line num="86" count="1" type="stmt"/>
1160
+ <line num="87" count="1" type="stmt"/>
1213
1161
  <line num="89" count="1" type="cond" truecount="1" falsecount="1"/>
1162
+ <line num="90" count="0" type="stmt"/>
1214
1163
  <line num="92" count="1" type="stmt"/>
1215
- <line num="98" count="1" type="stmt"/>
1216
- <line num="99" count="1" type="stmt"/>
1217
- <line num="103" count="0" type="cond" truecount="0" falsecount="2"/>
1218
- <line num="104" count="0" type="stmt"/>
1219
- <line num="105" count="0" type="stmt"/>
1164
+ <line num="93" count="1" type="cond" truecount="1" falsecount="1"/>
1165
+ <line num="96" count="1" type="stmt"/>
1166
+ <line num="102" count="1" type="stmt"/>
1167
+ <line num="103" count="1" type="stmt"/>
1168
+ <line num="107" count="0" type="cond" truecount="0" falsecount="2"/>
1169
+ <line num="108" count="0" type="stmt"/>
1170
+ <line num="109" count="0" type="stmt"/>
1171
+ </file>
1172
+ </package>
1173
+ <package name="api.controllers.query">
1174
+ <metrics statements="95" coveredstatements="70" conditionals="27" coveredconditionals="12" methods="13" coveredmethods="12"/>
1175
+ <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/query/index.js">
1176
+ <metrics statements="87" coveredstatements="62" conditionals="27" coveredconditionals="12" methods="10" coveredmethods="9"/>
1177
+ <line num="1" count="34" type="stmt"/>
1178
+ <line num="2" count="34" type="stmt"/>
1179
+ <line num="7" count="34" type="stmt"/>
1180
+ <line num="8" count="34" type="stmt"/>
1181
+ <line num="9" count="34" type="stmt"/>
1182
+ <line num="10" count="34" type="stmt"/>
1183
+ <line num="11" count="34" type="stmt"/>
1184
+ <line num="13" count="34" type="stmt"/>
1185
+ <line num="17" count="5" type="stmt"/>
1186
+ <line num="18" count="5" type="cond" truecount="2" falsecount="0"/>
1187
+ <line num="19" count="5" type="stmt"/>
1188
+ <line num="20" count="4" type="cond" truecount="1" falsecount="1"/>
1189
+ <line num="21" count="4" type="stmt"/>
1190
+ <line num="24" count="5" type="cond" truecount="2" falsecount="0"/>
1191
+ <line num="27" count="34" type="stmt"/>
1192
+ <line num="28" count="2" type="stmt"/>
1193
+ <line num="30" count="2" type="stmt"/>
1194
+ <line num="36" count="2" type="stmt"/>
1195
+ <line num="39" count="34" type="stmt"/>
1196
+ <line num="40" count="0" type="stmt"/>
1197
+ <line num="41" count="0" type="stmt"/>
1198
+ <line num="43" count="0" type="stmt"/>
1199
+ <line num="44" count="0" type="stmt"/>
1200
+ <line num="47" count="0" type="cond" truecount="0" falsecount="2"/>
1201
+ <line num="49" count="0" type="stmt"/>
1202
+ <line num="50" count="0" type="stmt"/>
1203
+ <line num="60" count="0" type="stmt"/>
1204
+ <line num="61" count="0" type="stmt"/>
1205
+ <line num="62" count="0" type="stmt"/>
1206
+ <line num="63" count="0" type="stmt"/>
1207
+ <line num="66" count="0" type="stmt"/>
1208
+ <line num="69" count="0" type="stmt"/>
1209
+ <line num="71" count="0" type="stmt"/>
1210
+ <line num="75" count="0" type="stmt"/>
1211
+ <line num="78" count="34" type="stmt"/>
1212
+ <line num="79" count="20" type="stmt"/>
1213
+ <line num="80" count="20" type="stmt"/>
1214
+ <line num="82" count="20" type="cond" truecount="1" falsecount="1"/>
1215
+ <line num="83" count="20" type="stmt"/>
1216
+ <line num="86" count="20" type="stmt"/>
1217
+ <line num="87" count="20" type="stmt"/>
1218
+ <line num="89" count="20" type="stmt"/>
1219
+ <line num="90" count="20" type="stmt"/>
1220
+ <line num="94" count="4" type="stmt"/>
1221
+ <line num="97" count="4" type="stmt"/>
1222
+ <line num="98" count="0" type="cond" truecount="0" falsecount="2"/>
1223
+ <line num="99" count="0" type="stmt"/>
1224
+ <line num="101" count="0" type="cond" truecount="0" falsecount="2"/>
1225
+ <line num="103" count="0" type="stmt"/>
1226
+ <line num="104" count="0" type="cond" truecount="0" falsecount="2"/>
1227
+ <line num="106" count="0" type="stmt"/>
1228
+ <line num="110" count="0" type="stmt"/>
1229
+ <line num="114" count="4" type="cond" truecount="1" falsecount="1"/>
1230
+ <line num="119" count="0" type="stmt"/>
1231
+ <line num="120" count="0" type="stmt"/>
1232
+ <line num="128" count="0" type="stmt"/>
1233
+ <line num="131" count="4" type="stmt"/>
1234
+ <line num="134" count="34" type="stmt"/>
1235
+ <line num="135" count="3" type="stmt"/>
1236
+ <line num="136" count="3" type="stmt"/>
1237
+ <line num="138" count="3" type="cond" truecount="2" falsecount="0"/>
1238
+ <line num="139" count="1" type="stmt"/>
1239
+ <line num="140" count="1" type="stmt"/>
1240
+ <line num="142" count="3" type="stmt"/>
1241
+ <line num="145" count="34" type="stmt"/>
1242
+ <line num="146" count="2" type="stmt"/>
1243
+ <line num="148" count="2" type="stmt"/>
1244
+ <line num="150" count="2" type="stmt"/>
1245
+ <line num="151" count="2" type="stmt"/>
1246
+ <line num="153" count="2" type="stmt"/>
1247
+ <line num="154" count="2" type="stmt"/>
1248
+ <line num="161" count="1" type="stmt"/>
1249
+ <line num="168" count="1" type="stmt"/>
1250
+ <line num="172" count="34" type="stmt"/>
1251
+ <line num="173" count="2" type="stmt"/>
1252
+ <line num="175" count="2" type="stmt"/>
1253
+ <line num="176" count="2" type="stmt"/>
1254
+ <line num="178" count="2" type="stmt"/>
1255
+ <line num="184" count="2" type="stmt"/>
1256
+ <line num="185" count="2" type="stmt"/>
1257
+ <line num="191" count="1" type="stmt"/>
1258
+ <line num="193" count="1" type="stmt"/>
1259
+ <line num="197" count="34" type="stmt"/>
1260
+ <line num="198" count="1" type="stmt"/>
1261
+ <line num="199" count="1" type="stmt"/>
1262
+ <line num="200" count="1" type="stmt"/>
1263
+ <line num="201" count="1" type="stmt"/>
1264
+ </file>
1265
+ <file name="validation.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/query/validation.js">
1266
+ <metrics statements="8" coveredstatements="8" conditionals="0" coveredconditionals="0" methods="3" coveredmethods="3"/>
1267
+ <line num="1" count="35" type="stmt"/>
1268
+ <line num="2" count="35" type="stmt"/>
1269
+ <line num="4" count="35" type="stmt"/>
1270
+ <line num="5" count="28" type="stmt"/>
1271
+ <line num="26" count="35" type="stmt"/>
1272
+ <line num="28" count="23" type="stmt"/>
1273
+ <line num="31" count="35" type="stmt"/>
1274
+ <line num="33" count="23" type="stmt"/>
1220
1275
  </file>
1221
1276
  </package>
1222
1277
  <package name="api.controllers.row">
@@ -2463,7 +2518,7 @@
2463
2518
  </file>
2464
2519
  </package>
2465
2520
  <package name="api.routes">
2466
- <metrics statements="271" coveredstatements="264" conditionals="11" coveredconditionals="7" methods="12" coveredmethods="12"/>
2521
+ <metrics statements="268" coveredstatements="261" conditionals="11" coveredconditionals="7" methods="10" coveredmethods="10"/>
2467
2522
  <file name="analytics.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/routes/analytics.js">
2468
2523
  <metrics statements="5" coveredstatements="5" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
2469
2524
  <line num="1" count="23" type="stmt"/>
@@ -2675,19 +2730,16 @@
2675
2730
  <line num="44" count="23" type="stmt"/>
2676
2731
  </file>
2677
2732
  <file name="query.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/routes/query.js">
2678
- <metrics statements="12" coveredstatements="12" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="2"/>
2733
+ <metrics statements="9" coveredstatements="9" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
2679
2734
  <line num="1" count="23" type="stmt"/>
2680
2735
  <line num="2" count="23" type="stmt"/>
2681
2736
  <line num="3" count="23" type="stmt"/>
2682
- <line num="4" count="23" type="stmt"/>
2683
- <line num="9" count="23" type="stmt"/>
2684
- <line num="10" count="23" type="stmt"/>
2685
- <line num="15" count="23" type="stmt"/>
2737
+ <line num="8" count="23" type="stmt"/>
2738
+ <line num="13" count="23" type="stmt"/>
2686
2739
  <line num="17" count="23" type="stmt"/>
2740
+ <line num="19" count="23" type="stmt"/>
2687
2741
  <line num="21" count="23" type="stmt"/>
2688
- <line num="41" count="23" type="stmt"/>
2689
- <line num="51" count="23" type="stmt"/>
2690
- <line num="86" count="23" type="stmt"/>
2742
+ <line num="57" count="23" type="stmt"/>
2691
2743
  </file>
2692
2744
  <file name="role.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/routes/role.js">
2693
2745
  <metrics statements="11" coveredstatements="11" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
@@ -2795,7 +2847,7 @@
2795
2847
  <line num="7" count="23" type="stmt"/>
2796
2848
  <line num="9" count="23" type="stmt"/>
2797
2849
  <line num="11" count="23" type="stmt"/>
2798
- <line num="43" count="23" type="stmt"/>
2850
+ <line num="53" count="23" type="stmt"/>
2799
2851
  </file>
2800
2852
  <file name="view.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/routes/view.js">
2801
2853
  <metrics statements="9" coveredstatements="9" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
@@ -2824,7 +2876,7 @@
2824
2876
  </file>
2825
2877
  </package>
2826
2878
  <package name="automations">
2827
- <metrics statements="202" coveredstatements="170" conditionals="94" coveredconditionals="75" methods="25" coveredmethods="20"/>
2879
+ <metrics statements="209" coveredstatements="177" conditionals="96" coveredconditionals="77" methods="26" coveredmethods="21"/>
2828
2880
  <file name="actions.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/actions.js">
2829
2881
  <metrics statements="23" coveredstatements="23" conditionals="2" coveredconditionals="1" methods="0" coveredmethods="0"/>
2830
2882
  <line num="1" count="34" type="stmt"/>
@@ -2976,7 +3028,7 @@
2976
3028
  <line num="111" count="33" type="stmt"/>
2977
3029
  </file>
2978
3030
  <file name="utils.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/utils.js">
2979
- <metrics statements="67" coveredstatements="53" conditionals="36" coveredconditionals="29" methods="9" coveredmethods="8"/>
3031
+ <metrics statements="74" coveredstatements="60" conditionals="38" coveredconditionals="31" methods="10" coveredmethods="9"/>
2980
3032
  <line num="1" count="33" type="stmt"/>
2981
3033
  <line num="2" count="33" type="stmt"/>
2982
3034
  <line num="3" count="33" type="stmt"/>
@@ -2986,64 +3038,71 @@
2986
3038
  <line num="7" count="33" type="stmt"/>
2987
3039
  <line num="8" count="33" type="stmt"/>
2988
3040
  <line num="9" count="33" type="stmt"/>
2989
- <line num="11" count="33" type="stmt"/>
3041
+ <line num="10" count="33" type="stmt"/>
2990
3042
  <line num="12" count="33" type="stmt"/>
2991
3043
  <line num="13" count="33" type="stmt"/>
2992
- <line num="15" count="33" type="stmt"/>
2993
- <line num="16" count="10" type="stmt"/>
2994
- <line num="18" count="10" type="stmt"/>
2995
- <line num="20" count="0" type="stmt"/>
2996
- <line num="23" count="0" type="stmt"/>
2997
- <line num="27" count="33" type="stmt"/>
2998
- <line num="28" count="2" type="stmt"/>
2999
- <line num="33" count="2" type="cond" truecount="3" falsecount="1"/>
3000
- <line num="34" count="0" type="stmt"/>
3001
- <line num="36" count="2" type="stmt"/>
3002
- <line num="40" count="2" type="stmt"/>
3044
+ <line num="14" count="33" type="stmt"/>
3045
+ <line num="16" count="33" type="stmt"/>
3046
+ <line num="17" count="10" type="stmt"/>
3047
+ <line num="19" count="10" type="stmt"/>
3048
+ <line num="21" count="0" type="stmt"/>
3049
+ <line num="24" count="0" type="stmt"/>
3050
+ <line num="28" count="33" type="stmt"/>
3051
+ <line num="29" count="2" type="stmt"/>
3052
+ <line num="34" count="2" type="cond" truecount="3" falsecount="1"/>
3053
+ <line num="35" count="0" type="stmt"/>
3054
+ <line num="37" count="2" type="stmt"/>
3055
+ <line num="41" count="2" type="stmt"/>
3003
3056
  <line num="46" count="33" type="stmt"/>
3004
- <line num="47" count="186" type="stmt"/>
3005
- <line num="48" count="186" type="stmt"/>
3006
- <line num="49" count="186" type="stmt"/>
3007
- <line num="50" count="0" type="cond" truecount="0" falsecount="2"/>
3008
- <line num="51" count="0" type="stmt"/>
3009
- <line num="52" count="0" type="stmt"/>
3010
- <line num="55" count="186" type="stmt"/>
3011
- <line num="63" count="33" type="stmt"/>
3012
- <line num="64" count="1" type="cond" truecount="1" falsecount="1"/>
3013
- <line num="66" count="1" type="stmt"/>
3014
- <line num="73" count="1" type="cond" truecount="1" falsecount="1"/>
3015
- <line num="75" count="0" type="stmt"/>
3016
- <line num="76" count="0" type="stmt"/>
3017
- <line num="84" count="0" type="stmt"/>
3018
- <line num="85" count="0" type="stmt"/>
3057
+ <line num="47" count="66" type="stmt"/>
3058
+ <line num="48" count="66" type="stmt"/>
3059
+ <line num="49" count="726" type="cond" truecount="2" falsecount="0"/>
3060
+ <line num="50" count="33" type="stmt"/>
3061
+ <line num="53" count="66" type="stmt"/>
3062
+ <line num="57" count="33" type="stmt"/>
3063
+ <line num="58" count="186" type="stmt"/>
3064
+ <line num="59" count="186" type="stmt"/>
3065
+ <line num="60" count="186" type="stmt"/>
3066
+ <line num="61" count="0" type="cond" truecount="0" falsecount="2"/>
3067
+ <line num="62" count="0" type="stmt"/>
3068
+ <line num="63" count="0" type="stmt"/>
3069
+ <line num="66" count="186" type="stmt"/>
3070
+ <line num="74" count="33" type="stmt"/>
3071
+ <line num="75" count="1" type="cond" truecount="1" falsecount="1"/>
3072
+ <line num="77" count="1" type="stmt"/>
3073
+ <line num="84" count="1" type="cond" truecount="1" falsecount="1"/>
3019
3074
  <line num="86" count="0" type="stmt"/>
3020
3075
  <line num="87" count="0" type="stmt"/>
3021
- <line num="88" count="0" type="stmt"/>
3022
- <line num="90" count="1" type="stmt"/>
3023
- <line num="101" count="33" type="stmt"/>
3024
- <line num="102" count="23" type="cond" truecount="2" falsecount="0"/>
3025
- <line num="103" count="23" type="cond" truecount="2" falsecount="0"/>
3026
- <line num="105" count="23" type="cond" truecount="3" falsecount="0"/>
3027
- <line num="107" count="70" type="stmt"/>
3076
+ <line num="95" count="0" type="stmt"/>
3077
+ <line num="96" count="0" type="stmt"/>
3078
+ <line num="97" count="0" type="stmt"/>
3079
+ <line num="98" count="0" type="stmt"/>
3080
+ <line num="99" count="0" type="stmt"/>
3081
+ <line num="101" count="1" type="stmt"/>
3082
+ <line num="112" count="33" type="stmt"/>
3083
+ <line num="113" count="23" type="cond" truecount="2" falsecount="0"/>
3028
3084
  <line num="114" count="23" type="cond" truecount="2" falsecount="0"/>
3029
- <line num="119" count="1" type="stmt"/>
3030
- <line num="120" count="1" type="stmt"/>
3031
- <line num="122" count="1" type="stmt"/>
3032
- <line num="123" count="1" type="stmt"/>
3033
- <line num="128" count="1" type="cond" truecount="1" falsecount="1"/>
3034
- <line num="129" count="1" type="stmt"/>
3085
+ <line num="116" count="23" type="cond" truecount="3" falsecount="0"/>
3086
+ <line num="118" count="70" type="stmt"/>
3087
+ <line num="125" count="23" type="cond" truecount="2" falsecount="0"/>
3035
3088
  <line num="130" count="1" type="stmt"/>
3036
- <line num="132" count="1" type="stmt"/>
3037
- <line num="138" count="23" type="cond" truecount="2" falsecount="0"/>
3038
- <line num="142" count="1" type="stmt"/>
3039
- <line num="152" count="1" type="stmt"/>
3089
+ <line num="131" count="1" type="stmt"/>
3090
+ <line num="133" count="1" type="stmt"/>
3091
+ <line num="134" count="1" type="stmt"/>
3092
+ <line num="139" count="1" type="cond" truecount="1" falsecount="1"/>
3093
+ <line num="140" count="1" type="stmt"/>
3094
+ <line num="141" count="1" type="stmt"/>
3095
+ <line num="143" count="1" type="stmt"/>
3096
+ <line num="149" count="23" type="cond" truecount="2" falsecount="0"/>
3040
3097
  <line num="153" count="1" type="stmt"/>
3041
- <line num="154" count="1" type="stmt"/>
3042
- <line num="158" count="1" type="stmt"/>
3043
- <line num="159" count="1" type="stmt"/>
3044
- <line num="164" count="23" type="stmt"/>
3045
- <line num="172" count="33" type="stmt"/>
3046
- <line num="173" count="0" type="stmt"/>
3098
+ <line num="163" count="1" type="stmt"/>
3099
+ <line num="164" count="1" type="stmt"/>
3100
+ <line num="165" count="1" type="stmt"/>
3101
+ <line num="169" count="1" type="stmt"/>
3102
+ <line num="170" count="1" type="stmt"/>
3103
+ <line num="175" count="23" type="stmt"/>
3104
+ <line num="183" count="33" type="stmt"/>
3105
+ <line num="184" count="0" type="stmt"/>
3047
3106
  </file>
3048
3107
  </package>
3049
3108
  <package name="automations.steps">
@@ -3209,26 +3268,26 @@
3209
3268
  <line num="3" count="34" type="stmt"/>
3210
3269
  <line num="5" count="34" type="stmt"/>
3211
3270
  <line num="13" count="34" type="stmt"/>
3212
- <line num="21" count="34" type="stmt"/>
3213
- <line num="80" count="34" type="stmt"/>
3214
- <line num="81" count="2" type="stmt"/>
3215
- <line num="82" count="2" type="cond" truecount="1" falsecount="1"/>
3216
- <line num="83" count="2" type="stmt"/>
3217
- <line num="85" count="2" type="stmt"/>
3218
- <line num="88" count="2" type="cond" truecount="1" falsecount="1"/>
3219
- <line num="89" count="0" type="stmt"/>
3220
- <line num="91" count="0" type="cond" truecount="0" falsecount="2"/>
3221
- <line num="92" count="0" type="stmt"/>
3222
- <line num="94" count="0" type="stmt"/>
3223
- <line num="100" count="2" type="cond" truecount="2" falsecount="0"/>
3224
- <line num="105" count="1" type="stmt"/>
3225
- <line num="109" count="1" type="stmt"/>
3226
- <line num="115" count="2" type="stmt"/>
3227
- <line num="117" count="2" type="cond" truecount="2" falsecount="0"/>
3228
- <line num="118" count="1" type="stmt"/>
3271
+ <line num="19" count="34" type="stmt"/>
3272
+ <line num="79" count="34" type="stmt"/>
3273
+ <line num="80" count="2" type="stmt"/>
3274
+ <line num="81" count="2" type="cond" truecount="1" falsecount="1"/>
3275
+ <line num="82" count="2" type="stmt"/>
3276
+ <line num="84" count="2" type="stmt"/>
3277
+ <line num="87" count="2" type="cond" truecount="1" falsecount="1"/>
3278
+ <line num="88" count="0" type="stmt"/>
3279
+ <line num="90" count="0" type="cond" truecount="0" falsecount="2"/>
3280
+ <line num="91" count="0" type="stmt"/>
3281
+ <line num="93" count="0" type="stmt"/>
3282
+ <line num="99" count="2" type="cond" truecount="2" falsecount="0"/>
3283
+ <line num="104" count="1" type="stmt"/>
3284
+ <line num="108" count="1" type="stmt"/>
3285
+ <line num="114" count="2" type="stmt"/>
3286
+ <line num="116" count="2" type="cond" truecount="2" falsecount="0"/>
3287
+ <line num="117" count="1" type="stmt"/>
3288
+ <line num="119" count="2" type="stmt"/>
3229
3289
  <line num="120" count="2" type="stmt"/>
3230
3290
  <line num="121" count="2" type="stmt"/>
3231
- <line num="122" count="2" type="stmt"/>
3232
3291
  </file>
3233
3292
  <file name="queryRows.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/steps/queryRows.js">
3234
3293
  <metrics statements="23" coveredstatements="22" conditionals="11" coveredconditionals="7" methods="2" coveredmethods="2"/>
@@ -3382,27 +3441,27 @@
3382
3441
  <metrics statements="28" coveredstatements="28" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
3383
3442
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/constants/index.js">
3384
3443
  <metrics statements="21" coveredstatements="21" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
3385
- <line num="1" count="41" type="stmt"/>
3386
- <line num="2" count="41" type="stmt"/>
3387
- <line num="3" count="41" type="stmt"/>
3388
- <line num="5" count="41" type="stmt"/>
3389
- <line num="9" count="41" type="stmt"/>
3390
- <line num="22" count="41" type="stmt"/>
3391
- <line num="23" count="41" type="stmt"/>
3392
- <line num="32" count="41" type="stmt"/>
3393
- <line num="48" count="41" type="stmt"/>
3394
- <line num="55" count="41" type="stmt"/>
3395
- <line num="61" count="41" type="stmt"/>
3396
- <line num="67" count="41" type="stmt"/>
3397
- <line num="78" count="41" type="stmt"/>
3398
- <line num="83" count="41" type="stmt"/>
3399
- <line num="145" count="41" type="stmt"/>
3400
- <line num="153" count="41" type="stmt"/>
3401
- <line num="154" count="41" type="stmt"/>
3402
- <line num="161" count="41" type="stmt"/>
3403
- <line num="166" count="41" type="stmt"/>
3404
- <line num="172" count="41" type="stmt"/>
3405
- <line num="178" count="41" type="stmt"/>
3444
+ <line num="1" count="42" type="stmt"/>
3445
+ <line num="2" count="42" type="stmt"/>
3446
+ <line num="3" count="42" type="stmt"/>
3447
+ <line num="5" count="42" type="stmt"/>
3448
+ <line num="9" count="42" type="stmt"/>
3449
+ <line num="22" count="42" type="stmt"/>
3450
+ <line num="23" count="42" type="stmt"/>
3451
+ <line num="32" count="42" type="stmt"/>
3452
+ <line num="48" count="42" type="stmt"/>
3453
+ <line num="55" count="42" type="stmt"/>
3454
+ <line num="61" count="42" type="stmt"/>
3455
+ <line num="67" count="42" type="stmt"/>
3456
+ <line num="78" count="42" type="stmt"/>
3457
+ <line num="83" count="42" type="stmt"/>
3458
+ <line num="145" count="42" type="stmt"/>
3459
+ <line num="153" count="42" type="stmt"/>
3460
+ <line num="154" count="42" type="stmt"/>
3461
+ <line num="161" count="42" type="stmt"/>
3462
+ <line num="166" count="42" type="stmt"/>
3463
+ <line num="172" count="42" type="stmt"/>
3464
+ <line num="178" count="42" type="stmt"/>
3406
3465
  </file>
3407
3466
  <file name="layouts.js" path="/home/runner/work/budibase/budibase/packages/server/src/constants/layouts.js">
3408
3467
  <metrics statements="4" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
@@ -3419,26 +3478,26 @@
3419
3478
  </file>
3420
3479
  </package>
3421
3480
  <package name="db">
3422
- <metrics statements="153" coveredstatements="128" conditionals="63" coveredconditionals="21" methods="35" coveredmethods="28"/>
3481
+ <metrics statements="155" coveredstatements="129" conditionals="63" coveredconditionals="21" methods="36" coveredmethods="28"/>
3423
3482
  <file name="client.js" path="/home/runner/work/budibase/budibase/packages/server/src/db/client.js">
3424
3483
  <metrics statements="17" coveredstatements="17" conditionals="4" coveredconditionals="3" methods="0" coveredmethods="0"/>
3425
- <line num="1" count="43" type="stmt"/>
3426
- <line num="2" count="43" type="stmt"/>
3427
- <line num="3" count="43" type="stmt"/>
3428
- <line num="4" count="43" type="stmt"/>
3429
- <line num="5" count="43" type="stmt"/>
3430
- <line num="6" count="43" type="stmt"/>
3431
- <line num="8" count="43" type="cond" truecount="2" falsecount="0"/>
3432
- <line num="10" count="43" type="stmt"/>
3433
- <line num="11" count="43" type="stmt"/>
3434
- <line num="12" count="43" type="stmt"/>
3435
- <line num="14" count="43" type="stmt"/>
3436
- <line num="18" count="43" type="cond" truecount="1" falsecount="1"/>
3437
- <line num="19" count="43" type="stmt"/>
3438
- <line num="20" count="43" type="stmt"/>
3439
- <line num="26" count="43" type="stmt"/>
3440
- <line num="29" count="43" type="stmt"/>
3441
- <line num="31" count="43" type="stmt"/>
3484
+ <line num="1" count="44" type="stmt"/>
3485
+ <line num="2" count="44" type="stmt"/>
3486
+ <line num="3" count="44" type="stmt"/>
3487
+ <line num="4" count="44" type="stmt"/>
3488
+ <line num="5" count="44" type="stmt"/>
3489
+ <line num="6" count="44" type="stmt"/>
3490
+ <line num="8" count="44" type="cond" truecount="2" falsecount="0"/>
3491
+ <line num="10" count="44" type="stmt"/>
3492
+ <line num="11" count="44" type="stmt"/>
3493
+ <line num="12" count="44" type="stmt"/>
3494
+ <line num="14" count="44" type="stmt"/>
3495
+ <line num="18" count="44" type="cond" truecount="1" falsecount="1"/>
3496
+ <line num="19" count="44" type="stmt"/>
3497
+ <line num="20" count="44" type="stmt"/>
3498
+ <line num="26" count="44" type="stmt"/>
3499
+ <line num="29" count="44" type="stmt"/>
3500
+ <line num="31" count="44" type="stmt"/>
3442
3501
  </file>
3443
3502
  <file name="inMemoryView.js" path="/home/runner/work/budibase/budibase/packages/server/src/db/inMemoryView.js">
3444
3503
  <metrics statements="23" coveredstatements="6" conditionals="8" coveredconditionals="0" methods="4" coveredmethods="0"/>
@@ -3468,125 +3527,127 @@
3468
3527
  </file>
3469
3528
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/db/index.js">
3470
3529
  <metrics statements="2" coveredstatements="2" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
3471
- <line num="1" count="43" type="stmt"/>
3472
- <line num="3" count="43" type="stmt"/>
3530
+ <line num="1" count="44" type="stmt"/>
3531
+ <line num="3" count="44" type="stmt"/>
3473
3532
  </file>
3474
3533
  <file name="newid.js" path="/home/runner/work/budibase/budibase/packages/server/src/db/newid.js">
3475
3534
  <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
3476
- <line num="1" count="47" type="stmt"/>
3477
- <line num="3" count="47" type="stmt"/>
3478
- <line num="4" count="630" type="stmt"/>
3535
+ <line num="1" count="49" type="stmt"/>
3536
+ <line num="3" count="49" type="stmt"/>
3537
+ <line num="4" count="683" type="stmt"/>
3479
3538
  </file>
3480
3539
  <file name="utils.js" path="/home/runner/work/budibase/budibase/packages/server/src/db/utils.js">
3481
- <metrics statements="108" coveredstatements="100" conditionals="51" coveredconditionals="18" methods="30" coveredmethods="27"/>
3482
- <line num="1" count="47" type="stmt"/>
3483
- <line num="12" count="47" type="stmt"/>
3484
- <line num="14" count="47" type="stmt"/>
3485
- <line num="16" count="47" type="stmt"/>
3486
- <line num="22" count="47" type="stmt"/>
3487
- <line num="45" count="47" type="stmt"/>
3488
- <line num="50" count="47" type="stmt"/>
3489
- <line num="54" count="47" type="stmt"/>
3490
- <line num="58" count="47" type="stmt"/>
3491
- <line num="60" count="47" type="stmt"/>
3492
- <line num="68" count="47" type="stmt"/>
3493
- <line num="69" count="47" type="stmt"/>
3494
- <line num="70" count="47" type="stmt"/>
3495
- <line num="71" count="47" type="stmt"/>
3496
- <line num="72" count="47" type="stmt"/>
3497
- <line num="73" count="47" type="stmt"/>
3498
- <line num="74" count="47" type="stmt"/>
3499
- <line num="75" count="47" type="stmt"/>
3500
- <line num="76" count="47" type="stmt"/>
3501
- <line num="77" count="47" type="stmt"/>
3502
- <line num="78" count="47" type="stmt"/>
3503
- <line num="79" count="47" type="stmt"/>
3504
- <line num="80" count="47" type="stmt"/>
3505
- <line num="81" count="47" type="stmt"/>
3506
- <line num="83" count="47" type="stmt"/>
3507
- <line num="84" count="47" type="stmt"/>
3508
- <line num="86" count="47" type="stmt"/>
3509
- <line num="87" count="74" type="stmt"/>
3510
- <line num="103" count="606" type="cond" truecount="2" falsecount="0"/>
3511
- <line num="104" count="593" type="stmt"/>
3512
- <line num="106" count="606" type="stmt"/>
3513
- <line num="113" count="47" type="stmt"/>
3514
- <line num="118" count="47" type="cond" truecount="0" falsecount="2"/>
3515
- <line num="119" count="3" type="stmt"/>
3516
- <line num="126" count="47" type="stmt"/>
3517
- <line num="127" count="99" type="stmt"/>
3518
- <line num="138" count="47" type="cond" truecount="0" falsecount="3"/>
3519
- <line num="139" count="11" type="cond" truecount="1" falsecount="1"/>
3520
- <line num="140" count="0" type="stmt"/>
3521
- <line num="143" count="11" type="cond" truecount="1" falsecount="1"/>
3522
- <line num="145" count="11" type="stmt"/>
3523
- <line num="154" count="47" type="cond" truecount="1" falsecount="0"/>
3524
- <line num="155" count="201" type="cond" truecount="2" falsecount="0"/>
3525
- <line num="156" count="201" type="stmt"/>
3526
- <line num="162" count="47" type="cond" truecount="0" falsecount="2"/>
3527
- <line num="163" count="3" type="stmt"/>
3528
- <line num="171" count="47" type="stmt"/>
3529
- <line num="172" count="133" type="stmt"/>
3530
- <line num="178" count="47" type="stmt"/>
3531
- <line num="179" count="2" type="stmt"/>
3532
- <line num="180" count="2" type="cond" truecount="4" falsecount="0"/>
3533
- <line num="181" count="1" type="stmt"/>
3534
- <line num="183" count="1" type="stmt"/>
3535
- <line num="189" count="47" type="cond" truecount="0" falsecount="2"/>
3536
- <line num="190" count="204" type="stmt"/>
3537
- <line num="197" count="47" type="stmt"/>
3538
- <line num="198" count="20" type="stmt"/>
3539
- <line num="212" count="47" type="stmt"/>
3540
- <line num="220" count="9" type="stmt"/>
3540
+ <metrics statements="110" coveredstatements="101" conditionals="51" coveredconditionals="18" methods="31" coveredmethods="27"/>
3541
+ <line num="1" count="49" type="stmt"/>
3542
+ <line num="12" count="49" type="stmt"/>
3543
+ <line num="14" count="49" type="stmt"/>
3544
+ <line num="16" count="49" type="stmt"/>
3545
+ <line num="22" count="49" type="stmt"/>
3546
+ <line num="46" count="49" type="stmt"/>
3547
+ <line num="51" count="49" type="stmt"/>
3548
+ <line num="55" count="49" type="stmt"/>
3549
+ <line num="59" count="49" type="stmt"/>
3550
+ <line num="61" count="49" type="stmt"/>
3551
+ <line num="69" count="49" type="stmt"/>
3552
+ <line num="70" count="49" type="stmt"/>
3553
+ <line num="71" count="49" type="stmt"/>
3554
+ <line num="72" count="49" type="stmt"/>
3555
+ <line num="73" count="49" type="stmt"/>
3556
+ <line num="74" count="49" type="stmt"/>
3557
+ <line num="75" count="49" type="stmt"/>
3558
+ <line num="76" count="49" type="stmt"/>
3559
+ <line num="77" count="49" type="stmt"/>
3560
+ <line num="78" count="49" type="stmt"/>
3561
+ <line num="79" count="49" type="stmt"/>
3562
+ <line num="80" count="49" type="stmt"/>
3563
+ <line num="81" count="49" type="stmt"/>
3564
+ <line num="82" count="49" type="stmt"/>
3565
+ <line num="84" count="49" type="stmt"/>
3566
+ <line num="85" count="49" type="stmt"/>
3567
+ <line num="87" count="49" type="stmt"/>
3568
+ <line num="88" count="74" type="stmt"/>
3569
+ <line num="104" count="606" type="cond" truecount="2" falsecount="0"/>
3570
+ <line num="105" count="593" type="stmt"/>
3571
+ <line num="107" count="606" type="stmt"/>
3572
+ <line num="114" count="49" type="stmt"/>
3573
+ <line num="119" count="49" type="cond" truecount="0" falsecount="2"/>
3574
+ <line num="120" count="3" type="stmt"/>
3575
+ <line num="127" count="49" type="stmt"/>
3576
+ <line num="128" count="99" type="stmt"/>
3577
+ <line num="139" count="49" type="cond" truecount="0" falsecount="3"/>
3578
+ <line num="140" count="11" type="cond" truecount="1" falsecount="1"/>
3579
+ <line num="141" count="0" type="stmt"/>
3580
+ <line num="144" count="11" type="cond" truecount="1" falsecount="1"/>
3581
+ <line num="146" count="11" type="stmt"/>
3582
+ <line num="155" count="49" type="cond" truecount="1" falsecount="0"/>
3583
+ <line num="156" count="201" type="cond" truecount="2" falsecount="0"/>
3584
+ <line num="157" count="201" type="stmt"/>
3585
+ <line num="163" count="49" type="cond" truecount="0" falsecount="2"/>
3586
+ <line num="164" count="3" type="stmt"/>
3587
+ <line num="172" count="49" type="stmt"/>
3588
+ <line num="173" count="133" type="stmt"/>
3589
+ <line num="179" count="49" type="stmt"/>
3590
+ <line num="180" count="2" type="stmt"/>
3591
+ <line num="181" count="2" type="cond" truecount="4" falsecount="0"/>
3592
+ <line num="182" count="1" type="stmt"/>
3593
+ <line num="184" count="1" type="stmt"/>
3594
+ <line num="190" count="49" type="cond" truecount="0" falsecount="2"/>
3595
+ <line num="191" count="204" type="stmt"/>
3596
+ <line num="198" count="49" type="stmt"/>
3597
+ <line num="199" count="20" type="stmt"/>
3598
+ <line num="213" count="49" type="stmt"/>
3541
3599
  <line num="221" count="9" type="stmt"/>
3542
3600
  <line num="222" count="9" type="stmt"/>
3543
3601
  <line num="223" count="9" type="stmt"/>
3544
- <line num="229" count="47" type="cond" truecount="0" falsecount="1"/>
3545
- <line num="230" count="0" type="stmt"/>
3546
- <line num="237" count="47" type="cond" truecount="0" falsecount="1"/>
3547
- <line num="238" count="179" type="stmt"/>
3548
- <line num="239" count="179" type="cond" truecount="1" falsecount="1"/>
3549
- <line num="240" count="0" type="stmt"/>
3550
- <line num="242" count="179" type="stmt"/>
3551
- <line num="249" count="47" type="stmt"/>
3552
- <line num="250" count="179" type="stmt"/>
3602
+ <line num="224" count="9" type="stmt"/>
3603
+ <line num="230" count="49" type="cond" truecount="0" falsecount="1"/>
3604
+ <line num="231" count="0" type="stmt"/>
3605
+ <line num="238" count="49" type="cond" truecount="0" falsecount="1"/>
3606
+ <line num="239" count="179" type="stmt"/>
3607
+ <line num="240" count="179" type="cond" truecount="1" falsecount="1"/>
3608
+ <line num="241" count="0" type="stmt"/>
3609
+ <line num="243" count="179" type="stmt"/>
3610
+ <line num="250" count="49" type="stmt"/>
3553
3611
  <line num="251" count="179" type="stmt"/>
3554
3612
  <line num="252" count="179" type="stmt"/>
3555
- <line num="259" count="47" type="stmt"/>
3556
- <line num="260" count="5" type="cond" truecount="2" falsecount="0"/>
3557
- <line num="266" count="47" type="cond" truecount="0" falsecount="2"/>
3558
- <line num="267" count="189" type="stmt"/>
3559
- <line num="274" count="47" type="stmt"/>
3560
- <line num="275" count="19" type="stmt"/>
3561
- <line num="281" count="47" type="cond" truecount="0" falsecount="2"/>
3562
- <line num="282" count="191" type="stmt"/>
3563
- <line num="289" count="47" type="stmt"/>
3564
- <line num="290" count="10" type="stmt"/>
3565
- <line num="296" count="47" type="cond" truecount="0" falsecount="2"/>
3566
- <line num="297" count="2" type="stmt"/>
3567
- <line num="304" count="47" type="cond" truecount="1" falsecount="1"/>
3568
- <line num="305" count="24" type="stmt"/>
3569
- <line num="313" count="47" type="cond" truecount="0" falsecount="2"/>
3570
- <line num="314" count="3" type="stmt"/>
3571
- <line num="321" count="47" type="stmt"/>
3572
- <line num="322" count="20" type="stmt"/>
3573
- <line num="330" count="47" type="cond" truecount="0" falsecount="2"/>
3574
- <line num="331" count="3" type="cond" truecount="2" falsecount="0"/>
3575
- <line num="332" count="2" type="stmt"/>
3576
- <line num="335" count="1" type="stmt"/>
3577
- <line num="342" count="47" type="stmt"/>
3578
- <line num="343" count="10" type="stmt"/>
3579
- <line num="346" count="47" type="cond" truecount="0" falsecount="2"/>
3580
- <line num="347" count="0" type="stmt"/>
3581
- <line num="348" count="0" type="cond" truecount="0" falsecount="2"/>
3582
- <line num="349" count="0" type="stmt"/>
3583
- <line num="351" count="0" type="stmt"/>
3584
- <line num="354" count="47" type="stmt"/>
3585
- <line num="355" count="1" type="stmt"/>
3586
- <line num="358" count="47" type="cond" truecount="0" falsecount="1"/>
3587
- <line num="359" count="0" type="stmt"/>
3588
- <line num="365" count="47" type="stmt"/>
3589
- <line num="366" count="60" type="stmt"/>
3613
+ <line num="253" count="179" type="stmt"/>
3614
+ <line num="260" count="49" type="stmt"/>
3615
+ <line num="261" count="5" type="cond" truecount="2" falsecount="0"/>
3616
+ <line num="267" count="49" type="cond" truecount="0" falsecount="2"/>
3617
+ <line num="268" count="189" type="stmt"/>
3618
+ <line num="275" count="49" type="stmt"/>
3619
+ <line num="276" count="19" type="stmt"/>
3620
+ <line num="282" count="49" type="cond" truecount="0" falsecount="2"/>
3621
+ <line num="283" count="191" type="stmt"/>
3622
+ <line num="290" count="49" type="stmt"/>
3623
+ <line num="291" count="10" type="stmt"/>
3624
+ <line num="297" count="49" type="cond" truecount="0" falsecount="2"/>
3625
+ <line num="298" count="2" type="stmt"/>
3626
+ <line num="305" count="49" type="cond" truecount="1" falsecount="1"/>
3627
+ <line num="306" count="24" type="stmt"/>
3628
+ <line num="314" count="49" type="cond" truecount="0" falsecount="2"/>
3629
+ <line num="315" count="3" type="stmt"/>
3630
+ <line num="322" count="49" type="stmt"/>
3631
+ <line num="323" count="73" type="stmt"/>
3632
+ <line num="331" count="49" type="cond" truecount="0" falsecount="2"/>
3633
+ <line num="332" count="3" type="cond" truecount="2" falsecount="0"/>
3634
+ <line num="333" count="2" type="stmt"/>
3635
+ <line num="336" count="1" type="stmt"/>
3636
+ <line num="347" count="49" type="stmt"/>
3637
+ <line num="348" count="0" type="stmt"/>
3638
+ <line num="351" count="49" type="stmt"/>
3639
+ <line num="352" count="10" type="stmt"/>
3640
+ <line num="355" count="49" type="cond" truecount="0" falsecount="2"/>
3641
+ <line num="356" count="0" type="stmt"/>
3642
+ <line num="357" count="0" type="cond" truecount="0" falsecount="2"/>
3643
+ <line num="358" count="0" type="stmt"/>
3644
+ <line num="360" count="0" type="stmt"/>
3645
+ <line num="363" count="49" type="stmt"/>
3646
+ <line num="364" count="1" type="stmt"/>
3647
+ <line num="367" count="49" type="cond" truecount="0" falsecount="1"/>
3648
+ <line num="368" count="0" type="stmt"/>
3649
+ <line num="374" count="49" type="stmt"/>
3650
+ <line num="375" count="60" type="stmt"/>
3590
3651
  </file>
3591
3652
  </package>
3592
3653
  <package name="db.linkedRows">
@@ -3980,7 +4041,7 @@
3980
4041
  <line num="11" count="24" type="stmt"/>
3981
4042
  <line num="14" count="7" type="stmt"/>
3982
4043
  <line num="17" count="24" type="stmt"/>
3983
- <line num="19" count="2246" type="stmt"/>
4044
+ <line num="19" count="2315" type="stmt"/>
3984
4045
  <line num="22" count="151" type="cond" truecount="4" falsecount="0"/>
3985
4046
  <line num="23" count="1" type="stmt"/>
3986
4047
  <line num="26" count="150" type="cond" truecount="2" falsecount="0"/>
@@ -4119,9 +4180,9 @@
4119
4180
  <line num="15" count="0" type="stmt"/>
4120
4181
  <line num="16" count="0" type="stmt"/>
4121
4182
  <line num="18" count="18" type="stmt"/>
4122
- <line num="22" count="23" type="stmt"/>
4183
+ <line num="22" count="35" type="stmt"/>
4123
4184
  <line num="23" count="230" type="stmt"/>
4124
- <line num="26" count="23" type="stmt"/>
4185
+ <line num="26" count="35" type="stmt"/>
4125
4186
  <line num="27" count="46" type="stmt"/>
4126
4187
  </file>
4127
4188
  <file name="resourceId.js" path="/home/runner/work/budibase/budibase/packages/server/src/middleware/resourceId.js">
@@ -4212,9 +4273,10 @@
4212
4273
  </file>
4213
4274
  </package>
4214
4275
  <package name="threads">
4215
- <metrics statements="134" coveredstatements="108" conditionals="53" coveredconditionals="30" methods="22" coveredmethods="20"/>
4276
+ <metrics statements="149" coveredstatements="118" conditionals="63" coveredconditionals="35" methods="24" coveredmethods="22"/>
4216
4277
  <file name="automation.js" path="/home/runner/work/budibase/budibase/packages/server/src/threads/automation.js">
4217
4278
  <metrics statements="76" coveredstatements="64" conditionals="23" coveredconditionals="13" methods="10" coveredmethods="9"/>
4279
+ <line num="1" count="4" type="stmt"/>
4218
4280
  <line num="2" count="4" type="stmt"/>
4219
4281
  <line num="3" count="4" type="stmt"/>
4220
4282
  <line num="4" count="4" type="stmt"/>
@@ -4226,71 +4288,70 @@
4226
4288
  <line num="10" count="4" type="stmt"/>
4227
4289
  <line num="11" count="4" type="stmt"/>
4228
4290
  <line num="12" count="4" type="stmt"/>
4229
- <line num="13" count="4" type="stmt"/>
4291
+ <line num="14" count="4" type="stmt"/>
4230
4292
  <line num="15" count="4" type="stmt"/>
4231
4293
  <line num="16" count="4" type="stmt"/>
4232
- <line num="17" count="4" type="stmt"/>
4233
- <line num="26" count="7" type="stmt"/>
4234
- <line num="27" count="7" type="cond" truecount="2" falsecount="0"/>
4294
+ <line num="25" count="7" type="stmt"/>
4295
+ <line num="26" count="7" type="cond" truecount="2" falsecount="0"/>
4296
+ <line num="27" count="7" type="stmt"/>
4235
4297
  <line num="28" count="7" type="stmt"/>
4236
4298
  <line num="29" count="7" type="stmt"/>
4237
4299
  <line num="30" count="7" type="stmt"/>
4238
- <line num="31" count="7" type="stmt"/>
4300
+ <line num="32" count="7" type="stmt"/>
4239
4301
  <line num="33" count="7" type="stmt"/>
4240
- <line num="34" count="7" type="stmt"/>
4302
+ <line num="35" count="7" type="stmt"/>
4241
4303
  <line num="36" count="7" type="stmt"/>
4242
- <line num="37" count="7" type="stmt"/>
4304
+ <line num="39" count="7" type="stmt"/>
4243
4305
  <line num="40" count="7" type="stmt"/>
4244
- <line num="41" count="7" type="stmt"/>
4306
+ <line num="42" count="7" type="stmt"/>
4245
4307
  <line num="43" count="7" type="stmt"/>
4246
- <line num="44" count="7" type="stmt"/>
4247
- <line num="48" count="7" type="cond" truecount="1" falsecount="1"/>
4248
- <line num="49" count="0" type="stmt"/>
4249
- <line num="51" count="7" type="stmt"/>
4250
- <line num="55" count="5" type="stmt"/>
4251
- <line num="56" count="5" type="cond" truecount="1" falsecount="1"/>
4252
- <line num="57" count="0" type="stmt"/>
4253
- <line num="59" count="5" type="stmt"/>
4254
- <line num="63" count="7" type="stmt"/>
4255
- <line num="64" count="7" type="cond" truecount="1" falsecount="1"/>
4256
- <line num="65" count="0" type="stmt"/>
4308
+ <line num="47" count="7" type="cond" truecount="1" falsecount="1"/>
4309
+ <line num="48" count="0" type="stmt"/>
4310
+ <line num="50" count="7" type="stmt"/>
4311
+ <line num="54" count="5" type="stmt"/>
4312
+ <line num="55" count="5" type="cond" truecount="1" falsecount="1"/>
4313
+ <line num="56" count="0" type="stmt"/>
4314
+ <line num="58" count="5" type="stmt"/>
4315
+ <line num="62" count="7" type="stmt"/>
4316
+ <line num="63" count="7" type="cond" truecount="1" falsecount="1"/>
4317
+ <line num="64" count="0" type="stmt"/>
4318
+ <line num="66" count="7" type="stmt"/>
4257
4319
  <line num="67" count="7" type="stmt"/>
4258
- <line num="68" count="7" type="stmt"/>
4259
- <line num="69" count="6" type="stmt"/>
4260
- <line num="73" count="12" type="stmt"/>
4261
- <line num="75" count="12" type="cond" truecount="2" falsecount="0"/>
4262
- <line num="76" count="7" type="stmt"/>
4263
- <line num="78" count="12" type="stmt"/>
4320
+ <line num="68" count="6" type="stmt"/>
4321
+ <line num="72" count="12" type="stmt"/>
4322
+ <line num="74" count="12" type="cond" truecount="2" falsecount="0"/>
4323
+ <line num="75" count="7" type="stmt"/>
4324
+ <line num="77" count="12" type="stmt"/>
4325
+ <line num="81" count="7" type="stmt"/>
4264
4326
  <line num="82" count="7" type="stmt"/>
4265
- <line num="83" count="7" type="stmt"/>
4327
+ <line num="83" count="6" type="stmt"/>
4266
4328
  <line num="84" count="6" type="stmt"/>
4267
- <line num="85" count="6" type="stmt"/>
4268
- <line num="87" count="5" type="cond" truecount="1" falsecount="1"/>
4329
+ <line num="86" count="5" type="cond" truecount="1" falsecount="1"/>
4330
+ <line num="87" count="0" type="stmt"/>
4269
4331
  <line num="88" count="0" type="stmt"/>
4270
- <line num="89" count="0" type="stmt"/>
4332
+ <line num="90" count="5" type="stmt"/>
4271
4333
  <line num="91" count="5" type="stmt"/>
4272
4334
  <line num="92" count="5" type="stmt"/>
4273
- <line num="93" count="5" type="stmt"/>
4274
- <line num="98" count="5" type="stmt"/>
4275
- <line num="99" count="5" type="cond" truecount="1" falsecount="1"/>
4335
+ <line num="97" count="5" type="stmt"/>
4336
+ <line num="98" count="5" type="cond" truecount="1" falsecount="1"/>
4337
+ <line num="99" count="5" type="stmt"/>
4276
4338
  <line num="100" count="5" type="stmt"/>
4277
- <line num="101" count="5" type="stmt"/>
4278
- <line num="108" count="5" type="stmt"/>
4279
- <line num="111" count="5" type="cond" truecount="2" falsecount="2"/>
4339
+ <line num="107" count="5" type="stmt"/>
4340
+ <line num="110" count="5" type="cond" truecount="2" falsecount="2"/>
4341
+ <line num="111" count="0" type="stmt"/>
4280
4342
  <line num="112" count="0" type="stmt"/>
4281
- <line num="113" count="0" type="stmt"/>
4282
- <line num="117" count="0" type="stmt"/>
4283
- <line num="119" count="5" type="stmt"/>
4343
+ <line num="116" count="0" type="stmt"/>
4344
+ <line num="118" count="5" type="stmt"/>
4345
+ <line num="120" count="0" type="stmt"/>
4284
4346
  <line num="121" count="0" type="stmt"/>
4285
- <line num="122" count="0" type="stmt"/>
4286
- <line num="127" count="6" type="cond" truecount="2" falsecount="2"/>
4287
- <line num="128" count="0" type="stmt"/>
4288
- <line num="130" count="6" type="stmt"/>
4289
- <line num="134" count="4" type="stmt"/>
4290
- <line num="135" count="7" type="stmt"/>
4291
- <line num="139" count="7" type="stmt"/>
4292
- <line num="142" count="6" type="stmt"/>
4293
- <line num="145" count="0" type="stmt"/>
4347
+ <line num="126" count="6" type="cond" truecount="2" falsecount="2"/>
4348
+ <line num="127" count="0" type="stmt"/>
4349
+ <line num="129" count="6" type="stmt"/>
4350
+ <line num="133" count="4" type="stmt"/>
4351
+ <line num="134" count="7" type="stmt"/>
4352
+ <line num="138" count="7" type="stmt"/>
4353
+ <line num="141" count="6" type="stmt"/>
4354
+ <line num="144" count="0" type="stmt"/>
4294
4355
  </file>
4295
4356
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/threads/index.js">
4296
4357
  <metrics statements="29" coveredstatements="23" conditionals="18" coveredconditionals="10" methods="5" coveredmethods="5"/>
@@ -4325,40 +4386,58 @@
4325
4386
  <line num="66" count="34" type="stmt"/>
4326
4387
  </file>
4327
4388
  <file name="query.js" path="/home/runner/work/budibase/budibase/packages/server/src/threads/query.js">
4328
- <metrics statements="29" coveredstatements="21" conditionals="12" coveredconditionals="7" methods="7" coveredmethods="6"/>
4389
+ <metrics statements="36" coveredstatements="25" conditionals="18" coveredconditionals="10" methods="8" coveredmethods="7"/>
4390
+ <line num="1" count="1" type="stmt"/>
4329
4391
  <line num="2" count="1" type="stmt"/>
4330
4392
  <line num="3" count="1" type="stmt"/>
4331
- <line num="4" count="1" type="stmt"/>
4332
- <line num="5" count="1" type="stmt"/>
4333
- <line num="8" count="2" type="cond" truecount="1" falsecount="1"/>
4334
- <line num="9" count="0" type="stmt"/>
4393
+ <line num="6" count="2" type="cond" truecount="1" falsecount="1"/>
4394
+ <line num="7" count="0" type="stmt"/>
4395
+ <line num="8" count="0" type="stmt"/>
4335
4396
  <line num="10" count="0" type="stmt"/>
4397
+ <line num="13" count="2" type="stmt"/>
4398
+ <line num="17" count="2" type="stmt"/>
4399
+ <line num="26" count="4" type="stmt"/>
4400
+ <line num="27" count="4" type="cond" truecount="2" falsecount="0"/>
4401
+ <line num="28" count="2" type="stmt"/>
4402
+ <line num="30" count="2" type="stmt"/>
4403
+ <line num="32" count="2" type="stmt"/>
4404
+ <line num="33" count="2" type="stmt"/>
4405
+ <line num="34" count="2" type="stmt"/>
4406
+ <line num="35" count="2" type="stmt"/>
4407
+ <line num="36" count="2" type="cond" truecount="1" falsecount="1"/>
4408
+ <line num="37" count="0" type="stmt"/>
4409
+ <line num="38" count="0" type="stmt"/>
4410
+ <line num="39" count="0" type="stmt"/>
4411
+ <line num="43" count="2" type="cond" truecount="1" falsecount="1"/>
4412
+ <line num="44" count="0" type="stmt"/>
4413
+ <line num="45" count="0" type="stmt"/>
4414
+ <line num="49" count="2" type="cond" truecount="1" falsecount="1"/>
4415
+ <line num="50" count="0" type="stmt"/>
4416
+ <line num="54" count="2" type="cond" truecount="1" falsecount="1"/>
4417
+ <line num="55" count="0" type="stmt"/>
4418
+ <line num="59" count="2" type="stmt"/>
4419
+ <line num="61" count="2" type="cond" truecount="1" falsecount="1"/>
4420
+ <line num="62" count="0" type="stmt"/>
4421
+ <line num="65" count="2" type="stmt"/>
4422
+ <line num="68" count="1" type="stmt"/>
4423
+ <line num="69" count="4" type="stmt"/>
4424
+ <line num="76" count="2" type="stmt"/>
4425
+ <line num="79" count="2" type="stmt"/>
4426
+ </file>
4427
+ <file name="utils.js" path="/home/runner/work/budibase/budibase/packages/server/src/threads/utils.js">
4428
+ <metrics statements="8" coveredstatements="6" conditionals="4" coveredconditionals="2" methods="1" coveredmethods="1"/>
4429
+ <line num="1" count="5" type="stmt"/>
4430
+ <line num="2" count="5" type="stmt"/>
4431
+ <line num="3" count="5" type="stmt"/>
4432
+ <line num="5" count="5" type="stmt"/>
4433
+ <line num="7" count="5" type="cond" truecount="2" falsecount="2"/>
4434
+ <line num="8" count="5" type="stmt"/>
4435
+ <line num="11" count="0" type="stmt"/>
4336
4436
  <line num="12" count="0" type="stmt"/>
4337
- <line num="15" count="2" type="stmt"/>
4338
- <line num="19" count="4" type="stmt"/>
4339
- <line num="20" count="4" type="cond" truecount="2" falsecount="0"/>
4340
- <line num="21" count="2" type="stmt"/>
4341
- <line num="23" count="2" type="stmt"/>
4342
- <line num="25" count="2" type="stmt"/>
4343
- <line num="28" count="2" type="cond" truecount="1" falsecount="1"/>
4344
- <line num="29" count="0" type="stmt"/>
4345
- <line num="30" count="0" type="stmt"/>
4346
- <line num="34" count="2" type="cond" truecount="1" falsecount="1"/>
4347
- <line num="35" count="0" type="stmt"/>
4348
- <line num="39" count="2" type="cond" truecount="1" falsecount="1"/>
4349
- <line num="40" count="0" type="stmt"/>
4350
- <line num="44" count="2" type="stmt"/>
4351
- <line num="46" count="2" type="cond" truecount="1" falsecount="1"/>
4352
- <line num="47" count="0" type="stmt"/>
4353
- <line num="50" count="2" type="stmt"/>
4354
- <line num="53" count="1" type="stmt"/>
4355
- <line num="54" count="4" type="stmt"/>
4356
- <line num="61" count="2" type="stmt"/>
4357
- <line num="64" count="2" type="stmt"/>
4358
4437
  </file>
4359
4438
  </package>
4360
4439
  <package name="utilities">
4361
- <metrics statements="323" coveredstatements="233" conditionals="123" coveredconditionals="67" methods="62" coveredmethods="42"/>
4440
+ <metrics statements="331" coveredstatements="240" conditionals="131" coveredconditionals="73" methods="63" coveredmethods="43"/>
4362
4441
  <file name="bcrypt.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/bcrypt.js">
4363
4442
  <metrics statements="9" coveredstatements="0" conditionals="2" coveredconditionals="0" methods="2" coveredmethods="0"/>
4364
4443
  <line num="3" count="0" type="stmt"/>
@@ -4524,37 +4603,37 @@
4524
4603
  <line num="95" count="0" type="stmt"/>
4525
4604
  </file>
4526
4605
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/index.js">
4527
- <metrics statements="68" coveredstatements="48" conditionals="18" coveredconditionals="7" methods="15" coveredmethods="11"/>
4528
- <line num="1" count="36" type="stmt"/>
4529
- <line num="2" count="36" type="stmt"/>
4530
- <line num="3" count="36" type="stmt"/>
4531
- <line num="4" count="36" type="stmt"/>
4532
- <line num="5" count="36" type="stmt"/>
4533
- <line num="6" count="36" type="stmt"/>
4534
- <line num="8" count="36" type="stmt"/>
4535
- <line num="10" count="36" type="stmt"/>
4536
- <line num="12" count="36" type="stmt"/>
4537
- <line num="14" count="36" type="stmt"/>
4606
+ <metrics statements="76" coveredstatements="55" conditionals="26" coveredconditionals="13" methods="16" coveredmethods="12"/>
4607
+ <line num="1" count="37" type="stmt"/>
4608
+ <line num="2" count="37" type="stmt"/>
4609
+ <line num="3" count="37" type="stmt"/>
4610
+ <line num="4" count="37" type="stmt"/>
4611
+ <line num="5" count="37" type="stmt"/>
4612
+ <line num="6" count="37" type="stmt"/>
4613
+ <line num="8" count="37" type="stmt"/>
4614
+ <line num="10" count="37" type="stmt"/>
4615
+ <line num="12" count="37" type="stmt"/>
4616
+ <line num="14" count="37" type="stmt"/>
4538
4617
  <line num="15" count="1" type="stmt"/>
4539
4618
  <line num="16" count="1" type="cond" truecount="1" falsecount="1"/>
4540
4619
  <line num="17" count="1" type="stmt"/>
4541
4620
  <line num="19" count="1" type="stmt"/>
4542
- <line num="28" count="36" type="stmt"/>
4621
+ <line num="28" count="37" type="stmt"/>
4543
4622
  <line num="29" count="187" type="stmt"/>
4544
- <line num="36" count="36" type="stmt"/>
4623
+ <line num="36" count="37" type="stmt"/>
4545
4624
  <line num="37" count="2" type="cond" truecount="1" falsecount="1"/>
4546
4625
  <line num="39" count="2" type="stmt"/>
4547
4626
  <line num="41" count="0" type="stmt"/>
4548
- <line num="55" count="36" type="stmt"/>
4627
+ <line num="55" count="37" type="stmt"/>
4549
4628
  <line num="56" count="188" type="cond" truecount="1" falsecount="1"/>
4550
4629
  <line num="57" count="0" type="stmt"/>
4551
4630
  <line num="61" count="0" type="cond" truecount="0" falsecount="2"/>
4552
4631
  <line num="62" count="0" type="stmt"/>
4553
4632
  <line num="64" count="0" type="stmt"/>
4554
4633
  <line num="66" count="188" type="stmt"/>
4555
- <line num="70" count="36" type="stmt"/>
4634
+ <line num="70" count="37" type="stmt"/>
4556
4635
  <line num="71" count="2" type="stmt"/>
4557
- <line num="76" count="36" type="stmt"/>
4636
+ <line num="76" count="37" type="stmt"/>
4558
4637
  <line num="77" count="3" type="stmt"/>
4559
4638
  <line num="78" count="3" type="stmt"/>
4560
4639
  <line num="81" count="3" type="stmt"/>
@@ -4569,10 +4648,10 @@
4569
4648
  <line num="92" count="0" type="stmt"/>
4570
4649
  <line num="94" count="3" type="stmt"/>
4571
4650
  <line num="95" count="3" type="stmt"/>
4572
- <line num="102" count="36" type="stmt"/>
4651
+ <line num="102" count="37" type="stmt"/>
4573
4652
  <line num="103" count="1" type="stmt"/>
4574
4653
  <line num="104" count="1" type="stmt"/>
4575
- <line num="108" count="36" type="stmt"/>
4654
+ <line num="108" count="37" type="stmt"/>
4576
4655
  <line num="109" count="4" type="stmt"/>
4577
4656
  <line num="110" count="4" type="stmt"/>
4578
4657
  <line num="112" count="4" type="stmt"/>
@@ -4581,18 +4660,26 @@
4581
4660
  <line num="115" count="0" type="stmt"/>
4582
4661
  <line num="120" count="4" type="cond" truecount="3" falsecount="1"/>
4583
4662
  <line num="121" count="0" type="stmt"/>
4584
- <line num="125" count="36" type="stmt"/>
4663
+ <line num="125" count="37" type="stmt"/>
4585
4664
  <line num="126" count="0" type="stmt"/>
4586
- <line num="135" count="36" type="stmt"/>
4665
+ <line num="135" count="37" type="stmt"/>
4587
4666
  <line num="136" count="0" type="stmt"/>
4588
4667
  <line num="138" count="0" type="stmt"/>
4589
4668
  <line num="139" count="0" type="stmt"/>
4590
- <line num="144" count="36" type="stmt"/>
4669
+ <line num="144" count="37" type="stmt"/>
4591
4670
  <line num="145" count="0" type="stmt"/>
4592
4671
  <line num="146" count="0" type="stmt"/>
4593
4672
  <line num="147" count="0" type="stmt"/>
4594
4673
  <line num="148" count="0" type="cond" truecount="0" falsecount="2"/>
4595
4674
  <line num="150" count="0" type="stmt"/>
4675
+ <line num="154" count="37" type="stmt"/>
4676
+ <line num="155" count="9" type="stmt"/>
4677
+ <line num="156" count="9" type="stmt"/>
4678
+ <line num="157" count="9" type="stmt"/>
4679
+ <line num="158" count="9" type="cond" truecount="2" falsecount="0"/>
4680
+ <line num="159" count="9" type="cond" truecount="1" falsecount="1"/>
4681
+ <line num="160" count="0" type="stmt"/>
4682
+ <line num="162" count="9" type="cond" truecount="3" falsecount="1"/>
4596
4683
  </file>
4597
4684
  <file name="scriptRunner.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/scriptRunner.js">
4598
4685
  <metrics statements="13" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="0"/>
@@ -4618,7 +4705,7 @@
4618
4705
  <line num="10" count="33" type="stmt"/>
4619
4706
  <line num="15" count="33" type="stmt"/>
4620
4707
  <line num="16" count="4" type="stmt"/>
4621
- <line num="17" count="80" type="stmt"/>
4708
+ <line num="17" count="84" type="stmt"/>
4622
4709
  <line num="19" count="4" type="cond" truecount="2" falsecount="5"/>
4623
4710
  <line num="22" count="4" type="stmt"/>
4624
4711
  <line num="24" count="0" type="stmt"/>