@budibase/server 1.0.105-alpha.2 → 1.0.105-alpha.22

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 (199) hide show
  1. package/builder/assets/{index.ea3718aa.css → index.b7e0672d.css} +2 -2
  2. package/builder/assets/{index.3197fef1.js → index.fb599536.js} +153 -153
  3. package/builder/index.html +2 -2
  4. package/coverage/clover.xml +204 -124
  5. package/coverage/coverage-final.json +8 -7
  6. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/index.html +1 -1
  17. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/index.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +4 -4
  37. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/index.html +5 -5
  39. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  49. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  50. package/coverage/lcov-report/api/index.html +1 -1
  51. package/coverage/lcov-report/api/index.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.html +1 -1
  64. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  81. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  83. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  84. package/coverage/lcov-report/automations/actions.js.html +13 -4
  85. package/coverage/lcov-report/automations/automationUtils.js.html +45 -9
  86. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  87. package/coverage/lcov-report/automations/index.html +18 -18
  88. package/coverage/lcov-report/automations/index.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/index.html +20 -5
  98. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/loop.js.html +230 -0
  100. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  104. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  105. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  106. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  107. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  113. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  114. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  115. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  116. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  117. package/coverage/lcov-report/automations/utils.js.html +2 -2
  118. package/coverage/lcov-report/constants/index.html +5 -5
  119. package/coverage/lcov-report/constants/index.js.html +22 -4
  120. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  121. package/coverage/lcov-report/constants/screens.js.html +1 -1
  122. package/coverage/lcov-report/db/client.js.html +1 -1
  123. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  124. package/coverage/lcov-report/db/index.html +1 -1
  125. package/coverage/lcov-report/db/index.js.html +1 -1
  126. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  127. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  128. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  129. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  130. package/coverage/lcov-report/db/newid.js.html +1 -1
  131. package/coverage/lcov-report/db/utils.js.html +1 -1
  132. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  133. package/coverage/lcov-report/events/index.html +1 -1
  134. package/coverage/lcov-report/events/index.js.html +1 -1
  135. package/coverage/lcov-report/events/utils.js.html +1 -1
  136. package/coverage/lcov-report/index.html +44 -44
  137. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  138. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  139. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  140. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  141. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  142. package/coverage/lcov-report/middleware/currentapp.js.html +55 -10
  143. package/coverage/lcov-report/middleware/index.html +16 -16
  144. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  145. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  146. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  147. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  148. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  149. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  150. package/coverage/lcov-report/threads/automation.js.html +531 -45
  151. package/coverage/lcov-report/threads/index.html +20 -20
  152. package/coverage/lcov-report/threads/index.js.html +1 -1
  153. package/coverage/lcov-report/threads/query.js.html +1 -1
  154. package/coverage/lcov-report/threads/utils.js.html +1 -1
  155. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  156. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  157. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  158. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  159. package/coverage/lcov-report/utilities/global.js.html +1 -1
  160. package/coverage/lcov-report/utilities/index.html +1 -1
  161. package/coverage/lcov-report/utilities/index.js.html +1 -1
  162. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  163. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  164. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  165. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  166. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  167. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  168. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  169. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  170. package/coverage/lcov-report/utilities/security.js.html +1 -1
  171. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  172. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  173. package/coverage/lcov-report/utilities/usageQuota/index.js.html +1 -1
  174. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  175. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  176. package/coverage/lcov-report/utilities/users.js.html +1 -1
  177. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  178. package/coverage/lcov.info +385 -243
  179. package/dist/api/controllers/static/templates/BudibaseApp.svelte +3 -0
  180. package/dist/api/controllers/table/bulkFormula.js +2 -1
  181. package/dist/automations/actions.js +3 -0
  182. package/dist/automations/automationUtils.js +10 -0
  183. package/dist/automations/steps/loop.js +51 -0
  184. package/dist/constants/index.js +5 -0
  185. package/dist/environment.js +1 -0
  186. package/dist/middleware/currentapp.js +15 -1
  187. package/dist/package.json +5 -5
  188. package/dist/threads/automation.js +149 -27
  189. package/dist/tsconfig.tsbuildinfo +1 -1
  190. package/package.json +6 -6
  191. package/src/api/controllers/static/templates/BudibaseApp.svelte +3 -0
  192. package/src/api/controllers/table/bulkFormula.js +1 -1
  193. package/src/automations/actions.js +3 -0
  194. package/src/automations/automationUtils.js +12 -0
  195. package/src/automations/steps/loop.js +50 -0
  196. package/src/constants/index.js +6 -0
  197. package/src/environment.js +1 -0
  198. package/src/middleware/currentapp.js +16 -1
  199. package/src/threads/automation.js +196 -34
