@budibase/server 0.9.189 → 0.9.190-alpha.0

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 (303) hide show
  1. package/Dockerfile +7 -1
  2. package/__mocks__/mssql.ts +1 -1
  3. package/__mocks__/oracledb.ts +31 -0
  4. package/__mocks__/pg.ts +3 -0
  5. package/builder/assets/bb-space-man.5be51a45.svg +290 -0
  6. package/builder/assets/index.43f4c913.js +1316 -0
  7. package/builder/assets/index.7d405e74.css +1 -0
  8. package/builder/assets/oracle.66592424.png +0 -0
  9. package/builder/assets/vendor.470042a4.js +152 -0
  10. package/builder/assets/vendor.5e1fe644.css +1 -0
  11. package/builder/index.html +4 -4
  12. package/coverage/clover.xml +1450 -1033
  13. package/coverage/coverage-final.json +92 -88
  14. package/coverage/lcov-report/api/controllers/analytics.js.html +2 -2
  15. package/coverage/lcov-report/api/controllers/apikeys.js.html +2 -2
  16. package/coverage/lcov-report/api/controllers/application.js.html +64 -13
  17. package/coverage/lcov-report/api/controllers/auth.js.html +19 -10
  18. package/coverage/lcov-report/api/controllers/automation.js.html +3 -3
  19. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/component.js.html +4 -4
  22. package/coverage/lcov-report/api/controllers/datasource.js.html +232 -28
  23. package/coverage/lcov-report/api/controllers/dev.js.html +16 -7
  24. package/coverage/lcov-report/api/controllers/hosting.js.html +10 -10
  25. package/coverage/lcov-report/api/controllers/index.html +91 -91
  26. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/layout.js.html +3 -3
  28. package/coverage/lcov-report/api/controllers/metadata.js.html +3 -3
  29. package/coverage/lcov-report/api/controllers/permission.js.html +3 -3
  30. package/coverage/lcov-report/api/controllers/query.js.html +53 -209
  31. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  32. package/coverage/lcov-report/api/controllers/routing.js.html +3 -3
  33. package/coverage/lcov-report/api/controllers/row/external.js.html +12 -6
  34. package/coverage/lcov-report/api/controllers/row/index.html +25 -25
  35. package/coverage/lcov-report/api/controllers/row/index.js.html +2 -2
  36. package/coverage/lcov-report/api/controllers/row/internal.js.html +9 -9
  37. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +2 -2
  38. package/coverage/lcov-report/api/controllers/row/utils.js.html +21 -30
  39. package/coverage/lcov-report/api/controllers/screen.js.html +2 -2
  40. package/coverage/lcov-report/api/controllers/script.js.html +3 -3
  41. package/coverage/lcov-report/api/controllers/table/external.js.html +1001 -0
  42. package/coverage/lcov-report/api/controllers/table/index.html +56 -26
  43. package/coverage/lcov-report/api/controllers/table/index.js.html +80 -350
  44. package/coverage/lcov-report/api/controllers/table/internal.js.html +545 -0
  45. package/coverage/lcov-report/api/controllers/table/utils.js.html +172 -49
  46. package/coverage/lcov-report/api/controllers/templates.js.html +4 -4
  47. package/coverage/lcov-report/api/controllers/user.js.html +390 -33
  48. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  49. package/coverage/lcov-report/api/controllers/view/index.html +11 -11
  50. package/coverage/lcov-report/api/controllers/view/index.js.html +6 -6
  51. package/coverage/lcov-report/api/controllers/view/utils.js.html +11 -11
  52. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +3 -3
  53. package/coverage/lcov-report/api/controllers/webhook.js.html +4 -4
  54. package/coverage/lcov-report/api/index.html +1 -1
  55. package/coverage/lcov-report/api/index.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/dev.js.html +2 -2
  67. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/index.html +4 -4
  69. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/query.js.html +5 -2
  75. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/static.js.html +2 -2
  81. package/coverage/lcov-report/api/routes/table.js.html +35 -2
  82. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  83. package/coverage/lcov-report/api/routes/user.js.html +17 -2
  84. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  85. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  86. package/coverage/lcov-report/automations/actions.js.html +2 -2
  87. package/coverage/lcov-report/automations/automationUtils.js.html +4 -4
  88. package/coverage/lcov-report/automations/bullboard.js.html +71 -20
  89. package/coverage/lcov-report/automations/index.html +35 -50
  90. package/coverage/lcov-report/automations/index.js.html +2 -2
  91. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/discord.js.html +3 -3
  96. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/executeScript.js.html +3 -3
  98. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/index.html +14 -14
  100. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +3 -3
  102. package/coverage/lcov-report/automations/steps/queryRows.js.html +3 -3
  103. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  104. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  105. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  106. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  107. package/coverage/lcov-report/automations/steps/utils.js.html +7 -7
  108. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  110. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  111. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  113. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  114. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  115. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  116. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  117. package/coverage/lcov-report/automations/triggers.js.html +22 -10
  118. package/coverage/lcov-report/automations/utils.js.html +42 -12
  119. package/coverage/lcov-report/constants/index.html +5 -5
  120. package/coverage/lcov-report/constants/index.js.html +87 -21
  121. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  122. package/coverage/lcov-report/constants/screens.js.html +1 -1
  123. package/coverage/lcov-report/db/client.js.html +2 -2
  124. package/coverage/lcov-report/db/inMemoryView.js.html +2 -2
  125. package/coverage/lcov-report/db/index.html +2 -2
  126. package/coverage/lcov-report/db/index.js.html +1 -1
  127. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +6 -6
  128. package/coverage/lcov-report/db/linkedRows/index.html +10 -10
  129. package/coverage/lcov-report/db/linkedRows/index.js.html +5 -5
  130. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +6 -6
  131. package/coverage/lcov-report/db/newid.js.html +3 -3
  132. package/coverage/lcov-report/db/utils.js.html +57 -57
  133. package/coverage/lcov-report/events/AutomationEmitter.js.html +6 -6
  134. package/coverage/lcov-report/events/index.html +6 -6
  135. package/coverage/lcov-report/events/index.js.html +1 -1
  136. package/coverage/lcov-report/events/utils.js.html +5 -5
  137. package/coverage/lcov-report/index.html +102 -87
  138. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  139. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  140. package/coverage/lcov-report/middleware/appInfo.js.html +2 -2
  141. package/coverage/lcov-report/middleware/authorized.js.html +11 -8
  142. package/coverage/lcov-report/middleware/builder.js.html +16 -7
  143. package/coverage/lcov-report/middleware/currentapp.js.html +6 -6
  144. package/coverage/lcov-report/middleware/index.html +23 -23
  145. package/coverage/lcov-report/middleware/joi-validator.js.html +2 -2
  146. package/coverage/lcov-report/middleware/resourceId.js.html +18 -18
  147. package/coverage/lcov-report/middleware/selfhost.js.html +2 -2
  148. package/coverage/lcov-report/middleware/usageQuota.js.html +4 -4
  149. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  150. package/coverage/lcov-report/{automations/thread.js.html → threads/automation.js.html} +90 -33
  151. package/coverage/lcov-report/threads/index.html +141 -0
  152. package/coverage/lcov-report/threads/index.js.html +278 -0
  153. package/coverage/lcov-report/threads/query.js.html +278 -0
  154. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  155. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  156. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  157. package/coverage/lcov-report/utilities/csvParser.js.html +144 -15
  158. package/coverage/lcov-report/utilities/global.js.html +26 -11
  159. package/coverage/lcov-report/utilities/index.html +48 -48
  160. package/coverage/lcov-report/utilities/index.js.html +47 -14
  161. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +30 -9
  162. package/coverage/lcov-report/utilities/queue/index.html +14 -14
  163. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  164. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  165. package/coverage/lcov-report/utilities/rowProcessor/index.html +4 -4
  166. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +2 -2
  167. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +3 -3
  168. package/coverage/lcov-report/utilities/scriptRunner.js.html +16 -7
  169. package/coverage/lcov-report/utilities/security.js.html +3 -3
  170. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  171. package/coverage/lcov-report/utilities/users.js.html +1 -1
  172. package/coverage/lcov-report/utilities/workerRequests.js.html +5 -5
  173. package/coverage/lcov.info +2422 -1681
  174. package/dist/api/controllers/application.js +15 -1
  175. package/dist/api/controllers/auth.js +3 -3
  176. package/dist/api/controllers/datasource.js +67 -16
  177. package/dist/api/controllers/deploy/index.js +2 -0
  178. package/dist/api/controllers/dev.js +4 -1
  179. package/dist/api/controllers/query.js +30 -58
  180. package/dist/api/controllers/row/ExternalRequest.js +37 -14
  181. package/dist/api/controllers/row/external.js +1 -0
  182. package/dist/api/controllers/row/utils.js +6 -12
  183. package/dist/api/controllers/table/external.js +249 -0
  184. package/dist/api/controllers/table/index.js +49 -123
  185. package/dist/api/controllers/table/internal.js +150 -0
  186. package/dist/api/controllers/table/utils.js +62 -28
  187. package/dist/api/controllers/user.js +123 -11
  188. package/dist/api/routes/query.js +1 -1
  189. package/dist/api/routes/table.js +7 -1
  190. package/dist/api/routes/user.js +2 -1
  191. package/dist/app.js +2 -11
  192. package/dist/automations/bullboard.js +37 -10
  193. package/dist/automations/triggers.js +7 -3
  194. package/dist/automations/utils.js +11 -2
  195. package/dist/constants/index.js +19 -0
  196. package/dist/definitions/datasource.js +5 -0
  197. package/dist/environment.js +13 -0
  198. package/dist/integrations/base/IntegrationBase.js +2 -0
  199. package/dist/integrations/base/datasourcePlus.js +2 -0
  200. package/dist/integrations/base/sql.js +338 -180
  201. package/dist/integrations/base/sqlTable.js +143 -0
  202. package/dist/integrations/base/utils.js +30 -0
  203. package/dist/integrations/index.js +6 -0
  204. package/dist/integrations/microsoftSqlServer.js +117 -9
  205. package/dist/integrations/mysql.js +14 -84
  206. package/dist/integrations/oracle.js +345 -0
  207. package/dist/integrations/postgres.js +35 -28
  208. package/dist/integrations/utils.js +71 -9
  209. package/dist/middleware/authorized.js +2 -1
  210. package/dist/middleware/builder.js +4 -1
  211. package/dist/package.json +11 -6
  212. package/dist/tests/utilities/TestConfiguration.js +2 -1
  213. package/dist/{automations/thread.js → threads/automation.js} +26 -8
  214. package/dist/threads/index.js +64 -0
  215. package/dist/threads/query.js +64 -0
  216. package/dist/tsconfig.tsbuildinfo +1 -1
  217. package/dist/utilities/csvParser.js +46 -5
  218. package/dist/utilities/global.js +6 -2
  219. package/dist/utilities/index.js +11 -0
  220. package/dist/utilities/queue/inMemoryQueue.js +8 -0
  221. package/dist/utilities/scriptRunner.js +4 -1
  222. package/package.json +12 -7
  223. package/scripts/dev/manage.js +1 -0
  224. package/scripts/integrations/mssql/data/Dockerfile +9 -0
  225. package/scripts/integrations/mssql/data/entrypoint.sh +24 -0
  226. package/scripts/integrations/mssql/data/setup.sql +54 -0
  227. package/scripts/integrations/mssql/docker-compose.yaml +12 -0
  228. package/scripts/integrations/mssql/reset.sh +3 -0
  229. package/scripts/integrations/oracle/docker-compose.yml +19 -0
  230. package/scripts/integrations/oracle/instantclient/linux/x86-64/basiclite-21.4.zip +0 -0
  231. package/scripts/integrations/oracle/instantclient/linux/x86-64/install.sh +23 -0
  232. package/scripts/integrations/oracle/oracle.md +90 -0
  233. package/scripts/integrations/postgres/docker-compose.yml +3 -3
  234. package/scripts/likeCypress.ts +33 -0
  235. package/src/api/controllers/application.js +18 -1
  236. package/src/api/controllers/auth.js +3 -0
  237. package/src/api/controllers/datasource.js +84 -16
  238. package/src/api/controllers/deploy/index.js +2 -0
  239. package/src/api/controllers/dev.js +4 -1
  240. package/src/api/controllers/query.js +29 -81
  241. package/src/api/controllers/row/ExternalRequest.ts +47 -16
  242. package/src/api/controllers/row/external.js +2 -0
  243. package/src/api/controllers/row/utils.js +8 -11
  244. package/src/api/controllers/table/external.js +307 -0
  245. package/src/api/controllers/table/index.js +47 -137
  246. package/src/api/controllers/table/internal.js +155 -0
  247. package/src/api/controllers/table/utils.js +74 -33
  248. package/src/api/controllers/user.js +132 -13
  249. package/src/api/routes/query.js +1 -0
  250. package/src/api/routes/table.js +11 -0
  251. package/src/api/routes/tests/datasource.spec.js +2 -2
  252. package/src/api/routes/tests/misc.spec.js +5 -1
  253. package/src/api/routes/tests/query.spec.js +0 -1
  254. package/src/api/routes/user.js +5 -0
  255. package/src/app.ts +2 -10
  256. package/src/automations/bullboard.js +28 -11
  257. package/src/automations/tests/automation.spec.js +3 -4
  258. package/src/automations/triggers.js +7 -3
  259. package/src/automations/utils.js +12 -2
  260. package/src/constants/index.js +22 -0
  261. package/src/definitions/common.ts +7 -1
  262. package/src/definitions/datasource.ts +10 -3
  263. package/src/environment.js +15 -0
  264. package/src/integrations/airtable.ts +2 -1
  265. package/src/integrations/arangodb.ts +2 -1
  266. package/src/integrations/base/IntegrationBase.ts +6 -0
  267. package/src/integrations/base/datasourcePlus.ts +9 -0
  268. package/src/integrations/base/sql.ts +362 -222
  269. package/src/integrations/base/sqlTable.ts +180 -0
  270. package/src/integrations/base/utils.ts +22 -0
  271. package/src/integrations/couchdb.ts +2 -1
  272. package/src/integrations/dynamodb.ts +2 -1
  273. package/src/integrations/elasticsearch.ts +2 -1
  274. package/src/integrations/index.ts +7 -0
  275. package/src/integrations/microsoftSqlServer.ts +145 -13
  276. package/src/integrations/mongodb.ts +2 -1
  277. package/src/integrations/mysql.ts +20 -94
  278. package/src/integrations/oracle.ts +445 -0
  279. package/src/integrations/postgres.ts +45 -35
  280. package/src/integrations/rest.ts +2 -1
  281. package/src/integrations/s3.ts +2 -1
  282. package/src/integrations/tests/microsoftSqlServer.spec.js +22 -15
  283. package/src/integrations/tests/oracle.spec.js +94 -0
  284. package/src/integrations/tests/postgres.spec.js +4 -0
  285. package/src/integrations/utils.ts +74 -8
  286. package/src/middleware/authorized.js +2 -1
  287. package/src/middleware/builder.js +4 -1
  288. package/src/tests/utilities/TestConfiguration.js +2 -1
  289. package/src/{automations/thread.js → threads/automation.js} +27 -8
  290. package/src/threads/index.js +66 -0
  291. package/src/threads/query.js +66 -0
  292. package/src/utilities/csvParser.js +48 -5
  293. package/src/utilities/global.js +7 -2
  294. package/src/utilities/index.js +11 -0
  295. package/src/utilities/queue/inMemoryQueue.js +7 -0
  296. package/src/utilities/scriptRunner.js +4 -1
  297. package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -6
  298. package/src/utilities/tests/csvParser.spec.js +3 -0
  299. package/tsconfig.json +1 -1
  300. package/builder/assets/index.5cc4c0d0.js +0 -201
  301. package/builder/assets/index.7469e1e4.css +0 -29
  302. package/builder/assets/vendor.278a305c.js +0 -9
  303. package/builder/assets/vendor.d75d5eb7.css +0 -1
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1637604737284" clover="3.2.0">
3
- <project timestamp="1637604737284" name="All files">
4
- <metrics statements="3983" coveredstatements="3099" conditionals="1553" coveredconditionals="912" methods="565" coveredmethods="423" elements="6101" coveredelements="4434" complexity="0" loc="3983" ncloc="3983" packages="19" files="134" classes="134"/>
2
+ <coverage generated="1637843303646" clover="3.2.0">
3
+ <project timestamp="1637843303646" name="All files">
4
+ <metrics statements="4385" coveredstatements="3242" conditionals="1748" coveredconditionals="953" methods="619" coveredmethods="441" elements="6752" coveredelements="4636" complexity="0" loc="4385" ncloc="4385" packages="20" files="138" classes="138"/>
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="1030" coveredstatements="799" conditionals="328" coveredconditionals="177" methods="146" coveredmethods="113"/>
41
+ <metrics statements="1116" coveredstatements="804" conditionals="367" coveredconditionals="171" methods="153" coveredmethods="110"/>
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"/>
@@ -83,7 +83,7 @@
83
83
  <line num="46" count="1" type="stmt"/>
84
84
  </file>
85
85
  <file name="application.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/application.js">
86
- <metrics statements="174" coveredstatements="138" conditionals="68" coveredconditionals="39" methods="20" coveredmethods="17"/>
86
+ <metrics statements="184" coveredstatements="146" conditionals="72" coveredconditionals="41" methods="20" coveredmethods="17"/>
87
87
  <line num="1" count="33" type="stmt"/>
88
88
  <line num="2" count="33" type="stmt"/>
89
89
  <line num="3" count="33" type="stmt"/>
@@ -102,165 +102,175 @@
102
102
  <line num="40" count="33" type="stmt"/>
103
103
  <line num="45" count="33" type="stmt"/>
104
104
  <line num="46" count="33" type="stmt"/>
105
+ <line num="47" count="33" type="stmt"/>
105
106
  <line num="48" count="33" type="stmt"/>
106
- <line num="52" count="188" type="stmt"/>
107
- <line num="58" count="376" type="stmt"/>
108
- <line num="62" count="188" type="stmt"/>
109
- <line num="68" count="200" type="stmt"/>
110
- <line num="72" count="186" type="cond" truecount="4" falsecount="0"/>
111
- <line num="79" count="183" type="cond" truecount="1" falsecount="1"/>
112
- <line num="80" count="0" type="stmt"/>
113
- <line num="81" count="183" type="cond" truecount="2" falsecount="0"/>
114
- <line num="82" count="180" type="stmt"/>
107
+ <line num="49" count="33" type="stmt"/>
108
+ <line num="51" count="33" type="stmt"/>
109
+ <line num="55" count="188" type="stmt"/>
110
+ <line num="61" count="376" type="stmt"/>
111
+ <line num="65" count="188" type="stmt"/>
112
+ <line num="71" count="200" type="stmt"/>
113
+ <line num="75" count="186" type="cond" truecount="4" falsecount="0"/>
114
+ <line num="82" count="183" type="cond" truecount="1" falsecount="1"/>
115
+ <line num="83" count="0" type="stmt"/>
115
116
  <line num="84" count="183" type="cond" truecount="2" falsecount="0"/>
116
117
  <line num="85" count="180" type="stmt"/>
117
118
  <line num="87" count="183" type="cond" truecount="2" falsecount="0"/>
118
- <line num="88" count="10" type="stmt"/>
119
- <line num="90" count="173" type="stmt"/>
120
- <line num="91" count="173" type="cond" truecount="1" falsecount="1"/>
121
- <line num="97" count="0" type="stmt"/>
122
- <line num="99" count="173" type="stmt"/>
123
- <line num="103" count="178" type="cond" truecount="1" falsecount="1"/>
124
- <line num="104" count="178" type="stmt"/>
125
- <line num="105" count="178" type="stmt"/>
119
+ <line num="88" count="180" type="stmt"/>
120
+ <line num="90" count="183" type="cond" truecount="2" falsecount="0"/>
121
+ <line num="91" count="10" type="stmt"/>
122
+ <line num="93" count="173" type="stmt"/>
123
+ <line num="94" count="173" type="cond" truecount="1" falsecount="1"/>
124
+ <line num="100" count="0" type="stmt"/>
125
+ <line num="102" count="173" type="stmt"/>
126
+ <line num="106" count="178" type="cond" truecount="1" falsecount="1"/>
126
127
  <line num="107" count="178" type="stmt"/>
127
128
  <line num="108" count="178" type="stmt"/>
128
- <line num="117" count="178" type="stmt"/>
129
- <line num="118" count="178" type="stmt"/>
130
- <line num="119" count="178" type="stmt"/>
131
- <line num="123" count="178" type="cond" truecount="3" falsecount="1"/>
132
- <line num="124" count="0" type="stmt"/>
133
- <line num="125" count="0" type="cond" truecount="0" falsecount="2"/>
134
- <line num="126" count="0" type="stmt"/>
135
- <line num="128" count="178" type="cond" truecount="3" falsecount="1"/>
136
- <line num="131" count="0" type="cond" truecount="0" falsecount="2"/>
137
- <line num="132" count="0" type="stmt"/>
138
- <line num="136" count="178" type="stmt"/>
129
+ <line num="110" count="178" type="stmt"/>
130
+ <line num="111" count="178" type="stmt"/>
131
+ <line num="120" count="178" type="stmt"/>
132
+ <line num="121" count="178" type="stmt"/>
133
+ <line num="122" count="178" type="stmt"/>
134
+ <line num="126" count="178" type="cond" truecount="3" falsecount="1"/>
135
+ <line num="127" count="0" type="stmt"/>
136
+ <line num="128" count="0" type="cond" truecount="0" falsecount="2"/>
137
+ <line num="129" count="0" type="stmt"/>
138
+ <line num="131" count="178" type="cond" truecount="3" falsecount="1"/>
139
+ <line num="134" count="0" type="cond" truecount="0" falsecount="2"/>
140
+ <line num="135" count="0" type="stmt"/>
139
141
  <line num="139" count="178" type="stmt"/>
140
- <line num="142" count="33" type="stmt"/>
141
- <line num="143" count="10" type="cond" truecount="2" falsecount="0"/>
142
- <line num="144" count="10" type="cond" truecount="2" falsecount="0"/>
143
- <line num="145" count="10" type="stmt"/>
144
- <line num="148" count="10" type="cond" truecount="2" falsecount="2"/>
145
- <line num="149" count="10" type="stmt"/>
146
- <line num="150" count="10" type="stmt"/>
147
- <line num="151" count="14" type="cond" truecount="1" falsecount="1"/>
148
- <line num="152" count="14" type="stmt"/>
149
- <line num="154" count="0" type="stmt"/>
150
- <line num="155" count="0" type="cond" truecount="0" falsecount="2"/>
151
- <line num="156" count="0" type="stmt"/>
142
+ <line num="142" count="178" type="stmt"/>
143
+ <line num="145" count="33" type="stmt"/>
144
+ <line num="146" count="10" type="cond" truecount="2" falsecount="0"/>
145
+ <line num="147" count="10" type="cond" truecount="2" falsecount="0"/>
146
+ <line num="148" count="10" type="stmt"/>
147
+ <line num="151" count="10" type="cond" truecount="2" falsecount="2"/>
148
+ <line num="152" count="10" type="stmt"/>
149
+ <line num="153" count="10" type="stmt"/>
150
+ <line num="154" count="14" type="cond" truecount="1" falsecount="1"/>
151
+ <line num="155" count="14" type="stmt"/>
152
+ <line num="157" count="0" type="stmt"/>
153
+ <line num="158" count="0" type="cond" truecount="0" falsecount="2"/>
152
154
  <line num="159" count="0" type="stmt"/>
153
- <line num="164" count="10" type="stmt"/>
154
- <line num="167" count="33" type="stmt"/>
155
- <line num="168" count="1" type="stmt"/>
156
- <line num="169" count="1" type="stmt"/>
157
- <line num="170" count="1" type="stmt"/>
155
+ <line num="162" count="0" type="stmt"/>
156
+ <line num="167" count="10" type="stmt"/>
157
+ <line num="170" count="33" type="stmt"/>
158
158
  <line num="171" count="1" type="stmt"/>
159
159
  <line num="172" count="1" type="stmt"/>
160
- <line num="176" count="1" type="stmt"/>
161
- <line num="183" count="33" type="stmt"/>
162
- <line num="184" count="187" type="stmt"/>
163
- <line num="185" count="187" type="stmt"/>
164
- <line num="186" count="187" type="stmt"/>
160
+ <line num="173" count="1" type="stmt"/>
161
+ <line num="174" count="1" type="stmt"/>
162
+ <line num="175" count="1" type="stmt"/>
163
+ <line num="179" count="1" type="stmt"/>
164
+ <line num="186" count="33" type="stmt"/>
165
165
  <line num="187" count="187" type="stmt"/>
