@budibase/server 1.0.115 → 1.0.116

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 (231) hide show
  1. package/builder/assets/{index.dae9f8cf.js → index.28d8c64f.js} +1 -1
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +1113 -1125
  4. package/coverage/coverage-final.json +85 -86
  5. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/application.js.html +126 -120
  8. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/automation.js.html +21 -21
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +16 -16
  14. package/coverage/lcov-report/api/controllers/dev.js.html +23 -14
  15. package/coverage/lcov-report/api/controllers/index.html +17 -17
  16. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/layout.js.html +6 -6
  18. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +15 -15
  21. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query/index.js.html +19 -19
  23. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  25. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/external.js.html +19 -19
  27. package/coverage/lcov-report/api/controllers/row/index.html +10 -10
  28. package/coverage/lcov-report/api/controllers/row/index.js.html +14 -14
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +37 -34
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +9 -9
  31. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +10 -10
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +12 -12
  33. package/coverage/lcov-report/api/controllers/screen.js.html +7 -7
  34. package/coverage/lcov-report/api/controllers/script.js.html +4 -4
  35. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +9 -9
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +12 -12
  37. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +14 -14
  39. package/coverage/lcov-report/api/controllers/table/internal.js.html +13 -13
  40. package/coverage/lcov-report/api/controllers/table/utils.js.html +30 -30
  41. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/user.js.html +19 -19
  43. package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
  44. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +14 -14
  46. package/coverage/lcov-report/api/controllers/view/utils.js.html +12 -12
  47. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
  48. package/coverage/lcov-report/api/controllers/webhook.js.html +17 -17
  49. package/coverage/lcov-report/api/index.html +1 -1
  50. package/coverage/lcov-report/api/index.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/index.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  80. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  81. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  83. package/coverage/lcov-report/automations/actions.js.html +24 -24
  84. package/coverage/lcov-report/automations/automationUtils.js.html +5 -5
  85. package/coverage/lcov-report/automations/bullboard.js.html +16 -16
  86. package/coverage/lcov-report/automations/index.html +5 -5
  87. package/coverage/lcov-report/automations/index.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/bash.js.html +7 -7
  89. package/coverage/lcov-report/automations/steps/createRow.js.html +7 -7
  90. package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
  91. package/coverage/lcov-report/automations/steps/deleteRow.js.html +7 -7
  92. package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
  93. package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
  94. package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
  95. package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
  96. package/coverage/lcov-report/automations/steps/index.html +1 -1
  97. package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
  98. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
  99. package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
  100. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
  101. package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
  102. package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
  103. package/coverage/lcov-report/automations/steps/updateRow.js.html +6 -6
  104. package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
  105. package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
  106. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  107. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  108. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  110. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  111. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  112. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  113. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  114. package/coverage/lcov-report/automations/triggers.js.html +18 -18
  115. package/coverage/lcov-report/automations/utils.js.html +43 -40
  116. package/coverage/lcov-report/constants/index.html +1 -1
  117. package/coverage/lcov-report/constants/index.js.html +27 -27
  118. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  119. package/coverage/lcov-report/constants/screens.js.html +4 -4
  120. package/coverage/lcov-report/db/inMemoryView.js.html +52 -49
  121. package/coverage/lcov-report/db/index.html +21 -36
  122. package/coverage/lcov-report/db/index.js.html +49 -10
  123. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +7 -7
  124. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/index.js.html +18 -18
  126. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +13 -13
  127. package/coverage/lcov-report/db/newid.js.html +2 -2
  128. package/coverage/lcov-report/db/utils.js.html +13 -13
  129. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  130. package/coverage/lcov-report/events/index.html +1 -1
  131. package/coverage/lcov-report/events/index.js.html +5 -5
  132. package/coverage/lcov-report/events/utils.js.html +3 -3
  133. package/coverage/lcov-report/index.html +46 -46
  134. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  135. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  136. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  137. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  138. package/coverage/lcov-report/middleware/builder.js.html +15 -12
  139. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  140. package/coverage/lcov-report/middleware/index.html +4 -4
  141. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  142. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  143. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  144. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  145. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  146. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  147. package/coverage/lcov-report/threads/automation.js.html +1 -1
  148. package/coverage/lcov-report/threads/index.html +10 -10
  149. package/coverage/lcov-report/threads/index.js.html +10 -10
  150. package/coverage/lcov-report/threads/query.js.html +1 -1
  151. package/coverage/lcov-report/threads/utils.js.html +19 -22
  152. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  153. package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
  154. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  155. package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
  156. package/coverage/lcov-report/utilities/global.js.html +15 -15
  157. package/coverage/lcov-report/utilities/index.html +1 -1
  158. package/coverage/lcov-report/utilities/index.js.html +26 -26
  159. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +8 -8
  160. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  161. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  162. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  163. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  164. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +18 -18
  165. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +4 -4
  166. package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
  167. package/coverage/lcov-report/utilities/security.js.html +8 -8
  168. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  169. package/coverage/lcov-report/utilities/usageQuota/index.html +13 -13
  170. package/coverage/lcov-report/utilities/usageQuota/index.js.html +8 -8
  171. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +38 -26
  172. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  173. package/coverage/lcov-report/utilities/users.js.html +5 -5
  174. package/coverage/lcov-report/utilities/workerRequests.js.html +28 -28
  175. package/coverage/lcov.info +1392 -1404
  176. package/dist/api/controllers/application.js +4 -1
  177. package/dist/api/controllers/deploy/index.js +5 -1
  178. package/dist/api/controllers/dev.js +9 -5
  179. package/dist/api/controllers/row/internal.js +2 -1
  180. package/dist/api/controllers/webhook.js +2 -2
  181. package/dist/api/routes/tests/utilities/TestFunctions.js +1 -4
  182. package/dist/app.js +5 -2
  183. package/dist/automations/utils.js +6 -5
  184. package/dist/db/inMemoryView.js +33 -31
  185. package/dist/db/index.js +13 -2
  186. package/dist/integrations/couchdb.js +19 -25
  187. package/dist/middleware/builder.js +10 -9
  188. package/dist/migrations/index.js +1 -5
  189. package/dist/package.json +5 -5
  190. package/dist/tests/utilities/TestConfiguration.js +66 -59
  191. package/dist/threads/utils.js +2 -3
  192. package/dist/tsconfig.tsbuildinfo +1 -1
  193. package/dist/utilities/fileSystem/index.js +27 -26
  194. package/dist/utilities/usageQuota/rows.js +16 -16
  195. package/package.json +6 -6
  196. package/scripts/exportAppTemplate.js +10 -8
  197. package/src/api/controllers/application.js +3 -1
  198. package/src/api/controllers/deploy/index.js +4 -4
  199. package/src/api/controllers/dev.js +9 -6
  200. package/src/api/controllers/query/import/tests/index.spec.js +7 -11
  201. package/src/api/controllers/row/internal.js +2 -1
  202. package/src/api/controllers/webhook.js +2 -2
  203. package/src/api/routes/tests/row.spec.js +15 -11
  204. package/src/api/routes/tests/table.spec.js +3 -2
  205. package/src/api/routes/tests/utilities/TestFunctions.js +1 -5
  206. package/src/app.ts +2 -2
  207. package/src/automations/tests/deleteRow.spec.js +1 -1
  208. package/src/automations/utils.js +6 -5
  209. package/src/db/inMemoryView.js +37 -36
  210. package/src/db/index.js +15 -2
  211. package/src/db/tests/linkTests.spec.js +8 -7
  212. package/src/integrations/couchdb.ts +28 -24
  213. package/src/integrations/tests/airtable.spec.js +3 -1
  214. package/src/integrations/tests/couchdb.spec.js +4 -1
  215. package/src/middleware/builder.js +10 -9
  216. package/src/middleware/tests/authorized.spec.js +0 -1
  217. package/src/middleware/tests/usageQuota.spec.js +6 -20
  218. package/src/migrations/functions/tests/appUrls.spec.js +8 -11
  219. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +13 -10
  220. package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +25 -21
  221. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +26 -24
  222. package/src/migrations/index.ts +1 -2
  223. package/src/module.d.ts +8 -0
  224. package/src/tests/utilities/TestConfiguration.js +62 -55
  225. package/src/threads/utils.js +2 -3
  226. package/src/utilities/fileSystem/index.js +30 -30
  227. package/src/utilities/usageQuota/rows.js +22 -18
  228. package/coverage/lcov-report/db/client.js.html +0 -173
  229. package/dist/db/client.js +0 -25
  230. package/scripts/replicateApp.js +0 -50
  231. package/src/db/client.js +0 -31
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">73.96% </span>
26
+ <span class="strong">73.84% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>3788/5121</span>
28
+ <span class='fraction'>3774/5111</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">54.51% </span>
33
+ <span class="strong">54.47% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>1129/2071</span>
35
+ <span class='fraction'>1127/2069</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">71.68% </span>
40
+ <span class="strong">71.7% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>524/731</span>
42
+ <span class='fraction'>527/735</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">74.26% </span>
47
+ <span class="strong">74.11% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>3739/5035</span>
49
+ <span class='fraction'>3725/5026</span>
50
50
  </div>