@@ -10,10 +10,10 @@
10
10
  href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap"
11
11
  rel="stylesheet"
12
12
  />
13
- <script type="module" crossorigin src="/builder/assets/index.3197fef1.js"></script>
13
+ <script type="module" crossorigin src="/builder/assets/index.fb599536.js"></script>
14
14
  <link rel="modulepreload" href="/builder/assets/vendor.8e34a169.js">
15
15
  <link rel="stylesheet" href="/builder/assets/vendor.5e1fe644.css">
16
- <link rel="stylesheet" href="/builder/assets/index.ea3718aa.css">
16
+ <link rel="stylesheet" href="/builder/assets/index.b7e0672d.css">
17
17
  </head>
18
18
  <body id="app">
19
19
 
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1649159780936" clover="3.2.0">
3
- <project timestamp="1649159780936" name="All files">
4
- <metrics statements="5074" coveredstatements="3745" conditionals="2090" coveredconditionals="1135" methods="734" coveredmethods="526" elements="7898" coveredelements="5406" complexity="0" loc="5074" ncloc="5074" packages="23" files="147" classes="147"/>
2
+ <coverage generated="1650440857394" clover="3.2.0">
3
+ <project timestamp="1650440857394" name="All files">
4
+ <metrics statements="5151" coveredstatements="3771" conditionals="2142" coveredconditionals="1156" methods="736" coveredmethods="526" elements="8029" coveredelements="5453" complexity="0" loc="5151" ncloc="5151" packages="23" files="148" classes="148"/>
5
5
  <package name="api">
6
6
  <metrics statements="30" coveredstatements="28" conditionals="5" coveredconditionals="2" methods="4" coveredmethods="4"/>
7
7
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/index.js">
@@ -2027,9 +2027,9 @@
2027
2027
  </file>
2028
2028
  </package>
2029
2029
  <package name="api.controllers.table">
2030
- <metrics statements="534" coveredstatements="285" conditionals="286" coveredconditionals="102" methods="78" coveredmethods="41"/>
2030
+ <metrics statements="534" coveredstatements="285" conditionals="288" coveredconditionals="102" methods="78" coveredmethods="41"/>
2031
2031
  <file name="bulkFormula.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/table/bulkFormula.js">
2032
- <metrics statements="75" coveredstatements="52" conditionals="55" coveredconditionals="24" methods="16" coveredmethods="13"/>
2032
+ <metrics statements="75" coveredstatements="52" conditionals="57" coveredconditionals="24" methods="16" coveredmethods="13"/>
2033
2033
  <line num="1" count="40" type="stmt"/>
2034
2034
  <line num="2" count="40" type="stmt"/>
2035
2035
  <line num="3" count="40" type="stmt"/>
@@ -2043,7 +2043,7 @@
2043
2043
  <line num="23" count="271" type="stmt"/>
2044
2044
  <line num="25" count="1115" type="cond" truecount="1" falsecount="1"/>
2045
2045
  <line num="26" count="1115" type="stmt"/>
2046
- <line num="28" count="0" type="cond" truecount="0" falsecount="2"/>
2046
+ <line num="28" count="0" type="cond" truecount="0" falsecount="4"/>
2047
2047
  <line num="29" count="0" type="stmt"/>
2048
2048
  <line num="31" count="0" type="stmt"/>
2049
2049
  <line num="33" count="271" type="stmt"/>
@@ -3169,9 +3169,9 @@
3169
3169
  </file>
3170
3170
  </package>
3171
3171
  <package name="automations">
3172
- <metrics statements="215" coveredstatements="181" conditionals="96" coveredconditionals="77" methods="27" coveredmethods="22"/>
3172
+ <metrics statements="224" coveredstatements="184" conditionals="96" coveredconditionals="77" methods="28" coveredmethods="22"/>
3173
3173
  <file name="actions.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/actions.js">
3174
- <metrics statements="23" coveredstatements="23" conditionals="2" coveredconditionals="1" methods="0" coveredmethods="0"/>
3174
+ <metrics statements="24" coveredstatements="24" conditionals="2" coveredconditionals="1" methods="0" coveredmethods="0"/>
3175
3175
  <line num="1" count="40" type="stmt"/>
3176
3176
  <line num="2" count="40" type="stmt"/>
3177
3177
  <line num="3" count="40" type="stmt"/>
@@ -3188,47 +3188,56 @@
3188
3188
  <line num="14" count="40" type="stmt"/>
3189
3189
  <line num="15" count="40" type="stmt"/>
3190
3190
  <line num="16" count="40" type="stmt"/>
