@budibase/server 1.0.113 → 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 (238) hide show
  1. package/builder/assets/{index.e3e5909b.js → index.28d8c64f.js} +4 -4
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +1212 -1269
  4. package/coverage/coverage-final.json +86 -87
  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 +52 -52
  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 +34 -34
  149. package/coverage/lcov-report/threads/index.js.html +35 -17
  150. package/coverage/lcov-report/threads/query.js.html +20 -356
  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 +1570 -1660
  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/integrations/queries/sql.js +108 -0
  188. package/dist/middleware/builder.js +10 -9
  189. package/dist/migrations/index.js +1 -5
  190. package/dist/package.json +5 -5
  191. package/dist/tests/utilities/TestConfiguration.js +66 -59
  192. package/dist/threads/index.js +6 -1
  193. package/dist/threads/query.js +4 -103
  194. package/dist/threads/utils.js +2 -3
  195. package/dist/tsconfig.tsbuildinfo +1 -1
  196. package/dist/utilities/fileSystem/index.js +27 -26
  197. package/dist/utilities/usageQuota/rows.js +16 -16
  198. package/package.json +6 -6
  199. package/scripts/exportAppTemplate.js +10 -8
  200. package/scripts/integrations/mysql/init.sql +1 -0
  201. package/src/api/controllers/application.js +3 -1
  202. package/src/api/controllers/deploy/index.js +4 -4
  203. package/src/api/controllers/dev.js +9 -6
  204. package/src/api/controllers/query/import/tests/index.spec.js +7 -11
  205. package/src/api/controllers/row/internal.js +2 -1
  206. package/src/api/controllers/webhook.js +2 -2
  207. package/src/api/routes/tests/row.spec.js +15 -11
  208. package/src/api/routes/tests/table.spec.js +3 -2
  209. package/src/api/routes/tests/utilities/TestFunctions.js +1 -5
  210. package/src/app.ts +2 -2
  211. package/src/automations/tests/deleteRow.spec.js +1 -1
  212. package/src/automations/utils.js +6 -5
  213. package/src/db/inMemoryView.js +37 -36
  214. package/src/db/index.js +15 -2
  215. package/src/db/tests/linkTests.spec.js +8 -7
  216. package/src/integrations/couchdb.ts +28 -24
  217. package/src/integrations/queries/sql.ts +125 -0
  218. package/src/integrations/tests/airtable.spec.js +3 -1
  219. package/src/integrations/tests/couchdb.spec.js +4 -1
  220. package/src/middleware/builder.js +10 -9
  221. package/src/middleware/tests/authorized.spec.js +0 -1
  222. package/src/middleware/tests/usageQuota.spec.js +6 -20
  223. package/src/migrations/functions/tests/appUrls.spec.js +8 -11
  224. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +13 -10
  225. package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +25 -21
  226. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +26 -24
  227. package/src/migrations/index.ts +1 -2
  228. package/src/module.d.ts +8 -0
  229. package/src/tests/utilities/TestConfiguration.js +62 -55
  230. package/src/threads/index.js +7 -1
  231. package/src/threads/query.js +7 -119
  232. package/src/threads/utils.js +2 -3
  233. package/src/utilities/fileSystem/index.js +30 -30
  234. package/src/utilities/usageQuota/rows.js +22 -18
  235. package/coverage/lcov-report/db/client.js.html +0 -173
  236. package/dist/db/client.js +0 -25
  237. package/scripts/replicateApp.js +0 -50
  238. package/src/db/client.js +0 -31
@@ -37,9 +37,9 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">90% </span>
40
+ <span class="strong">81.81% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>9/10</span>
42
+ <span class='fraction'>9/11</span>
43
43
  </div>
44
44
 
45
45
 
@@ -251,23 +251,24 @@
251
251
  <a name='L192'></a><a href='#L192'>192</a>
252
252
  <a name='L193'></a><a href='#L193'>193</a>
253
253
  <a name='L194'></a><a href='#L194'>194</a>