166
- <line num="190" count="187" type="cond" truecount="4" falsecount="0"/>
167
- <line num="191" count="185" type="stmt"/>
168
- <line num="192" count="185" type="stmt"/>
169
- <line num="193" count="185" type="stmt"/>
170
- <line num="196" count="187" type="stmt"/>
171
- <line num="204" count="33" type="stmt"/>
172
- <line num="205" count="178" type="stmt"/>
173
- <line num="206" count="178" type="stmt"/>
174
- <line num="211" count="178" type="cond" truecount="2" falsecount="2"/>
175
- <line num="212" count="0" type="stmt"/>
176
- <line num="214" count="178" type="stmt"/>
177
- <line num="215" count="178" type="stmt"/>
166
+ <line num="188" count="187" type="stmt"/>
167
+ <line num="189" count="187" type="stmt"/>
168
+ <line num="190" count="187" type="stmt"/>
169
+ <line num="193" count="187" type="cond" truecount="4" falsecount="0"/>
170
+ <line num="194" count="185" type="stmt"/>
171
+ <line num="195" count="185" type="stmt"/>
172
+ <line num="196" count="185" type="stmt"/>
173
+ <line num="199" count="187" type="stmt"/>
174
+ <line num="207" count="33" type="stmt"/>
175
+ <line num="208" count="178" type="stmt"/>
176
+ <line num="209" count="178" type="stmt"/>
177
+ <line num="214" count="178" type="cond" truecount="2" falsecount="2"/>
178
+ <line num="215" count="0" type="stmt"/>
178
179
  <line num="217" count="178" type="stmt"/>
179
180
  <line num="218" count="178" type="stmt"/>
180
181
  <line num="220" count="178" type="stmt"/>
181
- <line num="222" count="178" type="stmt"/>
182
- <line num="223" count="0" type="stmt"/>
183
- <line num="227" count="178" type="stmt"/>
184
- <line num="242" count="178" type="stmt"/>
185
- <line num="243" count="178" type="stmt"/>
186
- <line num="247" count="178" type="cond" truecount="1" falsecount="1"/>
187
- <line num="248" count="178" type="stmt"/>
188
- <line num="256" count="178" type="stmt"/>
189
- <line num="257" count="178" type="stmt"/>
190
- <line num="260" count="33" type="stmt"/>
191
- <line num="261" count="2" type="stmt"/>
192
- <line num="262" count="2" type="stmt"/>
193
- <line num="263" count="2" type="stmt"/>
194
- <line num="266" count="33" type="stmt"/>
195
- <line num="268" count="2" type="stmt"/>
196
- <line num="269" count="2" type="stmt"/>
197
- <line num="270" count="2" type="stmt"/>
198
- <line num="273" count="2" type="cond" truecount="1" falsecount="1"/>
199
- <line num="274" count="0" type="stmt"/>
200
- <line num="275" count="0" type="stmt"/>
201
- <line num="279" count="2" type="stmt"/>
182
+ <line num="221" count="178" type="stmt"/>
183
+ <line num="223" count="178" type="stmt"/>
184
+ <line num="225" count="178" type="stmt"/>
185
+ <line num="226" count="0" type="stmt"/>
186
+ <line num="230" count="178" type="stmt"/>
187
+ <line num="245" count="178" type="stmt"/>
188
+ <line num="246" count="178" type="stmt"/>
189
+ <line num="250" count="178" type="cond" truecount="1" falsecount="1"/>
190
+ <line num="251" count="178" type="stmt"/>
191
+ <line num="259" count="178" type="stmt"/>
192
+ <line num="260" count="178" type="stmt"/>
193
+ <line num="261" count="178" type="stmt"/>
194
+ <line num="264" count="33" type="stmt"/>
195
+ <line num="265" count="2" type="stmt"/>
196
+ <line num="266" count="2" type="stmt"/>
197
+ <line num="267" count="2" type="stmt"/>
198
+ <line num="270" count="33" type="stmt"/>
199
+ <line num="272" count="2" type="stmt"/>
200
+ <line num="273" count="2" type="stmt"/>
201
+ <line num="274" count="2" type="stmt"/>
202
+ <line num="277" count="2" type="cond" truecount="1" falsecount="1"/>
203
+ <line num="278" count="0" type="stmt"/>
204
+ <line num="279" count="0" type="stmt"/>
202
205
  <line num="283" count="2" type="stmt"/>
203
- <line num="284" count="2" type="stmt"/>
204
- <line num="285" count="2" type="stmt"/>
205
- <line num="288" count="33" type="stmt"/>
206
- <line num="290" count="1" type="stmt"/>
207
- <line num="291" count="1" type="stmt"/>
208
- <line num="292" count="1" type="cond" truecount="1" falsecount="1"/>
209
- <line num="293" count="0" type="stmt"/>
210
- <line num="297" count="1" type="cond" truecount="1" falsecount="1"/>
211
- <line num="298" count="0" type="stmt"/>
212
- <line num="302" count="1" type="stmt"/>
206
+ <line num="287" count="2" type="stmt"/>
207
+ <line num="288" count="2" type="stmt"/>
208
+ <line num="289" count="2" type="stmt"/>
209
+ <line num="292" count="33" type="stmt"/>
210
+ <line num="294" count="1" type="stmt"/>
211
+ <line num="295" count="1" type="stmt"/>
212
+ <line num="296" count="1" type="cond" truecount="1" falsecount="1"/>
213
+ <line num="297" count="0" type="stmt"/>
214
+ <line num="301" count="1" type="cond" truecount="1" falsecount="1"/>
215
+ <line num="302" count="0" type="stmt"/>
213
216
  <line num="306" count="1" type="stmt"/>
214
- <line num="307" count="1" type="stmt"/>
215
- <line num="308" count="1" type="stmt"/>
216
- <line num="311" count="33" type="stmt"/>
217
- <line num="312" count="11" type="stmt"/>
218
- <line num="314" count="11" type="stmt"/>
219
- <line num="320" count="11" type="stmt"/>
220
- <line num="322" count="11" type="stmt"/>
221
- <line num="323" count="11" type="stmt"/>
222
- <line num="326" count="33" type="stmt"/>
223
- <line num="327" count="0" type="stmt"/>
224
- <line num="328" count="0" type="cond" truecount="0" falsecount="2"/>
225
- <line num="329" count="0" type="stmt"/>
226
- <line num="331" count="0" type="stmt"/>
227
- <line num="333" count="0" type="stmt"/>
228
- <line num="334" count="0" type="stmt"/>
217
+ <line num="310" count="1" type="stmt"/>
218
+ <line num="311" count="1" type="stmt"/>
219
+ <line num="312" count="1" type="stmt"/>
220
+ <line num="315" count="33" type="stmt"/>
221
+ <line num="316" count="11" type="stmt"/>
222
+ <line num="318" count="11" type="stmt"/>
223
+ <line num="323" count="11" type="cond" truecount="2" falsecount="2"/>
224
+ <line num="324" count="0" type="stmt"/>
225
+ <line num="327" count="11" type="stmt"/>
226
+ <line num="328" count="11" type="stmt"/>
227
+ <line num="330" count="11" type="stmt"/>
228
+ <line num="331" count="11" type="stmt"/>
229
+ <line num="334" count="33" type="stmt"/>
229
230
  <line num="335" count="0" type="stmt"/>
230
231
  <line num="336" count="0" type="cond" truecount="0" falsecount="2"/>
231
- <line num="339" count="0" type="stmt"/>
232
- <line num="340" count="0" type="stmt"/>
232
+ <line num="337" count="0" type="stmt"/>
233
+ <line num="341" count="0" type="stmt"/>
233
234
  <line num="343" count="0" type="stmt"/>
234
- <line num="346" count="0" type="stmt"/>
235
- <line num="351" count="0" type="stmt"/>
236
- <line num="352" count="0" type="stmt"/>
237
- <line num="354" count="0" type="stmt"/>
238
- <line num="358" count="0" type="stmt"/>
239
- <line num="360" count="0" type="cond" truecount="0" falsecount="2"/>
235
+ <line num="344" count="0" type="stmt"/>
236
+ <line num="345" count="0" type="stmt"/>
237
+ <line num="346" count="0" type="cond" truecount="0" falsecount="2"/>
238
+ <line num="349" count="0" type="stmt"/>
239
+ <line num="350" count="0" type="stmt"/>
240
+ <line num="353" count="0" type="stmt"/>
241
+ <line num="356" count="0" type="stmt"/>
240
242
  <line num="361" count="0" type="stmt"/>
241
- <line num="363" count="0" type="stmt"/>
242
- <line num="369" count="33" type="stmt"/>
243
- <line num="370" count="5" type="stmt"/>
244
- <line num="371" count="5" type="stmt"/>
245
- <line num="372" count="5" type="stmt"/>
246
- <line num="374" count="5" type="stmt"/>
247
- <line num="375" count="5" type="cond" truecount="1" falsecount="1"/>
248
- <line num="376" count="5" type="stmt"/>
249
- <line num="381" count="5" type="stmt"/>
250
- <line num="383" count="5" type="stmt"/>
251
- <line num="386" count="33" type="stmt"/>
252
- <line num="387" count="178" type="stmt"/>
253
- <line num="389" count="178" type="stmt"/>
254
- <line num="390" count="178" type="stmt"/>
255
- <line num="391" count="356" type="stmt"/>
256
- <line num="392" count="356" type="stmt"/>
257
- <line num="395" count="178" type="stmt"/>
258
- <line num="396" count="178" type="stmt"/>
259
- <line num="397" count="178" type="stmt"/>
260
- <line num="399" count="178" type="stmt"/>
243
+ <line num="362" count="0" type="stmt"/>
244
+ <line num="364" count="0" type="stmt"/>
245
+ <line num="368" count="0" type="stmt"/>
246
+ <line num="372" count="0" type="stmt"/>
247
+ <line num="374" count="0" type="cond" truecount="0" falsecount="2"/>
248
+ <line num="375" count="0" type="stmt"/>
249
+ <line num="377" count="0" type="stmt"/>
250
+ <line num="383" count="33" type="stmt"/>
251
+ <line num="384" count="5" type="stmt"/>
252
+ <line num="385" count="5" type="stmt"/>
253
+ <line num="386" count="5" type="stmt"/>
254
+ <line num="388" count="5" type="stmt"/>
255
+ <line num="389" count="5" type="cond" truecount="1" falsecount="1"/>
256
+ <line num="390" count="5" type="stmt"/>
257
+ <line num="395" count="5" type="stmt"/>
258
+ <line num="397" count="5" type="stmt"/>
259
+ <line num="399" count="5" type="stmt"/>
260
+ <line num="400" count="5" type="stmt"/>
261
+ <line num="403" count="33" type="stmt"/>
262
+ <line num="404" count="178" type="stmt"/>
263
+ <line num="406" count="178" type="stmt"/>
264
+ <line num="407" count="178" type="stmt"/>
265
+ <line num="408" count="356" type="stmt"/>
266
+ <line num="409" count="356" type="stmt"/>
267
+ <line num="412" count="178" type="stmt"/>
268
+ <line num="413" count="178" type="stmt"/>
269
+ <line num="414" count="178" type="stmt"/>
270
+ <line num="416" count="178" type="stmt"/>
261
271
  </file>
262
272
  <file name="auth.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/auth.js">
263
- <metrics statements="26" coveredstatements="22" conditionals="8" coveredconditionals="4" methods="1" coveredmethods="1"/>
273
+ <metrics statements="27" coveredstatements="23" conditionals="8" coveredconditionals="4" methods="1" coveredmethods="1"/>
264
274
  <line num="1" count="23" type="stmt"/>
265
275
  <line num="2" count="23" type="stmt"/>
266
276
  <line num="3" count="23" type="stmt"/>
@@ -270,23 +280,24 @@
270
280
  <line num="8" count="1" type="stmt"/>
271
281
  <line num="9" count="1" type="cond" truecount="1" falsecount="1"/>
272
282
  <line num="16" count="1" type="stmt"/>
273
- <line num="18" count="1" type="cond" truecount="1" falsecount="1"/>
274
- <line num="19" count="1" type="stmt"/>
283
+ <line num="18" count="1" type="stmt"/>
284
+ <line num="20" count="1" type="cond" truecount="1" falsecount="1"/>
275
285
  <line num="21" count="1" type="stmt"/>
276
- <line num="22" count="1" type="stmt"/>
277
286
  <line num="23" count="1" type="stmt"/>
278
287
  <line num="24" count="1" type="stmt"/>
279
- <line num="26" count="0" type="stmt"/>
280
- <line num="33" count="1" type="cond" truecount="1" falsecount="1"/>
281
- <line num="34" count="0" type="stmt"/>
282
- <line num="37" count="1" type="cond" truecount="1" falsecount="1"/>
283
- <line num="38" count="1" type="stmt"/>
284
- <line num="41" count="1" type="stmt"/>
285
- <line num="42" count="1" type="stmt"/>
286
- <line num="43" count="1" type="stmt"/>
287
- <line num="45" count="0" type="stmt"/>
288
- <line num="47" count="1" type="stmt"/>
289
- <line num="50" count="0" type="stmt"/>
288
+ <line num="25" count="1" type="stmt"/>
289
+ <line num="26" count="1" type="stmt"/>
290
+ <line num="28" count="0" type="stmt"/>
291
+ <line num="35" count="1" type="cond" truecount="1" falsecount="1"/>
292
+ <line num="36" count="0" type="stmt"/>
293
+ <line num="39" count="1" type="cond" truecount="1" falsecount="1"/>
294
+ <line num="40" count="1" type="stmt"/>
295
+ <line num="44" count="1" type="stmt"/>
296
+ <line num="45" count="1" type="stmt"/>
297
+ <line num="46" count="1" type="stmt"/>
298
+ <line num="48" count="0" type="stmt"/>
299
+ <line num="50" count="1" type="stmt"/>
300
+ <line num="53" count="0" type="stmt"/>
290
301
  </file>
291
302
  <file name="automation.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/automation.js">
292
303
  <metrics statements="94" coveredstatements="84" conditionals="32" coveredconditionals="23" methods="14" coveredmethods="13"/>
@@ -468,90 +479,124 @@
468
479
  <line num="20" count="1" type="stmt"/>
469
480
  <line num="21" count="1" type="stmt"/>
470
481
  <line num="22" count="1" type="stmt"/>
471
- <line num="23" count="43" type="cond" truecount="2" falsecount="0"/>
482
+ <line num="23" count="47" type="cond" truecount="2" falsecount="0"/>
472
483
  <line num="24" count="1" type="stmt"/>
473
- <line num="26" count="42" type="stmt"/>
474
- <line num="27" count="42" type="stmt"/>
484
+ <line num="26" count="46" type="stmt"/>
485
+ <line num="27" count="46" type="stmt"/>
475
486
  <line num="34" count="1" type="stmt"/>
476
487
  </file>
477
488
  <file name="datasource.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/datasource.js">
478
- <metrics statements="73" coveredstatements="44" conditionals="16" coveredconditionals="6" methods="11" coveredmethods="8"/>
489
+ <metrics statements="107" coveredstatements="47" conditionals="36" coveredconditionals="7" methods="16" coveredmethods="8"/>
479
490
  <line num="1" count="33" type="stmt"/>
480
491
  <line num="9" count="33" type="stmt"/>
481
492
  <line num="10" count="33" type="stmt"/>
482
493
  <line num="11" count="33" type="stmt"/>
483
- <line num="13" count="33" type="stmt"/>
484
- <line num="14" count="2" type="stmt"/>
485
- <line num="17" count="2" type="stmt"/>
494
+ <line num="12" count="33" type="stmt"/>
495
+ <line num="14" count="33" type="stmt"/>
496
+ <line num="15" count="2" type="stmt"/>
486
497
  <line num="18" count="2" type="stmt"/>
487
- <line num="23" count="2" type="stmt"/>
488
- <line num="25" count="2" type="stmt"/>
489
- <line num="31" count="2" type="stmt"/>
490
- <line num="37" count="1" type="stmt"/>
491
- <line num="39" count="2" type="stmt"/>
492
- <line num="42" count="33" type="stmt"/>
493
- <line num="43" count="0" type="stmt"/>
498
+ <line num="19" count="2" type="stmt"/>
499
+ <line num="24" count="2" type="stmt"/>
500
+ <line num="26" count="2" type="stmt"/>
501
+ <line num="32" count="2" type="stmt"/>
502
+ <line num="38" count="1" type="stmt"/>
503
+ <line num="40" count="2" type="stmt"/>
504
+ <line num="43" count="33" type="stmt"/>
494
505
  <line num="44" count="0" type="stmt"/>
495
- <line num="46" count="0" type="stmt"/>
506
+ <line num="45" count="0" type="stmt"/>
496
507
  <line num="47" count="0" type="stmt"/>
497
- <line num="49" count="0" type="stmt"/>
508
+ <line num="48" count="0" type="stmt"/>
498
509
  <line num="50" count="0" type="stmt"/>
499
- <line num="52" count="0" type="stmt"/>
500
- <line num="55" count="33" type="stmt"/>
501
- <line num="56" count="0" type="stmt"/>
510
+ <line num="51" count="0" type="stmt"/>
511
+ <line num="53" count="0" type="stmt"/>
512
+ <line num="54" count="0" type="cond" truecount="0" falsecount="2"/>
513
+ <line num="55" count="0" type="stmt"/>
502
514
  <line num="57" count="0" type="stmt"/>
503
- <line num="58" count="0" type="stmt"/>
504
- <line num="59" count="0" type="stmt"/>
515
+ <line num="60" count="33" type="stmt"/>
505
516
  <line num="61" count="0" type="stmt"/>
506
517
  <line num="62" count="0" type="stmt"/>
507
- <line num="65" count="0" type="cond" truecount="0" falsecount="2"/>
518
+ <line num="63" count="0" type="stmt"/>
519
+ <line num="64" count="0" type="stmt"/>
508
520
  <line num="66" count="0" type="stmt"/>
509
- <line num="67" count="0" type="cond" truecount="0" falsecount="4"/>
510
- <line num="68" count="0" type="stmt"/>
511
- <line num="72" count="0" type="stmt"/>
521
+ <line num="67" count="0" type="stmt"/>
522
+ <line num="70" count="0" type="cond" truecount="0" falsecount="2"/>
523
+ <line num="71" count="0" type="stmt"/>
524
+ <line num="72" count="0" type="cond" truecount="0" falsecount="4"/>
512
525
  <line num="73" count="0" type="stmt"/>
513
- <line num="74" count="0" type="stmt"/>
514
- <line num="77" count="33" type="stmt"/>
515
- <line num="78" count="23" type="stmt"/>
516
- <line num="79" count="23" type="stmt"/>
517
- <line num="80" count="23" type="stmt"/>
518
- <line num="82" count="23" type="stmt"/>
519
- <line num="88" count="23" type="cond" truecount="1" falsecount="1"/>
520
- <line num="89" count="0" type="stmt"/>
521
- <line num="90" count="0" type="stmt"/>
526
+ <line num="77" count="0" type="stmt"/>
527
+ <line num="78" count="0" type="stmt"/>
528
+ <line num="79" count="0" type="stmt"/>
529
+ <line num="82" count="33" type="stmt"/>
530
+ <line num="83" count="23" type="stmt"/>
531
+ <line num="84" count="23" type="stmt"/>
532
+ <line num="85" count="23" type="stmt"/>
533
+ <line num="87" count="23" type="stmt"/>
522
534
  <line num="93" count="23" type="stmt"/>
523
- <line num="94" count="23" type="stmt"/>
524
- <line num="97" count="23" type="cond" truecount="1" falsecount="1"/>
525
- <line num="98" count="23" type="stmt"/>
526
- <line num="99" count="23" type="cond" truecount="3" falsecount="1"/>
527
- <line num="100" count="0" type="stmt"/>
528
- <line num="104" count="23" type="stmt"/>
535
+ <line num="94" count="23" type="cond" truecount="1" falsecount="1"/>
536
+ <line num="95" count="0" type="stmt"/>
537
+ <line num="96" count="0" type="stmt"/>
538
+ <line num="97" count="0" type="stmt"/>
539
+ <line num="100" count="23" type="stmt"/>
540
+ <line num="101" count="23" type="stmt"/>
541
+ <line num="104" count="23" type="cond" truecount="1" falsecount="1"/>
529
542
  <line num="105" count="23" type="stmt"/>
530
- <line num="106" count="23" type="stmt"/>
531
- <line num="109" count="33" type="stmt"/>
532
- <line num="110" count="1" type="stmt"/>
533
- <line num="113" count="1" type="stmt"/>
534
- <line num="114" count="1" type="stmt"/>
535
- <line num="117" count="1" type="stmt"/>
543
+ <line num="106" count="23" type="cond" truecount="3" falsecount="1"/>
544
+ <line num="107" count="0" type="stmt"/>
545
+ <line num="111" count="23" type="stmt"/>
546
+ <line num="112" count="23" type="cond" truecount="1" falsecount="1"/>
547
+ <line num="113" count="0" type="stmt"/>
548
+ <line num="115" count="23" type="stmt"/>
549
+ <line num="118" count="33" type="stmt"/>
536
550
  <line num="119" count="1" type="stmt"/>
537
- <line num="120" count="1" type="stmt"/>
538
- <line num="123" count="33" type="stmt"/>
539
- <line num="124" count="1" type="stmt"/>
551
+ <line num="122" count="1" type="stmt"/>
540
552
  <line num="125" count="1" type="stmt"/>
541
- <line num="129" count="33" type="stmt"/>
542
- <line num="130" count="1" type="stmt"/>
543
- <line num="131" count="1" type="stmt"/>
544
- <line num="132" count="1" type="stmt"/>
545
- <line num="134" count="0" type="stmt"/>
546
- <line num="138" count="33" type="stmt"/>
547
- <line num="139" count="0" type="stmt"/>
548
- <line num="142" count="0" type="stmt"/>
549
- <line num="143" count="0" type="stmt"/>
550
- <line num="144" count="0" type="stmt"/>
551
- <line num="146" count="0" type="stmt"/>
553
+ <line num="126" count="1" type="stmt"/>
554
+ <line num="134" count="1" type="stmt"/>
555
+ <line num="136" count="1" type="stmt"/>
556
+ <line num="137" count="1" type="stmt"/>
557
+ <line num="140" count="33" type="stmt"/>
558
+ <line num="141" count="1" type="stmt"/>
559
+ <line num="142" count="1" type="stmt"/>
560
+ <line num="146" count="33" type="stmt"/>
561
+ <line num="147" count="1" type="stmt"/>
562
+ <line num="148" count="1" type="stmt"/>
563
+ <line num="149" count="1" type="stmt"/>
564
+ <line num="151" count="0" type="stmt"/>
565
+ <line num="156" count="0" type="stmt"/>
566
+ <line num="157" count="0" type="stmt"/>
567
+ <line num="158" count="0" type="stmt"/>
568
+ <line num="162" count="0" type="cond" truecount="0" falsecount="2"/>
569
+ <line num="163" count="0" type="stmt"/>
570
+ <line num="165" count="0" type="cond" truecount="0" falsecount="2"/>
571
+ <line num="166" count="0" type="stmt"/>
572
+ <line num="168" count="0" type="stmt"/>
573
+ <line num="169" count="0" type="stmt"/>
574
+ <line num="172" count="33" type="stmt"/>
575
+ <line num="173" count="0" type="stmt"/>
576
+ <line num="176" count="0" type="stmt"/>
577
+ <line num="177" count="0" type="stmt"/>
578
+ <line num="178" count="0" type="stmt"/>
579
+ <line num="181" count="0" type="stmt"/>
580
+ <line num="182" count="0" type="cond" truecount="0" falsecount="2"/>
581
+ <line num="183" count="0" type="stmt"/>
582
+ <line num="185" count="0" type="stmt"/>
583
+ <line num="186" count="0" type="stmt"/>
584
+ <line num="188" count="0" type="cond" truecount="0" falsecount="2"/>
585
+ <line num="189" count="0" type="stmt"/>
586
+ <line num="193" count="0" type="stmt"/>
587
+ <line num="194" count="0" type="stmt"/>
588
+ <line num="195" count="0" type="cond" truecount="0" falsecount="4"/>
589
+ <line num="196" count="0" type="stmt"/>
590
+ <line num="197" count="0" type="stmt"/>
591
+ <line num="198" count="0" type="cond" truecount="0" falsecount="2"/>
592
+ <line num="199" count="0" type="stmt"/>
593
+ <line num="205" count="0" type="cond" truecount="0" falsecount="2"/>
594
+ <line num="206" count="0" type="stmt"/>
595
+ <line num="207" count="0" type="stmt"/>
596
+ <line num="214" count="0" type="stmt"/>
552
597
  </file>
553
598
  <file name="dev.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/dev.js">