3191
- <line num="18" count="40" type="stmt"/>
3192
- <line num="36" count="40" type="stmt"/>
3193
- <line num="58" count="40" type="cond" truecount="1" falsecount="1"/>
3194
- <line num="59" count="40" type="stmt"/>
3195
- <line num="60" count="40" type="stmt"/>
3196
- <line num="61" count="40" type="stmt"/>
3197
- <line num="71" count="40" type="stmt"/>
3191
+ <line num="17" count="40" type="stmt"/>
3192
+ <line num="19" count="40" type="stmt"/>
3193
+ <line num="38" count="40" type="stmt"/>
3194
+ <line num="61" count="40" type="cond" truecount="1" falsecount="1"/>
3195
+ <line num="62" count="40" type="stmt"/>
3196
+ <line num="63" count="40" type="stmt"/>
3197
+ <line num="64" count="40" type="stmt"/>
3198
+ <line num="74" count="40" type="stmt"/>
3198
3199
  </file>
3199
3200
  <file name="automationUtils.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/automationUtils.js">
3200
- <metrics statements="31" coveredstatements="29" conditionals="25" coveredconditionals="21" methods="3" coveredmethods="3"/>
3201
+ <metrics statements="39" coveredstatements="31" conditionals="25" coveredconditionals="21" methods="4" coveredmethods="3"/>
3201
3202
  <line num="1" count="40" type="stmt"/>
3202
- <line num="19" count="40" type="stmt"/>
3203
- <line num="20" count="15" type="cond" truecount="2" falsecount="0"/>
3204
- <line num="21" count="1" type="stmt"/>
3205
- <line num="23" count="14" type="stmt"/>
3206
- <line num="24" count="36" type="stmt"/>
3207
- <line num="25" count="36" type="cond" truecount="2" falsecount="0"/>
3208
- <line num="26" count="6" type="stmt"/>
3209
- <line num="28" count="30" type="stmt"/>
3210
- <line num="29" count="30" type="cond" truecount="2" falsecount="0"/>
3211
- <line num="30" count="12" type="stmt"/>
3212
- <line num="32" count="18" type="cond" truecount="2" falsecount="0"/>
3213
- <line num="33" count="2" type="stmt"/>
3214
- <line num="34" count="2" type="cond" truecount="2" falsecount="0"/>
3215
- <line num="35" count="1" type="stmt"/>
3216
- <line num="37" count="2" type="cond" truecount="2" falsecount="0"/>
3217
- <line num="38" count="1" type="stmt"/>
3218
- <line num="41" count="18" type="cond" truecount="2" falsecount="0"/>
3219
- <line num="42" count="1" type="stmt"/>
3220
- <line num="43" count="1" type="cond" truecount="1" falsecount="1"/>
3221
- <line num="44" count="1" type="stmt"/>
3222
- <line num="48" count="14" type="stmt"/>
3223
- <line num="60" count="40" type="stmt"/>
3224
- <line num="61" count="9" type="stmt"/>
3225
- <line num="62" count="8" type="stmt"/>
3226
- <line num="65" count="40" type="stmt"/>
3227
- <line num="66" count="3" type="cond" truecount="1" falsecount="1"/>
3228
- <line num="67" count="0" type="stmt"/>
3229
- <line num="69" count="3" type="cond" truecount="1" falsecount="1"/>
3230
- <line num="73" count="0" type="stmt"/>
3231
- <line num="75" count="3" type="cond" truecount="1" falsecount="1"/>
3203
+ <line num="2" count="40" type="stmt"/>
3204
+ <line num="20" count="40" type="stmt"/>
3205
+ <line num="21" count="15" type="cond" truecount="2" falsecount="0"/>
3206
+ <line num="22" count="1" type="stmt"/>
3207
+ <line num="24" count="14" type="stmt"/>
3208
+ <line num="25" count="36" type="stmt"/>
3209
+ <line num="26" count="36" type="cond" truecount="2" falsecount="0"/>
3210
+ <line num="27" count="6" type="stmt"/>
3211
+ <line num="29" count="30" type="stmt"/>
3212
+ <line num="30" count="30" type="cond" truecount="2" falsecount="0"/>
3213
+ <line num="31" count="12" type="stmt"/>
3214
+ <line num="33" count="18" type="cond" truecount="2" falsecount="0"/>
3215
+ <line num="34" count="2" type="stmt"/>
3216
+ <line num="35" count="2" type="cond" truecount="2" falsecount="0"/>
3217
+ <line num="36" count="1" type="stmt"/>
3218
+ <line num="38" count="2" type="cond" truecount="2" falsecount="0"/>
3219
+ <line num="39" count="1" type="stmt"/>
3220
+ <line num="42" count="18" type="cond" truecount="2" falsecount="0"/>
3221
+ <line num="43" count="1" type="stmt"/>
3222
+ <line num="44" count="1" type="cond" truecount="1" falsecount="1"/>
3223
+ <line num="45" count="1" type="stmt"/>
3224
+ <line num="49" count="14" type="stmt"/>
3225
+ <line num="61" count="40" type="stmt"/>
3226
+ <line num="62" count="9" type="stmt"/>
3227
+ <line num="63" count="8" type="stmt"/>
3228
+ <line num="66" count="40" type="stmt"/>
3229
+ <line num="67" count="3" type="cond" truecount="1" falsecount="1"/>
3230
+ <line num="68" count="0" type="stmt"/>
3231
+ <line num="70" count="3" type="cond" truecount="1" falsecount="1"/>
3232
+ <line num="74" count="0" type="stmt"/>
3233
+ <line num="76" count="3" type="cond" truecount="1" falsecount="1"/>
3234
+ <line num="79" count="40" type="stmt"/>
3235
+ <line num="80" count="0" type="stmt"/>
3236
+ <line num="81" count="0" type="stmt"/>
3237
+ <line num="82" count="0" type="stmt"/>
3238
+ <line num="83" count="0" type="stmt"/>
3239
+ <line num="84" count="0" type="stmt"/>
3240
+ <line num="87" count="0" type="stmt"/>
3232
3241
  </file>
