@budibase/server 0.9.136 → 0.9.140-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/builder/assets/discord.c14881e9.svg +10 -0
  2. package/builder/assets/{index.a0ab7774.js → index.0d1fa670.js} +35 -35
  3. package/builder/assets/{index.121692c9.css → index.79907e5c.css} +5 -5
  4. package/builder/assets/integromat.42212f11.png +0 -0
  5. package/builder/assets/slack.1e1f7cfb.svg +33 -0
  6. package/builder/assets/{vendor.7177f366.js → vendor.d39b3c1e.js} +2 -2
  7. package/builder/assets/zapier.3fbd8f5c.png +0 -0
  8. package/builder/index.html +3 -3
  9. package/coverage/clover.xml +2142 -2095
  10. package/coverage/coverage-final.json +120 -106
  11. package/coverage/lcov-report/api/controllers/analytics.js.html +3 -3
  12. package/coverage/lcov-report/api/controllers/apikeys.js.html +6 -6
  13. package/coverage/lcov-report/api/controllers/application.js.html +84 -84
  14. package/coverage/lcov-report/api/controllers/auth.js.html +6 -6
  15. package/coverage/lcov-report/api/controllers/automation.js.html +182 -356
  16. package/coverage/lcov-report/api/controllers/backup.js.html +3 -3
  17. package/coverage/lcov-report/api/controllers/component.js.html +5 -5
  18. package/coverage/lcov-report/api/controllers/datasource.js.html +12 -12
  19. package/coverage/lcov-report/api/controllers/dev.js.html +15 -15
  20. package/coverage/lcov-report/api/controllers/hosting.js.html +8 -8
  21. package/coverage/lcov-report/api/controllers/index.html +47 -32
  22. package/coverage/lcov-report/api/controllers/integration.js.html +4 -4
  23. package/coverage/lcov-report/api/controllers/layout.js.html +6 -6
  24. package/coverage/lcov-report/api/controllers/metadata.js.html +218 -0
  25. package/coverage/lcov-report/api/controllers/permission.js.html +14 -14
  26. package/coverage/lcov-report/api/controllers/query.js.html +17 -23
  27. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  28. package/coverage/lcov-report/api/controllers/routing.js.html +9 -9
  29. package/coverage/lcov-report/api/controllers/row/external.js.html +15 -15
  30. package/coverage/lcov-report/api/controllers/row/index.html +29 -44
  31. package/coverage/lcov-report/api/controllers/row/index.js.html +48 -45
  32. package/coverage/lcov-report/api/controllers/row/internal.js.html +159 -126
  33. package/coverage/lcov-report/api/controllers/row/utils.js.html +17 -17
  34. package/coverage/lcov-report/api/controllers/screen.js.html +7 -7
  35. package/coverage/lcov-report/api/controllers/script.js.html +5 -5
  36. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/index.js.html +40 -40
  38. package/coverage/lcov-report/api/controllers/table/utils.js.html +48 -48
  39. package/coverage/lcov-report/api/controllers/templates.js.html +5 -5
  40. package/coverage/lcov-report/api/controllers/user.js.html +14 -11
  41. package/coverage/lcov-report/api/controllers/view/exporters.js.html +3 -3
  42. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/index.js.html +9 -9
  44. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +6 -6
  45. package/coverage/lcov-report/api/controllers/webhook.js.html +14 -14
  46. package/coverage/lcov-report/api/index.html +1 -1
  47. package/coverage/lcov-report/api/index.js.html +23 -23
  48. package/coverage/lcov-report/api/routes/analytics.js.html +6 -6
  49. package/coverage/lcov-report/api/routes/apikeys.js.html +8 -8
  50. package/coverage/lcov-report/api/routes/application.js.html +8 -8
  51. package/coverage/lcov-report/api/routes/auth.js.html +6 -6
  52. package/coverage/lcov-report/api/routes/automation.js.html +41 -26
  53. package/coverage/lcov-report/api/routes/backup.js.html +8 -8
  54. package/coverage/lcov-report/api/routes/component.js.html +8 -8
  55. package/coverage/lcov-report/api/routes/datasource.js.html +13 -13
  56. package/coverage/lcov-report/api/routes/deploy.js.html +8 -8
  57. package/coverage/lcov-report/api/routes/dev.js.html +11 -11
  58. package/coverage/lcov-report/api/routes/hosting.js.html +8 -8
  59. package/coverage/lcov-report/api/routes/index.html +24 -9
  60. package/coverage/lcov-report/api/routes/index.js.html +36 -30
  61. package/coverage/lcov-report/api/routes/integration.js.html +8 -8
  62. package/coverage/lcov-report/api/routes/layout.js.html +8 -8
  63. package/coverage/lcov-report/api/routes/metadata.js.html +194 -0
  64. package/coverage/lcov-report/api/routes/permission.js.html +12 -12
  65. package/coverage/lcov-report/api/routes/query.js.html +13 -13
  66. package/coverage/lcov-report/api/routes/role.js.html +12 -12
  67. package/coverage/lcov-report/api/routes/routing.js.html +8 -8
  68. package/coverage/lcov-report/api/routes/row.js.html +10 -10
  69. package/coverage/lcov-report/api/routes/screen.js.html +11 -11
  70. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/static.js.html +13 -16
  72. package/coverage/lcov-report/api/routes/table.js.html +12 -12
  73. package/coverage/lcov-report/api/routes/templates.js.html +8 -8
  74. package/coverage/lcov-report/api/routes/user.js.html +9 -9
  75. package/coverage/lcov-report/api/routes/view.js.html +11 -11
  76. package/coverage/lcov-report/api/routes/webhook.js.html +11 -11
  77. package/coverage/lcov-report/automations/actions.js.html +57 -117
  78. package/coverage/lcov-report/automations/automationUtils.js.html +7 -7
  79. package/coverage/lcov-report/automations/bullboard.js.html +49 -16
  80. package/coverage/lcov-report/automations/index.html +67 -67
  81. package/coverage/lcov-report/automations/index.js.html +27 -129
  82. package/coverage/lcov-report/automations/steps/bash.js.html +37 -16
  83. package/coverage/lcov-report/automations/steps/createRow.js.html +15 -15
  84. package/coverage/lcov-report/automations/steps/delay.js.html +48 -9
  85. package/coverage/lcov-report/automations/steps/deleteRow.js.html +14 -14
  86. package/coverage/lcov-report/automations/steps/discord.js.html +329 -0
  87. package/coverage/lcov-report/automations/steps/executeQuery.js.html +22 -34
  88. package/coverage/lcov-report/automations/steps/executeScript.js.html +21 -33
  89. package/coverage/lcov-report/automations/steps/filter.js.html +28 -25
  90. package/coverage/lcov-report/automations/steps/index.html +140 -65
  91. package/coverage/lcov-report/automations/steps/integromat.js.html +341 -0
  92. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +44 -38
  93. package/coverage/lcov-report/automations/steps/queryRows.js.html +437 -0
  94. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +13 -13
  95. package/coverage/lcov-report/automations/steps/serverLog.js.html +23 -11
  96. package/coverage/lcov-report/automations/steps/{sendgridEmail.js.html → slack.js.html} +58 -88
  97. package/coverage/lcov-report/automations/steps/updateRow.js.html +12 -12
  98. package/coverage/lcov-report/automations/steps/utils.js.html +188 -0
  99. package/coverage/lcov-report/automations/steps/zapier.js.html +332 -0
  100. package/coverage/lcov-report/automations/thread.js.html +81 -78
  101. package/coverage/lcov-report/automations/triggerInfo/app.js.html +173 -0
  102. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +173 -0
  103. package/coverage/lcov-report/automations/triggerInfo/index.html +201 -0
  104. package/coverage/lcov-report/automations/triggerInfo/index.js.html +125 -0
  105. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +176 -0
  106. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +200 -0
  107. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +200 -0
  108. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +188 -0
  109. package/coverage/lcov-report/automations/triggers.js.html +67 -838
  110. package/coverage/lcov-report/automations/utils.js.html +557 -0
  111. package/coverage/lcov-report/constants/index.html +5 -5
  112. package/coverage/lcov-report/constants/index.js.html +32 -17
  113. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  114. package/coverage/lcov-report/constants/screens.js.html +4 -4
  115. package/coverage/lcov-report/db/client.js.html +18 -18
  116. package/coverage/lcov-report/db/index.html +19 -19
  117. package/coverage/lcov-report/db/index.js.html +3 -3
  118. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +79 -79
  119. package/coverage/lcov-report/db/linkedRows/index.html +18 -18
  120. package/coverage/lcov-report/db/linkedRows/index.js.html +107 -149
  121. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +43 -43
  122. package/coverage/lcov-report/db/newid.js.html +4 -4
  123. package/coverage/lcov-report/db/utils.js.html +127 -76
  124. package/coverage/lcov-report/events/AutomationEmitter.js.html +7 -7
  125. package/coverage/lcov-report/events/index.html +1 -1
  126. package/coverage/lcov-report/events/index.js.html +6 -6
  127. package/coverage/lcov-report/events/utils.js.html +3 -3
  128. package/coverage/lcov-report/index.html +116 -101
  129. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  130. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  131. package/coverage/lcov-report/{automations/logic.js.html → middleware/appInfo.js.html} +35 -38
  132. package/coverage/lcov-report/middleware/authorized.js.html +16 -16
  133. package/coverage/lcov-report/middleware/builder.js.html +15 -15
  134. package/coverage/lcov-report/middleware/currentapp.js.html +33 -33
  135. package/coverage/lcov-report/middleware/index.html +23 -8
  136. package/coverage/lcov-report/middleware/joi-validator.js.html +6 -6
  137. package/coverage/lcov-report/middleware/resourceId.js.html +28 -28
  138. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  139. package/coverage/lcov-report/middleware/usageQuota.js.html +8 -8
  140. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  141. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  142. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  143. package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
  144. package/coverage/lcov-report/utilities/global.js.html +33 -33
  145. package/coverage/lcov-report/utilities/index.html +28 -28
  146. package/coverage/lcov-report/utilities/index.js.html +178 -25
  147. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +18 -18
  148. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  149. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  150. package/coverage/lcov-report/utilities/routing/index.js.html +6 -6
  151. package/coverage/lcov-report/utilities/rowProcessor/index.html +14 -14
  152. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +87 -51
  153. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +10 -10
  154. package/coverage/lcov-report/utilities/security.js.html +9 -9
  155. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  156. package/coverage/lcov-report/utilities/users.js.html +5 -5
  157. package/coverage/lcov-report/utilities/workerRequests.js.html +52 -52
  158. package/coverage/lcov.info +3250 -3213
  159. package/dist/api/controllers/automation.js +60 -127
  160. package/dist/api/controllers/deploy/index.js +17 -1
  161. package/dist/api/controllers/metadata.js +49 -0
  162. package/dist/api/controllers/query.js +0 -2
  163. package/dist/api/controllers/row/ExternalRequest.js +1 -1
  164. package/dist/api/controllers/row/index.js +1 -0
  165. package/dist/api/controllers/row/internal.js +33 -23
  166. package/dist/api/controllers/static/index.js +1 -28
  167. package/dist/api/controllers/static/templates/BudibaseApp.svelte +4 -1
  168. package/dist/api/controllers/user.js +1 -1
  169. package/dist/api/routes/automation.js +4 -5
  170. package/dist/api/routes/index.js +2 -0
  171. package/dist/api/routes/metadata.js +13 -0
  172. package/dist/api/routes/static.js +0 -1
  173. package/dist/api/routes/tests/utilities/TestFunctions.js +13 -0
  174. package/dist/app.js +1 -1
  175. package/dist/automations/actions.js +29 -46
  176. package/dist/automations/bullboard.js +11 -2
  177. package/dist/automations/index.js +11 -48
  178. package/dist/automations/steps/bash.js +12 -6
  179. package/dist/automations/steps/createRow.js +5 -5
  180. package/dist/automations/steps/delay.js +16 -3
  181. package/dist/automations/steps/deleteRow.js +5 -5
  182. package/dist/automations/steps/discord.js +91 -0
  183. package/dist/automations/steps/executeQuery.js +12 -15
  184. package/dist/automations/steps/executeScript.js +12 -15
  185. package/dist/automations/steps/filter.js +19 -18
  186. package/dist/automations/steps/integromat.js +94 -0
  187. package/dist/automations/steps/outgoingWebhook.js +19 -20
  188. package/dist/automations/steps/queryRows.js +129 -0
  189. package/dist/automations/steps/sendSmtpEmail.js +4 -4
  190. package/dist/automations/steps/serverLog.js +7 -3
  191. package/dist/automations/steps/slack.js +73 -0
  192. package/dist/automations/steps/updateRow.js +4 -4
  193. package/dist/automations/steps/utils.js +46 -0
  194. package/dist/automations/steps/zapier.js +91 -0
  195. package/dist/automations/tests/utilities/index.js +2 -12
  196. package/dist/automations/thread.js +23 -25
  197. package/dist/automations/triggerInfo/app.js +32 -0
  198. package/dist/automations/triggerInfo/cron.js +32 -0
  199. package/dist/automations/triggerInfo/index.js +15 -0
  200. package/dist/automations/triggerInfo/rowDeleted.js +33 -0
  201. package/dist/automations/triggerInfo/rowSaved.js +41 -0
  202. package/dist/automations/triggerInfo/rowUpdated.js +41 -0
  203. package/dist/automations/triggerInfo/webhook.js +37 -0
  204. package/dist/automations/triggers.js +27 -285
  205. package/dist/automations/utils.js +143 -0
  206. package/dist/constants/index.js +4 -0
  207. package/dist/db/linkedRows/index.js +20 -34
  208. package/dist/db/utils.js +14 -1
  209. package/dist/environment.js +2 -1
  210. package/dist/integrations/mysql.js +14 -2
  211. package/dist/middleware/appInfo.js +17 -0
  212. package/dist/middleware/usageQuota.js +1 -1
  213. package/dist/package.json +12 -11
  214. package/dist/tsconfig.tsbuildinfo +1 -1
  215. package/dist/utilities/appDirectoryTemplate/package.json +1 -1
  216. package/dist/utilities/fileSystem/clientLibrary.js +2 -2
  217. package/dist/utilities/fileSystem/index.js +2 -27
  218. package/dist/utilities/index.js +54 -0
  219. package/dist/utilities/redis.js +16 -1
  220. package/dist/utilities/rowProcessor/index.js +7 -4
  221. package/package.json +13 -12
  222. package/scripts/jestSetup.js +1 -0
  223. package/scripts/selfhost.js +8 -0
  224. package/src/api/controllers/automation.js +87 -145
  225. package/src/api/controllers/deploy/index.js +23 -1
  226. package/src/api/controllers/metadata.js +46 -0
  227. package/src/api/controllers/query.js +0 -2
  228. package/src/api/controllers/row/ExternalRequest.ts +1 -1
  229. package/src/api/controllers/row/index.js +1 -0
  230. package/src/api/controllers/row/internal.js +34 -23
  231. package/src/api/controllers/static/index.js +1 -39
  232. package/src/api/controllers/static/templates/BudibaseApp.svelte +4 -1
  233. package/src/api/controllers/user.js +1 -0
  234. package/src/api/routes/automation.js +16 -11
  235. package/src/api/routes/index.js +2 -0
  236. package/src/api/routes/metadata.js +38 -0
  237. package/src/api/routes/static.js +0 -1
  238. package/src/api/routes/tests/automation.spec.js +4 -26
  239. package/src/api/routes/tests/metadata.spec.js +65 -0
  240. package/src/api/routes/tests/utilities/TestFunctions.js +14 -0
  241. package/src/app.ts +1 -1
  242. package/src/automations/actions.js +29 -49
  243. package/src/automations/bullboard.js +13 -2
  244. package/src/automations/index.js +11 -45
  245. package/src/automations/steps/bash.js +13 -6
  246. package/src/automations/steps/createRow.js +5 -5
  247. package/src/automations/steps/delay.js +16 -3
  248. package/src/automations/steps/deleteRow.js +5 -5
  249. package/src/automations/steps/discord.js +83 -0
  250. package/src/automations/steps/executeQuery.js +12 -16
  251. package/src/automations/steps/executeScript.js +12 -16
  252. package/src/automations/steps/filter.js +19 -18
  253. package/src/automations/steps/integromat.js +87 -0
  254. package/src/automations/steps/outgoingWebhook.js +20 -18
  255. package/src/automations/steps/queryRows.js +119 -0
  256. package/src/automations/steps/sendSmtpEmail.js +4 -4
  257. package/src/automations/steps/serverLog.js +7 -3
  258. package/src/automations/steps/slack.js +64 -0
  259. package/src/automations/steps/updateRow.js +4 -4
  260. package/src/automations/steps/utils.js +36 -0
  261. package/src/automations/steps/zapier.js +84 -0
  262. package/src/automations/tests/automation.spec.js +4 -67
  263. package/src/automations/tests/delay.spec.js +2 -2
  264. package/src/automations/tests/filter.spec.js +14 -14
  265. package/src/automations/tests/queryRows.spec.js +51 -0
  266. package/src/automations/tests/utilities/index.js +2 -13
  267. package/src/automations/thread.js +27 -26
  268. package/src/automations/triggerInfo/app.js +31 -0
  269. package/src/automations/triggerInfo/cron.js +31 -0
  270. package/src/automations/triggerInfo/index.js +15 -0
  271. package/src/automations/triggerInfo/rowDeleted.js +32 -0
  272. package/src/automations/triggerInfo/rowSaved.js +40 -0
  273. package/src/automations/triggerInfo/rowUpdated.js +40 -0
  274. package/src/automations/triggerInfo/webhook.js +36 -0
  275. package/src/automations/triggers.js +33 -290
  276. package/src/automations/utils.js +159 -0
  277. package/src/constants/index.js +5 -0
  278. package/src/db/linkedRows/index.js +21 -35
  279. package/src/db/tests/linkTests.spec.js +0 -12
  280. package/src/db/utils.js +17 -0
  281. package/src/environment.js +2 -1
  282. package/src/integrations/mysql.ts +15 -2
  283. package/src/middleware/appInfo.js +19 -0
  284. package/src/middleware/usageQuota.js +1 -1
  285. package/src/utilities/appDirectoryTemplate/package.json +1 -1
  286. package/src/utilities/fileSystem/clientLibrary.js +2 -2
  287. package/src/utilities/fileSystem/index.js +2 -36
  288. package/src/utilities/index.js +51 -0
  289. package/src/utilities/redis.js +18 -1
  290. package/src/utilities/rowProcessor/index.js +16 -4
  291. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +0 -1244
  292. package/dist/automations/logic.js +0 -17
  293. package/dist/automations/steps/sendgridEmail.js +0 -85
  294. package/src/automations/logic.js +0 -20
  295. package/src/automations/steps/sendgridEmail.js +0 -74
  296. package/src/automations/tests/sendEmail.spec.js +0 -36