554
- <metrics statements="60" coveredstatements="17" conditionals="15" coveredconditionals="0" methods="10" coveredmethods="3"/>
599
+ <metrics statements="63" coveredstatements="18" conditionals="15" coveredconditionals="0" methods="10" coveredmethods="3"/>
555
600
  <line num="1" count="23" type="stmt"/>
556
601
  <line num="2" count="23" type="stmt"/>
557
602
  <line num="3" count="23" type="stmt"/>
@@ -560,61 +605,64 @@
560
605
  <line num="6" count="23" type="stmt"/>
561
606
  <line num="7" count="23" type="stmt"/>
562
607
  <line num="8" count="23" type="stmt"/>
563
- <line num="11" count="0" type="stmt"/>
564
- <line num="12" count="0" type="cond" truecount="0" falsecount="2"/>
565
- <line num="13" count="0" type="stmt"/>
566
- <line num="26" count="0" type="cond" truecount="0" falsecount="2"/>
567
- <line num="27" count="0" type="stmt"/>
608
+ <line num="9" count="23" type="stmt"/>
609
+ <line num="12" count="0" type="stmt"/>
610
+ <line num="13" count="0" type="cond" truecount="0" falsecount="2"/>
611
+ <line num="14" count="0" type="stmt"/>
612
+ <line num="27" count="0" type="cond" truecount="0" falsecount="2"/>
613
+ <line num="28" count="0" type="stmt"/>
568
614
  <line num="29" count="0" type="stmt"/>
569
- <line num="30" count="0" type="cond" truecount="0" falsecount="2"/>
570
615
  <line num="31" count="0" type="stmt"/>
571
- <line num="34" count="0" type="stmt"/>
572
- <line num="35" count="0" type="stmt"/>
573
- <line num="39" count="0" type="stmt"/>
574
- <line num="40" count="0" type="cond" truecount="0" falsecount="2"/>
616
+ <line num="32" count="0" type="cond" truecount="0" falsecount="2"/>
617
+ <line num="33" count="0" type="stmt"/>
618
+ <line num="36" count="0" type="stmt"/>
619
+ <line num="37" count="0" type="stmt"/>
575
620
  <line num="41" count="0" type="stmt"/>
621
+ <line num="42" count="0" type="cond" truecount="0" falsecount="2"/>
576
622
  <line num="43" count="0" type="stmt"/>
577
- <line num="46" count="23" type="stmt"/>
578
- <line num="47" count="46" type="stmt"/>
579
- <line num="48" count="0" type="stmt"/>
580
- <line num="52" count="23" type="stmt"/>
581
- <line num="53" count="46" type="stmt"/>
582
- <line num="54" count="0" type="stmt"/>
583
- <line num="58" count="23" type="stmt"/>
584
- <line num="59" count="46" type="stmt"/>
585
- <line num="60" count="0" type="stmt"/>
586
- <line num="64" count="23" type="stmt"/>
587
- <line num="65" count="0" type="stmt"/>
588
- <line num="66" count="0" type="stmt"/>
623
+ <line num="45" count="0" type="stmt"/>
624
+ <line num="48" count="23" type="stmt"/>
625
+ <line num="49" count="46" type="stmt"/>
626
+ <line num="50" count="0" type="stmt"/>
627
+ <line num="54" count="23" type="stmt"/>
628
+ <line num="55" count="46" type="stmt"/>
629
+ <line num="56" count="0" type="stmt"/>
630
+ <line num="60" count="23" type="stmt"/>
631
+ <line num="61" count="46" type="stmt"/>
632
+ <line num="62" count="0" type="stmt"/>
633
+ <line num="66" count="23" type="stmt"/>
589
634
  <line num="67" count="0" type="stmt"/>
635
+ <line num="68" count="0" type="stmt"/>
590
636
  <line num="69" count="0" type="stmt"/>
591
637
  <line num="71" count="0" type="stmt"/>
592
- <line num="76" count="23" type="stmt"/>
593
- <line num="77" count="0" type="stmt"/>
594
- <line num="78" count="0" type="stmt"/>
595
- <line num="81" count="0" type="stmt"/>
596
- <line num="82" count="0" type="stmt"/>
638
+ <line num="73" count="0" type="stmt"/>
639
+ <line num="78" count="23" type="stmt"/>
640
+ <line num="79" count="0" type="stmt"/>
641
+ <line num="80" count="0" type="stmt"/>
597
642
  <line num="83" count="0" type="stmt"/>
598
- <line num="84" count="0" type="cond" truecount="0" falsecount="2"/>
643
+ <line num="84" count="0" type="stmt"/>
599
644
  <line num="85" count="0" type="stmt"/>
600
645
  <line num="86" count="0" type="cond" truecount="0" falsecount="2"/>
601
- <line num="90" count="0" type="stmt"/>
602
- <line num="93" count="0" type="stmt"/>
603
- <line num="96" count="0" type="stmt"/>
604
- <line num="97" count="0" type="stmt"/>
605
- <line num="102" count="0" type="stmt"/>
646
+ <line num="87" count="0" type="stmt"/>
647
+ <line num="88" count="0" type="cond" truecount="0" falsecount="2"/>
648
+ <line num="92" count="0" type="stmt"/>
649
+ <line num="95" count="0" type="stmt"/>
650
+ <line num="98" count="0" type="stmt"/>
651
+ <line num="99" count="0" type="stmt"/>
606
652
  <line num="104" count="0" type="stmt"/>
607
- <line num="105" count="0" type="stmt"/>
608
653
  <line num="106" count="0" type="stmt"/>
609
654
  <line num="107" count="0" type="stmt"/>
610
655
  <line num="108" count="0" type="stmt"/>
611
656
  <line num="109" count="0" type="stmt"/>
612
- <line num="113" count="0" type="stmt"/>
613
- <line num="117" count="23" type="stmt"/>
614
- <line num="118" count="0" type="stmt"/>
657
+ <line num="110" count="0" type="stmt"/>
658
+ <line num="111" count="0" type="stmt"/>
659
+ <line num="112" count="0" type="stmt"/>
660
+ <line num="116" count="0" type="stmt"/>
661
+ <line num="120" count="23" type="stmt"/>
662
+ <line num="121" count="0" type="stmt"/>
615
663
  </file>
616
664
  <file name="hosting.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/hosting.js">
617
- <metrics statements="15" coveredstatements="13" conditionals="4" coveredconditionals="2" methods="2" coveredmethods="1"/>
665
+ <metrics statements="15" coveredstatements="14" conditionals="4" coveredconditionals="3" methods="2" coveredmethods="1"/>
618
666
  <line num="1" count="23" type="stmt"/>
619
667
  <line num="2" count="23" type="stmt"/>
620
668
  <line num="3" count="23" type="stmt"/>
@@ -625,8 +673,8 @@
625
673
  <line num="9" count="1" type="stmt"/>
626
674
  <line num="10" count="1" type="stmt"/>
627
675
  <line num="11" count="1" type="stmt"/>
628
- <line num="12" count="1" type="cond" truecount="2" falsecount="2"/>
629
- <line num="13" count="0" type="stmt"/>
676
+ <line num="12" count="1" type="cond" truecount="3" falsecount="1"/>
677
+ <line num="13" count="1" type="stmt"/>
630
678
  <line num="15" count="1" type="stmt"/>
631
679
  <line num="20" count="23" type="stmt"/>
632
680
  <line num="21" count="0" type="stmt"/>
@@ -780,102 +828,79 @@
780
828
  <line num="170" count="1" type="stmt"/>
781
829
  </file>
782
830
  <file name="query.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/query.js">
783
- <metrics statements="95" coveredstatements="75" conditionals="41" coveredconditionals="22" methods="13" coveredmethods="12"/>
831
+ <metrics statements="72" coveredstatements="61" conditionals="25" coveredconditionals="12" methods="9" coveredmethods="9"/>
784
832
  <line num="1" count="34" type="stmt"/>
785
833
  <line num="2" count="34" type="stmt"/>
786
834
  <line num="3" count="34" type="stmt"/>
787
835
  <line num="4" count="34" type="stmt"/>
788
836
  <line num="5" count="34" type="stmt"/>
789
837
  <line num="6" count="34" type="stmt"/>
790
- <line num="7" count="34" type="stmt"/>
791
- <line num="11" count="4" type="stmt"/>
792
- <line num="12" count="4" type="cond" truecount="2" falsecount="0"/>
793
- <line num="13" count="4" type="stmt"/>
794
- <line num="14" count="3" type="cond" truecount="1" falsecount="1"/>
795
- <line num="15" count="3" type="stmt"/>
796
- <line num="18" count="4" type="cond" truecount="2" falsecount="0"/>
797
- <line num="22" count="2" type="cond" truecount="1" falsecount="1"/>
798
- <line num="23" count="0" type="stmt"/>
799
- <line num="24" count="0" type="stmt"/>
800
- <line num="26" count="0" type="stmt"/>
801
- <line num="29" count="2" type="stmt"/>
802
- <line num="38" count="2" type="stmt"/>
803
- <line num="41" count="2" type="cond" truecount="1" falsecount="1"/>
804
- <line num="42" count="0" type="stmt"/>
805
- <line num="43" count="0" type="stmt"/>
806
- <line num="47" count="2" type="cond" truecount="1" falsecount="1"/>
807
- <line num="48" count="0" type="stmt"/>
808
- <line num="52" count="2" type="cond" truecount="1" falsecount="1"/>
809
- <line num="53" count="0" type="stmt"/>
810
- <line num="57" count="2" type="stmt"/>
811
- <line num="59" count="2" type="stmt"/>
812
- <line num="62" count="34" type="stmt"/>
813
- <line num="63" count="2" type="stmt"/>
814
- <line num="65" count="2" type="stmt"/>
815
- <line num="70" count="2" type="stmt"/>
816
- <line num="73" count="34" type="stmt"/>
817
- <line num="74" count="18" type="stmt"/>
818
- <line num="75" count="18" type="stmt"/>
819
- <line num="77" count="18" type="cond" truecount="1" falsecount="1"/>
820
- <line num="78" count="18" type="stmt"/>
821
- <line num="81" count="18" type="stmt"/>
822
- <line num="82" count="18" type="stmt"/>
823
- <line num="84" count="18" type="stmt"/>
824
- <line num="85" count="18" type="stmt"/>
825
- <line num="89" count="2" type="stmt"/>
826
- <line num="92" count="2" type="stmt"/>
827
- <line num="93" count="0" type="cond" truecount="0" falsecount="2"/>
828
- <line num="94" count="0" type="stmt"/>
829
- <line num="96" count="0" type="cond" truecount="0" falsecount="2"/>
830
- <line num="98" count="0" type="stmt"/>
831
- <line num="99" count="0" type="cond" truecount="0" falsecount="2"/>
832
- <line num="101" count="0" type="stmt"/>
833
- <line num="103" count="0" type="stmt"/>
834
- <line num="107" count="2" type="cond" truecount="1" falsecount="1"/>
835
- <line num="112" count="0" type="stmt"/>
836
- <line num="113" count="0" type="stmt"/>
837
- <line num="119" count="0" type="stmt"/>
838
- <line num="121" count="0" type="stmt"/>
839
- <line num="124" count="2" type="stmt"/>
840
- <line num="127" count="34" type="stmt"/>
841
- <line num="128" count="2" type="stmt"/>
838
+ <line num="8" count="34" type="stmt"/>
839
+ <line num="12" count="4" type="stmt"/>
840
+ <line num="13" count="4" type="cond" truecount="2" falsecount="0"/>
841
+ <line num="14" count="4" type="stmt"/>
842
+ <line num="15" count="3" type="cond" truecount="1" falsecount="1"/>
843
+ <line num="16" count="3" type="stmt"/>
844
+ <line num="19" count="4" type="cond" truecount="2" falsecount="0"/>
845
+ <line num="22" count="34" type="stmt"/>
846
+ <line num="23" count="2" type="stmt"/>
847
+ <line num="25" count="2" type="stmt"/>
848
+ <line num="30" count="2" type="stmt"/>
849
+ <line num="33" count="34" type="stmt"/>
850
+ <line num="34" count="18" type="stmt"/>
851
+ <line num="35" count="18" type="stmt"/>
852
+ <line num="37" count="18" type="cond" truecount="1" falsecount="1"/>
853
+ <line num="38" count="18" type="stmt"/>
854
+ <line num="41" count="18" type="stmt"/>
855
+ <line num="42" count="18" type="stmt"/>
856
+ <line num="44" count="18" type="stmt"/>
857
+ <line num="45" count="18" type="stmt"/>
858
+ <line num="49" count="4" type="stmt"/>
859
+ <line num="52" count="4" type="stmt"/>
860
+ <line num="53" count="0" type="cond" truecount="0" falsecount="2"/>
861
+ <line num="54" count="0" type="stmt"/>
862
+ <line num="56" count="0" type="cond" truecount="0" falsecount="2"/>
863
+ <line num="58" count="0" type="stmt"/>
864
+ <line num="59" count="0" type="cond" truecount="0" falsecount="2"/>
865
+ <line num="61" count="0" type="stmt"/>
866
+ <line num="65" count="0" type="stmt"/>
867
+ <line num="69" count="4" type="cond" truecount="1" falsecount="1"/>
868
+ <line num="74" count="0" type="stmt"/>
869
+ <line num="75" count="0" type="stmt"/>
870
+ <line num="81" count="0" type="stmt"/>
871
+ <line num="83" count="0" type="stmt"/>
872
+ <line num="86" count="4" type="stmt"/>
873
+ <line num="89" count="34" type="stmt"/>
874
+ <line num="90" count="2" type="stmt"/>
875
+ <line num="91" count="2" type="stmt"/>
876
+ <line num="93" count="2" type="cond" truecount="2" falsecount="0"/>
877
+ <line num="94" count="1" type="stmt"/>
878
+ <line num="95" count="1" type="stmt"/>
879
+ <line num="96" count="1" type="stmt"/>
880
+ <line num="98" count="2" type="stmt"/>
881
+ <line num="101" count="34" type="stmt"/>
882
+ <line num="102" count="2" type="stmt"/>
883
+ <line num="104" count="2" type="stmt"/>
884
+ <line num="106" count="2" type="stmt"/>
885
+ <line num="107" count="2" type="stmt"/>
886
+ <line num="109" count="2" type="stmt"/>
887
+ <line num="110" count="2" type="stmt"/>
888
+ <line num="117" count="1" type="stmt"/>
889
+ <line num="122" count="1" type="stmt"/>
890
+ <line num="126" count="34" type="stmt"/>
891
+ <line num="127" count="2" type="stmt"/>
842
892
  <line num="129" count="2" type="stmt"/>
843
- <line num="131" count="2" type="cond" truecount="2" falsecount="0"/>
844
- <line num="132" count="1" type="stmt"/>
845
- <line num="133" count="1" type="stmt"/>
846
- <line num="134" count="1" type="stmt"/>
847
- <line num="136" count="2" type="stmt"/>
848
- <line num="139" count="34" type="stmt"/>
849
- <line num="140" count="2" type="stmt"/>
850
- <line num="142" count="2" type="stmt"/>
851
- <line num="144" count="2" type="stmt"/>
852
- <line num="146" count="2" type="cond" truecount="2" falsecount="0"/>
893
+ <line num="130" count="2" type="stmt"/>
894
+ <line num="132" count="2" type="stmt"/>
895
+ <line num="138" count="2" type="stmt"/>
896
+ <line num="139" count="2" type="stmt"/>
897
+ <line num="145" count="1" type="stmt"/>
853
898
  <line num="147" count="1" type="stmt"/>
854
- <line num="150" count="1" type="stmt"/>
855
- <line num="151" count="1" type="stmt"/>
899
+ <line num="151" count="34" type="stmt"/>
856
900
  <line num="152" count="1" type="stmt"/>
901
+ <line num="153" count="1" type="stmt"/>
857
902
  <line num="154" count="1" type="stmt"/>
858
- <line num="161" count="1" type="stmt"/>
859
- <line num="166" count="1" type="cond" truecount="1" falsecount="1"/>
860
- <line num="167" count="0" type="stmt"/>
861
- <line num="171" count="34" type="stmt"/>
862
- <line num="172" count="2" type="stmt"/>
863
- <line num="174" count="2" type="stmt"/>
864
- <line num="175" count="2" type="stmt"/>
865
- <line num="177" count="2" type="stmt"/>
866
- <line num="179" count="2" type="cond" truecount="2" falsecount="0"/>
867
- <line num="180" count="1" type="stmt"/>
868
- <line num="183" count="1" type="stmt"/>
869
- <line num="187" count="1" type="stmt"/>
870
- <line num="190" count="1" type="stmt"/>
871
- <line num="196" count="1" type="stmt"/>
872
- <line num="198" count="1" type="cond" truecount="1" falsecount="1"/>
873
- <line num="199" count="0" type="stmt"/>
874
- <line num="203" count="34" type="stmt"/>
875
- <line num="204" count="1" type="stmt"/>
876
- <line num="205" count="1" type="stmt"/>
877
- <line num="206" count="1" type="stmt"/>
878
- <line num="207" count="1" type="stmt"/>
903
+ <line num="155" count="1" type="stmt"/>
879
904
  </file>
880
905
  <file name="role.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/role.js">
881
906
  <metrics statements="53" coveredstatements="47" conditionals="22" coveredconditionals="14" methods="7" coveredmethods="5"/>
@@ -1040,44 +1065,105 @@
1040
1065
  <line num="25" count="0" type="stmt"/>
1041
1066
  </file>
1042
1067
  <file name="user.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/user.js">
1043
- <metrics statements="37" coveredstatements="32" conditionals="0" coveredconditionals="0" methods="8" coveredmethods="5"/>
1068
+ <metrics statements="98" coveredstatements="37" conditionals="31" coveredconditionals="0" methods="14" coveredmethods="5"/>
1044
1069
  <line num="1" count="34" type="stmt"/>
1045
1070
  <line num="5" count="34" type="stmt"/>
1046
1071
  <line num="6" count="34" type="stmt"/>
1047
1072
  <line num="7" count="34" type="stmt"/>
1048
1073
  <line num="8" count="34" type="stmt"/>
1049
- <line num="12" count="1" type="stmt"/>
1050
- <line num="13" count="1" type="stmt"/>
1051
- <line num="14" count="1" type="stmt"/>
1052
- <line num="15" count="1" type="stmt"/>
1053
- <line num="18" count="34" type="stmt"/>
1054
- <line num="19" count="2" type="stmt"/>
1055
- <line num="20" count="2" type="stmt"/>
1056
- <line num="21" count="2" type="stmt"/>
1057
- <line num="27" count="0" type="stmt"/>
1058
- <line num="28" count="2" type="stmt"/>
1059
- <line num="29" count="2" type="stmt"/>
1060
- <line num="31" count="7" type="stmt"/>
1061
- <line num="33" count="7" type="stmt"/>
1062
- <line num="41" count="2" type="stmt"/>
1063
- <line num="44" count="34" type="stmt"/>
1064
- <line num="46" count="0" type="stmt"/>
1065
- <line num="48" count="0" type="stmt"/>
1066
- <line num="49" count="0" type="stmt"/>
1067
- <line num="52" count="34" type="stmt"/>
1068
- <line num="53" count="1" type="stmt"/>
1069
- <line num="54" count="1" type="stmt"/>
1070
- <line num="55" count="1" type="stmt"/>
1071
- <line num="56" count="1" type="stmt"/>
1072
- <line num="60" count="1" type="stmt"/>
1073
- <line num="63" count="34" type="stmt"/>
1074
- <line num="64" count="1" type="stmt"/>
1075
- <line num="65" count="1" type="stmt"/>
1076
- <line num="66" count="1" type="stmt"/>
1074
+ <line num="9" count="34" type="stmt"/>
1075
+ <line num="10" count="34" type="stmt"/>
1076
+ <line num="11" count="34" type="stmt"/>
1077
+ <line num="12" count="34" type="stmt"/>
1078
+ <line num="13" count="34" type="stmt"/>
1079
+ <line num="16" count="2" type="stmt"/>
1080
+ <line num="22" count="0" type="stmt"/>
1081
+ <line num="27" count="0" type="cond" truecount="0" falsecount="2"/>
1082
+ <line num="28" count="0" type="stmt"/>
1083
+ <line num="30" count="0" type="stmt"/>
1084
+ <line num="31" count="0" type="stmt"/>
1085
+ <line num="32" count="0" type="stmt"/>
1086
+ <line num="37" count="0" type="cond" truecount="0" falsecount="2"/>
1087
+ <line num="38" count="0" type="stmt"/>
1088
+ <line num="41" count="0" type="cond" truecount="0" falsecount="2"/>
1089
+ <line num="42" count="0" type="stmt"/>
1090
+ <line num="44" count="0" type="cond" truecount="0" falsecount="4"/>
1091
+ <line num="45" count="0" type="stmt"/>
1092
+ <line num="50" count="0" type="stmt"/>
1093
+ <line num="53" count="34" type="stmt"/>
1094
+ <line num="55" count="0" type="stmt"/>
1095
+ <line num="56" count="0" type="stmt"/>
1096
+ <line num="60" count="0" type="stmt"/>
1097
+ <line num="61" count="0" type="stmt"/>
1098
+ <line num="62" count="0" type="stmt"/>
1099
+ <line num="63" count="0" type="cond" truecount="0" falsecount="2"/>
1100
+ <line num="64" count="0" type="stmt"/>
1077
1101
  <line num="67" count="0" type="stmt"/>
1078
- <line num="71" count="1" type="stmt"/>
1079
- <line num="76" count="34" type="stmt"/>
1080
- <line num="77" count="1" type="stmt"/>
1102
+ <line num="70" count="34" type="stmt"/>
1103
+ <line num="71" count="0" type="stmt"/>
1104
+ <line num="73" count="0" type="stmt"/>
1105
+ <line num="74" count="0" type="stmt"/>
1106
+ <line num="75" count="0" type="stmt"/>
1107
+ <line num="77" count="0" type="cond" truecount="0" falsecount="4"/>
1108
+ <line num="78" count="0" type="stmt"/>
1109
+ <line num="79" count="0" type="stmt"/>
1110
+ <line num="81" count="0" type="stmt"/>
1111
+ <line num="84" count="0" type="stmt"/>
1112
+ <line num="86" count="0" type="stmt"/>
1113
+ <line num="87" count="0" type="stmt"/>
1114
+ <line num="88" count="0" type="stmt"/>
1115
+ <line num="92" count="0" type="cond" truecount="0" falsecount="5"/>
1116
+ <line num="93" count="0" type="stmt"/>
1117
+ <line num="95" count="0" type="stmt"/>
1118
+ <line num="96" count="0" type="stmt"/>
1119
+ <line num="97" count="0" type="stmt"/>
1120
+ <line num="99" count="0" type="stmt"/>
1121
+ <line num="100" count="0" type="stmt"/>
1122
+ <line num="101" count="0" type="stmt"/>
1123
+ <line num="102" count="0" type="stmt"/>
1124
+ <line num="103" count="0" type="cond" truecount="0" falsecount="2"/>
1125
+ <line num="104" count="0" type="stmt"/>
1126
+ <line num="106" count="0" type="stmt"/>
1127
+ <line num="107" count="0" type="stmt"/>
1128
+ <line num="109" count="0" type="stmt"/>
1129
+ <line num="110" count="0" type="stmt"/>
1130
+ <line num="112" count="0" type="cond" truecount="0" falsecount="2"/>
1131
+ <line num="113" count="0" type="stmt"/>
1132
+ <line num="115" count="0" type="stmt"/>
1133
+ <line num="120" count="0" type="cond" truecount="0" falsecount="2"/>
1134
+ <line num="121" count="0" type="stmt"/>
1135
+ <line num="123" count="0" type="cond" truecount="0" falsecount="2"/>
1136
+ <line num="131" count="0" type="cond" truecount="0" falsecount="2"/>
1137
+ <line num="132" count="0" type="stmt"/>
1138
+ <line num="136" count="0" type="stmt"/>
1139
+ <line num="141" count="34" type="stmt"/>
1140
+ <line num="142" count="2" type="stmt"/>
1141
+ <line num="143" count="2" type="stmt"/>
1142
+ <line num="144" count="2" type="stmt"/>
1143
+ <line num="145" count="2" type="stmt"/>
1144
+ <line num="146" count="2" type="stmt"/>
1145
+ <line num="148" count="7" type="stmt"/>
1146
+ <line num="150" count="7" type="stmt"/>
1147
+ <line num="158" count="2" type="stmt"/>
1148
+ <line num="161" count="34" type="stmt"/>
1149
+ <line num="163" count="0" type="stmt"/>
1150
+ <line num="165" count="0" type="stmt"/>
1151
+ <line num="166" count="0" type="stmt"/>
1152
+ <line num="169" count="34" type="stmt"/>
1153
+ <line num="170" count="1" type="stmt"/>
1154
+ <line num="171" count="1" type="stmt"/>
1155
+ <line num="172" count="1" type="stmt"/>
1156
+ <line num="174" count="1" type="stmt"/>
1157
+ <line num="175" count="1" type="stmt"/>
1158
+ <line num="179" count="1" type="stmt"/>
1159
+ <line num="182" count="34" type="stmt"/>
1160
+ <line num="183" count="1" type="stmt"/>
1161
+ <line num="184" count="1" type="stmt"/>
1162
+ <line num="185" count="1" type="stmt"/>
1163
+ <line num="186" count="0" type="stmt"/>
1164
+ <line num="190" count="1" type="stmt"/>
1165
+ <line num="195" count="34" type="stmt"/>
1166
+ <line num="196" count="1" type="stmt"/>
1081
1167
  </file>