254
- <a name='L195'></a><a href='#L195'>195</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
255
- <span class="cline-any cline-yes">39x</span>
256
- <span class="cline-any cline-yes">39x</span>
257
- <span class="cline-any cline-yes">39x</span>
258
- <span class="cline-any cline-yes">39x</span>
259
- <span class="cline-any cline-yes">39x</span>
260
- <span class="cline-any cline-yes">39x</span>
261
- <span class="cline-any cline-yes">39x</span>
262
- <span class="cline-any cline-yes">39x</span>
263
- <span class="cline-any cline-yes">39x</span>
264
- <span class="cline-any cline-yes">39x</span>
265
- <span class="cline-any cline-neutral">&nbsp;</span>
266
- <span class="cline-any cline-yes">39x</span>
267
- <span class="cline-any cline-yes">39x</span>
268
- <span class="cline-any cline-yes">39x</span>
269
- <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-yes">39x</span>
254
+ <a name='L195'></a><a href='#L195'>195</a>
255
+ <a name='L196'></a><a href='#L196'>196</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
256
+ <span class="cline-any cline-yes">40x</span>
257
+ <span class="cline-any cline-yes">40x</span>
258
+ <span class="cline-any cline-yes">40x</span>
259
+ <span class="cline-any cline-yes">40x</span>
260
+ <span class="cline-any cline-yes">40x</span>
261
+ <span class="cline-any cline-yes">40x</span>
262
+ <span class="cline-any cline-yes">40x</span>
263
+ <span class="cline-any cline-yes">40x</span>
264
+ <span class="cline-any cline-yes">40x</span>
265
+ <span class="cline-any cline-yes">40x</span>
266
+ <span class="cline-any cline-neutral">&nbsp;</span>
267
+ <span class="cline-any cline-yes">40x</span>
268
+ <span class="cline-any cline-yes">40x</span>
269
+ <span class="cline-any cline-yes">40x</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
271
+ <span class="cline-any cline-yes">40x</span>
271
272
  <span class="cline-any cline-yes">10x</span>
272
273
  <span class="cline-any cline-neutral">&nbsp;</span>
273
274
  <span class="cline-any cline-yes">10x</span>
@@ -284,7 +285,7 @@
284
285
  <span class="cline-any cline-neutral">&nbsp;</span>
285
286
  <span class="cline-any cline-neutral">&nbsp;</span>
286
287
  <span class="cline-any cline-neutral">&nbsp;</span>
287
- <span class="cline-any cline-yes">39x</span>
288
+ <span class="cline-any cline-yes">40x</span>
288
289
  <span class="cline-any cline-yes">2x</span>
289
290
  <span class="cline-any cline-neutral">&nbsp;</span>
290
291
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -301,27 +302,27 @@
301
302
  <span class="cline-any cline-neutral">&nbsp;</span>
302
303
  <span class="cline-any cline-neutral">&nbsp;</span>
303
304
  <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-yes">39x</span>
305
- <span class="cline-any cline-yes">78x</span>
306
- <span class="cline-any cline-yes">78x</span>
307
- <span class="cline-any cline-yes">858x</span>
308
- <span class="cline-any cline-yes">39x</span>
305
+ <span class="cline-any cline-yes">40x</span>
306
+ <span class="cline-any cline-yes">80x</span>
307
+ <span class="cline-any cline-yes">80x</span>
308
+ <span class="cline-any cline-yes">880x</span>
309
+ <span class="cline-any cline-yes">40x</span>
309
310
  <span class="cline-any cline-neutral">&nbsp;</span>
310
311
  <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-yes">78x</span>
312
+ <span class="cline-any cline-yes">80x</span>
312
313
  <span class="cline-any cline-neutral">&nbsp;</span>
313
314
  <span class="cline-any cline-neutral">&nbsp;</span>
314
315
  <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-yes">39x</span>
316
- <span class="cline-any cline-yes">204x</span>
317
- <span class="cline-any cline-yes">204x</span>
318
- <span class="cline-any cline-yes">204x</span>
316
+ <span class="cline-any cline-yes">40x</span>
317
+ <span class="cline-any cline-yes">206x</span>
318
+ <span class="cline-any cline-yes">206x</span>
319
+ <span class="cline-any cline-yes">206x</span>
319
320
  <span class="cline-any cline-no">&nbsp;</span>
320
321
  <span class="cline-any cline-no">&nbsp;</span>
321
322
  <span class="cline-any cline-no">&nbsp;</span>
322
323
  <span class="cline-any cline-neutral">&nbsp;</span>
323
324
  <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-yes">204x</span>
325
+ <span class="cline-any cline-yes">206x</span>
325
326
  <span class="cline-any cline-neutral">&nbsp;</span>
326
327
  <span class="cline-any cline-neutral">&nbsp;</span>