3233
3242
  <file name="bullboard.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/bullboard.js">
3234
3243
  <metrics statements="28" coveredstatements="15" conditionals="6" coveredconditionals="3" methods="3" coveredmethods="0"/>
@@ -3354,7 +3363,7 @@
3354
3363
  <line num="51" count="39" type="stmt"/>
3355
3364
  <line num="52" count="78" type="stmt"/>
3356
3365
  <line num="53" count="78" type="stmt"/>
3357
- <line num="54" count="858" type="cond" truecount="2" falsecount="0"/>
3366
+ <line num="54" count="897" type="cond" truecount="2" falsecount="0"/>
3358
3367
  <line num="55" count="39" type="stmt"/>
3359
3368
  <line num="58" count="78" type="stmt"/>
3360
3369
  <line num="62" count="39" type="stmt"/>
@@ -3405,7 +3414,7 @@
3405
3414
  </file>
3406
3415
  </package>
3407
3416
  <package name="automations.steps">
3408
- <metrics statements="239" coveredstatements="176" conditionals="86" coveredconditionals="60" methods="20" coveredmethods="11"/>
3417
+ <metrics statements="240" coveredstatements="177" conditionals="86" coveredconditionals="60" methods="20" coveredmethods="11"/>
3409
3418
  <file name="bash.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/steps/bash.js">
3410
3419
  <metrics statements="16" coveredstatements="5" conditionals="2" coveredconditionals="0" methods="1" coveredmethods="0"/>
3411
3420
  <line num="1" count="40" type="stmt"/>
@@ -3558,6 +3567,10 @@
3558
3567
  <line num="81" count="0" type="stmt"/>
3559
3568
  <line num="82" count="0" type="stmt"/>
3560
3569
  </file>
3570
+ <file name="loop.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/steps/loop.js">
3571
+ <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
3572
+ <line num="1" count="40" type="stmt"/>
3573
+ </file>
3561
3574
  <file name="outgoingWebhook.js" path="/home/runner/work/budibase/budibase/packages/server/src/automations/steps/outgoingWebhook.js">
3562
3575
  <metrics statements="25" coveredstatements="21" conditionals="17" coveredconditionals="12" methods="1" coveredmethods="1"/>
3563
3576
  <line num="1" count="40" type="stmt"/>
@@ -3735,9 +3748,9 @@
3735
3748
  </file>
3736
3749
  </package>
3737
3750
  <package name="constants">
3738
- <metrics statements="33" coveredstatements="33" conditionals="2" coveredconditionals="1" methods="2" coveredmethods="2"/>
3751
+ <metrics statements="34" coveredstatements="34" conditionals="2" coveredconditionals="1" methods="2" coveredmethods="2"/>
3739
3752
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/constants/index.js">
3740
- <metrics statements="26" coveredstatements="26" conditionals="2" coveredconditionals="1" methods="1" coveredmethods="1"/>
3753
+ <metrics statements="27" coveredstatements="27" conditionals="2" coveredconditionals="1" methods="1" coveredmethods="1"/>
3741
3754
  <line num="1" count="48" type="stmt"/>
3742
3755
  <line num="2" count="48" type="stmt"/>
3743
3756
  <line num="3" count="48" type="stmt"/>