1082
1168
  <file name="webhook.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/webhook.js">
1083
1169
  <metrics statements="56" coveredstatements="51" conditionals="10" coveredconditionals="4" methods="7" coveredmethods="7"/>
@@ -1140,9 +1226,9 @@
1140
1226
  </file>
1141
1227
  </package>
1142
1228
  <package name="api.controllers.row">
1143
- <metrics statements="586" coveredstatements="309" conditionals="247" coveredconditionals="83" methods="88" coveredmethods="38"/>
1229
+ <metrics statements="583" coveredstatements="307" conditionals="248" coveredconditionals="83" methods="88" coveredmethods="38"/>
1144
1230
  <file name="external.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/row/external.js">
1145
- <metrics statements="98" coveredstatements="14" conditionals="42" coveredconditionals="0" methods="13" coveredmethods="0"/>
1231
+ <metrics statements="99" coveredstatements="15" conditionals="42" coveredconditionals="0" methods="13" coveredmethods="0"/>
1146
1232
  <line num="6" count="34" type="stmt"/>
1147
1233
  <line num="10" count="34" type="stmt"/>
1148
1234
  <line num="11" count="34" type="stmt"/>
@@ -1156,91 +1242,92 @@
1156
1242
  <line num="23" count="0" type="stmt"/>
1157
1243
  <line num="28" count="0" type="stmt"/>
1158
1244
  <line num="33" count="34" type="stmt"/>
1159
- <line num="34" count="0" type="stmt"/>
1160
- <line num="35" count="0" type="stmt"/>
1245
+ <line num="35" count="34" type="stmt"/>
1161
1246
  <line num="36" count="0" type="stmt"/>
1162
1247
  <line num="37" count="0" type="stmt"/>
1248
+ <line num="38" count="0" type="stmt"/>
1163
1249
  <line num="39" count="0" type="stmt"/>
1164
- <line num="40" count="0" type="stmt"/>
1165
- <line num="46" count="34" type="stmt"/>
1166
- <line num="47" count="0" type="stmt"/>
1167
- <line num="48" count="0" type="stmt"/>
1250
+ <line num="41" count="0" type="stmt"/>
1251
+ <line num="42" count="0" type="stmt"/>
1252
+ <line num="48" count="34" type="stmt"/>
1168
1253
  <line num="49" count="0" type="stmt"/>
1169
1254
  <line num="50" count="0" type="stmt"/>
1170
- <line num="55" count="34" type="stmt"/>
1171
- <line num="58" count="0" type="stmt"/>
1172
- <line num="59" count="0" type="cond" truecount="0" falsecount="2"/>
1255
+ <line num="51" count="0" type="stmt"/>
1256
+ <line num="52" count="0" type="stmt"/>
1257
+ <line num="57" count="34" type="stmt"/>
1173
1258
  <line num="60" count="0" type="stmt"/>
1174
- <line num="63" count="34" type="stmt"/>
1175
- <line num="64" count="0" type="stmt"/>
1176
- <line num="65" count="0" type="stmt"/>
1259
+ <line num="61" count="0" type="cond" truecount="0" falsecount="2"/>
1260
+ <line num="62" count="0" type="stmt"/>
1261
+ <line num="65" count="34" type="stmt"/>
1177
1262
  <line num="66" count="0" type="stmt"/>
1178
- <line num="69" count="34" type="stmt"/>
1179
- <line num="70" count="0" type="stmt"/>
1180
- <line num="71" count="0" type="stmt"/>
1263
+ <line num="67" count="0" type="stmt"/>
1264
+ <line num="68" count="0" type="stmt"/>
1265
+ <line num="71" count="34" type="stmt"/>
1181
1266
  <line num="72" count="0" type="stmt"/>
1182
1267
  <line num="73" count="0" type="stmt"/>
1183
- <line num="81" count="0" type="cond" truecount="0" falsecount="2"/>
1184
- <line num="84" count="34" type="stmt"/>
1185
- <line num="85" count="0" type="stmt"/>
1186
- <line num="86" count="0" type="stmt"/>
1268
+ <line num="74" count="0" type="stmt"/>
1269
+ <line num="75" count="0" type="stmt"/>
1270
+ <line num="83" count="0" type="cond" truecount="0" falsecount="2"/>
1271
+ <line num="86" count="34" type="stmt"/>
1187
1272
  <line num="87" count="0" type="stmt"/>
1188
1273
  <line num="88" count="0" type="stmt"/>
1189
- <line num="96" count="0" type="stmt"/>
1190
- <line num="99" count="34" type="stmt"/>
1191
- <line num="100" count="0" type="stmt"/>
1192
- <line num="101" count="0" type="stmt"/>
1274
+ <line num="89" count="0" type="stmt"/>
1275
+ <line num="90" count="0" type="stmt"/>
1276
+ <line num="98" count="0" type="stmt"/>
1277
+ <line num="101" count="34" type="stmt"/>
1193
1278
  <line num="102" count="0" type="stmt"/>
1194
1279
  <line num="103" count="0" type="stmt"/>
1195
1280
  <line num="104" count="0" type="stmt"/>
1196
1281
  <line num="105" count="0" type="stmt"/>
1197
- <line num="111" count="0" type="stmt"/>
1198
- <line num="112" count="0" type="stmt"/>
1199
- <line num="115" count="34" type="stmt"/>
1200
- <line num="116" count="0" type="stmt"/>
1201
- <line num="117" count="0" type="stmt"/>
1282
+ <line num="106" count="0" type="stmt"/>
1283
+ <line num="107" count="0" type="stmt"/>
1284
+ <line num="113" count="0" type="stmt"/>
1285
+ <line num="114" count="0" type="stmt"/>
1286
+ <line num="117" count="34" type="stmt"/>
1202
1287
  <line num="118" count="0" type="stmt"/>
1203
1288
  <line num="119" count="0" type="stmt"/>
1204
- <line num="120" count="0" type="cond" truecount="0" falsecount="4"/>
1289
+ <line num="120" count="0" type="stmt"/>
1205
1290
  <line num="121" count="0" type="stmt"/>
1291
+ <line num="122" count="0" type="cond" truecount="0" falsecount="4"/>
1206
1292
  <line num="123" count="0" type="stmt"/>
1207
- <line num="125" count="0" type="cond" truecount="0" falsecount="2"/>
1208
- <line num="126" count="0" type="stmt"/>
1209
- <line num="131" count="0" type="cond" truecount="0" falsecount="4"/>
1210
- <line num="132" count="0" type="stmt"/>
1211
- <line num="137" count="0" type="cond" truecount="0" falsecount="2"/>
1293
+ <line num="125" count="0" type="stmt"/>
1294
+ <line num="127" count="0" type="cond" truecount="0" falsecount="2"/>
1295
+ <line num="128" count="0" type="stmt"/>
1296
+ <line num="133" count="0" type="cond" truecount="0" falsecount="4"/>
1297
+ <line num="134" count="0" type="stmt"/>
1212
1298
  <line num="139" count="0" type="cond" truecount="0" falsecount="2"/>
1213
- <line num="142" count="0" type="stmt"/>
1214
- <line num="146" count="0" type="stmt"/>
1215
- <line num="151" count="0" type="stmt"/>
1216
- <line num="152" count="0" type="cond" truecount="0" falsecount="4"/>
1299
+ <line num="141" count="0" type="cond" truecount="0" falsecount="2"/>
1300
+ <line num="144" count="0" type="stmt"/>
1301
+ <line num="148" count="0" type="stmt"/>
1217
1302
  <line num="153" count="0" type="stmt"/>
1218
- <line num="166" count="0" type="stmt"/>
1219
- <line num="169" count="0" type="stmt"/>
1220
- <line num="172" count="34" type="stmt"/>
1221
- <line num="174" count="0" type="stmt"/>
1222
- <line num="177" count="34" type="stmt"/>
1223
- <line num="178" count="0" type="stmt"/>
1224
- <line num="179" count="0" type="stmt"/>
1303
+ <line num="154" count="0" type="cond" truecount="0" falsecount="4"/>
1304
+ <line num="155" count="0" type="stmt"/>
1305
+ <line num="168" count="0" type="stmt"/>
1306
+ <line num="171" count="0" type="stmt"/>
1307
+ <line num="174" count="34" type="stmt"/>
1308
+ <line num="176" count="0" type="stmt"/>
1309
+ <line num="179" count="34" type="stmt"/>
1225
1310
  <line num="180" count="0" type="stmt"/>
1226
1311
  <line num="181" count="0" type="stmt"/>
1227
1312
  <line num="182" count="0" type="stmt"/>
1228
1313
  <line num="183" count="0" type="stmt"/>
1229
- <line num="184" count="0" type="cond" truecount="0" falsecount="4"/>
1314
+ <line num="184" count="0" type="stmt"/>
1230
1315
  <line num="185" count="0" type="stmt"/>
1316
+ <line num="186" count="0" type="cond" truecount="0" falsecount="4"/>
1231
1317
  <line num="187" count="0" type="stmt"/>
1232
- <line num="188" count="0" type="stmt"/>
1233
- <line num="197" count="0" type="stmt"/>
1234
- <line num="198" count="0" type="stmt"/>
1235
- <line num="201" count="0" type="stmt"/>
1236
- <line num="202" count="0" type="cond" truecount="0" falsecount="2"/>
1237
- <line num="207" count="0" type="stmt"/>
1318
+ <line num="189" count="0" type="stmt"/>
1319
+ <line num="190" count="0" type="stmt"/>
1320
+ <line num="199" count="0" type="stmt"/>
1321
+ <line num="200" count="0" type="stmt"/>
1322
+ <line num="203" count="0" type="stmt"/>
1323
+ <line num="204" count="0" type="cond" truecount="0" falsecount="2"/>
1238
1324
  <line num="209" count="0" type="stmt"/>
1239
- <line num="210" count="0" type="stmt"/>
1240
1325
  <line num="211" count="0" type="stmt"/>
1326
+ <line num="212" count="0" type="stmt"/>
1241
1327
  <line num="213" count="0" type="stmt"/>
1242
- <line num="214" count="0" type="stmt"/>
1243
- <line num="228" count="0" type="stmt"/>
1328
+ <line num="215" count="0" type="stmt"/>
1329
+ <line num="216" count="0" type="stmt"/>
1330
+ <line num="230" count="0" type="stmt"/>
1244
1331
  </file>
1245
1332
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/row/index.js">
1246
1333
  <metrics statements="85" coveredstatements="79" conditionals="34" coveredconditionals="32" methods="11" coveredmethods="11"/>
@@ -1693,7 +1780,7 @@
1693
1780
  <line num="387" count="0" type="stmt"/>
1694
1781
  </file>
1695
1782
  <file name="utils.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/row/utils.js">
1696
- <metrics statements="47" coveredstatements="36" conditionals="22" coveredconditionals="12" methods="6" coveredmethods="4"/>
1783
+ <metrics statements="43" coveredstatements="33" conditionals="23" coveredconditionals="12" methods="6" coveredmethods="4"/>
1697
1784
  <line num="1" count="34" type="stmt"/>
1698
1785
  <line num="2" count="34" type="stmt"/>
1699
1786
  <line num="3" count="34" type="stmt"/>
@@ -1710,122 +1797,301 @@
1710
1797
  <line num="22" count="1" type="stmt"/>
1711
1798
  <line num="23" count="1" type="stmt"/>
1712
1799
  <line num="24" count="1" type="stmt"/>
1713
- <line num="26" count="1" type="cond" truecount="1" falsecount="1"/>
1714
- <line num="27" count="1" type="stmt"/>
1715
- <line num="28" count="1" type="stmt"/>
1800
+ <line num="27" count="34" type="stmt"/>
1801
+ <line num="30" count="19" type="cond" truecount="1" falsecount="1"/>
1802
+ <line num="31" count="0" type="stmt"/>
1803
+ <line num="34" count="0" type="stmt"/>
1804
+ <line num="35" count="0" type="stmt"/>
1805
+ <line num="37" count="19" type="stmt"/>
1806
+ <line num="39" count="16" type="cond" truecount="1" falsecount="1"/>
1807
+ <line num="40" count="0" type="stmt"/>
1808
+ <line num="42" count="16" type="stmt"/>
1809
+ <line num="45" count="34" type="stmt"/>
1810
+ <line num="46" count="74" type="cond" truecount="2" falsecount="0"/>
1811
+ <line num="47" count="2" type="stmt"/>
1812
+ <line num="48" count="2" type="stmt"/>
1813
+ <line num="50" count="74" type="stmt"/>
1814
+ <line num="51" count="74" type="stmt"/>
1815
+ <line num="52" count="206" type="stmt"/>
1816
+ <line num="54" count="206" type="cond" truecount="1" falsecount="1"/>
1817
+ <line num="59" count="0" type="stmt"/>
1818
+ <line num="64" count="206" type="cond" truecount="1" falsecount="1"/>
1819
+ <line num="69" count="0" type="stmt"/>
1820
+ <line num="70" count="0" type="cond" truecount="0" falsecount="2"/>
1821
+ <line num="71" count="0" type="stmt"/>
1822
+ <line num="74" count="206" type="cond" truecount="1" falsecount="1"/>
1823
+ <line num="75" count="0" type="stmt"/>
1824
+ <line num="80" count="206" type="stmt"/>
1825
+ <line num="82" count="206" type="cond" truecount="2" falsecount="0"/>
1826
+ <line num="84" count="74" type="stmt"/>
1827
+ </file>
1828
+ </package>
1829
+ <package name="api.controllers.table">
1830
+ <metrics statements="425" coveredstatements="220" conditionals="225" coveredconditionals="84" methods="56" coveredmethods="27"/>
1831
+ <file name="external.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/table/external.js">
1832
+ <metrics statements="137" coveredstatements="11" conditionals="76" coveredconditionals="0" methods="14" coveredmethods="0"/>
1833
+ <line num="1" count="34" type="stmt"/>
1834
+ <line num="5" count="34" type="stmt"/>
1835
+ <line num="12" count="34" type="stmt"/>
1836
+ <line num="17" count="34" type="stmt"/>
1837
+ <line num="18" count="34" type="stmt"/>
1838
+ <line num="19" count="34" type="stmt"/>
1839
+ <line num="20" count="34" type="stmt"/>
1840
+ <line num="21" count="34" type="stmt"/>
1716
1841
  <line num="30" count="0" type="stmt"/>
1717
- <line num="34" count="34" type="stmt"/>
1718
- <line num="37" count="19" type="cond" truecount="1" falsecount="1"/>
1719
- <line num="38" count="0" type="stmt"/>
1720
- <line num="41" count="0" type="stmt"/>
1842
+ <line num="41" count="0" type="cond" truecount="0" falsecount="2"/>
1721
1843
  <line num="42" count="0" type="stmt"/>
1722
- <line num="44" count="19" type="stmt"/>
1723
- <line num="46" count="16" type="cond" truecount="1" falsecount="1"/>
1724
- <line num="47" count="0" type="stmt"/>
1725
- <line num="49" count="16" type="stmt"/>
1726
- <line num="52" count="34" type="stmt"/>
1727
- <line num="53" count="74" type="cond" truecount="2" falsecount="0"/>
1728
- <line num="54" count="2" type="stmt"/>
1729
- <line num="55" count="2" type="stmt"/>
1730
- <line num="57" count="74" type="stmt"/>
1731
- <line num="58" count="74" type="stmt"/>
1732
- <line num="59" count="206" type="stmt"/>
1733
- <line num="61" count="206" type="cond" truecount="1" falsecount="1"/>
1734
- <line num="66" count="0" type="stmt"/>
1735
- <line num="71" count="206" type="cond" truecount="1" falsecount="1"/>
1736
- <line num="72" count="0" type="stmt"/>
1737
- <line num="73" count="0" type="cond" truecount="0" falsecount="2"/>
1738
- <line num="74" count="0" type="stmt"/>
1739
- <line num="77" count="206" type="cond" truecount="1" falsecount="1"/>
1844
+ <line num="44" count="0" type="stmt"/>
1845
+ <line num="48" count="0" type="cond" truecount="0" falsecount="2"/>
1846
+ <line num="50" count="0" type="stmt"/>
1847
+ <line num="51" count="0" type="cond" truecount="0" falsecount="2"/>
1848
+ <line num="55" count="0" type="stmt"/>
1849
+ <line num="56" count="0" type="stmt"/>
1850
+ <line num="58" count="0" type="stmt"/>
1851
+ <line num="59" count="0" type="cond" truecount="0" falsecount="4"/>
1852
+ <line num="60" count="0" type="stmt"/>
1853
+ <line num="62" count="0" type="stmt"/>
1854
+ <line num="65" count="0" type="cond" truecount="0" falsecount="2"/>
1855
+ <line num="69" count="0" type="stmt"/>
1856
+ <line num="77" count="0" type="cond" truecount="0" falsecount="2"/>
1740
1857
  <line num="78" count="0" type="stmt"/>
1741
- <line num="83" count="206" type="stmt"/>
1742
- <line num="85" count="206" type="cond" truecount="2" falsecount="0"/>
1743
- <line num="87" count="74" type="stmt"/>
1858
+ <line num="80" count="0" type="cond" truecount="0" falsecount="2"/>
1859
+ <line num="81" count="0" type="stmt"/>
1860
+ <line num="83" count="0" type="stmt"/>
1861
+ <line num="87" count="0" type="cond" truecount="0" falsecount="2"/>
1862
+ <line num="88" count="0" type="stmt"/>
1863
+ <line num="90" count="0" type="cond" truecount="0" falsecount="2"/>
1864
+ <line num="96" count="0" type="stmt"/>
1865
+ <line num="97" count="0" type="stmt"/>
1866
+ <line num="98" count="0" type="stmt"/>
1867
+ <line num="100" count="0" type="stmt"/>
1868
+ <line num="116" count="0" type="stmt"/>
1869
+ <line num="117" count="0" type="stmt"/>
1870
+ <line num="118" count="0" type="stmt"/>
1871
+ <line num="119" count="0" type="stmt"/>
1872
+ <line num="120" count="0" type="stmt"/>
1873
+ <line num="124" count="0" type="stmt"/>
1874
+ <line num="125" count="0" type="cond" truecount="0" falsecount="2"/>
1875
+ <line num="127" count="0" type="stmt"/>
1876
+ <line num="128" count="0" type="stmt"/>
1877
+ <line num="129" count="0" type="cond" truecount="0" falsecount="2"/>
1878
+ <line num="130" count="0" type="cond" truecount="0" falsecount="2"/>
1879
+ <line num="131" count="0" type="stmt"/>
1880
+ <line num="136" count="0" type="stmt"/>
1881
+ <line num="138" count="0" type="cond" truecount="0" falsecount="2"/>
1882
+ <line num="139" count="0" type="stmt"/>
1883
+ <line num="140" count="0" type="stmt"/>
1884
+ <line num="145" count="0" type="stmt"/>
1885
+ <line num="146" count="0" type="stmt"/>
1886
+ <line num="147" count="0" type="stmt"/>
1887
+ <line num="149" count="0" type="stmt"/>
1888
+ <line num="152" count="0" type="stmt"/>
1889
+ <line num="153" count="0" type="stmt"/>
1890
+ <line num="154" count="0" type="stmt"/>
1891
+ <line num="158" count="0" type="cond" truecount="0" falsecount="2"/>
1892
+ <line num="161" count="34" type="stmt"/>
1893
+ <line num="162" count="0" type="stmt"/>
1894
+ <line num="163" count="0" type="stmt"/>
1895
+ <line num="165" count="0" type="stmt"/>
1896
+ <line num="166" count="0" type="stmt"/>
1897
+ <line num="168" count="0" type="cond" truecount="0" falsecount="2"/>
1898
+ <line num="169" count="0" type="stmt"/>
1899
+ <line num="171" count="0" type="stmt"/>
1900
+ <line num="178" count="0" type="cond" truecount="0" falsecount="4"/>
1901
+ <line num="179" count="0" type="stmt"/>
1902
+ <line num="182" count="0" type="cond" truecount="0" falsecount="2"/>
1903
+ <line num="183" count="0" type="stmt"/>
1904
+ <line num="186" count="0" type="stmt"/>
1905
+ <line num="187" count="0" type="stmt"/>
1906
+ <line num="188" count="0" type="stmt"/>
1907
+ <line num="189" count="0" type="stmt"/>
1908
+ <line num="191" count="0" type="stmt"/>
1909
+ <line num="194" count="0" type="stmt"/>
1910
+ <line num="195" count="0" type="cond" truecount="0" falsecount="4"/>
1911
+ <line num="196" count="0" type="stmt"/>
1912
+ <line num="198" count="0" type="stmt"/>
1913
+ <line num="199" count="0" type="stmt"/>
1914
+ <line num="201" count="0" type="stmt"/>
1915
+ <line num="202" count="0" type="stmt"/>
1916
+ <line num="203" count="0" type="cond" truecount="0" falsecount="2"/>
1917
+ <line num="204" count="0" type="stmt"/>
1918
+ <line num="210" count="0" type="cond" truecount="0" falsecount="2"/>
1919
+ <line num="211" count="0" type="stmt"/>
1920
+ <line num="213" count="0" type="stmt"/>
1921
+ <line num="214" count="0" type="stmt"/>
1922
+ <line num="217" count="0" type="cond" truecount="0" falsecount="2"/>
1923
+ <line num="218" count="0" type="stmt"/>
1924
+ <line num="224" count="0" type="stmt"/>
1925
+ <line num="225" count="0" type="cond" truecount="0" falsecount="2"/>
1926
+ <line num="226" count="0" type="stmt"/>
1927
+ <line num="228" count="0" type="cond" truecount="0" falsecount="2"/>
1928
+ <line num="229" count="0" type="stmt"/>
1929
+ <line num="232" count="0" type="cond" truecount="0" falsecount="2"/>
1930
+ <line num="233" count="0" type="stmt"/>
1931
+ <line num="236" count="0" type="stmt"/>
1932
+ <line num="237" count="0" type="stmt"/>
1933
+ <line num="240" count="0" type="stmt"/>
1934
+ <line num="242" count="0" type="cond" truecount="0" falsecount="2"/>
1935
+ <line num="245" count="0" type="stmt"/>
1936
+ <line num="247" count="0" type="stmt"/>
1937
+ <line num="248" count="0" type="stmt"/>
1938
+ <line num="249" count="0" type="cond" truecount="0" falsecount="2"/>
1939
+ <line num="252" count="0" type="stmt"/>
1940
+ <line num="256" count="0" type="cond" truecount="0" falsecount="2"/>
1941
+ <line num="257" count="0" type="stmt"/>
1942
+ <line num="258" count="0" type="stmt"/>
1943
+ <line num="263" count="0" type="stmt"/>
1944
+ <line num="264" count="0" type="stmt"/>
1945
+ <line num="266" count="0" type="stmt"/>
1946
+ <line num="269" count="34" type="stmt"/>
1947
+ <line num="270" count="0" type="stmt"/>
1948
+ <line num="271" count="0" type="stmt"/>
1949
+ <line num="272" count="0" type="cond" truecount="0" falsecount="4"/>
1950
+ <line num="273" count="0" type="stmt"/>
1951
+ <line num="275" count="0" type="stmt"/>
1952
+ <line num="277" count="0" type="stmt"/>
1953
+ <line num="278" count="0" type="stmt"/>
1954
+ <line num="279" count="0" type="stmt"/>
1955
+ <line num="281" count="0" type="stmt"/>
1956
+ <line num="282" count="0" type="stmt"/>
1957
+ <line num="284" count="0" type="stmt"/>
1958
+ <line num="286" count="0" type="stmt"/>
1959
+ <line num="287" count="0" type="stmt"/>
1960
+ <line num="289" count="0" type="stmt"/>
1961
+ <line num="292" count="34" type="stmt"/>
1962
+ <line num="293" count="0" type="stmt"/>
1963
+ <line num="294" count="0" type="stmt"/>
1964
+ <line num="295" count="0" type="stmt"/>
1965
+ <line num="296" count="0" type="cond" truecount="0" falsecount="5"/>
1966
+ <line num="297" count="0" type="stmt"/>
1967
+ <line num="299" count="0" type="stmt"/>
1968
+ <line num="303" count="0" type="stmt"/>
1969
+ <line num="306" count="0" type="stmt"/>
1744
1970
  </file>