327
328
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -329,7 +330,7 @@
329
330
  <span class="cline-any cline-neutral">&nbsp;</span>
330
331
  <span class="cline-any cline-neutral">&nbsp;</span>
331
332
  <span class="cline-any cline-neutral">&nbsp;</span>
332
- <span class="cline-any cline-yes">39x</span>
333
+ <span class="cline-any cline-yes">40x</span>
333
334
  <span class="cline-any cline-yes">1x</span>
334
335
  <span class="cline-any cline-neutral">&nbsp;</span>
335
336
  <span class="cline-any cline-yes">1x</span>
@@ -359,6 +360,7 @@
359
360
  <span class="cline-any cline-no">&nbsp;</span>
360
361
  <span class="cline-any cline-no">&nbsp;</span>
361
362
  <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-neutral">&nbsp;</span>
362
364
  <span class="cline-any cline-yes">1x</span>
363
365
  <span class="cline-any cline-neutral">&nbsp;</span>
364
366
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -370,7 +372,7 @@
370
372
  <span class="cline-any cline-neutral">&nbsp;</span>
371
373
  <span class="cline-any cline-neutral">&nbsp;</span>
372
374
  <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-yes">39x</span>
375
+ <span class="cline-any cline-yes">40x</span>
374
376
  <span class="cline-any cline-yes">23x</span>
375
377
  <span class="cline-any cline-yes">23x</span>
376
378
  <span class="cline-any cline-yes">23x</span>
@@ -442,19 +444,19 @@
442
444
  <span class="cline-any cline-neutral">&nbsp;</span>
443
445
  <span class="cline-any cline-neutral">&nbsp;</span>
444
446
  <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-yes">39x</span>
447
+ <span class="cline-any cline-yes">40x</span>
446
448
  <span class="cline-any cline-no">&nbsp;</span>
447
449
  <span class="cline-any cline-neutral">&nbsp;</span>
448
450
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { Thread, ThreadType } = require("../threads")
449
451
  const { definitions } = require("./triggerInfo")
450
452
  const webhooks = require("../api/controllers/webhook")
451
- const CouchDB = require("../db")
452
453
  const { queue } = require("./bullboard")
453
454
  const newid = require("../db/newid")
454
455
  const { updateEntityMetadata } = require("../utilities")
455
456
  const { MetadataTypes, WebhookType } = require("../constants")
456
457
  const { getProdAppID } = require("@budibase/backend-core/db")
457
458
  const { cloneDeep } = require("lodash/fp")
459
+ const { doWithDB } = require("@budibase/backend-core/db")
458
460
  const { getAppDB, getAppId } = require("@budibase/backend-core/context")
459
461
  &nbsp;
460
462
  const WH_STEP_ID = definitions.WEBHOOK.stepId
@@ -548,10 +550,11 @@ exports.enableCronTrigger = async (appId, automation) =&gt; {
548
550
  // can't use getAppDB here as this is likely to be called from dev app,
549
551
  // but this call could be for dev app or prod app, need to just use what
550
552
  // was passed in
551
- const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
552
- const response = <span class="cstat-no" title="statement not covered" >await db.put(automation)</span>
553
- <span class="cstat-no" title="statement not covered" > automation._id = response.id</span>
554
- <span class="cstat-no" title="statement not covered" > automation._rev = response.rev</span>
553
+ <span class="cstat-no" title="statement not covered" > await doWithDB(appId, <span class="fstat-no" title="function not covered" >as</span>ync db =&gt; {</span>
554
+ const response = <span class="cstat-no" title="statement not covered" >await db.put(automation)</span>
555
+ <span class="cstat-no" title="statement not covered" > automation._id = response.id</span>
556
+ <span class="cstat-no" title="statement not covered" > automation._rev = response.rev</span>
557
+ })
555
558
  }
556
559
  return automation
557
560
  }
@@ -646,7 +649,7 @@ exports.cleanupAutomations = <span class="fstat-no" title="function not covered"
646
649
  <div class='footer quiet pad2 space-top1 center small'>
647
650
  Code coverage generated by
648
651
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
649
- at Wed Apr 13 2022 12:20:55 GMT+0000 (Coordinated Universal Time)
652
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
650
653
  </div>
651
654
  </div>
652
655
  <script src="../prettify.js"></script>