@@ -3763,7 +3776,8 @@
3763
3776
  <line num="178" count="48" type="stmt"/>
3764
3777
  <line num="184" count="48" type="stmt"/>
3765
3778
  <line num="189" count="48" type="stmt"/>
3766
- <line num="194" count="48" type="stmt"/>
3779
+ <line num="193" count="48" type="stmt"/>
3780
+ <line num="200" count="48" type="stmt"/>
3767
3781
  </file>
3768
3782
  <file name="layouts.js" path="/home/runner/work/budibase/budibase/packages/server/src/constants/layouts.js">
3769
3783
  <metrics statements="4" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
@@ -4319,7 +4333,7 @@
4319
4333
  </file>
4320
4334
  </package>
4321
4335
  <package name="middleware">
4322
- <metrics statements="285" coveredstatements="234" conditionals="203" coveredconditionals="143" methods="38" coveredmethods="33"/>
4336
+ <metrics statements="292" coveredstatements="238" conditionals="215" coveredconditionals="154" methods="38" coveredmethods="33"/>
4323
4337
  <file name="appInfo.js" path="/home/runner/work/budibase/budibase/packages/server/src/middleware/appInfo.js">
4324
4338
  <metrics statements="10" coveredstatements="8" conditionals="11" coveredconditionals="6" methods="2" coveredmethods="2"/>
4325
4339
  <line num="1" count="24" type="stmt"/>
@@ -4425,7 +4439,7 @@
4425
4439
  <line num="77" count="1" type="stmt"/>
4426
4440
  </file>
4427
4441
  <file name="currentapp.js" path="/home/runner/work/budibase/budibase/packages/server/src/middleware/currentapp.js">
4428
- <metrics statements="56" coveredstatements="46" conditionals="43" coveredconditionals="33" methods="2" coveredmethods="2"/>
4442
+ <metrics statements="63" coveredstatements="50" conditionals="55" coveredconditionals="44" methods="2" coveredmethods="2"/>
4429
4443
  <line num="6" count="29" type="stmt"/>
4430
4444
  <line num="7" count="29" type="stmt"/>
4431
4445
  <line num="8" count="29" type="stmt"/>
@@ -4463,25 +4477,32 @@
4463
4477
  <line num="62" count="185" type="stmt"/>
4464
4478
  <line num="63" count="185" type="stmt"/>
4465
4479
  <line num="65" count="185" type="cond" truecount="2" falsecount="0"/>
4466
- <line num="69" count="190" type="cond" truecount="1" falsecount="1"/>
4467
- <line num="70" count="0" type="stmt"/>
4468
- <line num="73" count="190" type="stmt"/>
4469
- <line num="74" count="190" type="stmt"/>
4470
- <line num="77" count="190" type="cond" truecount="1" falsecount="1"/>
4471
- <line num="84" count="0" type="stmt"/>
4480
+ <line num="69" count="185" type="cond" truecount="3" falsecount="0"/>
4481
+ <line num="70" count="185" type="cond" truecount="2" falsecount="0"/>
4482
+ <line num="71" count="185" type="cond" truecount="2" falsecount="0"/>
4483
+ <line num="72" count="185" type="cond" truecount="4" falsecount="1"/>
4484
+ <line num="74" count="0" type="stmt"/>
4485
+ <line num="75" count="0" type="stmt"/>
4486
+ <line num="76" count="0" type="stmt"/>
4487
+ <line num="84" count="190" type="cond" truecount="1" falsecount="1"/>
4472
4488
  <line num="85" count="0" type="stmt"/>
4473
- <line num="86" count="0" type="stmt"/>
4474
- <line num="87" count="0" type="stmt"/>
4475
- <line num="88" count="0" type="stmt"/>
4476
- <line num="89" count="0" type="stmt"/>
4477
- <line num="92" count="190" type="stmt"/>
4478
- <line num="93" count="190" type="cond" truecount="1" falsecount="1"/>
4479
- <line num="94" count="190" type="stmt"/>
4480
- <line num="95" count="190" type="cond" truecount="2" falsecount="0"/>
4481
- <line num="96" count="190" type="stmt"/>
4482
- <line num="105" count="190" type="cond" truecount="2" falsecount="0"/>
4483
- <line num="111" count="7" type="stmt"/>
4484
- <line num="114" count="190" type="stmt"/>
4489
+ <line num="88" count="190" type="stmt"/>
4490
+ <line num="89" count="190" type="stmt"/>
4491
+ <line num="92" count="190" type="cond" truecount="1" falsecount="1"/>
4492
+ <line num="99" count="0" type="stmt"/>
4493
+ <line num="100" count="0" type="stmt"/>
4494
+ <line num="101" count="0" type="stmt"/>
4495
+ <line num="102" count="0" type="stmt"/>
4496
+ <line num="103" count="0" type="stmt"/>
4497
+ <line num="104" count="0" type="stmt"/>
4498
+ <line num="107" count="190" type="stmt"/>
4499
+ <line num="108" count="190" type="cond" truecount="1" falsecount="1"/>
4500
+ <line num="109" count="190" type="stmt"/>
4501
+ <line num="110" count="190" type="cond" truecount="2" falsecount="0"/>
4502
+ <line num="111" count="190" type="stmt"/>
4503
+ <line num="120" count="190" type="cond" truecount="2" falsecount="0"/>
4504
+ <line num="126" count="7" type="stmt"/>
4505
+ <line num="129" count="190" type="stmt"/>
4485
4506
  </file>