1745
- </package>
1746
- <package name="api.controllers.table">
1747
- <metrics statements="227" coveredstatements="169" conditionals="120" coveredconditionals="65" methods="33" coveredmethods="23"/>
1748
1971
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/table/index.js">
1749
- <metrics statements="76" coveredstatements="67" conditionals="41" coveredconditionals="30" methods="10" coveredmethods="7"/>
1972
+ <metrics statements="53" coveredstatements="44" conditionals="23" coveredconditionals="17" methods="10" coveredmethods="7"/>
1750
1973
  <line num="1" count="34" type="stmt"/>
1751
1974
  <line num="2" count="34" type="stmt"/>
1752
1975
  <line num="3" count="34" type="stmt"/>
1976
+ <line num="4" count="34" type="stmt"/>
1977
+ <line num="5" count="34" type="stmt"/>
1753
1978
  <line num="10" count="34" type="stmt"/>
1754
1979
  <line num="11" count="34" type="stmt"/>
1755
- <line num="12" count="34" type="stmt"/>
1756
- <line num="14" count="34" type="stmt"/>
1757
- <line num="15" count="1" type="stmt"/>
1758
- <line num="17" count="1" type="stmt"/>
1759
- <line num="23" count="2" type="stmt"/>
1980
+ <line num="14" count="101" type="cond" truecount="4" falsecount="0"/>
1981
+ <line num="15" count="99" type="stmt"/>
1982
+ <line num="17" count="101" type="cond" truecount="3" falsecount="1"/>
1983
+ <line num="18" count="0" type="stmt"/>
1984
+ <line num="19" count="101" type="cond" truecount="3" falsecount="1"/>
1985
+ <line num="20" count="0" type="stmt"/>
1986
+ <line num="22" count="101" type="stmt"/>
1987
+ <line num="26" count="34" type="stmt"/>
1988
+ <line num="27" count="1" type="stmt"/>
1760
1989
  <line num="29" count="1" type="stmt"/>
1761
- <line num="35" count="1" type="stmt"/>
1762
- <line num="36" count="0" type="cond" truecount="0" falsecount="2"/>
1763
- <line num="43" count="1" type="stmt"/>
1764
- <line num="46" count="34" type="stmt"/>
1765
- <line num="47" count="19" type="stmt"/>
1766
- <line num="48" count="19" type="stmt"/>
1767
- <line num="51" count="34" type="stmt"/>
1768
- <line num="52" count="99" type="stmt"/>
1769
- <line num="53" count="99" type="stmt"/>
1770
- <line num="54" count="99" type="stmt"/>
1771
- <line num="55" count="99" type="stmt"/>
1772
- <line num="64" count="99" type="cond" truecount="4" falsecount="0"/>
1773
- <line num="65" count="4" type="stmt"/>
1774
- <line num="70" count="99" type="stmt"/>
1775
- <line num="76" count="99" type="stmt"/>
1776
- <line num="80" count="99" type="cond" truecount="4" falsecount="0"/>
1777
- <line num="81" count="4" type="stmt"/>
1778
- <line num="82" count="13" type="stmt"/>
1779
- <line num="83" count="13" type="stmt"/>
1780
- <line num="84" count="13" type="cond" truecount="3" falsecount="1"/>
1990
+ <line num="35" count="2" type="stmt"/>
1991
+ <line num="41" count="1" type="stmt"/>
1992
+ <line num="47" count="1" type="stmt"/>
1993
+ <line num="48" count="0" type="cond" truecount="0" falsecount="2"/>
1994
+ <line num="55" count="1" type="stmt"/>
1995
+ <line num="58" count="34" type="stmt"/>
1996
+ <line num="59" count="19" type="stmt"/>
1997
+ <line num="60" count="19" type="stmt"/>
1998
+ <line num="63" count="34" type="stmt"/>
1999
+ <line num="64" count="99" type="stmt"/>
2000
+ <line num="65" count="99" type="stmt"/>
2001
+ <line num="66" count="99" type="stmt"/>
2002
+ <line num="67" count="99" type="stmt"/>
2003
+ <line num="68" count="99" type="stmt"/>
2004
+ <line num="69" count="99" type="cond" truecount="2" falsecount="0"/>
2005
+ <line num="71" count="99" type="stmt"/>
2006
+ <line num="74" count="34" type="stmt"/>
2007
+ <line num="75" count="2" type="stmt"/>
2008
+ <line num="76" count="2" type="stmt"/>
2009
+ <line num="77" count="2" type="stmt"/>
2010
+ <line num="78" count="2" type="cond" truecount="2" falsecount="0"/>
2011
+ <line num="80" count="2" type="stmt"/>
2012
+ <line num="81" count="2" type="stmt"/>
2013
+ <line num="84" count="34" type="stmt"/>
1781
2014
  <line num="85" count="0" type="stmt"/>
1782
- <line num="87" count="13" type="cond" truecount="3" falsecount="1"/>
1783
- <line num="88" count="0" type="stmt"/>
1784
- <line num="94" count="99" type="stmt"/>
2015
+ <line num="86" count="0" type="stmt"/>
2016
+ <line num="90" count="0" type="stmt"/>
2017
+ <line num="91" count="0" type="stmt"/>
2018
+ <line num="94" count="34" type="stmt"/>
2019
+ <line num="96" count="1" type="cond" truecount="1" falsecount="0"/>
2020
+ <line num="98" count="1" type="cond" truecount="1" falsecount="1"/>
2021
+ <line num="99" count="0" type="stmt"/>
2022
+ <line num="101" count="1" type="stmt"/>
2023
+ <line num="102" count="1" type="cond" truecount="1" falsecount="1"/>
2024
+ <line num="103" count="0" type="stmt"/>
2025
+ <line num="105" count="1" type="stmt"/>
2026
+ </file>
2027
+ <file name="internal.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/table/internal.js">
2028
+ <metrics statements="63" coveredstatements="49" conditionals="36" coveredconditionals="26" methods="5" coveredmethods="3"/>
2029
+ <line num="1" count="34" type="stmt"/>
2030
+ <line num="2" count="34" type="stmt"/>
2031
+ <line num="3" count="34" type="stmt"/>
2032
+ <line num="4" count="34" type="stmt"/>
2033
+ <line num="10" count="34" type="stmt"/>
2034
+ <line num="12" count="34" type="stmt"/>
2035
+ <line num="13" count="99" type="stmt"/>
2036
+ <line num="14" count="99" type="stmt"/>
2037
+ <line num="15" count="99" type="stmt"/>
2038
+ <line num="16" count="99" type="stmt"/>
2039
+ <line num="25" count="99" type="cond" truecount="4" falsecount="0"/>
2040
+ <line num="26" count="4" type="stmt"/>
2041
+ <line num="29" count="99" type="cond" truecount="1" falsecount="1"/>
2042
+ <line num="30" count="0" type="stmt"/>
2043
+ <line num="35" count="99" type="stmt"/>
2044
+ <line num="41" count="99" type="stmt"/>
2045
+ <line num="45" count="99" type="cond" truecount="4" falsecount="0"/>
2046
+ <line num="46" count="4" type="stmt"/>
2047
+ <line num="47" count="13" type="stmt"/>
2048
+ <line num="48" count="13" type="stmt"/>
2049
+ <line num="49" count="13" type="cond" truecount="3" falsecount="1"/>
2050
+ <line num="50" count="0" type="stmt"/>
2051
+ <line num="52" count="13" type="cond" truecount="3" falsecount="1"/>
2052
+ <line num="53" count="0" type="stmt"/>
2053
+ <line num="59" count="99" type="stmt"/>
2054
+ <line num="72" count="99" type="stmt"/>
2055
+ <line num="75" count="99" type="stmt"/>
2056
+ <line num="76" count="0" type="stmt"/>
2057
+ <line num="77" count="0" type="cond" truecount="0" falsecount="2"/>
2058
+ <line num="79" count="0" type="cond" truecount="0" falsecount="4"/>
2059
+ <line num="80" count="0" type="stmt"/>
2060
+ <line num="84" count="99" type="stmt"/>
2061
+ <line num="85" count="99" type="stmt"/>
2062
+ <line num="93" count="99" type="cond" truecount="4" falsecount="0"/>
2063
+ <line num="94" count="4" type="stmt"/>
2064
+ <line num="97" count="0" type="stmt"/>
2065
+ <line num="102" count="99" type="stmt"/>
2066
+ <line num="103" count="99" type="cond" truecount="4" falsecount="0"/>
2067
+ <line num="104" count="1" type="stmt"/>
2068
+ <line num="106" count="99" type="stmt"/>
1785
2069
  <line num="107" count="99" type="stmt"/>
1786
- <line num="110" count="99" type="stmt"/>
1787
- <line num="111" count="0" type="stmt"/>
1788
- <line num="112" count="0" type="cond" truecount="0" falsecount="2"/>
1789
- <line num="114" count="0" type="cond" truecount="0" falsecount="4"/>
1790
- <line num="115" count="0" type="stmt"/>
1791
- <line num="119" count="99" type="stmt"/>
1792
- <line num="120" count="99" type="stmt"/>
1793
- <line num="128" count="99" type="cond" truecount="4" falsecount="0"/>
1794
- <line num="129" count="4" type="stmt"/>
1795
- <line num="132" count="0" type="stmt"/>
1796
- <line num="137" count="99" type="stmt"/>
1797
- <line num="138" count="99" type="cond" truecount="4" falsecount="0"/>
1798
- <line num="139" count="1" type="stmt"/>
1799
- <line num="141" count="99" type="stmt"/>
1800
- <line num="142" count="99" type="stmt"/>
1801
- <line num="144" count="99" type="stmt"/>
1802
- <line num="146" count="99" type="cond" truecount="2" falsecount="0"/>
1803
- <line num="149" count="99" type="stmt"/>
1804
- <line num="150" count="99" type="stmt"/>
1805
- <line num="151" count="99" type="stmt"/>
1806
- <line num="154" count="34" type="stmt"/>
1807
- <line num="155" count="2" type="stmt"/>
1808
- <line num="156" count="2" type="stmt"/>
1809
- <line num="157" count="2" type="stmt"/>
1810
- <line num="160" count="2" type="stmt"/>
1811
- <line num="165" count="2" type="stmt"/>
1812
- <line num="168" count="2" type="stmt"/>
1813
- <line num="175" count="2" type="stmt"/>
1814
- <line num="178" count="2" type="stmt"/>
1815
- <line num="179" count="2" type="stmt"/>
1816
- <line num="180" count="2" type="stmt"/>
1817
- <line num="182" count="2" type="cond" truecount="1" falsecount="1"/>
1818
- <line num="183" count="0" type="stmt"/>
1819
- <line num="186" count="2" type="cond" truecount="2" falsecount="0"/>
1820
- <line num="188" count="2" type="stmt"/>
1821
- <line num="189" count="2" type="stmt"/>
1822
- <line num="192" count="34" type="stmt"/>
1823
- <line num="193" count="1" type="cond" truecount="1" falsecount="0"/>
1824
- <line num="194" count="1" type="stmt"/>
1825
- <line num="195" count="1" type="stmt"/>
2070
+ <line num="109" count="99" type="stmt"/>
2071
+ <line num="111" count="99" type="stmt"/>
2072
+ <line num="114" count="34" type="stmt"/>
2073
+ <line num="115" count="2" type="stmt"/>
2074
+ <line num="116" count="2" type="stmt"/>
2075
+ <line num="117" count="2" type="stmt"/>
2076
+ <line num="120" count="2" type="stmt"/>
2077
+ <line num="125" count="2" type="stmt"/>
2078
+ <line num="128" count="2" type="stmt"/>
2079
+ <line num="135" count="2" type="stmt"/>
2080
+ <line num="138" count="2" type="stmt"/>
2081
+ <line num="139" count="2" type="stmt"/>
2082
+ <line num="140" count="2" type="stmt"/>
2083
+ <line num="142" count="2" type="cond" truecount="1" falsecount="1"/>
2084
+ <line num="143" count="0" type="stmt"/>
2085
+ <line num="146" count="2" type="stmt"/>
2086
+ <line num="149" count="34" type="stmt"/>
2087
+ <line num="150" count="0" type="stmt"/>
2088
+ <line num="151" count="0" type="stmt"/>
2089
+ <line num="152" count="0" type="stmt"/>
2090
+ <line num="153" count="0" type="stmt"/>
2091
+ <line num="154" count="0" type="stmt"/>
1826
2092
  </file>
1827
2093
  <file name="utils.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/table/utils.js">
1828
- <metrics statements="151" coveredstatements="102" conditionals="79" coveredconditionals="35" methods="23" coveredmethods="16"/>
2094
+ <metrics statements="172" coveredstatements="116" conditionals="90" coveredconditionals="41" methods="27" coveredmethods="17"/>
1829
2095
  <line num="1" count="34" type="stmt"/>
1830
2096
  <line num="2" count="34" type="stmt"/>
1831
2097
  <line num="7" count="34" type="stmt"/>
@@ -1864,119 +2130,140 @@
1864
2130
  <line num="68" count="0" type="stmt"/>
1865
2131
  <line num="71" count="4" type="stmt"/>
1866
2132
  <line num="74" count="34" type="stmt"/>
1867
- <line num="75" count="100" type="stmt"/>
1868
- <line num="76" count="100" type="cond" truecount="4" falsecount="0"/>
2133
+ <line num="75" count="100" type="cond" truecount="4" falsecount="0"/>
2134
+ <line num="76" count="99" type="stmt"/>
1869
2135
  <line num="78" count="1" type="stmt"/>
1870
2136
  <line num="80" count="1" type="stmt"/>
1871
- <line num="81" count="1" type="stmt"/>
1872
- <line num="82" count="1" type="stmt"/>
1873
- <line num="83" count="1" type="stmt"/>
1874
- <line num="84" count="1" type="stmt"/>
1875
2137
  <line num="85" count="1" type="stmt"/>
2138
+ <line num="86" count="1" type="stmt"/>
2139
+ <line num="87" count="1" type="stmt"/>
1876
2140
  <line num="88" count="1" type="stmt"/>
1877
2141
  <line num="89" count="1" type="stmt"/>
1878
- <line num="91" count="1" type="stmt"/>
1879
- <line num="93" count="4" type="cond" truecount="1" falsecount="1"/>
1880
- <line num="98" count="0" type="stmt"/>
1881
- <line num="105" count="1" type="stmt"/>
1882
- <line num="108" count="1" type="stmt"/>
1883
- <line num="109" count="1" type="stmt"/>
2142
+ <line num="90" count="1" type="stmt"/>
2143
+ <line num="93" count="1" type="stmt"/>
2144
+ <line num="94" count="1" type="stmt"/>
2145
+ <line num="96" count="1" type="stmt"/>
2146
+ <line num="98" count="4" type="cond" truecount="1" falsecount="1"/>
2147
+ <line num="103" count="0" type="stmt"/>
1884
2148
  <line num="110" count="1" type="stmt"/>
1885
- <line num="112" count="100" type="stmt"/>
1886
- <line num="115" count="34" type="stmt"/>
1887
- <line num="116" count="99" type="stmt"/>
1888
- <line num="118" count="99" type="cond" truecount="4" falsecount="0"/>
1889
- <line num="119" count="2" type="stmt"/>
1890
- <line num="120" count="2" type="stmt"/>
1891
- <line num="122" count="2" type="stmt"/>
1892
- <line num="123" count="3" type="stmt"/>
1893
- <line num="126" count="2" type="cond" truecount="2" falsecount="0"/>
1894
- <line num="127" count="1" type="stmt"/>
1895
- <line num="128" count="1" type="stmt"/>
1896
- <line num="132" count="1" type="cond" truecount="1" falsecount="1"/>
1897
- <line num="133" count="1" type="stmt"/>
1898
- <line num="135" count="1" type="stmt"/>
1899
- <line num="146" count="1" type="stmt"/>
1900
- <line num="156" count="99" type="stmt"/>
1901
- <line num="159" count="34" type="stmt"/>
1902
- <line num="161" count="99" type="cond" truecount="2" falsecount="0"/>
1903
- <line num="162" count="1" type="stmt"/>
1904
- <line num="164" count="5" type="cond" truecount="1" falsecount="1"/>
1905
- <line num="165" count="5" type="stmt"/>
1906
- <line num="169" count="99" type="stmt"/>
1907
- <line num="174" count="99" type="stmt"/>
1908
- <line num="175" count="99" type="stmt"/>
1909
- <line num="176" count="99" type="cond" truecount="3" falsecount="1"/>
1910
- <line num="177" count="99" type="stmt"/>
2149
+ <line num="113" count="1" type="stmt"/>
2150
+ <line num="114" count="1" type="stmt"/>
2151
+ <line num="115" count="1" type="stmt"/>
2152
+ <line num="116" count="1" type="stmt"/>
2153
+ <line num="119" count="34" type="stmt"/>
2154
+ <line num="120" count="99" type="stmt"/>
2155
+ <line num="122" count="99" type="cond" truecount="4" falsecount="0"/>
2156
+ <line num="123" count="2" type="stmt"/>
2157
+ <line num="124" count="2" type="stmt"/>
2158
+ <line num="126" count="2" type="stmt"/>
2159
+ <line num="127" count="3" type="stmt"/>
2160
+ <line num="130" count="2" type="cond" truecount="2" falsecount="0"/>
2161
+ <line num="131" count="1" type="stmt"/>
2162
+ <line num="132" count="1" type="stmt"/>
2163
+ <line num="136" count="1" type="cond" truecount="1" falsecount="1"/>
2164
+ <line num="137" count="1" type="stmt"/>
2165
+ <line num="139" count="1" type="stmt"/>
2166
+ <line num="150" count="1" type="stmt"/>
2167
+ <line num="160" count="99" type="stmt"/>
2168
+ <line num="163" count="34" type="stmt"/>
2169
+ <line num="165" count="99" type="cond" truecount="2" falsecount="0"/>
2170
+ <line num="166" count="1" type="stmt"/>
2171
+ <line num="168" count="5" type="cond" truecount="1" falsecount="1"/>
2172
+ <line num="169" count="5" type="stmt"/>
2173
+ <line num="173" count="99" type="stmt"/>
2174
+ <line num="178" count="99" type="stmt"/>
1911
2175
  <line num="179" count="99" type="stmt"/>
1912
- <line num="180" count="99" type="stmt"/>
1913
- <line num="182" count="99" type="stmt"/>
1914
- <line num="187" count="99" type="cond" truecount="2" falsecount="0"/>
1915
- <line num="188" count="4" type="stmt"/>
1916
- <line num="190" count="99" type="stmt"/>
1917
- <line num="191" count="99" type="stmt"/>
1918
- <line num="196" count="99" type="stmt"/>
1919
- <line num="201" count="99" type="stmt"/>
1920
- <line num="202" count="99" type="stmt"/>
1921
- <line num="207" count="99" type="stmt"/>
1922
- <line num="208" count="99" type="stmt"/>
1923
- <line num="214" count="99" type="stmt"/>
2176
+ <line num="180" count="99" type="cond" truecount="3" falsecount="1"/>
2177
+ <line num="181" count="99" type="stmt"/>
2178
+ <line num="183" count="99" type="stmt"/>
2179
+ <line num="184" count="99" type="stmt"/>
2180
+ <line num="186" count="99" type="stmt"/>
2181
+ <line num="191" count="99" type="cond" truecount="2" falsecount="0"/>
2182
+ <line num="192" count="4" type="stmt"/>
2183
+ <line num="194" count="99" type="stmt"/>
2184
+ <line num="195" count="99" type="stmt"/>
2185
+ <line num="200" count="99" type="stmt"/>
2186
+ <line num="205" count="99" type="stmt"/>
2187
+ <line num="206" count="99" type="stmt"/>
2188
+ <line num="211" count="99" type="stmt"/>
2189
+ <line num="212" count="99" type="stmt"/>
1924
2190
  <line num="218" count="99" type="stmt"/>
1925
- <line num="222" count="34" type="stmt"/>
1926
- <line num="223" count="0" type="stmt"/>
1927
- <line num="224" count="0" type="stmt"/>
1928
- <line num="225" count="0" type="cond" truecount="0" falsecount="4"/>
1929
- <line num="226" count="0" type="stmt"/>
2191
+ <line num="222" count="99" type="stmt"/>
2192
+ <line num="226" count="34" type="stmt"/>
2193
+ <line num="227" count="0" type="stmt"/>
1930
2194
  <line num="228" count="0" type="stmt"/>
1931
- <line num="231" count="34" type="stmt"/>
2195
+ <line num="229" count="0" type="cond" truecount="0" falsecount="4"/>
2196
+ <line num="230" count="0" type="stmt"/>
1932
2197
  <line num="232" count="0" type="stmt"/>
1933
- <line num="233" count="0" type="stmt"/>
1934
- <line num="236" count="34" type="stmt"/>
1935
- <line num="237" count="30" type="stmt"/>
1936
- <line num="238" count="30" type="cond" truecount="1" falsecount="1"/>
1937
- <line num="239" count="0" type="stmt"/>
1938
- <line num="240" count="0" type="stmt"/>
1939
- <line num="242" count="30" type="stmt"/>
1940
- <line num="246" count="34" type="stmt"/>
1941
- <line num="247" count="1" type="stmt"/>
1942
- <line num="248" count="1" type="stmt"/>
2198
+ <line num="235" count="34" type="stmt"/>
2199
+ <line num="236" count="0" type="stmt"/>
2200
+ <line num="237" count="0" type="stmt"/>
2201
+ <line num="240" count="34" type="stmt"/>
2202
+ <line num="241" count="30" type="stmt"/>
2203
+ <line num="242" count="30" type="cond" truecount="1" falsecount="1"/>
2204
+ <line num="243" count="0" type="stmt"/>
2205
+ <line num="244" count="0" type="stmt"/>
2206
+ <line num="246" count="30" type="stmt"/>
2207
+ <line num="250" count="34" type="stmt"/>
1943
2208
  <line num="251" count="1" type="stmt"/>
1944
- <line num="252" count="0" type="stmt"/>
1945
- <line num="255" count="0" type="cond" truecount="0" falsecount="2"/>
1946
- <line num="257" count="0" type="cond" truecount="0" falsecount="2"/>
1947
- <line num="258" count="0" type="stmt"/>
1948
- <line num="259" count="0" type="stmt"/>
1949
- <line num="263" count="0" type="cond" truecount="0" falsecount="2"/>
1950
- <line num="264" count="0" type="stmt"/>
1951
- <line num="265" count="0" type="stmt"/>
1952
- <line num="269" count="0" type="cond" truecount="0" falsecount="2"/>
1953
- <line num="270" count="0" type="stmt"/>
1954
- <line num="271" count="0" type="cond" truecount="0" falsecount="2"/>
1955
- <line num="272" count="0" type="stmt"/>
1956
- <line num="273" count="0" type="stmt"/>
1957
- <line num="277" count="0" type="cond" truecount="0" falsecount="2"/>
1958
- <line num="278" count="0" type="stmt"/>
1959
- <line num="280" count="0" type="cond" truecount="0" falsecount="2"/>
1960
- <line num="281" count="0" type="stmt"/>
2209
+ <line num="252" count="1" type="stmt"/>
2210
+ <line num="255" count="1" type="stmt"/>
2211
+ <line num="256" count="0" type="stmt"/>
2212
+ <line num="259" count="0" type="cond" truecount="0" falsecount="2"/>
2213
+ <line num="261" count="0" type="cond" truecount="0" falsecount="2"/>
2214
+ <line num="262" count="0" type="stmt"/>
2215
+ <line num="263" count="0" type="stmt"/>
2216
+ <line num="267" count="0" type="cond" truecount="0" falsecount="2"/>
2217
+ <line num="268" count="0" type="stmt"/>
2218
+ <line num="269" count="0" type="stmt"/>
2219
+ <line num="273" count="0" type="cond" truecount="0" falsecount="2"/>
2220
+ <line num="274" count="0" type="stmt"/>
2221
+ <line num="275" count="0" type="cond" truecount="0" falsecount="2"/>
2222
+ <line num="276" count="0" type="stmt"/>
2223
+ <line num="277" count="0" type="stmt"/>
2224
+ <line num="281" count="0" type="cond" truecount="0" falsecount="2"/>
1961
2225
  <line num="282" count="0" type="stmt"/>