@@ -125,7 +125,7 @@
125
125
  <div class='footer quiet pad2 space-top1 center small'>
126
126
  Code coverage generated by
127
127
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
128
- at Wed Apr 13 2022 12:20:55 GMT+0000 (Coordinated Universal Time)
128
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
129
129
  </div>
130
130
  </div>
131
131
  <script src="../prettify.js"></script>
@@ -251,15 +251,15 @@
251
251
  <a name='L192'></a><a href='#L192'>192</a>
252
252
  <a name='L193'></a><a href='#L193'>193</a>
253
253
  <a name='L194'></a><a href='#L194'>194</a>
254
- <a name='L195'></a><a href='#L195'>195</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">48x</span>
255
- <span class="cline-any cline-yes">48x</span>
256
- <span class="cline-any cline-yes">48x</span>
254
+ <a name='L195'></a><a href='#L195'>195</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">49x</span>
255
+ <span class="cline-any cline-yes">49x</span>
256
+ <span class="cline-any cline-yes">49x</span>
257
257
  <span class="cline-any cline-neutral">&nbsp;</span>
258
- <span class="cline-any cline-yes">48x</span>
258
+ <span class="cline-any cline-yes">49x</span>
259
259
  <span class="cline-any cline-neutral">&nbsp;</span>
260
260
  <span class="cline-any cline-neutral">&nbsp;</span>
261
261
  <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-yes">48x</span>
262
+ <span class="cline-any cline-yes">49x</span>
263
263
  <span class="cline-any cline-neutral">&nbsp;</span>
264
264
  <span class="cline-any cline-neutral">&nbsp;</span>
265
265
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -272,8 +272,8 @@
272
272
  <span class="cline-any cline-neutral">&nbsp;</span>
273
273
  <span class="cline-any cline-neutral">&nbsp;</span>
274
274
  <span class="cline-any cline-neutral">&nbsp;</span>
275
- <span class="cline-any cline-yes">48x</span>
276
- <span class="cline-any cline-yes">48x</span>
275
+ <span class="cline-any cline-yes">49x</span>
276
+ <span class="cline-any cline-yes">49x</span>
277
277
  <span class="cline-any cline-neutral">&nbsp;</span>
278
278
  <span class="cline-any cline-neutral">&nbsp;</span>
279
279
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -282,7 +282,7 @@
282
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
283
  <span class="cline-any cline-neutral">&nbsp;</span>
284
284
  <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-yes">48x</span>
285
+ <span class="cline-any cline-yes">49x</span>
286
286
  <span class="cline-any cline-neutral">&nbsp;</span>
287
287
  <span class="cline-any cline-neutral">&nbsp;</span>
288
288
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -298,34 +298,34 @@
298
298
  <span class="cline-any cline-neutral">&nbsp;</span>
299
299
  <span class="cline-any cline-neutral">&nbsp;</span>
300
300
  <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-yes">48x</span>
301
+ <span class="cline-any cline-yes">49x</span>
302
302
  <span class="cline-any cline-neutral">&nbsp;</span>
303
303
  <span class="cline-any cline-neutral">&nbsp;</span>
304
304
  <span class="cline-any cline-neutral">&nbsp;</span>
305
305
  <span class="cline-any cline-neutral">&nbsp;</span>
306
306
  <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-yes">48x</span>
308
- <span class="cline-any cline-yes">96x</span>
307
+ <span class="cline-any cline-yes">49x</span>
308
+ <span class="cline-any cline-yes">98x</span>
309
309
  <span class="cline-any cline-neutral">&nbsp;</span>
310
310
  <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-yes">48x</span>
311
+ <span class="cline-any cline-yes">49x</span>
312
312
  <span class="cline-any cline-neutral">&nbsp;</span>
313
313
  <span class="cline-any cline-neutral">&nbsp;</span>
314
314
  <span class="cline-any cline-neutral">&nbsp;</span>
315
315
  <span class="cline-any cline-neutral">&nbsp;</span>
316
316
  <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-yes">48x</span>
317
+ <span class="cline-any cline-yes">49x</span>
318
318
  <span class="cline-any cline-neutral">&nbsp;</span>
319
319
  <span class="cline-any cline-neutral">&nbsp;</span>
320
320
  <span class="cline-any cline-neutral">&nbsp;</span>
321
321
  <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-yes">48x</span>
322
+ <span class="cline-any cline-yes">49x</span>
323
323
  <span class="cline-any cline-neutral">&nbsp;</span>