51
51
 
52
52
 
@@ -89,17 +89,17 @@
89
89
 
90
90
  <tr>
91
91
  <td class="file medium" data-value="api/controllers"><a href="api/controllers/index.html">api/controllers</a></td>
92
- <td data-value="70.84" class="pic medium">
92
+ <td data-value="70.71" class="pic medium">
93
93
  <div class="chart"><div class="cover-fill" style="width: 70%"></div><div class="cover-empty" style="width: 30%"></div></div>
94
94
  </td>
95
- <td data-value="70.84" class="pct medium">70.84%</td>
96
- <td data-value="1125" class="abs medium">797/1125</td>
95
+ <td data-value="70.71" class="pct medium">70.71%</td>
96
+ <td data-value="1127" class="abs medium">797/1127</td>
97
97
  <td data-value="46.73" class="pct low">46.73%</td>
98
98
  <td data-value="368" class="abs low">172/368</td>
99
99
  <td data-value="69.23" class="pct medium">69.23%</td>
100
100
  <td data-value="156" class="abs medium">108/156</td>
101
- <td data-value="70.93" class="pct medium">70.93%</td>
102
- <td data-value="1108" class="abs medium">786/1108</td>
101
+ <td data-value="70.74" class="pct medium">70.74%</td>
102
+ <td data-value="1111" class="abs medium">786/1111</td>
103
103
  </tr>