1962
- <line num="283" count="0" type="stmt"/>
1963
- <line num="284" count="0" type="stmt"/>
1964
- <line num="288" count="0" type="cond" truecount="0" falsecount="2"/>
1965
- <line num="289" count="0" type="stmt"/>
1966
- <line num="290" count="0" type="stmt"/>
1967
- <line num="294" count="0" type="cond" truecount="0" falsecount="4"/>
1968
- <line num="295" count="0" type="stmt"/>
1969
- <line num="296" count="0" type="stmt"/>
1970
- <line num="297" count="0" type="stmt"/>
1971
- <line num="299" count="0" type="cond" truecount="0" falsecount="2"/>
2226
+ <line num="284" count="0" type="cond" truecount="0" falsecount="2"/>
2227
+ <line num="285" count="0" type="stmt"/>
2228
+ <line num="286" count="0" type="stmt"/>
2229
+ <line num="287" count="0" type="stmt"/>
2230
+ <line num="288" count="0" type="stmt"/>
2231
+ <line num="292" count="0" type="cond" truecount="0" falsecount="2"/>
2232
+ <line num="293" count="0" type="stmt"/>
2233
+ <line num="294" count="0" type="stmt"/>
2234
+ <line num="298" count="0" type="cond" truecount="0" falsecount="4"/>
2235
+ <line num="299" count="0" type="stmt"/>
1972
2236
  <line num="300" count="0" type="stmt"/>
1973
- <line num="307" count="0" type="cond" truecount="0" falsecount="2"/>
1974
- <line num="308" count="0" type="stmt"/>
1975
- <line num="309" count="0" type="stmt"/>
1976
- <line num="310" count="0" type="cond" truecount="0" falsecount="2"/>
1977
- <line num="311" count="0" type="stmt"/>
2237
+ <line num="301" count="0" type="stmt"/>
2238
+ <line num="303" count="0" type="cond" truecount="0" falsecount="2"/>
2239
+ <line num="304" count="0" type="stmt"/>
2240
+ <line num="311" count="0" type="cond" truecount="0" falsecount="2"/>
2241
+ <line num="312" count="0" type="stmt"/>
1978
2242
  <line num="313" count="0" type="stmt"/>
1979
- <line num="318" count="34" type="stmt"/>
2243
+ <line num="314" count="0" type="cond" truecount="0" falsecount="2"/>
2244
+ <line num="315" count="0" type="stmt"/>
2245
+ <line num="317" count="0" type="stmt"/>
2246
+ <line num="322" count="34" type="stmt"/>
2247
+ <line num="323" count="0" type="stmt"/>
2248
+ <line num="326" count="34" type="stmt"/>
2249
+ <line num="327" count="0" type="stmt"/>
2250
+ <line num="330" count="34" type="cond" truecount="0" falsecount="1"/>
2251
+ <line num="331" count="0" type="stmt"/>
2252
+ <line num="336" count="0" type="cond" truecount="0" falsecount="2"/>
2253
+ <line num="337" count="0" type="stmt"/>
2254
+ <line num="339" count="0" type="stmt"/>
2255
+ <line num="342" count="34" type="stmt"/>
2256
+ <line num="343" count="99" type="cond" truecount="2" falsecount="0"/>
2257
+ <line num="344" count="95" type="stmt"/>
2258
+ <line num="346" count="4" type="stmt"/>
2259
+ <line num="347" count="11" type="stmt"/>
2260
+ <line num="348" count="11" type="cond" truecount="2" falsecount="0"/>
2261
+ <line num="349" count="7" type="stmt"/>
2262
+ <line num="351" count="4" type="stmt"/>
2263
+ <line num="352" count="4" type="cond" truecount="2" falsecount="2"/>
2264
+ <line num="353" count="0" type="stmt"/>
2265
+ <line num="356" count="4" type="stmt"/>
2266
+ <line num="359" count="34" type="stmt"/>
1980
2267
  </file>
1981
2268
  </package>
1982
2269
  <package name="api.controllers.view">
@@ -2400,7 +2687,7 @@
2400
2687
  <line num="21" count="23" type="stmt"/>
2401
2688
  <line num="41" count="23" type="stmt"/>
2402
2689
  <line num="51" count="23" type="stmt"/>
2403
- <line num="85" count="23" type="stmt"/>
2690
+ <line num="86" count="23" type="stmt"/>
2404
2691
  </file>
2405
2692
  <file name="role.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/routes/role.js">
2406
2693
  <metrics statements="11" coveredstatements="11" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
@@ -2488,7 +2775,7 @@
2488
2775
  <line num="13" count="23" type="stmt"/>
2489
2776
  <line num="17" count="23" type="stmt"/>
2490
2777
  <line num="29" count="23" type="stmt"/>
2491
- <line num="57" count="23" type="stmt"/>
2778
+ <line num="68" count="23" type="stmt"/>
2492
2779
  </file>
2493
2780
  <file name="templates.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/routes/templates.js">
2494
2781
  <metrics statements="7" coveredstatements="7" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
@@ -2508,7 +2795,7 @@
2508
2795
  <line num="7" count="23" type="stmt"/>
2509
2796
  <line num="9" count="23" type="stmt"/>
2510
2797
  <line num="11" count="23" type="stmt"/>
2511
- <line num="38" count="23" type="stmt"/>
2798
+ <line num="43" count="23" type="stmt"/>
2512
2799
  </file>
2513
2800
  <file name="view.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/routes/view.js">
2514
2801
  <metrics statements="9" coveredstatements="9" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
@@ -2537,7 +2824,7 @@
2537
2824
  </file>
2538
2825
  </package>
2539
2826
  <package name="automations">
2540
- <metrics statements="258" coveredstatements="222" conditionals="113" coveredconditionals="87" methods="29" coveredmethods="27"/>
2827
+ <metrics statements="202" coveredstatements="170" conditionals="94" coveredconditionals="75" methods="25" coveredmethods="20"/>
2541
2828
  <file name="actions.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/actions.js">
2542
2829
  <metrics statements="23" coveredstatements="23" conditionals="2" coveredconditionals="1" methods="0" coveredmethods="0"/>
2543
2830
  <line num="1" count="34" type="stmt"/>
@@ -2599,7 +2886,7 @@
2599
2886
  <line num="76" count="3" type="cond" truecount="1" falsecount="1"/>
2600
2887
  </file>
2601
2888
  <file name="bullboard.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/bullboard.js">
2602
- <metrics statements="21" coveredstatements="13" conditionals="4" coveredconditionals="3" methods="1" coveredmethods="0"/>
2889
+ <metrics statements="28" coveredstatements="15" conditionals="6" coveredconditionals="3" methods="3" coveredmethods="0"/>
2603
2890
  <line num="1" count="33" type="stmt"/>
2604
2891
  <line num="2" count="33" type="stmt"/>
2605
2892
  <line num="3" count="33" type="stmt"/>
@@ -2608,19 +2895,26 @@
2608
2895
  <line num="8" count="33" type="stmt"/>
2609
2896
  <line num="9" count="33" type="stmt"/>
2610
2897
  <line num="10" count="33" type="stmt"/>
2611
- <line num="12" count="33" type="cond" truecount="2" falsecount="0"/>
2612
- <line num="13" count="33" type="stmt"/>
2613
- <line num="15" count="33" type="stmt"/>
2614
- <line num="17" count="33" type="stmt"/>
2615
- <line num="18" count="0" type="stmt"/>
2616
- <line num="20" count="0" type="stmt"/>
2617
- <line num="21" count="0" type="stmt"/>
2618
- <line num="22" count="0" type="stmt"/>
2619
- <line num="23" count="0" type="stmt"/>
2620
- <line num="25" count="0" type="stmt"/>
2898
+ <line num="12" count="33" type="stmt"/>
2899
+ <line num="13" count="33" type="cond" truecount="2" falsecount="0"/>
2900
+ <line num="14" count="33" type="stmt"/>
2901
+ <line num="16" count="33" type="stmt"/>
2902
+ <line num="19" count="0" type="stmt"/>
2903
+ <line num="22" count="33" type="stmt"/>
2904
+ <line num="24" count="33" type="stmt"/>
2905
+ <line num="26" count="0" type="cond" truecount="0" falsecount="2"/>
2621
2906
  <line num="27" count="0" type="stmt"/>
2622
- <line num="28" count="0" type="stmt"/>
2623
- <line num="31" count="33" type="stmt"/>
2907
+ <line num="29" count="0" type="stmt"/>
2908
+ <line num="30" count="0" type="stmt"/>
2909
+ <line num="34" count="0" type="stmt"/>
2910
+ <line num="35" count="0" type="stmt"/>
2911
+ <line num="36" count="0" type="stmt"/>
2912
+ <line num="37" count="0" type="stmt"/>
2913
+ <line num="38" count="0" type="stmt"/>
2914
+ <line num="40" count="0" type="stmt"/>
2915
+ <line num="44" count="0" type="stmt"/>
2916
+ <line num="45" count="0" type="stmt"/>
2917
+ <line num="48" count="33" type="stmt"/>
2624
2918
  </file>
2625
2919
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/index.js">
2626
2920
  <metrics statements="8" coveredstatements="7" conditionals="0" coveredconditionals="0" methods="3" coveredmethods="2"/>
@@ -2633,78 +2927,8 @@
2633
2927
  <line num="15" count="0" type="stmt"/>
2634
2928
  <line num="17" count="24" type="stmt"/>
2635
2929
  </file>
2636
- <file name="thread.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/thread.js">
2637
- <metrics statements="67" coveredstatements="57" conditionals="21" coveredconditionals="12" methods="7" coveredmethods="7"/>
2638
- <line num="1" count="33" type="stmt"/>
2639
- <line num="2" count="33" type="stmt"/>
2640
- <line num="3" count="33" type="stmt"/>
2641
- <line num="4" count="33" type="stmt"/>
2642
- <line num="5" count="33" type="stmt"/>
2643
- <line num="6" count="33" type="stmt"/>
2644
- <line num="7" count="33" type="stmt"/>
2645
- <line num="8" count="33" type="stmt"/>
2646
- <line num="9" count="33" type="stmt"/>
2647
- <line num="10" count="33" type="stmt"/>
2648
- <line num="12" count="33" type="stmt"/>
2649
- <line num="13" count="33" type="stmt"/>
2650
- <line num="22" count="7" type="stmt"/>
2651
- <line num="23" count="7" type="cond" truecount="2" falsecount="0"/>
2652
- <line num="24" count="7" type="stmt"/>
2653
- <line num="25" count="7" type="stmt"/>
2654
- <line num="27" count="7" type="stmt"/>
2655
- <line num="28" count="7" type="stmt"/>
2656
- <line num="30" count="7" type="stmt"/>
2657
- <line num="31" count="7" type="stmt"/>
2658
- <line num="34" count="7" type="stmt"/>
2659
- <line num="35" count="7" type="stmt"/>
2660
- <line num="37" count="7" type="stmt"/>
2661
- <line num="38" count="7" type="stmt"/>
2662
- <line num="39" count="7" type="stmt"/>
2663
- <line num="43" count="5" type="stmt"/>
2664
- <line num="44" count="5" type="cond" truecount="1" falsecount="1"/>
2665
- <line num="45" count="0" type="stmt"/>
2666
- <line num="47" count="5" type="stmt"/>
2667
- <line num="51" count="7" type="stmt"/>
2668
- <line num="52" count="7" type="cond" truecount="1" falsecount="1"/>
2669
- <line num="53" count="0" type="stmt"/>
2670
- <line num="55" count="7" type="stmt"/>
2671
- <line num="56" count="7" type="stmt"/>
2672
- <line num="57" count="6" type="stmt"/>
2673
- <line num="61" count="12" type="stmt"/>
2674
- <line num="63" count="12" type="cond" truecount="2" falsecount="0"/>
2675
- <line num="64" count="7" type="stmt"/>
2676
- <line num="66" count="12" type="stmt"/>
2677
- <line num="70" count="7" type="stmt"/>
2678
- <line num="71" count="7" type="stmt"/>
2679
- <line num="72" count="6" type="stmt"/>
2680
- <line num="73" count="6" type="stmt"/>
2681
- <line num="75" count="5" type="cond" truecount="1" falsecount="1"/>
2682
- <line num="76" count="0" type="stmt"/>
2683
- <line num="77" count="0" type="stmt"/>
2684
- <line num="79" count="5" type="stmt"/>
2685
- <line num="80" count="5" type="stmt"/>
2686
- <line num="81" count="5" type="stmt"/>
2687
- <line num="86" count="5" type="stmt"/>
2688
- <line num="87" count="5" type="cond" truecount="1" falsecount="1"/>
2689
- <line num="88" count="5" type="stmt"/>
2690
- <line num="89" count="5" type="stmt"/>
2691
- <line num="96" count="5" type="stmt"/>
2692
- <line num="99" count="5" type="cond" truecount="2" falsecount="2"/>
2693
- <line num="100" count="0" type="stmt"/>
2694
- <line num="101" count="0" type="stmt"/>
2695
- <line num="105" count="0" type="stmt"/>
2696
- <line num="107" count="5" type="stmt"/>
2697
- <line num="109" count="0" type="stmt"/>
2698
- <line num="110" count="0" type="stmt"/>
2699
- <line num="115" count="6" type="cond" truecount="2" falsecount="2"/>
2700
- <line num="116" count="0" type="stmt"/>
2701
- <line num="118" count="6" type="stmt"/>
2702
- <line num="122" count="33" type="stmt"/>
2703
- <line num="123" count="7" type="stmt"/>
2704
- <line num="127" count="7" type="stmt"/>
2705
- </file>
2706
2930
  <file name="triggers.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/triggers.js">
2707
- <metrics statements="44" coveredstatements="42" conditionals="25" coveredconditionals="21" methods="7" coveredmethods="7"/>
2931
+ <metrics statements="45" coveredstatements="43" conditionals="25" coveredconditionals="21" methods="7" coveredmethods="7"/>
2708
2932
  <line num="1" count="33" type="stmt"/>
2709
2933
  <line num="2" count="33" type="stmt"/>
2710
2934
  <line num="3" count="33" type="stmt"/>
@@ -2716,42 +2940,43 @@
2716
2940
  <line num="10" count="33" type="stmt"/>
2717
2941
  <line num="11" count="33" type="stmt"/>
2718
2942
  <line num="13" count="33" type="stmt"/>
2719
- <line num="16" count="16" type="cond" truecount="1" falsecount="1"/>
2720
- <line num="17" count="0" type="stmt"/>
2721
- <line num="20" count="16" type="stmt"/>
2722
- <line num="21" count="16" type="stmt"/>
2723
- <line num="26" count="16" type="stmt"/>
2724
- <line num="27" count="4" type="stmt"/>
2725
- <line num="29" count="4" type="stmt"/>
2726
- <line num="30" count="4" type="cond" truecount="2" falsecount="0"/>
2727
- <line num="33" count="16" type="stmt"/>
2728
- <line num="34" count="4" type="stmt"/>
2729
- <line num="35" count="4" type="cond" truecount="1" falsecount="1"/>
2943
+ <line num="14" count="33" type="stmt"/>
2944
+ <line num="20" count="16" type="cond" truecount="1" falsecount="1"/>
2945
+ <line num="21" count="0" type="stmt"/>
2946
+ <line num="24" count="16" type="stmt"/>
2947
+ <line num="25" count="16" type="stmt"/>
2948
+ <line num="30" count="16" type="stmt"/>
2949
+ <line num="31" count="4" type="stmt"/>
2950
+ <line num="33" count="4" type="stmt"/>
2951
+ <line num="34" count="4" type="cond" truecount="2" falsecount="0"/>
2952
+ <line num="37" count="16" type="stmt"/>
2953
+ <line num="38" count="4" type="stmt"/>
2730
2954
  <line num="39" count="4" type="cond" truecount="1" falsecount="1"/>
2731
- <line num="44" count="0" type="stmt"/>
2732
- <line num="46" count="4" type="cond" truecount="1" falsecount="1"/>
2733
- <line num="50" count="4" type="stmt"/>
2734
- <line num="55" count="33" type="stmt"/>
2735
- <line num="60" count="8" type="stmt"/>
2736
- <line num="63" count="33" type="stmt"/>
2737
- <line num="68" count="3" type="stmt"/>
2738
- <line num="71" count="33" type="stmt"/>
2739
- <line num="76" count="5" type="stmt"/>
2740
- <line num="79" count="33" type="stmt"/>
2741
- <line num="84" count="6" type="cond" truecount="2" falsecount="0"/>
2742
- <line num="92" count="1" type="stmt"/>
2743
- <line num="93" count="1" type="stmt"/>
2744
- <line num="94" count="1" type="stmt"/>
2745
- <line num="95" count="1" type="stmt"/>
2955
+ <line num="43" count="4" type="cond" truecount="1" falsecount="1"/>
2956
+ <line num="48" count="0" type="stmt"/>
2957
+ <line num="50" count="4" type="cond" truecount="1" falsecount="1"/>
2958
+ <line num="54" count="4" type="stmt"/>
2959
+ <line num="59" count="33" type="stmt"/>
2960
+ <line num="64" count="8" type="stmt"/>
2961
+ <line num="67" count="33" type="stmt"/>
2962
+ <line num="72" count="3" type="stmt"/>
2963
+ <line num="75" count="33" type="stmt"/>
2964
+ <line num="80" count="5" type="stmt"/>
2965
+ <line num="83" count="33" type="stmt"/>
2966
+ <line num="88" count="6" type="cond" truecount="2" falsecount="0"/>
2967
+ <line num="96" count="1" type="stmt"/>
2746
2968
  <line num="97" count="1" type="stmt"/>
2747
- <line num="99" count="6" type="stmt"/>
2748
- <line num="100" count="6" type="cond" truecount="2" falsecount="0"/>
2749
- <line num="101" count="2" type="stmt"/>
2750
- <line num="103" count="4" type="stmt"/>
2751
- <line num="107" count="33" type="stmt"/>
2969
+ <line num="98" count="1" type="stmt"/>
2970
+ <line num="99" count="1" type="stmt"/>
2971
+ <line num="101" count="1" type="stmt"/>
2972
+ <line num="103" count="6" type="stmt"/>
2973
+ <line num="104" count="6" type="cond" truecount="2" falsecount="0"/>
2974
+ <line num="105" count="2" type="stmt"/>
2975
+ <line num="107" count="4" type="stmt"/>
2976
+ <line num="111" count="33" type="stmt"/>
2752
2977
  </file>
2753
2978
  <file name="utils.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/utils.js">
2754
- <metrics statements="64" coveredstatements="51" conditionals="36" coveredconditionals="29" methods="8" coveredmethods="8"/>
2979
+ <metrics statements="67" coveredstatements="53" conditionals="36" coveredconditionals="29" methods="9" coveredmethods="8"/>
2755
2980
  <line num="1" count="33" type="stmt"/>
2756
2981
  <line num="2" count="33" type="stmt"/>
2757
2982
  <line num="3" count="33" type="stmt"/>
@@ -2763,59 +2988,62 @@
2763
2988
  <line num="9" count="33" type="stmt"/>
2764
2989
  <line num="11" count="33" type="stmt"/>
2765
2990
  <line num="12" count="33" type="stmt"/>
2766
- <line num="14" count="33" type="stmt"/>
2767
- <line num="15" count="10" type="stmt"/>
2768
- <line num="17" count="10" type="stmt"/>
2769
- <line num="19" count="0" type="stmt"/>
2770
- <line num="22" count="0" type="stmt"/>
2771
- <line num="26" count="33" type="stmt"/>
2772
- <line num="27" count="2" type="stmt"/>
2773
- <line num="32" count="2" type="cond" truecount="3" falsecount="1"/>
2774
- <line num="33" count="0" type="stmt"/>
2775
- <line num="35" count="2" type="stmt"/>
2776
- <line num="39" count="2" type="stmt"/>
2777
- <line num="45" count="33" type="stmt"/>
2778
- <line num="46" count="185" type="stmt"/>
2991
+ <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"/>
3003
+ <line num="46" count="33" type="stmt"/>
2779
3004
  <line num="47" count="185" type="stmt"/>
2780
3005
  <line num="48" count="185" type="stmt"/>
2781
- <line num="49" count="0" type="cond" truecount="0" falsecount="2"/>
2782
- <line num="50" count="0" type="stmt"/>
3006
+ <line num="49" count="185" type="stmt"/>
3007
+ <line num="50" count="0" type="cond" truecount="0" falsecount="2"/>
2783
3008
  <line num="51" count="0" type="stmt"/>
2784
- <line num="54" count="185" type="stmt"/>
2785
- <line num="62" count="33" type="stmt"/>
2786
- <line num="63" count="1" type="cond" truecount="1" falsecount="1"/>
2787
- <line num="65" count="1" type="stmt"/>
2788
- <line num="72" count="1" type="cond" truecount="1" falsecount="1"/>
2789
- <line num="74" count="0" type="stmt"/>
3009
+ <line num="52" count="0" type="stmt"/>
3010
+ <line num="55" count="185" 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"/>
2790
3015
  <line num="75" count="0" type="stmt"/>
2791
- <line num="83" count="0" type="stmt"/>
3016
+ <line num="76" count="0" type="stmt"/>
2792
3017
  <line num="84" count="0" type="stmt"/>
2793
3018
  <line num="85" count="0" type="stmt"/>
2794
3019
  <line num="86" count="0" type="stmt"/>
2795
3020
  <line num="87" count="0" type="stmt"/>
2796
- <line num="89" count="1" type="stmt"/>
2797
- <line num="100" count="33" type="stmt"/>
2798
- <line num="101" count="23" type="cond" truecount="2" falsecount="0"/>
3021
+ <line num="88" count="0" type="stmt"/>
3022
+ <line num="90" count="1" type="stmt"/>
3023
+ <line num="101" count="33" type="stmt"/>
2799
3024
  <line num="102" count="23" type="cond" truecount="2" falsecount="0"/>
2800
- <line num="104" count="23" type="cond" truecount="3" falsecount="0"/>
2801
- <line num="106" count="70" type="stmt"/>
2802
- <line num="113" count="23" type="cond" truecount="2" falsecount="0"/>
2803
- <line num="118" count="1" type="stmt"/>
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"/>
3028
+ <line num="114" count="23" type="cond" truecount="2" falsecount="0"/>
2804
3029
  <line num="119" count="1" type="stmt"/>
2805
- <line num="121" count="1" type="stmt"/>
3030
+ <line num="120" count="1" type="stmt"/>
2806
3031
  <line num="122" count="1" type="stmt"/>
2807
- <line num="127" count="1" type="cond" truecount="1" falsecount="1"/>
2808
- <line num="128" count="1" type="stmt"/>
3032
+ <line num="123" count="1" type="stmt"/>
3033
+ <line num="128" count="1" type="cond" truecount="1" falsecount="1"/>
2809
3034
  <line num="129" count="1" type="stmt"/>
2810
- <line num="131" count="1" type="stmt"/>
2811
- <line num="137" count="23" type="cond" truecount="2" falsecount="0"/>
2812
- <line num="141" count="1" type="stmt"/>
2813
- <line num="151" count="1" type="stmt"/>
3035
+ <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"/>
2814
3039
  <line num="152" count="1" type="stmt"/>
2815
3040
  <line num="153" count="1" type="stmt"/>
2816
- <line num="157" count="1" type="stmt"/>
3041
+ <line num="154" count="1" type="stmt"/>
2817
3042
  <line num="158" count="1" type="stmt"/>
2818
- <line num="163" count="23" 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"/>
2819
3047
  </file>
2820
3048
  </package>
2821
3049
  <package name="automations.steps">
@@ -3117,61 +3345,64 @@
3117
3345
  <metrics statements="13" coveredstatements="13" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
3118
3346
  <file name="app.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/triggerInfo/app.js">
3119
3347
  <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
3120
- <line num="1" count="33" type="stmt"/>
3348
+ <line num="1" count="34" type="stmt"/>
3121
3349
  </file>
3122
3350
  <file name="cron.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/triggerInfo/cron.js">
3123
3351
  <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
3124
- <line num="1" count="33" type="stmt"/>
3352
+ <line num="1" count="34" type="stmt"/>
3125
3353
  </file>
3126
3354
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/triggerInfo/index.js">
3127
3355
  <metrics statements="7" coveredstatements="7" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
3128
- <line num="1" count="33" type="stmt"/>
3129
- <line num="2" count="33" type="stmt"/>
3130
- <line num="3" count="33" type="stmt"/>
3131
- <line num="4" count="33" type="stmt"/>
3132
- <line num="5" count="33" type="stmt"/>
3133
- <line num="6" count="33" type="stmt"/>
3134
- <line num="8" count="33" type="stmt"/>
3356
+ <line num="1" count="34" type="stmt"/>
3357
+ <line num="2" count="34" type="stmt"/>
3358
+ <line num="3" count="34" type="stmt"/>
3359
+ <line num="4" count="34" type="stmt"/>
3360
+ <line num="5" count="34" type="stmt"/>
3361
+ <line num="6" count="34" type="stmt"/>
3362
+ <line num="8" count="34" type="stmt"/>
3135
3363
  </file>