4486
4507
  <file name="joi-validator.js" path="/home/runner/work/budibase/budibase/packages/server/src/middleware/joi-validator.js">
4487
4508
  <metrics statements="17" coveredstatements="14" conditionals="8" coveredconditionals="5" methods="4" coveredmethods="4"/>
@@ -4637,9 +4658,9 @@
4637
4658
  </file>
4638
4659
  </package>
4639
4660
  <package name="threads">
4640
- <metrics statements="283" coveredstatements="217" conditionals="119" coveredconditionals="73" methods="41" coveredmethods="37"/>
4661
+ <metrics statements="342" coveredstatements="234" conditionals="157" coveredconditionals="83" methods="42" coveredmethods="37"/>
4641
4662
  <file name="automation.js" path="/home/runner/work/budibase/budibase/packages/server/src/threads/automation.js">
4642
- <metrics statements="73" coveredstatements="62" conditionals="19" coveredconditionals="11" methods="11" coveredmethods="10"/>
4663
+ <metrics statements="132" coveredstatements="79" conditionals="57" coveredconditionals="21" methods="12" coveredmethods="10"/>
4643
4664
  <line num="1" count="4" type="stmt"/>
4644
4665
  <line num="2" count="4" type="stmt"/>
4645
4666
  <line num="3" count="4" type="stmt"/>
@@ -4650,69 +4671,128 @@
4650
4671
  <line num="8" count="4" type="stmt"/>
4651
4672
  <line num="9" count="4" type="stmt"/>
4652
4673
  <line num="10" count="4" type="stmt"/>
4674
+ <line num="11" count="4" type="stmt"/>
4653
4675
  <line num="12" count="4" type="stmt"/>
4654
4676
  <line num="13" count="4" type="stmt"/>
4655
- <line num="14" count="4" type="stmt"/>
4656
- <line num="23" count="7" type="stmt"/>
4657
- <line num="24" count="7" type="cond" truecount="2" falsecount="0"/>
4658
- <line num="25" count="7" type="stmt"/>
4659
- <line num="26" count="7" type="stmt"/>
4677
+ <line num="15" count="4" type="stmt"/>
4678
+ <line num="16" count="4" type="stmt"/>
4679
+ <line num="17" count="4" type="stmt"/>
4680
+ <line num="18" count="4" type="stmt"/>
4660
4681
  <line num="27" count="7" type="stmt"/>
4661
- <line num="28" count="7" type="stmt"/>
4682
+ <line num="28" count="7" type="cond" truecount="2" falsecount="0"/>
4683
+ <line num="29" count="7" type="stmt"/>
4662
4684
  <line num="30" count="7" type="stmt"/>
4663
4685
  <line num="31" count="7" type="stmt"/>
4664
- <line num="33" count="7" type="stmt"/>
4686
+ <line num="32" count="7" type="stmt"/>
4665
4687
  <line num="34" count="7" type="stmt"/>
4688
+ <line num="35" count="7" type="stmt"/>
4666
4689
  <line num="37" count="7" type="stmt"/>
4667
4690
  <line num="38" count="7" type="stmt"/>
4668
- <line num="40" count="7" type="stmt"/>
4669
4691
  <line num="41" count="7" type="stmt"/>
4670
- <line num="45" count="7" type="cond" truecount="1" falsecount="1"/>
4671
- <line num="46" count="0" type="stmt"/>
4672
- <line num="48" count="7" type="stmt"/>
4673
- <line num="52" count="5" type="stmt"/>
4674
- <line num="53" count="5" type="cond" truecount="1" falsecount="1"/>
4675
- <line num="54" count="0" type="stmt"/>
4692
+ <line num="42" count="7" type="stmt"/>
4693
+ <line num="44" count="7" type="stmt"/>
4694
+ <line num="45" count="7" type="stmt"/>
4695
+ <line num="49" count="7" type="cond" truecount="1" falsecount="1"/>
4696
+ <line num="50" count="0" type="stmt"/>
4697
+ <line num="52" count="7" type="stmt"/>
4676
4698
  <line num="56" count="5" type="stmt"/>