324
324
  <span class="cline-any cline-neutral">&nbsp;</span>
325
325
  <span class="cline-any cline-neutral">&nbsp;</span>
326
326
  <span class="cline-any cline-neutral">&nbsp;</span>
327
327
  <span class="cline-any cline-neutral">&nbsp;</span>
328
- <span class="cline-any cline-yes">48x</span>
328
+ <span class="cline-any cline-yes">49x</span>
329
329
  <span class="cline-any cline-neutral">&nbsp;</span>
330
330
  <span class="cline-any cline-neutral">&nbsp;</span>
331
331
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -336,16 +336,16 @@
336
336
  <span class="cline-any cline-neutral">&nbsp;</span>
337
337
  <span class="cline-any cline-neutral">&nbsp;</span>
338
338
  <span class="cline-any cline-neutral">&nbsp;</span>
339
- <span class="cline-any cline-yes">48x</span>
339
+ <span class="cline-any cline-yes">49x</span>
340
340
  <span class="cline-any cline-neutral">&nbsp;</span>
341
341
  <span class="cline-any cline-neutral">&nbsp;</span>
342
342
  <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-yes">48x</span>
343
+ <span class="cline-any cline-yes">49x</span>
344
344
  <span class="cline-any cline-neutral">&nbsp;</span>
345
345
  <span class="cline-any cline-neutral">&nbsp;</span>
346
346
  <span class="cline-any cline-neutral">&nbsp;</span>
347
347
  <span class="cline-any cline-neutral">&nbsp;</span>
348
- <span class="cline-any cline-yes">48x</span>
348
+ <span class="cline-any cline-yes">49x</span>
349
349
  <span class="cline-any cline-neutral">&nbsp;</span>
350
350
  <span class="cline-any cline-neutral">&nbsp;</span>
351
351
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -407,7 +407,7 @@
407
407
  <span class="cline-any cline-neutral">&nbsp;</span>
408
408
  <span class="cline-any cline-neutral">&nbsp;</span>
409
409
  <span class="cline-any cline-neutral">&nbsp;</span>
410
- <span class="cline-any cline-yes">48x</span>
410
+ <span class="cline-any cline-yes">49x</span>
411
411
  <span class="cline-any cline-neutral">&nbsp;</span>
412
412
  <span class="cline-any cline-neutral">&nbsp;</span>
413
413
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -415,36 +415,36 @@
415
415
  <span class="cline-any cline-neutral">&nbsp;</span>
416
416
  <span class="cline-any cline-neutral">&nbsp;</span>
417
417
  <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-yes">48x</span>
419
- <span class="cline-any cline-yes">48x</span>
418
+ <span class="cline-any cline-yes">49x</span>
419
+ <span class="cline-any cline-yes">49x</span>
420
420
  <span class="cline-any cline-neutral">&nbsp;</span>
421
421
  <span class="cline-any cline-neutral">&nbsp;</span>
422
422
  <span class="cline-any cline-neutral">&nbsp;</span>
423
423
  <span class="cline-any cline-neutral">&nbsp;</span>
424
424
  <span class="cline-any cline-neutral">&nbsp;</span>
425
425
  <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-yes">48x</span>
426
+ <span class="cline-any cline-yes">49x</span>
427
427
  <span class="cline-any cline-neutral">&nbsp;</span>
428
428
  <span class="cline-any cline-neutral">&nbsp;</span>
429
429
  <span class="cline-any cline-neutral">&nbsp;</span>
430
430
  <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-yes">48x</span>
431
+ <span class="cline-any cline-yes">49x</span>
432
432
  <span class="cline-any cline-neutral">&nbsp;</span>
433
433
  <span class="cline-any cline-neutral">&nbsp;</span>
434
434
  <span class="cline-any cline-neutral">&nbsp;</span>
435
435
  <span class="cline-any cline-neutral">&nbsp;</span>
436
436
  <span class="cline-any cline-neutral">&nbsp;</span>
437
- <span class="cline-any cline-yes">48x</span>
437
+ <span class="cline-any cline-yes">49x</span>
438
438
  <span class="cline-any cline-neutral">&nbsp;</span>
439
439
  <span class="cline-any cline-neutral">&nbsp;</span>
440
440
  <span class="cline-any cline-neutral">&nbsp;</span>
441
441
  <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-yes">48x</span>