3136
3364
  <file name="rowDeleted.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/triggerInfo/rowDeleted.js">
3137
3365
  <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
3138
- <line num="1" count="33" type="stmt"/>
3366
+ <line num="1" count="34" type="stmt"/>
3139
3367
  </file>
3140
3368
  <file name="rowSaved.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/triggerInfo/rowSaved.js">
3141
3369
  <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
3142
- <line num="1" count="33" type="stmt"/>
3370
+ <line num="1" count="34" type="stmt"/>
3143
3371
  </file>
3144
3372
  <file name="rowUpdated.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/triggerInfo/rowUpdated.js">
3145
3373
  <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
3146
- <line num="1" count="33" type="stmt"/>
3374
+ <line num="1" count="34" type="stmt"/>
3147
3375
  </file>
3148
3376
  <file name="webhook.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/triggerInfo/webhook.js">
3149
3377
  <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
3150
- <line num="1" count="33" type="stmt"/>
3378
+ <line num="1" count="34" type="stmt"/>
3151
3379
  </file>
3152
3380
  </package>
3153
3381
  <package name="constants">
3154
- <metrics statements="25" coveredstatements="25" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
3382
+ <metrics statements="28" coveredstatements="28" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
3155
3383
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/constants/index.js">
3156
- <metrics statements="18" coveredstatements="18" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
3157
- <line num="1" count="40" type="stmt"/>
3158
- <line num="2" count="40" type="stmt"/>
3159
- <line num="3" count="40" type="stmt"/>
3160
- <line num="5" count="40" type="stmt"/>
3161
- <line num="9" count="40" type="stmt"/>
3162
- <line num="22" count="40" type="stmt"/>
3163
- <line num="23" count="40" type="stmt"/>
3164
- <line num="32" count="40" type="stmt"/>
3165
- <line num="48" count="40" type="stmt"/>
3166
- <line num="54" count="40" type="stmt"/>
3167
- <line num="60" count="40" type="stmt"/>
3168
- <line num="67" count="40" type="stmt"/>
3169
- <line num="72" count="40" type="stmt"/>
3170
- <line num="134" count="40" type="stmt"/>
3171
- <line num="142" count="40" type="stmt"/>
3172
- <line num="143" count="40" type="stmt"/>
3173
- <line num="150" count="40" type="stmt"/>
3174
- <line num="156" count="40" type="stmt"/>
3384
+ <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"/>
3175
3406
  </file>
3176
3407
  <file name="layouts.js" path="/home/runner/work/budibase/budibase/packages/server/src/constants/layouts.js">
3177
3408
  <metrics statements="4" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
@@ -3242,119 +3473,119 @@
3242
3473
  </file>
3243
3474
  <file name="newid.js" path="/home/runner/work/budibase/budibase/packages/server/src/db/newid.js">
3244
3475
  <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
3245
- <line num="1" count="46" type="stmt"/>
3246
- <line num="3" count="46" type="stmt"/>
3476
+ <line num="1" count="47" type="stmt"/>
3477
+ <line num="3" count="47" type="stmt"/>
3247
3478
  <line num="4" count="803" type="stmt"/>
3248
3479
  </file>
3249
3480
  <file name="utils.js" path="/home/runner/work/budibase/budibase/packages/server/src/db/utils.js">
3250
3481
  <metrics statements="108" coveredstatements="100" conditionals="51" coveredconditionals="18" methods="30" coveredmethods="27"/>
3251
- <line num="1" count="46" type="stmt"/>
3252
- <line num="12" count="46" type="stmt"/>
3253
- <line num="14" count="46" type="stmt"/>
3254
- <line num="16" count="46" type="stmt"/>
3255
- <line num="22" count="46" type="stmt"/>
3256
- <line num="45" count="46" type="stmt"/>
3257
- <line num="50" count="46" type="stmt"/>
3258
- <line num="54" count="46" type="stmt"/>
3259
- <line num="58" count="46" type="stmt"/>
3260
- <line num="60" count="46" type="stmt"/>
3261
- <line num="68" count="46" type="stmt"/>
3262
- <line num="69" count="46" type="stmt"/>
3263
- <line num="70" count="46" type="stmt"/>
3264
- <line num="71" count="46" type="stmt"/>
3265
- <line num="72" count="46" type="stmt"/>
3266
- <line num="73" count="46" type="stmt"/>
3267
- <line num="74" count="46" type="stmt"/>
3268
- <line num="75" count="46" type="stmt"/>
3269
- <line num="76" count="46" type="stmt"/>
3270
- <line num="77" count="46" type="stmt"/>
3271
- <line num="78" count="46" type="stmt"/>
3272
- <line num="79" count="46" type="stmt"/>
3273
- <line num="80" count="46" type="stmt"/>
3274
- <line num="81" count="46" type="stmt"/>
3275
- <line num="83" count="46" type="stmt"/>
3276
- <line num="84" count="46" type="stmt"/>
3277
- <line num="86" count="46" type="stmt"/>
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"/>
3278
3509
  <line num="87" count="74" type="stmt"/>
3279
3510
  <line num="103" count="603" type="cond" truecount="2" falsecount="0"/>
3280
3511
  <line num="104" count="590" type="stmt"/>
3281
3512
  <line num="106" count="603" type="stmt"/>
3282
- <line num="113" count="46" type="stmt"/>
3283
- <line num="118" count="46" type="cond" truecount="0" falsecount="2"/>
3513
+ <line num="113" count="47" type="stmt"/>
3514
+ <line num="118" count="47" type="cond" truecount="0" falsecount="2"/>
3284
3515
  <line num="119" count="3" type="stmt"/>
3285
- <line num="126" count="46" type="stmt"/>
3516
+ <line num="126" count="47" type="stmt"/>
3286
3517
  <line num="127" count="99" type="stmt"/>
3287
- <line num="138" count="46" type="cond" truecount="0" falsecount="3"/>
3518
+ <line num="138" count="47" type="cond" truecount="0" falsecount="3"/>
3288
3519
  <line num="139" count="11" type="cond" truecount="1" falsecount="1"/>
3289
3520
  <line num="140" count="0" type="stmt"/>
3290
3521
  <line num="143" count="11" type="cond" truecount="1" falsecount="1"/>
3291
3522
  <line num="145" count="11" type="stmt"/>
3292
- <line num="154" count="46" type="cond" truecount="1" falsecount="0"/>
3523
+ <line num="154" count="47" type="cond" truecount="1" falsecount="0"/>
3293
3524
  <line num="155" count="200" type="cond" truecount="2" falsecount="0"/>
3294
3525
  <line num="156" count="200" type="stmt"/>
3295
- <line num="162" count="46" type="cond" truecount="0" falsecount="2"/>
3526
+ <line num="162" count="47" type="cond" truecount="0" falsecount="2"/>
3296
3527
  <line num="163" count="3" type="stmt"/>
3297
- <line num="171" count="46" type="stmt"/>
3528
+ <line num="171" count="47" type="stmt"/>
3298
3529
  <line num="172" count="132" type="stmt"/>
3299
- <line num="178" count="46" type="stmt"/>
3530
+ <line num="178" count="47" type="stmt"/>
3300
3531
  <line num="179" count="2" type="stmt"/>
3301
3532
  <line num="180" count="2" type="cond" truecount="4" falsecount="0"/>
3302
3533
  <line num="181" count="1" type="stmt"/>
3303
3534
  <line num="183" count="1" type="stmt"/>
3304
- <line num="189" count="46" type="cond" truecount="0" falsecount="2"/>
3535
+ <line num="189" count="47" type="cond" truecount="0" falsecount="2"/>
3305
3536
  <line num="190" count="203" type="stmt"/>
3306
- <line num="197" count="46" type="stmt"/>
3537
+ <line num="197" count="47" type="stmt"/>
3307
3538
  <line num="198" count="20" type="stmt"/>
3308
- <line num="212" count="46" type="stmt"/>
3539
+ <line num="212" count="47" type="stmt"/>
3309
3540
  <line num="220" count="9" type="stmt"/>
3310
3541
  <line num="221" count="9" type="stmt"/>
3311
3542
  <line num="222" count="9" type="stmt"/>
3312
3543
  <line num="223" count="9" type="stmt"/>
3313
- <line num="229" count="46" type="cond" truecount="0" falsecount="1"/>
3544
+ <line num="229" count="47" type="cond" truecount="0" falsecount="1"/>
3314
3545
  <line num="230" count="0" type="stmt"/>
3315
- <line num="237" count="46" type="cond" truecount="0" falsecount="1"/>
3546
+ <line num="237" count="47" type="cond" truecount="0" falsecount="1"/>
3316
3547
  <line num="238" count="178" type="stmt"/>
3317
3548
  <line num="239" count="178" type="cond" truecount="1" falsecount="1"/>
3318
3549
  <line num="240" count="0" type="stmt"/>
3319
3550
  <line num="242" count="178" type="stmt"/>
3320
- <line num="249" count="46" type="stmt"/>
3551
+ <line num="249" count="47" type="stmt"/>
3321
3552
  <line num="250" count="178" type="stmt"/>
3322
3553
  <line num="251" count="178" type="stmt"/>
3323
3554
  <line num="252" count="178" type="stmt"/>
3324
- <line num="259" count="46" type="stmt"/>
3555
+ <line num="259" count="47" type="stmt"/>
3325
3556
  <line num="260" count="5" type="cond" truecount="2" falsecount="0"/>
3326
- <line num="266" count="46" type="cond" truecount="0" falsecount="2"/>
3557
+ <line num="266" count="47" type="cond" truecount="0" falsecount="2"/>
3327
3558
  <line num="267" count="188" type="stmt"/>
3328
- <line num="274" count="46" type="stmt"/>
3559
+ <line num="274" count="47" type="stmt"/>
3329
3560
  <line num="275" count="197" type="stmt"/>
3330
- <line num="281" count="46" type="cond" truecount="0" falsecount="2"/>
3561
+ <line num="281" count="47" type="cond" truecount="0" falsecount="2"/>
3331
3562
  <line num="282" count="190" type="stmt"/>
3332
- <line num="289" count="46" type="stmt"/>
3563
+ <line num="289" count="47" type="stmt"/>
3333
3564
  <line num="290" count="10" type="stmt"/>
3334
- <line num="296" count="46" type="cond" truecount="0" falsecount="2"/>
3565
+ <line num="296" count="47" type="cond" truecount="0" falsecount="2"/>
3335
3566
  <line num="297" count="2" type="stmt"/>
3336
- <line num="304" count="46" type="cond" truecount="1" falsecount="1"/>
3567
+ <line num="304" count="47" type="cond" truecount="1" falsecount="1"/>
3337
3568
  <line num="305" count="23" type="stmt"/>
3338
- <line num="313" count="46" type="cond" truecount="0" falsecount="2"/>
3569
+ <line num="313" count="47" type="cond" truecount="0" falsecount="2"/>
3339
3570
  <line num="314" count="3" type="stmt"/>
3340
- <line num="321" count="46" type="stmt"/>
3571
+ <line num="321" count="47" type="stmt"/>
3341
3572
  <line num="322" count="18" type="stmt"/>
3342
- <line num="330" count="46" type="cond" truecount="0" falsecount="2"/>
3573
+ <line num="330" count="47" type="cond" truecount="0" falsecount="2"/>
3343
3574
  <line num="331" count="3" type="cond" truecount="2" falsecount="0"/>
3344
3575
  <line num="332" count="2" type="stmt"/>
3345
3576
  <line num="335" count="1" type="stmt"/>
3346
- <line num="342" count="46" type="stmt"/>
3577
+ <line num="342" count="47" type="stmt"/>
3347
3578
  <line num="343" count="10" type="stmt"/>
3348
- <line num="346" count="46" type="cond" truecount="0" falsecount="2"/>
3579
+ <line num="346" count="47" type="cond" truecount="0" falsecount="2"/>
3349
3580
  <line num="347" count="0" type="stmt"/>
3350
3581
  <line num="348" count="0" type="cond" truecount="0" falsecount="2"/>
3351
3582
  <line num="349" count="0" type="stmt"/>
3352
3583
  <line num="351" count="0" type="stmt"/>
3353
- <line num="354" count="46" type="stmt"/>
3584
+ <line num="354" count="47" type="stmt"/>
3354
3585
  <line num="355" count="1" type="stmt"/>
3355
- <line num="358" count="46" type="cond" truecount="0" falsecount="1"/>
3586
+ <line num="358" count="47" type="cond" truecount="0" falsecount="1"/>
3356
3587
  <line num="359" count="0" type="stmt"/>
3357
- <line num="365" count="46" type="stmt"/>
3588
+ <line num="365" count="47" type="stmt"/>
3358
3589
  <line num="366" count="60" type="stmt"/>
3359
3590
  </file>
3360
3591
  </package>
@@ -3674,9 +3905,9 @@
3674
3905
  <metrics statements="38" coveredstatements="34" conditionals="18" coveredconditionals="10" methods="8" coveredmethods="7"/>
3675
3906
  <file name="AutomationEmitter.js" path="/home/runner/work/budibase/budibase/packages/server/src/events/AutomationEmitter.js">
3676
3907
  <metrics statements="12" coveredstatements="9" conditionals="6" coveredconditionals="2" methods="3" coveredmethods="2"/>
3677
- <line num="1" count="33" type="stmt"/>
3678
- <line num="2" count="33" type="stmt"/>
3679
- <line num="5" count="33" type="stmt"/>
3908
+ <line num="1" count="4" type="stmt"/>
3909
+ <line num="2" count="4" type="stmt"/>
3910
+ <line num="5" count="4" type="stmt"/>
3680
3911
  <line num="15" count="7" type="stmt"/>
3681
3912
  <line num="16" count="7" type="stmt"/>
3682
3913
  <line num="23" count="5" type="cond" truecount="2" falsecount="0"/>
@@ -3685,7 +3916,7 @@
3685
3916
  <line num="38" count="0" type="cond" truecount="0" falsecount="2"/>
3686
3917
  <line num="39" count="0" type="stmt"/>
3687
3918
  <line num="41" count="0" type="stmt"/>
3688
- <line num="51" count="33" type="stmt"/>
3919
+ <line num="51" count="4" type="stmt"/>
3689
3920
  </file>
3690
3921
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/events/index.js">
3691
3922
  <metrics statements="7" coveredstatements="7" conditionals="2" coveredconditionals="1" methods="3" coveredmethods="3"/>
@@ -3727,7 +3958,7 @@
3727
3958
  </file>
3728
3959
  </package>
3729
3960
  <package name="middleware">
3730
- <metrics statements="221" coveredstatements="199" conditionals="150" coveredconditionals="119" methods="29" coveredmethods="29"/>
3961
+ <metrics statements="224" coveredstatements="202" conditionals="152" coveredconditionals="121" methods="29" coveredmethods="29"/>
3731
3962
  <file name="appInfo.js" path="/home/runner/work/budibase/budibase/packages/server/src/middleware/appInfo.js">
3732
3963
  <metrics statements="10" coveredstatements="8" conditionals="11" coveredconditionals="6" methods="2" coveredmethods="2"/>
3733
3964
  <line num="1" count="23" type="stmt"/>
@@ -3742,77 +3973,80 @@
3742
3973
  <line num="18" count="7" type="stmt"/>
3743
3974
  </file>
3744
3975
  <file name="authorized.js" path="/home/runner/work/budibase/budibase/packages/server/src/middleware/authorized.js">
3745
- <metrics statements="34" coveredstatements="34" conditionals="26" coveredconditionals="23" methods="4" coveredmethods="4"/>
3976
+ <metrics statements="34" coveredstatements="34" conditionals="28" coveredconditionals="25" methods="4" coveredmethods="4"/>
3746
3977
  <line num="5" count="24" type="stmt"/>
3747
3978
  <line num="9" count="24" type="stmt"/>
3748
3979
  <line num="10" count="24" type="stmt"/>
3749
3980
  <line num="11" count="24" type="stmt"/>
3750
3981
  <line num="14" count="7" type="stmt"/>
3751
3982
  <line num="17" count="24" type="stmt"/>
3752
- <line num="19" count="2200" type="stmt"/>
3753
- <line num="21" count="150" type="cond" truecount="2" falsecount="0"/>
3754
- <line num="22" count="1" type="stmt"/>
3755
- <line num="25" count="149" type="cond" truecount="2" falsecount="0"/>
3756
- <line num="26" count="1" type="stmt"/>
3757
- <line num="31" count="148" type="stmt"/>
3758
- <line num="33" count="148" type="stmt"/>
3759
- <line num="35" count="148" type="cond" truecount="3" falsecount="0"/>
3760
- <line num="36" count="148" type="stmt"/>
3761
- <line num="37" count="148" type="cond" truecount="2" falsecount="0"/>
3762
- <line num="38" count="112" type="stmt"/>
3763
- <line num="39" count="36" type="cond" truecount="4" falsecount="0"/>
3764
- <line num="40" count="29" type="stmt"/>
3765
- <line num="44" count="7" type="cond" truecount="2" falsecount="0"/>
3766
- <line num="45" count="7" type="stmt"/>
3767
- <line num="48" count="7" type="stmt"/>
3983
+ <line num="19" count="2246" type="stmt"/>
3984
+ <line num="22" count="150" type="cond" truecount="4" falsecount="0"/>
3985
+ <line num="23" count="1" type="stmt"/>
3986
+ <line num="26" count="149" type="cond" truecount="2" falsecount="0"/>
3987
+ <line num="27" count="1" type="stmt"/>
3988
+ <line num="32" count="148" type="stmt"/>
3989
+ <line num="34" count="148" type="stmt"/>
3990
+ <line num="36" count="148" type="cond" truecount="3" falsecount="0"/>
3991
+ <line num="37" count="148" type="stmt"/>
3992
+ <line num="38" count="148" type="cond" truecount="2" falsecount="0"/>
3993
+ <line num="39" count="112" type="stmt"/>
3994
+ <line num="40" count="36" type="cond" truecount="4" falsecount="0"/>
3995
+ <line num="41" count="29" type="stmt"/>
3996
+ <line num="45" count="7" type="cond" truecount="2" falsecount="0"/>
3997
+ <line num="46" count="7" type="stmt"/>
3768
3998
  <line num="49" count="7" type="stmt"/>
3769
- <line num="50" count="7" type="cond" truecount="2" falsecount="0"/>
3770
- <line num="51" count="3" type="stmt"/>
3771
- <line num="54" count="7" type="cond" truecount="2" falsecount="0"/>
3772
- <line num="55" count="1" type="stmt"/>
3999
+ <line num="50" count="7" type="stmt"/>
4000
+ <line num="51" count="7" type="cond" truecount="2" falsecount="0"/>
4001
+ <line num="52" count="3" type="stmt"/>
4002
+ <line num="55" count="7" type="cond" truecount="2" falsecount="0"/>
3773
4003
  <line num="56" count="1" type="stmt"/>
3774
- <line num="58" count="1" type="cond" truecount="1" falsecount="1"/>
3775
- <line num="59" count="6" type="cond" truecount="1" falsecount="1"/>
3776
- <line num="60" count="6" type="stmt"/>
3777
- <line num="64" count="4" type="cond" truecount="1" falsecount="1"/>
3778
- <line num="65" count="4" type="stmt"/>
3779
- <line num="68" count="4" type="stmt"/>
4004
+ <line num="57" count="1" type="stmt"/>
4005
+ <line num="59" count="1" type="cond" truecount="1" falsecount="1"/>
4006
+ <line num="60" count="6" type="cond" truecount="1" falsecount="1"/>
4007
+ <line num="61" count="6" type="stmt"/>
4008
+ <line num="65" count="4" type="cond" truecount="1" falsecount="1"/>
4009
+ <line num="66" count="4" type="stmt"/>
4010
+ <line num="69" count="4" type="stmt"/>
3780
4011
  </file>
3781
4012
  <file name="builder.js" path="/home/runner/work/budibase/budibase/packages/server/src/middleware/builder.js">
3782
- <metrics statements="33" coveredstatements="29" conditionals="22" coveredconditionals="17" methods="3" coveredmethods="3"/>
4013
+ <metrics statements="36" coveredstatements="32" conditionals="22" coveredconditionals="17" methods="3" coveredmethods="3"/>
3783
4014
  <line num="1" count="24" type="stmt"/>
3784
4015
  <line num="7" count="24" type="stmt"/>
3785
4016
  <line num="8" count="24" type="stmt"/>
3786
4017
  <line num="9" count="24" type="stmt"/>
3787
4018
  <line num="10" count="24" type="stmt"/>
3788
- <line num="12" count="24" type="stmt"/>
3789
- <line num="24" count="1" type="stmt"/>
3790
- <line num="27" count="1" type="cond" truecount="2" falsecount="2"/>
3791
- <line num="28" count="0" type="stmt"/>
3792
- <line num="32" count="1" type="cond" truecount="3" falsecount="1"/>
3793
- <line num="33" count="0" type="stmt"/>
3794
- <line num="35" count="1" type="cond" truecount="1" falsecount="1"/>
3795
- <line num="36" count="0" type="stmt"/>
3796
- <line num="40" count="1" type="stmt"/>
3797
- <line num="44" count="1" type="stmt"/>
3798
- <line num="47" count="1" type="cond" truecount="3" falsecount="1"/>
3799
- <line num="48" count="0" type="stmt"/>
3800
- <line num="50" count="1" type="stmt"/>
4019
+ <line num="11" count="24" type="stmt"/>
4020
+ <line num="13" count="24" type="stmt"/>
4021
+ <line num="25" count="1" type="stmt"/>
4022
+ <line num="28" count="1" type="cond" truecount="2" falsecount="2"/>
4023
+ <line num="29" count="0" type="stmt"/>
4024
+ <line num="33" count="1" type="cond" truecount="3" falsecount="1"/>
4025
+ <line num="34" count="0" type="stmt"/>
4026
+ <line num="36" count="1" type="cond" truecount="1" falsecount="1"/>
4027
+ <line num="37" count="0" type="stmt"/>
4028
+ <line num="41" count="1" type="stmt"/>
4029
+ <line num="45" count="1" type="stmt"/>
4030
+ <line num="48" count="1" type="cond" truecount="3" falsecount="1"/>
4031
+ <line num="49" count="0" type="stmt"/>
3801
4032
  <line num="51" count="1" type="stmt"/>
3802
4033
  <line num="52" count="1" type="stmt"/>
3803
4034
  <line num="53" count="1" type="stmt"/>
4035
+ <line num="54" count="1" type="stmt"/>
3804
4036
  <line num="55" count="1" type="stmt"/>
3805
- <line num="58" count="24" type="stmt"/>
3806
- <line num="59" count="148" type="stmt"/>
3807
- <line num="61" count="148" type="cond" truecount="2" falsecount="0"/>
3808
- <line num="62" count="5" type="stmt"/>
3809
- <line num="64" count="143" type="stmt"/>
3810
- <line num="65" count="143" type="stmt"/>
3811
- <line num="66" count="143" type="cond" truecount="2" falsecount="0"/>
3812
- <line num="68" count="143" type="cond" truecount="4" falsecount="0"/>
3813
- <line num="69" count="142" type="stmt"/>
3814
- <line num="72" count="1" type="stmt"/>
3815
- <line num="74" count="1" type="stmt"/>
4037
+ <line num="56" count="1" type="stmt"/>
4038
+ <line num="58" count="1" type="stmt"/>
4039
+ <line num="61" count="24" type="stmt"/>
4040
+ <line num="62" count="148" type="stmt"/>
4041
+ <line num="64" count="148" type="cond" truecount="2" falsecount="0"/>
4042
+ <line num="65" count="5" type="stmt"/>
4043
+ <line num="67" count="143" type="stmt"/>
4044
+ <line num="68" count="143" type="stmt"/>
4045
+ <line num="69" count="143" type="cond" truecount="2" falsecount="0"/>
4046
+ <line num="71" count="143" type="cond" truecount="4" falsecount="0"/>
4047
+ <line num="72" count="142" type="stmt"/>
4048
+ <line num="75" count="1" type="stmt"/>
4049
+ <line num="77" count="1" type="stmt"/>
3816
4050
  </file>
3817
4051
  <file name="currentapp.js" path="/home/runner/work/budibase/budibase/packages/server/src/middleware/currentapp.js">
3818
4052
  <metrics statements="53" coveredstatements="44" conditionals="41" coveredconditionals="32" methods="1" coveredmethods="1"/>
@@ -3892,29 +4126,29 @@
3892
4126
  </file>
3893
4127
  <file name="resourceId.js" path="/home/runner/work/budibase/budibase/packages/server/src/middleware/resourceId.js">