4677
- <line num="60" count="7" type="cond" truecount="1" falsecount="1"/>
4678
- <line num="61" count="0" type="stmt"/>
4679
- <line num="63" count="7" type="stmt"/>
4680
- <line num="64" count="7" type="stmt"/>
4681
- <line num="65" count="6" type="stmt"/>
4682
- <line num="69" count="12" type="stmt"/>
4683
- <line num="71" count="12" type="cond" truecount="2" falsecount="0"/>
4684
- <line num="72" count="7" type="stmt"/>
4685
- <line num="74" count="12" type="stmt"/>
4686
- <line num="78" count="7" type="stmt"/>
4687
- <line num="79" count="7" type="stmt"/>
4688
- <line num="80" count="6" type="stmt"/>
4689
- <line num="81" count="6" type="stmt"/>
4690
- <line num="83" count="5" type="cond" truecount="1" falsecount="1"/>
4691
- <line num="84" count="0" type="stmt"/>
4692
- <line num="85" count="0" type="stmt"/>
4693
- <line num="87" count="5" type="stmt"/>
4694
- <line num="88" count="5" type="stmt"/>
4695
- <line num="89" count="5" type="stmt"/>
4696
- <line num="94" count="5" type="stmt"/>
4697
- <line num="95" count="5" type="cond" truecount="1" falsecount="1"/>
4698
- <line num="96" count="5" type="stmt"/>
4699
- <line num="97" count="5" type="stmt"/>
4700
- <line num="104" count="5" type="stmt"/>
4701
- <line num="107" count="5" type="cond" truecount="2" falsecount="2"/>
4702
- <line num="108" count="0" type="stmt"/>
4703
- <line num="109" count="0" type="stmt"/>
4699
+ <line num="57" count="5" type="cond" truecount="1" falsecount="1"/>
4700
+ <line num="58" count="0" type="stmt"/>
4701
+ <line num="60" count="5" type="stmt"/>
4702
+ <line num="64" count="7" type="cond" truecount="1" falsecount="1"/>
4703
+ <line num="65" count="0" type="stmt"/>
4704
+ <line num="67" count="7" type="stmt"/>
4705
+ <line num="68" count="7" type="stmt"/>
4706
+ <line num="69" count="6" type="stmt"/>
4707
+ <line num="73" count="12" type="stmt"/>
4708
+ <line num="75" count="12" type="cond" truecount="2" falsecount="0"/>
4709
+ <line num="76" count="7" type="stmt"/>
4710
+ <line num="78" count="12" type="stmt"/>
4711
+ <line num="82" count="0" type="stmt"/>
4712
+ <line num="92" count="0" type="stmt"/>
4713
+ <line num="100" count="7" type="stmt"/>
4714
+ <line num="101" count="7" type="stmt"/>
4715
+ <line num="102" count="6" type="stmt"/>
4716
+ <line num="105" count="6" type="stmt"/>
4717
+ <line num="107" count="6" type="stmt"/>
4718
+ <line num="108" count="6" type="stmt"/>
4719
+ <line num="109" count="5" type="stmt"/>
4720
+ <line num="111" count="5" type="cond" truecount="1" falsecount="1"/>
4721
+ <line num="112" count="0" type="stmt"/>
4704
4722
  <line num="113" count="0" type="stmt"/>
4705
- <line num="115" count="5" type="stmt"/>
4706
- <line num="117" count="0" type="stmt"/>
4723
+ <line num="114" count="0" type="stmt"/>
4724
+ <line num="117" count="5" type="cond" truecount="1" falsecount="1"/>
4707
4725
  <line num="118" count="0" type="stmt"/>