@@ -149,56 +149,56 @@
149
149
  <a name='L90'></a><a href='#L90'>90</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
150
150
  <span class="cline-any cline-neutral">&nbsp;</span>
151
151
  <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-yes">38x</span>
153
- <span class="cline-any cline-yes">38x</span>
154
- <span class="cline-any cline-yes">38x</span>
155
- <span class="cline-any cline-yes">38x</span>
156
- <span class="cline-any cline-yes">38x</span>
157
- <span class="cline-any cline-yes">38x</span>
158
- <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-yes">38x</span>
160
- <span class="cline-any cline-yes">157x</span>
152
+ <span class="cline-any cline-yes">39x</span>
153
+ <span class="cline-any cline-yes">39x</span>
154
+ <span class="cline-any cline-yes">39x</span>
155
+ <span class="cline-any cline-yes">39x</span>
156
+ <span class="cline-any cline-yes">39x</span>
157
+ <span class="cline-any cline-yes">39x</span>
158
+ <span class="cline-any cline-neutral">&nbsp;</span>
159
+ <span class="cline-any cline-yes">39x</span>
160
+ <span class="cline-any cline-yes">162x</span>
161
161
  <span class="cline-any cline-yes">3x</span>
162
162
  <span class="cline-any cline-neutral">&nbsp;</span>