3894
4128
  <metrics statements="29" coveredstatements="29" conditionals="12" coveredconditionals="12" methods="9" coveredmethods="9"/>
3895
- <line num="3" count="558" type="stmt"/>
3896
- <line num="4" count="558" type="stmt"/>
3897
- <line num="5" count="558" type="stmt"/>
3898
- <line num="6" count="558" type="stmt"/>
3899
- <line num="10" count="558" type="stmt"/>
3900
- <line num="11" count="558" type="stmt"/>
4129
+ <line num="3" count="604" type="stmt"/>
4130
+ <line num="4" count="604" type="stmt"/>
4131
+ <line num="5" count="604" type="stmt"/>
4132
+ <line num="6" count="604" type="stmt"/>
4133
+ <line num="10" count="604" type="stmt"/>
4134
+ <line num="11" count="604" type="stmt"/>
3901
4135
  <line num="15" count="72" type="stmt"/>
3902
4136
  <line num="16" count="72" type="stmt"/>
3903
- <line num="20" count="558" type="stmt"/>
3904
- <line num="21" count="558" type="stmt"/>
3905
- <line num="22" count="558" type="stmt"/>
3906
- <line num="23" count="558" type="stmt"/>
3907
- <line num="24" count="55" type="cond" truecount="2" falsecount="0"/>
3908
- <line num="25" count="55" type="cond" truecount="2" falsecount="0"/>
4137
+ <line num="20" count="604" type="stmt"/>
4138
+ <line num="21" count="604" type="stmt"/>
4139
+ <line num="22" count="604" type="stmt"/>
4140
+ <line num="23" count="604" type="stmt"/>
4141
+ <line num="24" count="57" type="cond" truecount="2" falsecount="0"/>
4142
+ <line num="25" count="57" type="cond" truecount="2" falsecount="0"/>
3909
4143
  <line num="26" count="1" type="stmt"/>
3910
- <line num="28" count="54" type="cond" truecount="4" falsecount="0"/>
3911
- <line num="29" count="50" type="stmt"/>
3912
- <line num="31" count="54" type="cond" truecount="4" falsecount="0"/>
4144
+ <line num="28" count="56" type="cond" truecount="4" falsecount="0"/>
4145
+ <line num="29" count="52" type="stmt"/>
4146
+ <line num="31" count="56" type="cond" truecount="4" falsecount="0"/>
3913
4147
  <line num="32" count="11" type="stmt"/>
3914
- <line num="34" count="54" type="stmt"/>
4148
+ <line num="34" count="56" type="stmt"/>
3915
4149
  <line num="39" count="24" type="stmt"/>
3916
4150
  <line num="41" count="24" type="stmt"/>
3917
- <line num="42" count="416" type="stmt"/>
4151
+ <line num="42" count="462" type="stmt"/>
3918
4152
  <line num="45" count="24" type="stmt"/>
3919
4153
  <line num="46" count="47" type="stmt"/>
3920
4154
  <line num="52" count="24" type="stmt"/>
@@ -3977,8 +4211,154 @@
3977
4211
  <line num="6" count="269" type="stmt"/>
3978
4212
  </file>
3979
4213
  </package>
4214
+ <package name="threads">
4215
+ <metrics statements="134" coveredstatements="108" conditionals="53" coveredconditionals="30" methods="22" coveredmethods="20"/>
4216
+ <file name="automation.js" path="/home/runner/work/budibase/budibase/packages/server/src/threads/automation.js">
4217
+ <metrics statements="76" coveredstatements="64" conditionals="23" coveredconditionals="13" methods="10" coveredmethods="9"/>
4218
+ <line num="2" count="4" type="stmt"/>
4219
+ <line num="3" count="4" type="stmt"/>
4220
+ <line num="4" count="4" type="stmt"/>
4221
+ <line num="5" count="4" type="stmt"/>
4222
+ <line num="6" count="4" type="stmt"/>
4223
+ <line num="7" count="4" type="stmt"/>
4224
+ <line num="8" count="4" type="stmt"/>
4225
+ <line num="9" count="4" type="stmt"/>
4226
+ <line num="10" count="4" type="stmt"/>
4227
+ <line num="11" count="4" type="stmt"/>
4228
+ <line num="12" count="4" type="stmt"/>
4229
+ <line num="13" count="4" type="stmt"/>
4230
+ <line num="15" count="4" type="stmt"/>
4231
+ <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"/>
4235
+ <line num="28" count="7" type="stmt"/>
4236
+ <line num="29" count="7" type="stmt"/>
4237
+ <line num="30" count="7" type="stmt"/>
4238
+ <line num="31" count="7" type="stmt"/>
4239
+ <line num="33" count="7" type="stmt"/>
4240
+ <line num="34" count="7" type="stmt"/>
4241
+ <line num="36" count="7" type="stmt"/>
4242
+ <line num="37" count="7" type="stmt"/>
4243
+ <line num="40" count="7" type="stmt"/>
4244
+ <line num="41" count="7" type="stmt"/>
4245
+ <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"/>
4257
+ <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"/>
4264
+ <line num="82" count="7" type="stmt"/>
4265
+ <line num="83" count="7" type="stmt"/>
4266
+ <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"/>
4269
+ <line num="88" count="0" type="stmt"/>
4270
+ <line num="89" count="0" type="stmt"/>
4271
+ <line num="91" count="5" type="stmt"/>
4272
+ <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"/>
4276
+ <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"/>
4280
+ <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"/>
4284
+ <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"/>
4294
+ </file>
4295
+ <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/threads/index.js">
4296
+ <metrics statements="29" coveredstatements="23" conditionals="18" coveredconditionals="10" methods="5" coveredmethods="5"/>
4297
+ <line num="1" count="34" type="stmt"/>
4298
+ <line num="2" count="34" type="stmt"/>
4299
+ <line num="4" count="34" type="stmt"/>
4300
+ <line num="10" count="14" type="stmt"/>
4301
+ <line num="11" count="14" type="cond" truecount="2" falsecount="1"/>
4302
+ <line num="13" count="4" type="stmt"/>
4303
+ <line num="14" count="4" type="stmt"/>
4304
+ <line num="16" count="10" type="stmt"/>
4305
+ <line num="17" count="10" type="stmt"/>
4306
+ <line num="19" count="0" type="stmt"/>
4307
+ <line num="21" count="14" type="stmt"/>
4308
+ <line num="26" count="67" type="stmt"/>
4309
+ <line num="27" count="67" type="cond" truecount="2" falsecount="0"/>
4310
+ <line num="28" count="67" type="stmt"/>
4311
+ <line num="33" count="67" type="cond" truecount="1" falsecount="1"/>
4312
+ <line num="34" count="0" type="stmt"/>
4313
+ <line num="38" count="0" type="cond" truecount="0" falsecount="2"/>
4314
+ <line num="39" count="0" type="stmt"/>
4315
+ <line num="41" count="0" type="stmt"/>
4316
+ <line num="46" count="14" type="stmt"/>
4317
+ <line num="49" count="14" type="cond" truecount="1" falsecount="1"/>
4318
+ <line num="50" count="14" type="stmt"/>
4319
+ <line num="52" count="0" type="stmt"/>
4320
+ <line num="54" count="14" type="stmt"/>
4321
+ <line num="55" count="10" type="cond" truecount="2" falsecount="0"/>
4322
+ <line num="56" count="2" type="stmt"/>
4323
+ <line num="58" count="8" type="stmt"/>
4324
+ <line num="65" count="34" type="stmt"/>
4325
+ <line num="66" count="34" type="stmt"/>
4326
+ </file>
4327
+ <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"/>
4329
+ <line num="2" count="1" type="stmt"/>
4330
+ <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"/>
4335
+ <line num="10" count="0" type="stmt"/>
4336
+ <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
+ </file>
4359
+ </package>
3980
4360
  <package name="utilities">
3981
- <metrics statements="286" coveredstatements="205" conditionals="107" coveredconditionals="58" methods="57" coveredmethods="38"/>
4361
+ <metrics statements="322" coveredstatements="232" conditionals="121" coveredconditionals="66" methods="62" coveredmethods="42"/>
3982
4362
  <file name="bcrypt.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/bcrypt.js">
3983
4363
  <metrics statements="9" coveredstatements="0" conditionals="2" coveredconditionals="0" methods="2" coveredmethods="0"/>
3984
4364
  <line num="3" count="0" type="stmt"/>
@@ -4010,7 +4390,7 @@
4010
4390
  <line num="21" count="0" type="stmt"/>
4011
4391
  </file>
4012
4392
  <file name="csvParser.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/csvParser.js">
4013
- <metrics statements="45" coveredstatements="34" conditionals="20" coveredconditionals="14" methods="12" coveredmethods="9"/>
4393
+ <metrics statements="71" coveredstatements="56" conditionals="32" coveredconditionals="22" methods="15" coveredmethods="12"/>
4014
4394
  <line num="1" count="35" type="stmt"/>
4015
4395
  <line num="2" count="35" type="stmt"/>
4016
4396
  <line num="4" count="35" type="stmt"/>
@@ -4047,18 +4427,44 @@
4047
4427
  <line num="70" count="0" type="stmt"/>
4048
4428
  <line num="71" count="0" type="stmt"/>
4049
4429
  <line num="74" count="3" type="stmt"/>
4050
- <line num="80" count="4" type="stmt"/>
4051
- <line num="82" count="4" type="stmt"/>
4052
- <line num="83" count="4" type="cond" truecount="2" falsecount="0"/>
4053
- <line num="86" count="4" type="stmt"/>
4430
+ <line num="80" count="1" type="cond" truecount="1" falsecount="1"/>
4431
+ <line num="81" count="0" type="stmt"/>
4432
+ <line num="83" count="1" type="stmt"/>
4433
+ <line num="84" count="1" type="stmt"/>
4434
+ <line num="85" count="4" type="stmt"/>
4435
+ <line num="86" count="1" type="stmt"/>
4054
4436
  <line num="87" count="4" type="stmt"/>
4055
- <line num="88" count="3" type="stmt"/>
4056
- <line num="90" count="1" type="stmt"/>
4057
- <line num="91" count="1" type="stmt"/>
4058
- <line num="95" count="35" type="stmt"/>
4437
+ <line num="88" count="4" type="stmt"/>
4438
+ <line num="89" count="4" type="cond" truecount="1" falsecount="1"/>
4439
+ <line num="90" count="4" type="stmt"/>
4440
+ <line num="91" count="4" type="stmt"/>
4441
+ <line num="94" count="1" type="stmt"/>
4442
+ <line num="98" count="4" type="stmt"/>
4443
+ <line num="101" count="4" type="cond" truecount="2" falsecount="0"/>
4444
+ <line num="102" count="1" type="stmt"/>
4445
+ <line num="105" count="4" type="stmt"/>
4446
+ <line num="106" count="9" type="cond" truecount="2" falsecount="0"/>
4447
+ <line num="109" count="4" type="stmt"/>
4448
+ <line num="110" count="4" type="stmt"/>
4449
+ <line num="111" count="3" type="stmt"/>
4450
+ <line num="112" count="8" type="stmt"/>
4451
+ <line num="113" count="3" type="stmt"/>
4452
+ <line num="114" count="7" type="cond" truecount="1" falsecount="1"/>
4453
+ <line num="115" count="0" type="stmt"/>
4454
+ <line num="117" count="7" type="stmt"/>
4455
+ <line num="118" count="16" type="stmt"/>
4456
+ <line num="120" count="16" type="cond" truecount="2" falsecount="0"/>
4457
+ <line num="121" count="6" type="stmt"/>
4458
+ <line num="124" count="10" type="cond" truecount="1" falsecount="1"/>
4459
+ <line num="125" count="0" type="stmt"/>
4460
+ <line num="126" count="0" type="stmt"/>
4461
+ <line num="130" count="3" type="stmt"/>
4462
+ <line num="132" count="1" type="stmt"/>
4463
+ <line num="133" count="1" type="stmt"/>
4464
+ <line num="137" count="35" type="stmt"/>
4059
4465
  </file>
4060
4466
  <file name="global.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/global.js">
4061
- <metrics statements="53" coveredstatements="43" conditionals="25" coveredconditionals="17" methods="14" coveredmethods="10"/>
4467
+ <metrics statements="56" coveredstatements="46" conditionals="25" coveredconditionals="17" methods="15" coveredmethods="11"/>
4062
4468
  <line num="4" count="39" type="stmt"/>
4063
4469
  <line num="5" count="39" type="stmt"/>
4064
4470
  <line num="6" count="39" type="stmt"/>
@@ -4090,31 +4496,34 @@
4090
4496
  <line num="49" count="39" type="stmt"/>
4091
4497
  <line num="50" count="2" type="stmt"/>
4092
4498
  <line num="51" count="2" type="stmt"/>
4093
- <line num="52" count="2" type="stmt"/>
4094
- <line num="55" count="39" type="cond" truecount="1" falsecount="1"/>
4095
- <line num="56" count="32" type="stmt"/>
4096
- <line num="58" count="32" type="cond" truecount="2" falsecount="0"/>
4097
- <line num="59" count="30" type="stmt"/>
4098
- <line num="60" count="30" type="stmt"/>
4099
- <line num="61" count="0" type="stmt"/>
4100
- <line num="64" count="2" type="stmt"/>
4101
- <line num="70" count="7" type="stmt"/>
4102
- <line num="72" count="32" type="stmt"/>
4103
- <line num="73" count="7" type="stmt"/>
4104
- <line num="75" count="7" type="stmt"/>
4105
- <line num="76" count="7" type="stmt"/>
4106
- <line num="78" count="32" type="cond" truecount="1" falsecount="1"/>
4107
- <line num="79" count="0" type="stmt"/>
4108
- <line num="81" count="32" type="stmt"/>
4109
- <line num="84" count="39" type="stmt"/>
4110
- <line num="85" count="30" type="stmt"/>
4111
- <line num="86" count="30" type="stmt"/>
4112
- <line num="87" count="0" type="stmt"/>
4113
- <line num="88" count="0" type="cond" truecount="0" falsecount="2"/>
4114
- <line num="90" count="0" type="stmt"/>
4499
+ <line num="54" count="39" type="stmt"/>
4500
+ <line num="55" count="2" type="stmt"/>
4501
+ <line num="56" count="2" type="stmt"/>
4502
+ <line num="59" count="39" type="cond" truecount="1" falsecount="1"/>
4503
+ <line num="60" count="32" type="stmt"/>
4504
+ <line num="62" count="32" type="cond" truecount="2" falsecount="0"/>
4505
+ <line num="63" count="30" type="stmt"/>
4506
+ <line num="64" count="30" type="stmt"/>
4507
+ <line num="65" count="0" type="stmt"/>
4508
+ <line num="68" count="2" type="stmt"/>
4509
+ <line num="74" count="7" type="stmt"/>
4510
+ <line num="76" count="32" type="stmt"/>
4511
+ <line num="77" count="7" type="stmt"/>
4512
+ <line num="79" count="7" type="stmt"/>
4513
+ <line num="80" count="7" type="stmt"/>
4514
+ <line num="81" count="7" type="stmt"/>
4515
+ <line num="83" count="32" type="cond" truecount="1" falsecount="1"/>
4516
+ <line num="84" count="0" type="stmt"/>
4517
+ <line num="86" count="32" type="stmt"/>
4518
+ <line num="89" count="39" type="stmt"/>
4519
+ <line num="90" count="30" type="stmt"/>
4520
+ <line num="91" count="30" type="stmt"/>
4521
+ <line num="92" count="0" type="stmt"/>
4522
+ <line num="93" count="0" type="cond" truecount="0" falsecount="2"/>
4523
+ <line num="95" count="0" type="stmt"/>
4115
4524
  </file>
4116
4525
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/index.js">
4117
- <metrics statements="62" coveredstatements="47" conditionals="16" coveredconditionals="7" methods="14" coveredmethods="11"/>
4526
+ <metrics statements="68" coveredstatements="48" conditionals="18" coveredconditionals="7" methods="15" coveredmethods="11"/>
4118
4527
  <line num="1" count="36" type="stmt"/>
4119
4528
  <line num="2" count="36" type="stmt"/>
4120
4529
  <line num="3" count="36" type="stmt"/>
@@ -4130,68 +4539,75 @@
4130
4539
  <line num="17" count="1" type="stmt"/>
4131
4540
  <line num="19" count="1" type="stmt"/>
4132
4541
  <line num="28" count="36" type="stmt"/>
4133
- <line num="29" count="186" type="stmt"/>
4542
+ <line num="29" count="187" type="stmt"/>
4134
4543
  <line num="36" count="36" type="stmt"/>
4135
4544
  <line num="37" count="2" type="cond" truecount="1" falsecount="1"/>
4136
4545
  <line num="39" count="2" type="stmt"/>
4137
4546
  <line num="41" count="0" type="stmt"/>
4138
- <line num="54" count="36" type="stmt"/>
4139
- <line num="55" count="187" type="cond" truecount="1" falsecount="1"/>
4140
- <line num="56" count="0" type="stmt"/>
4141
- <line num="60" count="0" type="cond" truecount="0" falsecount="2"/>
4142
- <line num="61" count="0" type="stmt"/>
4143
- <line num="63" count="0" type="stmt"/>
4144
- <line num="65" count="187" type="stmt"/>
4145
- <line num="69" count="36" type="stmt"/>
4146
- <line num="70" count="2" type="stmt"/>
4147
- <line num="75" count="36" type="stmt"/>
4148
- <line num="76" count="3" type="stmt"/>
4547
+ <line num="55" count="36" type="stmt"/>
4548
+ <line num="56" count="187" type="cond" truecount="1" falsecount="1"/>
4549
+ <line num="57" count="0" type="stmt"/>
4550
+ <line num="61" count="0" type="cond" truecount="0" falsecount="2"/>
4551
+ <line num="62" count="0" type="stmt"/>
4552
+ <line num="64" count="0" type="stmt"/>
4553
+ <line num="66" count="187" type="stmt"/>
4554
+ <line num="70" count="36" type="stmt"/>
4555
+ <line num="71" count="2" type="stmt"/>
4556
+ <line num="76" count="36" type="stmt"/>
4149
4557
  <line num="77" count="3" type="stmt"/>
4150
- <line num="80" count="3" type="stmt"/>
4558
+ <line num="78" count="3" type="stmt"/>
4151
4559
  <line num="81" count="3" type="stmt"/>
4152
4560
  <line num="82" count="3" type="stmt"/>
4153
- <line num="83" count="0" type="stmt"/>
4561
+ <line num="83" count="3" type="stmt"/>
4154
4562
  <line num="84" count="0" type="stmt"/>
4155
- <line num="86" count="3" type="stmt"/>
4563
+ <line num="85" count="0" type="stmt"/>
4156
4564
  <line num="87" count="3" type="stmt"/>
4157
- <line num="89" count="3" type="stmt"/>
4158
- <line num="90" count="3" type="cond" truecount="1" falsecount="1"/>
4159
- <line num="91" count="0" type="stmt"/>
4160
- <line num="93" count="3" type="stmt"/>
4565
+ <line num="88" count="3" type="stmt"/>
4566
+ <line num="90" count="3" type="stmt"/>
4567
+ <line num="91" count="3" type="cond" truecount="1" falsecount="1"/>
4568
+ <line num="92" count="0" type="stmt"/>
4161
4569
  <line num="94" count="3" type="stmt"/>
4162
- <line num="101" count="36" type="stmt"/>
4163
- <line num="102" count="1" type="stmt"/>
4570
+ <line num="95" count="3" type="stmt"/>
4571
+ <line num="102" count="36" type="stmt"/>
4164
4572
  <line num="103" count="1" type="stmt"/>
4165
- <line num="107" count="36" type="stmt"/>
4166
- <line num="108" count="4" type="stmt"/>
4573
+ <line num="104" count="1" type="stmt"/>
4574
+ <line num="108" count="36" type="stmt"/>
4167
4575
  <line num="109" count="4" type="stmt"/>
4168
- <line num="111" count="4" type="stmt"/>
4576
+ <line num="110" count="4" type="stmt"/>
4169
4577
  <line num="112" count="4" type="stmt"/>
4170
- <line num="113" count="0" type="cond" truecount="0" falsecount="2"/>
4171
- <line num="114" count="0" type="stmt"/>
4172
- <line num="119" count="4" type="cond" truecount="3" falsecount="1"/>
4173
- <line num="120" count="0" type="stmt"/>
4174
- <line num="124" count="36" type="stmt"/>
4175
- <line num="125" count="0" type="stmt"/>
4176
- <line num="134" count="36" type="stmt"/>
4177
- <line num="135" count="0" type="stmt"/>
4178
- <line num="137" count="0" type="stmt"/>
4578
+ <line num="113" count="4" type="stmt"/>
4579
+ <line num="114" count="0" type="cond" truecount="0" falsecount="2"/>
4580
+ <line num="115" count="0" type="stmt"/>
4581
+ <line num="120" count="4" type="cond" truecount="3" falsecount="1"/>
4582
+ <line num="121" count="0" type="stmt"/>
4583
+ <line num="125" count="36" type="stmt"/>
4584
+ <line num="126" count="0" type="stmt"/>
4585
+ <line num="135" count="36" type="stmt"/>
4586
+ <line num="136" count="0" type="stmt"/>
4179
4587
  <line num="138" count="0" type="stmt"/>
4588
+ <line num="139" count="0" type="stmt"/>
4589
+ <line num="144" count="36" type="stmt"/>
4590
+ <line num="145" count="0" type="stmt"/>
4591
+ <line num="146" count="0" type="stmt"/>
4592
+ <line num="147" count="0" type="stmt"/>
4593
+ <line num="148" count="0" type="cond" truecount="0" falsecount="2"/>
4594
+ <line num="150" count="0" type="stmt"/>
4180
4595
  </file>
4181
4596
  <file name="scriptRunner.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/scriptRunner.js">
4182
- <metrics statements="12" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="0"/>
4597
+ <metrics statements="13" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="0"/>
4183
4598
  <line num="1" count="34" type="stmt"/>
4184
4599
  <line num="2" count="34" type="stmt"/>
4185
- <line num="6" count="0" type="stmt"/>
4600
+ <line num="3" count="34" type="stmt"/>
4186
4601
  <line num="7" count="0" type="stmt"/>
4187
4602
  <line num="8" count="0" type="stmt"/>
4188
- <line num="9" count="0" type="stmt"/>
4189
- <line num="10" count="0" type="stmt"/>
4190
4603
  <line num="11" count="0" type="stmt"/>
4191
4604
  <line num="12" count="0" type="stmt"/>
4192
- <line num="16" count="0" type="stmt"/>
4193
- <line num="17" count="0" type="stmt"/>
4194
- <line num="21" count="34" type="stmt"/>
4605
+ <line num="13" count="0" type="stmt"/>
4606
+ <line num="14" count="0" type="stmt"/>
4607
+ <line num="15" count="0" type="stmt"/>
4608
+ <line num="19" count="0" type="stmt"/>
4609
+ <line num="20" count="0" type="stmt"/>
4610
+ <line num="24" count="34" type="stmt"/>
4195
4611
  </file>
4196
4612
  <file name="security.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/security.js">
4197
4613
  <metrics statements="28" coveredstatements="23" conditionals="15" coveredconditionals="8" methods="4" coveredmethods="4"/>
@@ -4300,9 +4716,9 @@
4300
4716
  </file>
4301
4717
  </package>
4302
4718
  <package name="utilities.queue">
4303
- <metrics statements="20" coveredstatements="18" conditionals="7" coveredconditionals="4" methods="7" coveredmethods="6"/>
4719
+ <metrics statements="21" coveredstatements="18" conditionals="7" coveredconditionals="4" methods="8" coveredmethods="6"/>
4304
4720
  <file name="inMemoryQueue.js" path="/home/runner/work/budibase/budibase/packages/server/src/utilities/queue/inMemoryQueue.js">
4305
- <metrics statements="20" coveredstatements="18" conditionals="7" coveredconditionals="4" methods="7" coveredmethods="6"/>
4721
+ <metrics statements="21" coveredstatements="18" conditionals="7" coveredconditionals="4" methods="8" coveredmethods="6"/>
4306
4722
  <line num="1" count="33" type="stmt"/>
4307
4723
  <line num="13" count="8" type="stmt"/>
4308
4724
  <line num="33" count="33" type="stmt"/>
@@ -4322,7 +4738,8 @@
4322
4738
  <line num="74" count="8" type="stmt"/>
4323
4739
  <line num="83" count="0" type="stmt"/>
4324
4740
  <line num="90" count="185" type="stmt"/>
4325
- <line num="94" count="33" type="stmt"/>
4741
+ <line num="97" count="0" type="stmt"/>
4742
+ <line num="101" count="33" type="stmt"/>
4326
4743
  </file>
4327
4744
  </package>
4328
4745
  <package name="utilities.routing">