104
104
 
105
105
  <tr>
@@ -119,17 +119,17 @@
119
119
 
120
120
  <tr>
121
121
  <td class="file medium" data-value="api/controllers/row"><a href="api/controllers/row/index.html">api/controllers/row</a></td>
122
- <td data-value="61.73" class="pic medium">
122
+ <td data-value="61.79" class="pic medium">
123
123
  <div class="chart"><div class="cover-fill" style="width: 61%"></div><div class="cover-empty" style="width: 39%"></div></div>
124
124
  </td>
125
- <td data-value="61.73" class="pct medium">61.73%</td>
126
- <td data-value="690" class="abs medium">426/690</td>
125
+ <td data-value="61.79" class="pct medium">61.79%</td>
126
+ <td data-value="691" class="abs medium">427/691</td>
127
127
  <td data-value="42.61" class="pct low">42.61%</td>
128
128
  <td data-value="298" class="abs low">127/298</td>
129
129
  <td data-value="58.16" class="pct medium">58.16%</td>
130
130
  <td data-value="98" class="abs medium">57/98</td>
131
- <td data-value="61.89" class="pct medium">61.89%</td>
132
- <td data-value="677" class="abs medium">419/677</td>
131
+ <td data-value="61.94" class="pct medium">61.94%</td>
132
+ <td data-value="678" class="abs medium">420/678</td>
133
133
  </tr>
134
134
 
135
135
  <tr>
@@ -201,8 +201,8 @@
201
201
  <td data-value="215" class="abs high">181/215</td>
202
202
  <td data-value="80.2" class="pct high">80.2%</td>
203
203
  <td data-value="96" class="abs high">77/96</td>
204
- <td data-value="81.48" class="pct high">81.48%</td>
205
- <td data-value="27" class="abs high">22/27</td>
204
+ <td data-value="78.57" class="pct medium">78.57%</td>
205
+ <td data-value="28" class="abs medium">22/28</td>
206
206
  <td data-value="84.18" class="pct high">84.18%</td>
207
207
  <td data-value="215" class="abs high">181/215</td>
208
208
  </tr>
@@ -253,18 +253,18 @@
253
253
  </tr>
254
254
 
255
255
  <tr>
256
- <td class="file high" data-value="db"><a href="db/index.html">db</a></td>
257
- <td data-value="81.87" class="pic high">
258
- <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
256
+ <td class="file medium" data-value="db"><a href="db/index.html">db</a></td>
257
+ <td data-value="79.19" class="pic medium">
258
+ <div class="chart"><div class="cover-fill" style="width: 79%"></div><div class="cover-empty" style="width: 21%"></div></div>
259
259
  </td>