163
163
  <span class="cline-any cline-neutral">&nbsp;</span>
164
164
  <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-yes">154x</span>
165
+ <span class="cline-any cline-yes">159x</span>
166
166
  <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-yes">154x</span>
168
- <span class="cline-any cline-yes">121x</span>
167
+ <span class="cline-any cline-yes">159x</span>
168
+ <span class="cline-any cline-yes">126x</span>
169
169
  <span class="cline-any cline-yes">33x</span>
170
170
  <span class="cline-any cline-yes">28x</span>
171
171
  <span class="cline-any cline-neutral">&nbsp;</span>
172
- <span class="cline-any cline-yes">154x</span>
173
- <span class="cline-any cline-yes">154x</span>
172
+ <span class="cline-any cline-yes">159x</span>
173
+ <span class="cline-any cline-yes">159x</span>
174
174
  <span class="cline-any cline-neutral">&nbsp;</span>
175
175
  <span class="cline-any cline-neutral">&nbsp;</span>
176
176
  <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-yes">149x</span>
178
- <span class="cline-any cline-yes">149x</span>
177
+ <span class="cline-any cline-yes">154x</span>
178
+ <span class="cline-any cline-yes">154x</span>
179
179
  <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-yes">149x</span>
180
+ <span class="cline-any cline-yes">154x</span>
181
181
  <span class="cline-any cline-neutral">&nbsp;</span>