4708
- <line num="121" count="6" type="stmt"/>
4709
- <line num="125" count="4" type="stmt"/>
4710
- <line num="126" count="7" type="stmt"/>
4711
- <line num="127" count="7" type="stmt"/>
4712
- <line num="128" count="7" type="stmt"/>
4713
- <line num="132" count="7" type="stmt"/>
4714
- <line num="135" count="6" type="stmt"/>
4715
- <line num="138" count="0" type="stmt"/>
4726
+ <line num="120" count="5" type="cond" truecount="1" falsecount="1"/>
4727
+ <line num="121" count="5" type="stmt"/>
4728
+ <line num="122" count="5" type="stmt"/>
4729
+ <line num="123" count="5" type="stmt"/>
4730
+ <line num="126" count="5" type="cond" truecount="1" falsecount="1"/>
4731
+ <line num="129" count="0" type="stmt"/>
4732
+ <line num="133" count="0" type="stmt"/>
4733
+ <line num="137" count="0" type="stmt"/>
4734
+ <line num="141" count="0" type="stmt"/>
4735
+ <line num="142" count="0" type="cond" truecount="0" falsecount="2"/>
4736
+ <line num="148" count="0" type="stmt"/>
4737
+ <line num="152" count="0" type="stmt"/>
4738
+ <line num="153" count="0" type="stmt"/>
4739
+ <line num="154" count="0" type="stmt"/>
4740
+ <line num="159" count="0" type="stmt"/>
4741
+ <line num="160" count="0" type="cond" truecount="0" falsecount="2"/>
4742
+ <line num="161" count="0" type="stmt"/>
4743
+ <line num="164" count="0" type="cond" truecount="0" falsecount="2"/>
4744
+ <line num="165" count="0" type="stmt"/>
4745
+ <line num="173" count="0" type="cond" truecount="0" falsecount="2"/>
4746
+ <line num="174" count="0" type="stmt"/>
4747
+ <line num="182" count="0" type="cond" truecount="0" falsecount="2"/>
4748
+ <line num="186" count="0" type="stmt"/>
4749
+ <line num="190" count="0" type="stmt"/>
4750
+ <line num="191" count="0" type="stmt"/>
4751
+ <line num="192" count="0" type="stmt"/>
4752
+ <line num="195" count="0" type="cond" truecount="0" falsecount="2"/>
4753
+ <line num="199" count="0" type="stmt"/>
4754
+ <line num="203" count="0" type="stmt"/>
4755
+ <line num="204" count="0" type="stmt"/>
4756
+ <line num="205" count="0" type="stmt"/>
4757
+ <line num="210" count="5" type="cond" truecount="1" falsecount="1"/>
4758
+ <line num="211" count="0" type="stmt"/>
4759
+ <line num="212" count="0" type="stmt"/>
4760
+ <line num="216" count="5" type="stmt"/>
4761
+ <line num="217" count="5" type="stmt"/>
4762
+ <line num="218" count="5" type="stmt"/>
4763
+ <line num="219" count="5" type="stmt"/>
4764
+ <line num="221" count="5" type="cond" truecount="1" falsecount="1"/>
4765
+ <line num="222" count="5" type="stmt"/>
4766
+ <line num="223" count="5" type="stmt"/>
4767
+ <line num="230" count="5" type="stmt"/>
4768
+ <line num="233" count="5" type="cond" truecount="2" falsecount="2"/>
4769
+ <line num="234" count="0" type="stmt"/>
4770
+ <line num="235" count="0" type="stmt"/>
4771
+ <line num="239" count="0" type="stmt"/>
4772
+ <line num="241" count="5" type="cond" truecount="2" falsecount="2"/>
4773
+ <line num="242" count="0" type="stmt"/>
4774
+ <line num="244" count="5" type="stmt"/>
4775
+ <line num="252" count="0" type="stmt"/>
4776
+ <line num="253" count="0" type="stmt"/>
4777
+ <line num="255" count="5" type="cond" truecount="1" falsecount="1"/>
4778
+ <line num="256" count="0" type="stmt"/>
4779
+ <line num="257" count="0" type="cond" truecount="0" falsecount="2"/>
4780
+ <line num="258" count="0" type="stmt"/>
4781
+ <line num="259" count="0" type="stmt"/>
4782
+ <line num="260" count="0" type="stmt"/>
4783
+ <line num="265" count="5" type="cond" truecount="3" falsecount="1"/>
4784
+ <line num="266" count="0" type="stmt"/>
4785
+ <line num="271" count="0" type="stmt"/>
4786
+ <line num="278" count="0" type="stmt"/>
4787
+ <line num="279" count="0" type="stmt"/>
4788
+ <line num="283" count="6" type="stmt"/>
4789
+ <line num="287" count="4" type="stmt"/>
4790
+ <line num="288" count="7" type="stmt"/>
4791
+ <line num="289" count="7" type="stmt"/>
4792
+ <line num="290" count="7" type="stmt"/>
4793
+ <line num="294" count="7" type="stmt"/>
4794
+ <line num="297" count="6" type="stmt"/>
4795
+ <line num="300" count="0" type="stmt"/>
4716
4796
  </file>
4717
4797
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/threads/index.js">
4718
4798
  <metrics statements="29" coveredstatements="23" conditionals="18" coveredconditionals="10" methods="5" coveredmethods="5"/>