260
- <td data-value="81.87" class="pct high">81.87%</td>
261
- <td data-value="160" class="abs high">131/160</td>
262
- <td data-value="34.92" class="pct low">34.92%</td>
263
- <td data-value="63" class="abs low">22/63</td>
264
- <td data-value="75.67" class="pct medium">75.67%</td>
265
- <td data-value="37" class="abs medium">28/37</td>
266
- <td data-value="82.91" class="pct high">82.91%</td>
267
- <td data-value="158" class="abs high">131/158</td>
260
+ <td data-value="79.19" class="pct medium">79.19%</td>
261
+ <td data-value="149" class="abs medium">118/149</td>
262
+ <td data-value="32.78" class="pct low">32.78%</td>
263
+ <td data-value="61" class="abs low">20/61</td>
264
+ <td data-value="76.31" class="pct medium">76.31%</td>
265
+ <td data-value="38" class="abs medium">29/38</td>
266
+ <td data-value="80.27" class="pct high">80.27%</td>
267
+ <td data-value="147" class="abs high">118/147</td>
268
268
  </tr>
269
269
 
270
270
  <tr>
@@ -321,25 +321,25 @@
321
321
  <td data-value="288" class="abs high">234/288</td>
322
322
  <td data-value="70.44" class="pct medium">70.44%</td>
323
323
  <td data-value="203" class="abs medium">143/203</td>
324
- <td data-value="86.84" class="pct high">86.84%</td>
325
- <td data-value="38" class="abs high">33/38</td>
324
+ <td data-value="87.17" class="pct high">87.17%</td>
325
+ <td data-value="39" class="abs high">34/39</td>
326
326
  <td data-value="82.1" class="pct high">82.1%</td>
327
327
  <td data-value="285" class="abs high">234/285</td>
328
328
  </tr>
329
329
 
330
330
  <tr>
331
331
  <td class="file high" data-value="threads"><a href="threads/index.html">threads</a></td>
332
- <td data-value="85.82" class="pic high">
332
+ <td data-value="85.77" class="pic high">
333
333
  <div class="chart"><div class="cover-fill" style="width: 85%"></div><div class="cover-empty" style="width: 15%"></div></div>
334
334
  </td>
335
- <td data-value="85.82" class="pct high">85.82%</td>
336
- <td data-value="247" class="abs high">212/247</td>
335
+ <td data-value="85.77" class="pct high">85.77%</td>
336
+ <td data-value="246" class="abs high">211/246</td>
337
337
  <td data-value="68.36" class="pct medium">68.36%</td>
338
338
  <td data-value="98" class="abs medium">67/98</td>
339
339
  <td data-value="92.1" class="pct high">92.1%</td>
340
340
  <td data-value="38" class="abs high">35/38</td>
341
- <td data-value="86.36" class="pct high">86.36%</td>
342
- <td data-value="242" class="abs high">209/242</td>
341
+ <td data-value="86.3" class="pct high">86.3%</td>
342
+ <td data-value="241" class="abs high">208/241</td>
343
343
  </tr>
344
344
 
345
345
  <tr>
@@ -404,17 +404,17 @@
404
404
 
405
405
  <tr>
406
406
  <td class="file high" data-value="utilities/usageQuota"><a href="utilities/usageQuota/index.html">utilities/usageQuota</a></td>
407
- <td data-value="84.21" class="pic high">
407
+ <td data-value="84" class="pic high">
408
408
  <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
409
409
  </td>
410
- <td data-value="84.21" class="pct high">84.21%</td>
411
- <td data-value="76" class="abs high">64/76</td>
410
+ <td data-value="84" class="pct high">84%</td>
411
+ <td data-value="75" class="abs high">63/75</td>
412
412
  <td data-value="70.37" class="pct medium">70.37%</td>
413
413
  <td data-value="27" class="abs medium">19/27</td>
414
- <td data-value="80" class="pct high">80%</td>
415
- <td data-value="10" class="abs high">8/10</td>
416
- <td data-value="84.21" class="pct high">84.21%</td>
417
- <td data-value="76" class="abs high">64/76</td>
414
+ <td data-value="81.81" class="pct high">81.81%</td>
415
+ <td data-value="11" class="abs high">9/11</td>
416
+ <td data-value="84" class="pct high">84%</td>
417
+ <td data-value="75" class="abs high">63/75</td>
418
418
  </tr>