182
182
  <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-yes">38x</span>
183
+ <span class="cline-any cline-yes">39x</span>
184
184
  <span class="cline-any cline-neutral">&nbsp;</span>
185
185
  <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-yes">147x</span>
187
- <span class="cline-any cline-yes">147x</span>
186
+ <span class="cline-any cline-yes">152x</span>
187
+ <span class="cline-any cline-yes">152x</span>
188
188
  <span class="cline-any cline-neutral">&nbsp;</span>
189
189
  <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-yes">38x</span>
190
+ <span class="cline-any cline-yes">39x</span>
191
191
  <span class="cline-any cline-yes">2x</span>
192
192
  <span class="cline-any cline-yes">2x</span>
193
193
  <span class="cline-any cline-yes">2x</span>
194
194
  <span class="cline-any cline-neutral">&nbsp;</span>
195
195
  <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-yes">38x</span>
197
- <span class="cline-any cline-yes">12x</span>
196
+ <span class="cline-any cline-yes">39x</span>
197
+ <span class="cline-any cline-yes">32x</span>
198
198
  <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-yes">12x</span>
200
- <span class="cline-any cline-yes">10x</span>
201
- <span class="cline-any cline-yes">10x</span>
199
+ <span class="cline-any cline-yes">32x</span>
200
+ <span class="cline-any cline-yes">30x</span>
201
+ <span class="cline-any cline-yes">30x</span>
202
202
  <span class="cline-any cline-no">&nbsp;</span>
203
203
  <span class="cline-any cline-neutral">&nbsp;</span>
204
204
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -210,21 +210,21 @@
210
210
  <span class="cline-any cline-neutral">&nbsp;</span>
211
211
  <span class="cline-any cline-yes">8x</span>
212
212
  <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-yes">12x</span>
213
+ <span class="cline-any cline-yes">32x</span>
214
214
  <span class="cline-any cline-yes">8x</span>
215
215
  <span class="cline-any cline-neutral">&nbsp;</span>
216
216
  <span class="cline-any cline-yes">8x</span>
217
217
  <span class="cline-any cline-yes">8x</span>
218
218
  <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-yes">12x</span>
219
+ <span class="cline-any cline-yes">32x</span>
220
220
  <span class="cline-any cline-no">&nbsp;</span>
221
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-yes">12x</span>
222
+ <span class="cline-any cline-yes">32x</span>
223
223
  <span class="cline-any cline-neutral">&nbsp;</span>