442
+ <span class="cline-any cline-yes">49x</span>
443
443
  <span class="cline-any cline-neutral">&nbsp;</span>
444
444
  <span class="cline-any cline-neutral">&nbsp;</span>
445
445
  <span class="cline-any cline-neutral">&nbsp;</span>
446
446
  <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-yes">48x</span>
447
+ <span class="cline-any cline-yes">49x</span>
448
448
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
449
449
  const { UserStatus } = require("@budibase/backend-core/constants")
450
450
  const { ObjectStoreBuckets } = require("@budibase/backend-core/objectStore")
@@ -646,7 +646,7 @@ exports.ObjectStoreBuckets = ObjectStoreBuckets
646
646
  <div class='footer quiet pad2 space-top1 center small'>
647
647
  Code coverage generated by
648
648
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
649
- at Wed Apr 13 2022 12:20:55 GMT+0000 (Coordinated Universal Time)
649
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
650
650
  </div>
651
651
  </div>
652
652
  <script src="../prettify.js"></script>
@@ -210,12 +210,12 @@
210
210
  <a name='L151'></a><a href='#L151'>151</a>
211
211
  <a name='L152'></a><a href='#L152'>152</a>
212
212
  <a name='L153'></a><a href='#L153'>153</a>
213
- <a name='L154'></a><a href='#L154'>154</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
213
+ <a name='L154'></a><a href='#L154'>154</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
214
214
  <span class="cline-any cline-neutral">&nbsp;</span>
215
215
  <span class="cline-any cline-neutral">&nbsp;</span>
216
216
  <span class="cline-any cline-neutral">&nbsp;</span>
217
217
  <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-yes">39x</span>
218
+ <span class="cline-any cline-yes">40x</span>
219
219
  <span class="cline-any cline-neutral">&nbsp;</span>
220
220
  <span class="cline-any cline-neutral">&nbsp;</span>
221
221
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -260,7 +260,7 @@
260
260
  <span class="cline-any cline-neutral">&nbsp;</span>
261
261
  <span class="cline-any cline-neutral">&nbsp;</span>
262
262
  <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-yes">39x</span>
263
+ <span class="cline-any cline-yes">40x</span>
264
264
  <span class="cline-any cline-neutral">&nbsp;</span>
265
265
  <span class="cline-any cline-neutral">&nbsp;</span>
266
266
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -358,7 +358,7 @@
358
358
  <span class="cline-any cline-neutral">&nbsp;</span>
359
359
  <span class="cline-any cline-neutral">&nbsp;</span>
360
360
  <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-yes">39x</span>
361
+ <span class="cline-any cline-yes">40x</span>
362
362
  <span class="cline-any cline-neutral">&nbsp;</span>
363
363
  <span class="cline-any cline-neutral">&nbsp;</span>