419
419
 
420
420
  </tbody>
@@ -425,7 +425,7 @@
425
425
  <div class='footer quiet pad2 space-top1 center small'>
426
426
  Code coverage generated by
427
427
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
428
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
428
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
429
429
  </div>
430
430
  </div>
431
431
  <script src="prettify.js"></script>
@@ -64,7 +64,7 @@
64
64
  <div class='footer quiet pad2 space-top1 center small'>
65
65
  Code coverage generated by
66
66
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
67
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
67
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
68
68
  </div>
69
69
  </div>
70
70
  <script src="../../prettify.js"></script>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
98
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../prettify.js"></script>
@@ -121,7 +121,7 @@ exports.middleware =
121
121
  <div class='footer quiet pad2 space-top1 center small'>
122
122
  Code coverage generated by
123
123
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
124
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
124
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
125
125
  </div>
126
126
  </div>
127
127
  <script src="../prettify.js"></script>
@@ -442,7 +442,7 @@ module.exports =
442
442
  <div class='footer quiet pad2 space-top1 center small'>
443
443
  Code coverage generated by
444
444
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
445
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
445
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
446
446
  </div>
447
447
  </div>
448
448
  <script src="../prettify.js"></script>
@@ -39,7 +39,7 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>3/3</span>
42
+ <span class='fraction'>4/4</span>
43
43
  </div>
44
44
 
45
45
 
@@ -135,7 +135,8 @@
135
135
  <a name='L76'></a><a href='#L76'>76</a>
136
136
  <a name='L77'></a><a href='#L77'>77</a>
137
137
  <a name='L78'></a><a href='#L78'>78</a>
138
- <a name='L79'></a><a href='#L79'>79</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">25x</span>
138
+ <a name='L79'></a><a href='#L79'>79</a>
139
+ <a name='L80'></a><a href='#L80'>80</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">25x</span>
139
140
  <span class="cline-any cline-neutral">&nbsp;</span>
140
141
  <span class="cline-any cline-neutral">&nbsp;</span>
141
142
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -195,6 +196,7 @@
195
196
  <span class="cline-any cline-yes">1x</span>
196
197
  <span class="cline-any cline-neutral">&nbsp;</span>
197
198
  <span class="cline-any cline-neutral">&nbsp;</span>
199
+ <span class="cline-any cline-neutral">&nbsp;</span>
198
200
  <span class="cline-any cline-yes">25x</span>
199
201
  <span class="cline-any cline-yes">181x</span>
200
202
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -220,7 +222,7 @@ const {
220
222
  checkDebounce,
221
223
  setDebounce,
222
224
  } = require("../utilities/redis")
223
- const { getDB } = require("@budibase/backend-core/db")
225
+ const { doWithDB } = require("@budibase/backend-core/db")
224
226
  const { DocumentTypes } = require("../db/utils")
225
227
  const { PermissionTypes } = require("@budibase/backend-core/permissions")
226
228
  const { app: appCache } = require("@budibase/backend-core/cache")
@@ -263,14 +265,15 @@ async function updateAppUpdatedAt(ctx) {
263
265
  <span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.method === "GET" || (await checkDebounce(appId))) {
264
266
  <span class="cstat-no" title="statement not covered" > return</span>
265
267
  }
266
- const db = getDB(appId)
267
- const metadata = await db.get(DocumentTypes.APP_METADATA)
268
- metadata.updatedAt = new Date().toISOString()
269
- const response = await db.put(metadata)
270
- metadata._rev = response.rev
271
- await appCache.invalidateAppMetadata(appId, metadata)
272
- // set a new debounce record with a short TTL
273
- await setDebounce(appId, DEBOUNCE_TIME_SEC)
268
+ await doWithDB(appId, async db =&gt; {
269
+ const metadata = await db.get(DocumentTypes.APP_METADATA)
270
+ metadata.updatedAt = new Date().toISOString()
271
+ const response = await db.put(metadata)
272
+ metadata._rev = response.rev
273
+ await appCache.invalidateAppMetadata(appId, metadata)
274
+ // set a new debounce record with a short TTL
275
+ await setDebounce(appId, DEBOUNCE_TIME_SEC)
276
+ })
274
277
  }
275
278
  &nbsp;