224
224
  <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-yes">38x</span>
226
- <span class="cline-any cline-yes">10x</span>
227
- <span class="cline-any cline-yes">10x</span>
225
+ <span class="cline-any cline-yes">39x</span>
226
+ <span class="cline-any cline-yes">30x</span>
227
+ <span class="cline-any cline-yes">30x</span>
228
228
  <span class="cline-any cline-no">&nbsp;</span>
229
229
  <span class="cline-any cline-no">&nbsp;</span>
230
230
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -331,7 +331,7 @@ exports.getGlobalUsersFromMetadata = async (appId, users) =&gt; {
331
331
  <div class='footer quiet pad2 space-top1 center small'>
332
332
  Code coverage generated by
333
333
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
334
- at Tue Sep 21 2021 13:44:17 GMT+0000 (Coordinated Universal Time)
334
+ at Tue Sep 21 2021 20:54:54 GMT+0000 (Coordinated Universal Time)
335
335
  </div>
336
336
  </div>
337
337
  <script src="../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">67.63% </span>
26
+ <span class="strong">72.59% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>163/241</span>
28
+ <span class='fraction'>196/270</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">48.94% </span>
33
+ <span class="strong">50.98% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>46/94</span>
35
+ <span class='fraction'>52/102</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">66.67% </span>
40
+ <span class="strong">71.15% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>32/48</span>
42
+ <span class='fraction'>37/52</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">67.37% </span>
47
+ <span class="strong">72.45% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>159/236</span>
49
+ <span class='fraction'>192/265</span>
50
50
  </div>
51
51
 
52
52
 
@@ -149,17 +149,17 @@
149
149
 
150
150
  <tr>
151
151
  <td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
152
- <td data-value="90" class="pic high">
153
- <div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
152
+ <td data-value="83.67" class="pic high">
153
+ <div class="chart"><div class="cover-fill" style="width: 83%"></div><div class="cover-empty" style="width: 17%"></div></div>
154
154
  </td>
155
- <td data-value="90" class="pct high">90%</td>
156
- <td data-value="20" class="abs high">18/20</td>
155
+ <td data-value="83.67" class="pct high">83.67%</td>
156
+ <td data-value="49" class="abs high">41/49</td>
157
157
  <td data-value="50" class="pct medium">50%</td>
158
- <td data-value="4" class="abs medium">2/4</td>
158
+ <td data-value="12" class="abs medium">6/12</td>
159
159
  <td data-value="100" class="pct high">100%</td>
160
- <td data-value="6" class="abs high">6/6</td>
161
- <td data-value="88.89" class="pct high">88.89%</td>
162
- <td data-value="18" class="abs high">16/18</td>
160
+ <td data-value="10" class="abs high">10/10</td>
161
+ <td data-value="82.98" class="pct high">82.98%</td>
162
+ <td data-value="47" class="abs high">39/47</td>
163
163
  </tr>
164
164
 
165
165
  <tr>
@@ -208,18 +208,18 @@
208
208
  </tr>
209
209
 
210
210
  <tr>
211
- <td class="file low" data-value="workerRequests.js"><a href="workerRequests.js.html">workerRequests.js</a></td>
212
- <td data-value="36.92" class="pic low">
213
- <div class="chart"><div class="cover-fill" style="width: 36%"></div><div class="cover-empty" style="width: 64%"></div></div>
211
+ <td class="file medium" data-value="workerRequests.js"><a href="workerRequests.js.html">workerRequests.js</a></td>
212
+ <td data-value="52.31" class="pic medium">
213
+ <div class="chart"><div class="cover-fill" style="width: 52%"></div><div class="cover-empty" style="width: 48%"></div></div>
214
214
  </td>
215
- <td data-value="36.92" class="pct low">36.92%</td>
216
- <td data-value="65" class="abs low">24/65</td>
217
- <td data-value="25" class="pct low">25%</td>
218
- <td data-value="32" class="abs low">8/32</td>
219
- <td data-value="33.33" class="pct low">33.33%</td>
220
- <td data-value="6" class="abs low">2/6</td>
221
- <td data-value="36.92" class="pct low">36.92%</td>
222
- <td data-value="65" class="abs low">24/65</td>
215
+ <td data-value="52.31" class="pct medium">52.31%</td>
216
+ <td data-value="65" class="abs medium">34/65</td>
217
+ <td data-value="31.25" class="pct low">31.25%</td>
218
+ <td data-value="32" class="abs low">10/32</td>
219
+ <td data-value="50" class="pct medium">50%</td>
220
+ <td data-value="6" class="abs medium">3/6</td>
221
+ <td data-value="52.31" class="pct medium">52.31%</td>
222
+ <td data-value="65" class="abs medium">34/65</td>
223
223
  </tr>
224
224
 
225
225
  </tbody>
@@ -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 Tue Sep 21 2021 13:44:17 GMT+0000 (Coordinated Universal Time)
233
+ at Tue Sep 21 2021 20:54:54 GMT+0000 (Coordinated Universal Time)
234
234
  </div>
235
235
  </div>
236
236
  <script src="../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">90% </span>
26
+ <span class="strong">83.67% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>18/20</span>
28
+ <span class='fraction'>41/49</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">50% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>2/4</span>
35
+ <span class='fraction'>6/12</span>
36
36
  </div>
37
37
 
38
38
 
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'>6/6</span>
42
+ <span class='fraction'>10/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">88.89% </span>
47
+ <span class="strong">82.98% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>16/18</span>
49
+ <span class='fraction'>39/47</span>
50
50
  </div>
51
51
 
52
52
 
@@ -114,66 +114,170 @@
114
114
  <a name='L55'></a><a href='#L55'>55</a>
115
115
  <a name='L56'></a><a href='#L56'>56</a>
116
116
  <a name='L57'></a><a href='#L57'>57</a>
117
- <a name='L58'></a><a href='#L58'>58</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
118
- <span class="cline-any cline-yes">34x</span>
119
- <span class="cline-any cline-yes">34x</span>
120
- <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-yes">34x</span>
122
- <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-yes">34x</span>
117
+ <a name='L58'></a><a href='#L58'>58</a>
118
+ <a name='L59'></a><a href='#L59'>59</a>
119
+ <a name='L60'></a><a href='#L60'>60</a>
120
+ <a name='L61'></a><a href='#L61'>61</a>
121
+ <a name='L62'></a><a href='#L62'>62</a>
122
+ <a name='L63'></a><a href='#L63'>63</a>
123
+ <a name='L64'></a><a href='#L64'>64</a>
124
+ <a name='L65'></a><a href='#L65'>65</a>
125
+ <a name='L66'></a><a href='#L66'>66</a>
126
+ <a name='L67'></a><a href='#L67'>67</a>
127
+ <a name='L68'></a><a href='#L68'>68</a>
128
+ <a name='L69'></a><a href='#L69'>69</a>
129
+ <a name='L70'></a><a href='#L70'>70</a>
130
+ <a name='L71'></a><a href='#L71'>71</a>
131
+ <a name='L72'></a><a href='#L72'>72</a>
132
+ <a name='L73'></a><a href='#L73'>73</a>
133
+ <a name='L74'></a><a href='#L74'>74</a>
134
+ <a name='L75'></a><a href='#L75'>75</a>
135
+ <a name='L76'></a><a href='#L76'>76</a>
136
+ <a name='L77'></a><a href='#L77'>77</a>
137
+ <a name='L78'></a><a href='#L78'>78</a>
138
+ <a name='L79'></a><a href='#L79'>79</a>
139
+ <a name='L80'></a><a href='#L80'>80</a>
140
+ <a name='L81'></a><a href='#L81'>81</a>
141
+ <a name='L82'></a><a href='#L82'>82</a>
142
+ <a name='L83'></a><a href='#L83'>83</a>
143
+ <a name='L84'></a><a href='#L84'>84</a>
144
+ <a name='L85'></a><a href='#L85'>85</a>
145
+ <a name='L86'></a><a href='#L86'>86</a>
146
+ <a name='L87'></a><a href='#L87'>87</a>
147
+ <a name='L88'></a><a href='#L88'>88</a>
148
+ <a name='L89'></a><a href='#L89'>89</a>
149
+ <a name='L90'></a><a href='#L90'>90</a>
150
+ <a name='L91'></a><a href='#L91'>91</a>
151
+ <a name='L92'></a><a href='#L92'>92</a>
152
+ <a name='L93'></a><a href='#L93'>93</a>
153
+ <a name='L94'></a><a href='#L94'>94</a>
154
+ <a name='L95'></a><a href='#L95'>95</a>
155
+ <a name='L96'></a><a href='#L96'>96</a>
156
+ <a name='L97'></a><a href='#L97'>97</a>
157
+ <a name='L98'></a><a href='#L98'>98</a>
158
+ <a name='L99'></a><a href='#L99'>99</a>
159
+ <a name='L100'></a><a href='#L100'>100</a>
160
+ <a name='L101'></a><a href='#L101'>101</a>
161
+ <a name='L102'></a><a href='#L102'>102</a>
162
+ <a name='L103'></a><a href='#L103'>103</a>
163
+ <a name='L104'></a><a href='#L104'>104</a>
164
+ <a name='L105'></a><a href='#L105'>105</a>
165
+ <a name='L106'></a><a href='#L106'>106</a>
166
+ <a name='L107'></a><a href='#L107'>107</a>
167
+ <a name='L108'></a><a href='#L108'>108</a>
168
+ <a name='L109'></a><a href='#L109'>109</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">35x</span>
169
+ <span class="cline-any cline-yes">35x</span>
170
+ <span class="cline-any cline-yes">35x</span>
171
+ <span class="cline-any cline-yes">35x</span>
172
+ <span class="cline-any cline-yes">35x</span>
173
+ <span class="cline-any cline-neutral">&nbsp;</span>
174
+ <span class="cline-any cline-yes">35x</span>
175
+ <span class="cline-any cline-neutral">&nbsp;</span>
176
+ <span class="cline-any cline-yes">35x</span>
177
+ <span class="cline-any cline-neutral">&nbsp;</span>
178
+ <span class="cline-any cline-yes">35x</span>
179
+ <span class="cline-any cline-neutral">&nbsp;</span>
180
+ <span class="cline-any cline-neutral">&nbsp;</span>
181
+ <span class="cline-any cline-neutral">&nbsp;</span>
182
+ <span class="cline-any cline-neutral">&nbsp;</span>
183
+ <span class="cline-any cline-neutral">&nbsp;</span>
184
+ <span class="cline-any cline-neutral">&nbsp;</span>
185
+ <span class="cline-any cline-neutral">&nbsp;</span>
186
+ <span class="cline-any cline-yes">35x</span>
187
+ <span class="cline-any cline-yes">184x</span>
188
+ <span class="cline-any cline-neutral">&nbsp;</span>
189
+ <span class="cline-any cline-neutral">&nbsp;</span>
190
+ <span class="cline-any cline-neutral">&nbsp;</span>
191
+ <span class="cline-any cline-neutral">&nbsp;</span>
192
+ <span class="cline-any cline-neutral">&nbsp;</span>
193
+ <span class="cline-any cline-neutral">&nbsp;</span>
194
+ <span class="cline-any cline-yes">35x</span>
195
+ <span class="cline-any cline-yes">2x</span>
124
196
  <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-yes">34x</span>
197
+ <span class="cline-any cline-yes">2x</span>
126
198
  <span class="cline-any cline-neutral">&nbsp;</span>
199
+ <span class="cline-any cline-no">&nbsp;</span>
127
200
  <span class="cline-any cline-neutral">&nbsp;</span>
128
201
  <span class="cline-any cline-neutral">&nbsp;</span>
129
202
  <span class="cline-any cline-neutral">&nbsp;</span>
130
203
  <span class="cline-any cline-neutral">&nbsp;</span>
131
204
  <span class="cline-any cline-neutral">&nbsp;</span>
132
205
  <span class="cline-any cline-neutral">&nbsp;</span>
133
- <span class="cline-any cline-yes">34x</span>
134
- <span class="cline-any cline-yes">12x</span>
135
206
  <span class="cline-any cline-neutral">&nbsp;</span>
136
207
  <span class="cline-any cline-neutral">&nbsp;</span>
137
208
  <span class="cline-any cline-neutral">&nbsp;</span>
138
209
  <span class="cline-any cline-neutral">&nbsp;</span>
139
210
  <span class="cline-any cline-neutral">&nbsp;</span>
140
211
  <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-yes">34x</span>
142
- <span class="cline-any cline-yes">1x</span>
212
+ <span class="cline-any cline-yes">35x</span>
213
+ <span class="cline-any cline-yes">2x</span>
214
+ <span class="cline-any cline-no">&nbsp;</span>
143
215
  <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-yes">1x</span>
145
216
  <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-no">&nbsp;</span>
147
217
  <span class="cline-any cline-neutral">&nbsp;</span>
218
+ <span class="cline-any cline-yes">2x</span>
148
219
  <span class="cline-any cline-neutral">&nbsp;</span>
149
220
  <span class="cline-any cline-neutral">&nbsp;</span>
150
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
+ <span class="cline-any cline-yes">35x</span>
223
+ <span class="cline-any cline-yes">2x</span>
151
224
  <span class="cline-any cline-neutral">&nbsp;</span>
152
225
  <span class="cline-any cline-neutral">&nbsp;</span>
153
226
  <span class="cline-any cline-neutral">&nbsp;</span>
154
227
  <span class="cline-any cline-neutral">&nbsp;</span>
228
+ <span class="cline-any cline-yes">35x</span>
229
+ <span class="cline-any cline-yes">3x</span>
230
+ <span class="cline-any cline-yes">3x</span>
155
231
  <span class="cline-any cline-neutral">&nbsp;</span>
156
232
  <span class="cline-any cline-neutral">&nbsp;</span>
233
+ <span class="cline-any cline-yes">3x</span>
234
+ <span class="cline-any cline-yes">3x</span>
235
+ <span class="cline-any cline-yes">3x</span>
236
+ <span class="cline-any cline-no">&nbsp;</span>
237
+ <span class="cline-any cline-no">&nbsp;</span>
157
238
  <span class="cline-any cline-neutral">&nbsp;</span>
239
+ <span class="cline-any cline-yes">3x</span>
240
+ <span class="cline-any cline-yes">3x</span>
158
241
  <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-yes">34x</span>
160
- <span class="cline-any cline-yes">2x</span>
242
+ <span class="cline-any cline-yes">3x</span>
243
+ <span class="cline-any cline-yes">3x</span>
161
244
  <span class="cline-any cline-no">&nbsp;</span>
162
245
  <span class="cline-any cline-neutral">&nbsp;</span>
246
+ <span class="cline-any cline-yes">3x</span>
247
+ <span class="cline-any cline-yes">3x</span>
248
+ <span class="cline-any cline-neutral">&nbsp;</span>
163
249
  <span class="cline-any cline-neutral">&nbsp;</span>
164
250
  <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-yes">2x</span>
166
251
  <span class="cline-any cline-neutral">&nbsp;</span>
167
252
  <span class="cline-any cline-neutral">&nbsp;</span>
168
253
  <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-yes">34x</span>
254
+ <span class="cline-any cline-yes">35x</span>
255
+ <span class="cline-any cline-yes">1x</span>
170
256
  <span class="cline-any cline-yes">1x</span>
171
257
  <span class="cline-any cline-neutral">&nbsp;</span>
172
258
  <span class="cline-any cline-neutral">&nbsp;</span>
173
259
  <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-yes">35x</span>
261
+ <span class="cline-any cline-yes">4x</span>
262
+ <span class="cline-any cline-yes">4x</span>
263
+ <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-yes">4x</span>
265
+ <span class="cline-any cline-yes">4x</span>
266
+ <span class="cline-any cline-no">&nbsp;</span>
267
+ <span class="cline-any cline-no">&nbsp;</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
271
+ <span class="cline-any cline-neutral">&nbsp;</span>
272
+ <span class="cline-any cline-yes">4x</span>
273
+ <span class="cline-any cline-no">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
174
276
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const env = require("../environment")
175
277
  const { OBJ_STORE_DIRECTORY } = require("../constants")
176
278
  const { sanitizeKey } = require("@budibase/auth/src/objectStore")
279
+ const CouchDB = require("../db")
280
+ const { generateMetadataID } = require("../db/utils")
177
281
  &nbsp;
178
282
  const BB_CDN = "https://cdn.budi.live"
179
283
  &nbsp;
@@ -228,6 +332,55 @@ exports.attachmentsRelativeURL = attachmentKey =&gt; {
228
332
  `${exports.objectStoreUrl()}/${attachmentKey}`
229
333
  )
230
334
  }