364
364
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -523,7 +523,7 @@ module.exports = {
523
523
  <div class='footer quiet pad2 space-top1 center small'>
524
524
  Code coverage generated by
525
525
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
526
- at Wed Apr 13 2022 12:20:55 GMT+0000 (Coordinated Universal Time)
526
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
527
527
  </div>
528
528
  </div>
529
529
  <script src="../prettify.js"></script>
@@ -103,10 +103,10 @@
103
103
  <a name='L44'></a><a href='#L44'>44</a>
104
104
  <a name='L45'></a><a href='#L45'>45</a>
105
105
  <a name='L46'></a><a href='#L46'>46</a>
106
- <a name='L47'></a><a href='#L47'>47</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
107
- <span class="cline-any cline-yes">39x</span>
106
+ <a name='L47'></a><a href='#L47'>47</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
107
+ <span class="cline-any cline-yes">40x</span>
108
108
  <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-yes">39x</span>
109
+ <span class="cline-any cline-yes">40x</span>
110
110
  <span class="cline-any cline-neutral">&nbsp;</span>
111
111
  <span class="cline-any cline-neutral">&nbsp;</span>
112
112
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -202,7 +202,7 @@ exports.createHomeScreen = () =&gt; ({
202
202
  <div class='footer quiet pad2 space-top1 center small'>
203
203
  Code coverage generated by
204
204
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
205
- at Wed Apr 13 2022 12:20:55 GMT+0000 (Coordinated Universal Time)
205
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
206
206
  </div>
207
207
  </div>
208
208
  <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">24% </span>
26
+ <span class="strong">16% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>6/25</span>
28
+ <span class='fraction'>4/25</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">26.08% </span>
47
+ <span class="strong">17.39% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>6/23</span>
49
+ <span class='fraction'>4/23</span>
50
50
  </div>
51
51
 
52
52
 
@@ -105,21 +105,20 @@
105
105
  <a name='L46'></a><a href='#L46'>46</a>
106
106
  <a name='L47'></a><a href='#L47'>47</a>
107
107
  <a name='L48'></a><a href='#L48'>48</a>
108
- <a name='L49'></a><a href='#L49'>49</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
109
- <span class="cline-any cline-yes">40x</span>
110
- <span class="cline-any cline-yes">40x</span>
108
+ <a name='L49'></a><a href='#L49'>49</a>
109
+ <a name='L50'></a><a href='#L50'>50</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">41x</span>
111
110
  <span class="cline-any cline-neutral">&nbsp;</span>
112
- <span class="cline-any cline-yes">40x</span>
113
- <span class="cline-any cline-yes">40x</span>
114
111
  <span class="cline-any cline-neutral">&nbsp;</span>
115
112
  <span class="cline-any cline-neutral">&nbsp;</span>
113
+ <span class="cline-any cline-yes">41x</span>
114
+ <span class="cline-any cline-yes">41x</span>
116
115
  <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-neutral">&nbsp;</span>
118
- <span class="cline-any cline-yes">40x</span>
116
+ <span class="cline-any cline-yes">41x</span>
119
117
  <span class="cline-any cline-neutral">&nbsp;</span>
120
118
  <span class="cline-any cline-neutral">&nbsp;</span>
121
119
  <span class="cline-any cline-neutral">&nbsp;</span>
122
120
  <span class="cline-any cline-no">&nbsp;</span>
121
+ <span class="cline-any cline-no">&nbsp;</span>
123
122
  <span class="cline-any cline-neutral">&nbsp;</span>
124
123
  <span class="cline-any cline-no">&nbsp;</span>
125
124
  <span class="cline-any cline-no">&nbsp;</span>
@@ -151,55 +150,59 @@
151
150
  <span class="cline-any cline-neutral">&nbsp;</span>
152
151
  <span class="cline-any cline-neutral">&nbsp;</span>
153
152
  <span class="cline-any cline-no">&nbsp;</span>
153
+ <span class="cline-any cline-neutral">&nbsp;</span>
154
+ <span class="cline-any cline-no">&nbsp;</span>
154
155
  <span class="cline-any cline-no">&nbsp;</span>
155
156
  <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const PouchDB = require("pouchdb")
157
- const memory = require("pouchdb-adapter-memory")
158
- const newid = require("./newid")
157
+ <span class="cline-any cline-neutral">&nbsp;</span>
158
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const newid = require("./newid")
159
159
  &nbsp;
160
- PouchDB.plugin(memory)
161
- const Pouch = PouchDB.defaults({
162
- prefix: undefined,
163
- adapter: "memory",
164
- })
160
+ // bypass the main application db config
161
+ // use in memory pouchdb directly
162
+ const { getPouch, closeDB } = require("@budibase/backend-core/db")
163
+ const Pouch = getPouch({ inMemory: true })
165
164
  &nbsp;
166
165
  exports.runView = <span class="fstat-no" title="function not covered" >as</span>ync (view, calculation, group, data) =&gt; {
167
166
  // use a different ID each time for the DB, make sure they
168
167
  // are always unique for each query, don't want overlap
169
168
  // which could cause 409s
170
169
  const db = <span class="cstat-no" title="statement not covered" >new Pouch(newid())</span>
171
- // write all the docs to the in memory Pouch (remove revs)
172
- <span class="cstat-no" title="statement not covered" > await db.bulkDocs(</span>
173
- data.map(<span class="fstat-no" title="function not covered" >ro</span>w =&gt; (<span class="cstat-no" title="statement not covered" >{</span>
174
- ...row,
175
- _rev: undefined,
176
- }))
177
- )
178
- let fn = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(d</span>oc, emit) =&gt; <span class="cstat-no" title="statement not covered" >emit(doc._id)</span></span>
179
- <span class="cstat-no" title="statement not covered" > eval("fn = " + view.map.replace("function (doc)", "function (doc, emit)"))</span>
180
- const queryFns = <span class="cstat-no" title="statement not covered" >{</span>
181
- meta: view.meta,
182
- map: fn,
183
- }
184
- <span class="cstat-no" title="statement not covered" > if (view.reduce) {</span>
185
- <span class="cstat-no" title="statement not covered" > queryFns.reduce = view.reduce</span>
186
- }
187
- const response = <span class="cstat-no" title="statement not covered" >await db.query(queryFns, {</span>
188
- include_docs: !calculation,
189
- group: !!group,
190
- })
191
- // need to fix the revs to be totally accurate
192
- <span class="cstat-no" title="statement not covered" > for (let row of response.rows) {</span>
193
- <span class="cstat-no" title="statement not covered" > if (!row._rev || !row._id) {</span>
194
- <span class="cstat-no" title="statement not covered" > continue</span>
170
+ <span class="cstat-no" title="statement not covered" > try {</span>
171
+ // write all the docs to the in memory Pouch (remove revs)
172
+ <span class="cstat-no" title="statement not covered" > await db.bulkDocs(</span>
173
+ data.map(<span class="fstat-no" title="function not covered" >ro</span>w =&gt; (<span class="cstat-no" title="statement not covered" >{</span>
174
+ ...row,
175
+ _rev: undefined,
176
+ }))
177
+ )
178
+ let fn = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(d</span>oc, emit) =&gt; <span class="cstat-no" title="statement not covered" >emit(doc._id)</span></span>
179
+ <span class="cstat-no" title="statement not covered" > eval("fn = " + view.map.replace("function (doc)", "function (doc, emit)"))</span>
180
+ const queryFns = <span class="cstat-no" title="statement not covered" >{</span>
181
+ meta: view.meta,
182
+ map: fn,
183
+ }
184
+ <span class="cstat-no" title="statement not covered" > if (view.reduce) {</span>
185
+ <span class="cstat-no" title="statement not covered" > queryFns.reduce = view.reduce</span>
195
186
  }
196
- const found = <span class="cstat-no" title="statement not covered" >data.find(<span class="fstat-no" title="function not covered" >po</span>ssible =&gt; <span class="cstat-no" title="statement not covered" >possible._id === row._id)</span></span>
197
- <span class="cstat-no" title="statement not covered" > if (found) {</span>
198
- <span class="cstat-no" title="statement not covered" > row._rev = found._rev</span>
187
+ const response = <span class="cstat-no" title="statement not covered" >await db.query(queryFns, {</span>
188
+ include_docs: !calculation,
189
+ group: !!group,
190
+ })
191
+ // need to fix the revs to be totally accurate
192
+ <span class="cstat-no" title="statement not covered" > for (let row of response.rows) {</span>
193
+ <span class="cstat-no" title="statement not covered" > if (!row._rev || !row._id) {</span>
194
+ <span class="cstat-no" title="statement not covered" > continue</span>
195
+ }
196
+ const found = <span class="cstat-no" title="statement not covered" >data.find(<span class="fstat-no" title="function not covered" >po</span>ssible =&gt; <span class="cstat-no" title="statement not covered" >possible._id === row._id)</span></span>
197
+ <span class="cstat-no" title="statement not covered" > if (found) {</span>
198
+ <span class="cstat-no" title="statement not covered" > row._rev = found._rev</span>
199
+ }
199
200
  }
201
+ <span class="cstat-no" title="statement not covered" > return response</span>
202
+ } finally {
203
+ <span class="cstat-no" title="statement not covered" > await db.destroy()</span>
204
+ <span class="cstat-no" title="statement not covered" > await closeDB(db)</span>
200
205
  }
201
- <span class="cstat-no" title="statement not covered" > await db.destroy()</span>
202
- <span class="cstat-no" title="statement not covered" > return response</span>
203
206
  }
204
207
  &nbsp;</pre></td></tr></table></pre>
205
208
 
@@ -208,7 +211,7 @@ exports.runView = <span class="fstat-no" title="function not covered" >as</span>
208
211
  <div class='footer quiet pad2 space-top1 center small'>
209
212
  Code coverage generated by
210
213
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
211
- at Wed Apr 13 2022 12:20:55 GMT+0000 (Coordinated Universal Time)
214
+ at Fri Apr 22 2022 14:39:19 GMT+0000 (Coordinated Universal Time)
212
215
  </div>
213
216
  </div>
214
217
  <script src="../prettify.js"></script>