276
279
  module.exports = async (ctx, permType) =&gt; {
@@ -298,7 +301,7 @@ module.exports = async (ctx, permType) =&gt; {
298
301
  <div class='footer quiet pad2 space-top1 center small'>
299
302
  Code coverage generated by
300
303
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
301
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
304
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
302
305
  </div>
303
306
  </div>
304
307
  <script src="../prettify.js"></script>
@@ -412,7 +412,7 @@ module.exports = async (ctx, next) =&gt; {
412
412
  <div class='footer quiet pad2 space-top1 center small'>
413
413
  Code coverage generated by
414
414
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
415
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
415
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
416
416
  </div>
417
417
  </div>
418
418
  <script src="../prettify.js"></script>
@@ -37,9 +37,9 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">86.84% </span>
40
+ <span class="strong">87.17% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>33/38</span>
42
+ <span class='fraction'>34/39</span>
43
43
  </div>
44
44
 
45
45
 
@@ -112,7 +112,7 @@
112
112
  <td data-value="77.27" class="pct medium">77.27%</td>
113
113
  <td data-value="22" class="abs medium">17/22</td>
114
114
  <td data-value="100" class="pct high">100%</td>
115
- <td data-value="3" class="abs high">3/3</td>
115
+ <td data-value="4" class="abs high">4/4</td>
116
116
  <td data-value="88.88" class="pct high">88.88%</td>
117
117
  <td data-value="36" class="abs high">32/36</td>
118
118
  </tr>
@@ -230,7 +230,7 @@
230
230
  <div class='footer quiet pad2 space-top1 center small'>
231
231
  Code coverage generated by
232
232
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
233
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
233
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
234
234
  </div>
235
235
  </div>
236
236
  <script src="../prettify.js"></script>
@@ -148,7 +148,7 @@ module.exports.params = schema =&gt; {
148
148
  <div class='footer quiet pad2 space-top1 center small'>
149
149
  Code coverage generated by
150
150
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
151
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
151
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
152
152
  </div>
153
153
  </div>
154
154
  <script src="../prettify.js"></script>
@@ -127,7 +127,7 @@ module.exports = function ({ requiresAppId } = <span class="branch-0 cbranch-no"
127
127
  <div class='footer quiet pad2 space-top1 center small'>
128
128
  Code coverage generated by
129
129
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
130
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
130
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
131
131
  </div>
132
132
  </div>
133
133
  <script src="../prettify.js"></script>
@@ -247,7 +247,7 @@ module.exports.bodySubResource = (main, sub) =&gt; {
247
247
  <div class='footer quiet pad2 space-top1 center small'>
248
248
  Code coverage generated by
249
249
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
250
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
250
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
251
251
  </div>
252
252
  </div>
253
253
  <script src="../prettify.js"></script>
@@ -94,7 +94,7 @@ module.exports = async (ctx, next) =&gt; {
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
97
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
97
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../prettify.js"></script>
@@ -556,7 +556,7 @@ const POST_CREATE = {
556
556
  <div class='footer quiet pad2 space-top1 center small'>
557
557
  Code coverage generated by
558
558
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
559
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
559
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
560
560
  </div>
561
561
  </div>
562
562
  <script src="../prettify.js"></script>
@@ -85,7 +85,7 @@ exports.isWebhookEndpoint = ctx =&gt; {
85
85
  <div class='footer quiet pad2 space-top1 center small'>
86
86
  Code coverage generated by
87
87
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
88
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
88
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
89
89
  </div>
90
90
  </div>
91
91
  <script src="../prettify.js"></script>
@@ -487,7 +487,7 @@ module.exports = (input, callback) =&gt; {
487
487
  <div class='footer quiet pad2 space-top1 center small'>
488
488
  Code coverage generated by
489
489
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
490
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
490
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
491
491
  </div>
492
492
  </div>
493
493
  <script src="../prettify.js"></script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">85.82% </span>
26
+ <span class="strong">85.77% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>212/247</span>
28
+ <span class='fraction'>211/246</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">86.36% </span>
47
+ <span class="strong">86.3% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>209/242</span>
49
+ <span class='fraction'>208/241</span>
50
50
  </div>
51
51
 
52
52
 
@@ -119,17 +119,17 @@
119
119
 
120
120
  <tr>
121
121
  <td class="file high" data-value="utils.js"><a href="utils.js.html">utils.js</a></td>
122
- <td data-value="81.57" class="pic high">
122
+ <td data-value="81.08" class="pic high">
123
123
  <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
124
124
  </td>
125
- <td data-value="81.57" class="pct high">81.57%</td>
126
- <td data-value="38" class="abs high">31/38</td>
125
+ <td data-value="81.08" class="pct high">81.08%</td>
126
+ <td data-value="37" class="abs high">30/37</td>
127
127
  <td data-value="64.28" class="pct medium">64.28%</td>
128
128
  <td data-value="14" class="abs medium">9/14</td>
129
129
  <td data-value="88.88" class="pct high">88.88%</td>
130
130
  <td data-value="9" class="abs high">8/9</td>
131
- <td data-value="83.78" class="pct high">83.78%</td>
132
- <td data-value="37" class="abs high">31/37</td>
131
+ <td data-value="83.33" class="pct high">83.33%</td>
132
+ <td data-value="36" class="abs high">30/36</td>
133
133
  </tr>
134
134
 
135
135
  </tbody>
@@ -140,7 +140,7 @@
140
140
  <div class='footer quiet pad2 space-top1 center small'>
141
141
  Code coverage generated by
142
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
143
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
144
144
  </div>
145
145
  </div>
146
146
  <script src="../prettify.js"></script>
@@ -129,10 +129,10 @@
129
129
  <a name='L70'></a><a href='#L70'>70</a>
130
130
  <a name='L71'></a><a href='#L71'>71</a>
131
131
  <a name='L72'></a><a href='#L72'>72</a>
132
- <a name='L73'></a><a href='#L73'>73</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
133
- <span class="cline-any cline-yes">40x</span>
132
+ <a name='L73'></a><a href='#L73'>73</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">41x</span>
133
+ <span class="cline-any cline-yes">41x</span>
134
134
  <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-yes">40x</span>
135
+ <span class="cline-any cline-yes">41x</span>
136
136
  <span class="cline-any cline-neutral">&nbsp;</span>
137
137
  <span class="cline-any cline-neutral">&nbsp;</span>
138
138
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -154,14 +154,14 @@
154
154
  <span class="cline-any cline-neutral">&nbsp;</span>
155
155
  <span class="cline-any cline-neutral">&nbsp;</span>
156
156
  <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-yes">79x</span>
158
- <span class="cline-any cline-yes">79x</span>
159
- <span class="cline-any cline-yes">79x</span>
157
+ <span class="cline-any cline-yes">81x</span>
158
+ <span class="cline-any cline-yes">81x</span>
159
+ <span class="cline-any cline-yes">81x</span>
160
160
  <span class="cline-any cline-neutral">&nbsp;</span>
161
161
  <span class="cline-any cline-neutral">&nbsp;</span>
162
162
  <span class="cline-any cline-neutral">&nbsp;</span>
163
163
  <span class="cline-any cline-neutral">&nbsp;</span>
164
- <span class="cline-any cline-yes">79x</span>
164
+ <span class="cline-any cline-yes">81x</span>
165
165
  <span class="cline-any cline-no">&nbsp;</span>
166
166
  <span class="cline-any cline-neutral">&nbsp;</span>
167
167
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -199,8 +199,8 @@
199
199
  <span class="cline-any cline-neutral">&nbsp;</span>
200
200
  <span class="cline-any cline-neutral">&nbsp;</span>
201
201
  <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-yes">40x</span>
203
- <span class="cline-any cline-yes">40x</span>
202
+ <span class="cline-any cline-yes">41x</span>
203
+ <span class="cline-any cline-yes">41x</span>
204
204
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const workerFarm = require("worker-farm")
205
205
  const env = require("../environment")
206
206
  &nbsp;
@@ -280,7 +280,7 @@ module.exports.ThreadType = ThreadType
280
280
  <div class='footer quiet pad2 space-top1 center small'>
281
281
  Code coverage generated by
282
282
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
283
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
283
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
284
284
  </div>
285
285
  </div>
286
286
  <script src="../prettify.js"></script>
@@ -676,7 +676,7 @@ module.exports = (input, callback) =&gt; {
676
676
  <div class='footer quiet pad2 space-top1 center small'>
677
677
  Code coverage generated by
678
678
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
679
- at Fri Apr 22 2022 09:55:18 GMT+0000 (Coordinated Universal Time)
679
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
680
680
  </div>
681
681
  </div>
682
682
  <script src="../prettify.js"></script>