335
+ &nbsp;
336
+ exports.updateEntityMetadata = async (appId, type, entityId, updateFn) =&gt; {
337
+ const db = new CouchDB(appId)
338
+ const id = generateMetadataID(type, entityId)
339
+ // read it to see if it exists, we'll overwrite it no matter what
340
+ let rev,
341
+ metadata = {}
342
+ try {
343
+ const oldMetadata = await db.get(id)
344
+ <span class="cstat-no" title="statement not covered" > rev = oldMetadata._rev</span>
345
+ <span class="cstat-no" title="statement not covered" > metadata = updateFn(oldMetadata)</span>
346
+ } catch (err) {
347
+ rev = null
348
+ metadata = updateFn({})
349
+ }
350
+ metadata._id = id
351
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (rev) {
352
+ <span class="cstat-no" title="statement not covered" > metadata._rev = rev</span>
353
+ }
354
+ const response = await db.put(metadata)
355
+ return {
356
+ ...metadata,
357
+ _id: id,
358
+ _rev: response.rev,
359
+ }
360
+ }
361
+ &nbsp;
362
+ exports.saveEntityMetadata = async (appId, type, entityId, metadata) =&gt; {
363
+ return exports.updateEntityMetadata(appId, type, entityId, () =&gt; {
364
+ return metadata
365
+ })
366
+ }
367
+ &nbsp;
368
+ exports.deleteEntityMetadata = async (appId, type, entityId) =&gt; {
369
+ const db = new CouchDB(appId)
370
+ const id = generateMetadataID(type, entityId)
371
+ let rev
372
+ try {
373
+ const metadata = await db.get(id)
374
+ <span class="cstat-no" title="statement not covered" > if (metadata) {</span>
375
+ <span class="cstat-no" title="statement not covered" > rev = metadata._rev</span>
376
+ }
377
+ } catch (err) {
378
+ // don't need to error if it doesn't exist
379
+ }
380
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (id &amp;&amp; rev) {
381
+ <span class="cstat-no" title="statement not covered" > await db.remove(id, rev)</span>
382
+ }
383
+ }
231
384
  &nbsp;</pre></td></tr></table></pre>
232
385
 
233
386
  <div class='push'></div><!-- for sticky footer -->
@@ -235,7 +388,7 @@ exports.attachmentsRelativeURL = attachmentKey =&gt; {
235
388
  <div class='footer quiet pad2 space-top1 center small'>
236
389
  Code coverage generated by
237
390
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
238
- at Tue Sep 21 2021 13:44:17 GMT+0000 (Coordinated Universal Time)
391
+ at Tue Sep 21 2021 20:54:54 GMT+0000 (Coordinated Universal Time)
239
392
  </div>
240
393
  </div>
241
394
  <script src="../prettify.js"></script>
@@ -144,7 +144,7 @@
144
144
  <a name='L85'></a><a href='#L85'>85</a>
145
145
  <a name='L86'></a><a href='#L86'>86</a>
146
146
  <a name='L87'></a><a href='#L87'>87</a>
147
- <a name='L88'></a><a href='#L88'>88</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">32x</span>
147
+ <a name='L88'></a><a href='#L88'>88</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
148
148
  <span class="cline-any cline-neutral">&nbsp;</span>
149
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
150
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -156,7 +156,7 @@
156
156
  <span class="cline-any cline-neutral">&nbsp;</span>
157
157
  <span class="cline-any cline-neutral">&nbsp;</span>
158
158
  <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-yes">10x</span>
159
+ <span class="cline-any cline-yes">8x</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>
@@ -176,10 +176,10 @@
176
176
  <span class="cline-any cline-neutral">&nbsp;</span>
177
177
  <span class="cline-any cline-neutral">&nbsp;</span>
178
178
  <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-yes">32x</span>
180
- <span class="cline-any cline-yes">32x</span>
181
- <span class="cline-any cline-yes">32x</span>
182
- <span class="cline-any cline-yes">32x</span>
179
+ <span class="cline-any cline-yes">33x</span>
180
+ <span class="cline-any cline-yes">33x</span>
181
+ <span class="cline-any cline-yes">33x</span>
182
+ <span class="cline-any cline-yes">33x</span>
183
183
  <span class="cline-any cline-neutral">&nbsp;</span>
184
184
  <span class="cline-any cline-neutral">&nbsp;</span>
185
185
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -192,14 +192,14 @@
192
192
  <span class="cline-any cline-neutral">&nbsp;</span>
193
193
  <span class="cline-any cline-neutral">&nbsp;</span>
194
194
  <span class="cline-any cline-neutral">&nbsp;</span>
195
- <span class="cline-any cline-yes">13x</span>
196
- <span class="cline-any cline-yes">16x</span>
197
- <span class="cline-any cline-yes">7x</span>
195
+ <span class="cline-any cline-yes">27x</span>
196
+ <span class="cline-any cline-yes">11x</span>
197
+ <span class="cline-any cline-yes">3x</span>
198
198
  <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-yes">9x</span>
200
- <span class="cline-any cline-yes">9x</span>
201
- <span class="cline-any cline-yes">9x</span>
202
- <span class="cline-any cline-yes">9x</span>
199
+ <span class="cline-any cline-yes">8x</span>
200
+ <span class="cline-any cline-yes">8x</span>
201
+ <span class="cline-any cline-yes">8x</span>
202
+ <span class="cline-any cline-yes">8x</span>
203
203
  <span class="cline-any cline-neutral">&nbsp;</span>
204
204
  <span class="cline-any cline-neutral">&nbsp;</span>
205
205
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -213,11 +213,11 @@
213
213
  <span class="cline-any cline-neutral">&nbsp;</span>
214
214
  <span class="cline-any cline-neutral">&nbsp;</span>
215
215
  <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-yes">10x</span>
216
+ <span class="cline-any cline-yes">8x</span>
217
217
  <span class="cline-any cline-no">&nbsp;</span>
218
218
  <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-yes">10x</span>
220
- <span class="cline-any cline-yes">10x</span>
219
+ <span class="cline-any cline-yes">8x</span>
220
+ <span class="cline-any cline-yes">8x</span>
221
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
222
  <span class="cline-any cline-neutral">&nbsp;</span>
223
223
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -230,7 +230,7 @@
230
230
  <span class="cline-any cline-neutral">&nbsp;</span>
231
231
  <span class="cline-any cline-neutral">&nbsp;</span>
232
232
  <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-yes">32x</span>
233
+ <span class="cline-any cline-yes">33x</span>
234
234
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">let events = require("events")
235
235
  &nbsp;
236
236
  /**
@@ -325,7 +325,7 @@ module.exports = InMemoryQueue
325
325
  <div class='footer quiet pad2 space-top1 center small'>
326
326
  Code coverage generated by
327
327
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
328
- at Tue Sep 21 2021 13:44:17 GMT+0000 (Coordinated Universal Time)
328
+ at Tue Sep 21 2021 20:54:54 GMT+0000 (Coordinated Universal Time)
329
329
  </div>
330
330
  </div>
331
331
  <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 Tue Sep 21 2021 13:44:17 GMT+0000 (Coordinated Universal Time)
98
+ at Tue Sep 21 2021 20:54:54 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <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 Tue Sep 21 2021 13:44:17 GMT+0000 (Coordinated Universal Time)
98
+ at Tue Sep 21 2021 20:54:54 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../prettify.js"></script>