@budibase/server 1.0.49-alpha.2 → 1.0.49-alpha.6

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 (320) hide show
  1. package/__mocks__/arangojs.ts +1 -1
  2. package/__mocks__/aws-sdk.ts +4 -4
  3. package/__mocks__/mongodb.ts +4 -5
  4. package/__mocks__/mssql.ts +3 -3
  5. package/__mocks__/node-fetch.ts +2 -1
  6. package/__mocks__/pg.ts +3 -5
  7. package/builder/assets/{index.82e12602.js → index.1b905242.js} +1 -1
  8. package/builder/index.html +1 -1
  9. package/coverage/clover.xml +1917 -1929
  10. package/coverage/coverage-final.json +54 -54
  11. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/application.js.html +58 -37
  14. package/coverage/lcov-report/api/controllers/auth.js.html +11 -14
  15. package/coverage/lcov-report/api/controllers/automation.js.html +21 -51
  16. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/cloud.js.html +8 -11
  18. package/coverage/lcov-report/api/controllers/component.js.html +10 -13
  19. package/coverage/lcov-report/api/controllers/datasource.js.html +17 -23
  20. package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
  21. package/coverage/lcov-report/api/controllers/index.html +52 -52
  22. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/layout.js.html +4 -4
  24. package/coverage/lcov-report/api/controllers/metadata.js.html +6 -21
  25. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/permission.js.html +6 -6
  27. package/coverage/lcov-report/api/controllers/query/index.html +10 -10
  28. package/coverage/lcov-report/api/controllers/query/index.js.html +21 -18
  29. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  31. package/coverage/lcov-report/api/controllers/routing.js.html +7 -10
  32. package/coverage/lcov-report/api/controllers/row/external.js.html +6 -12
  33. package/coverage/lcov-report/api/controllers/row/index.html +22 -22
  34. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/row/internal.js.html +37 -82
  36. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +19 -25
  37. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +14 -17
  38. package/coverage/lcov-report/api/controllers/row/utils.js.html +15 -12
  39. package/coverage/lcov-report/api/controllers/screen.js.html +10 -16
  40. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +20 -50
  42. package/coverage/lcov-report/api/controllers/table/external.js.html +15 -24
  43. package/coverage/lcov-report/api/controllers/table/index.html +37 -37
  44. package/coverage/lcov-report/api/controllers/table/index.js.html +7 -7
  45. package/coverage/lcov-report/api/controllers/table/internal.js.html +36 -45
  46. package/coverage/lcov-report/api/controllers/table/utils.js.html +40 -76
  47. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/user.js.html +26 -35
  49. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  50. package/coverage/lcov-report/api/controllers/view/index.html +16 -16
  51. package/coverage/lcov-report/api/controllers/view/index.js.html +15 -21
  52. package/coverage/lcov-report/api/controllers/view/utils.js.html +25 -10
  53. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  54. package/coverage/lcov-report/api/controllers/webhook.js.html +21 -15
  55. package/coverage/lcov-report/api/index.html +1 -1
  56. package/coverage/lcov-report/api/index.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/index.html +1 -1
  69. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  81. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  83. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  84. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  85. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  86. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  87. package/coverage/lcov-report/automations/actions.js.html +1 -1
  88. package/coverage/lcov-report/automations/automationUtils.js.html +4 -7
  89. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  90. package/coverage/lcov-report/automations/index.html +18 -18
  91. package/coverage/lcov-report/automations/index.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/createRow.js.html +2 -5
  94. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/index.html +1 -1
  101. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  104. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  105. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  106. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  107. package/coverage/lcov-report/automations/steps/updateRow.js.html +2 -2
  108. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  109. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  113. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  114. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  115. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  116. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  117. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  118. package/coverage/lcov-report/automations/triggers.js.html +46 -40
  119. package/coverage/lcov-report/automations/utils.js.html +24 -12
  120. package/coverage/lcov-report/constants/index.html +1 -1
  121. package/coverage/lcov-report/constants/index.js.html +1 -1
  122. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  123. package/coverage/lcov-report/constants/screens.js.html +1 -1
  124. package/coverage/lcov-report/db/client.js.html +18 -18
  125. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  126. package/coverage/lcov-report/db/index.html +1 -1
  127. package/coverage/lcov-report/db/index.js.html +3 -3
  128. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +11 -23
  129. package/coverage/lcov-report/db/linkedRows/index.html +27 -27
  130. package/coverage/lcov-report/db/linkedRows/index.js.html +24 -66
  131. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +28 -28
  132. package/coverage/lcov-report/db/newid.js.html +1 -1
  133. package/coverage/lcov-report/db/utils.js.html +5 -5
  134. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  135. package/coverage/lcov-report/events/index.html +1 -1
  136. package/coverage/lcov-report/events/index.js.html +1 -1
  137. package/coverage/lcov-report/events/utils.js.html +1 -1
  138. package/coverage/lcov-report/index.html +88 -88
  139. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  140. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  141. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  142. package/coverage/lcov-report/middleware/authorized.js.html +21 -15
  143. package/coverage/lcov-report/middleware/builder.js.html +3 -3
  144. package/coverage/lcov-report/middleware/currentapp.js.html +72 -60
  145. package/coverage/lcov-report/middleware/index.html +28 -28
  146. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  147. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  148. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  149. package/coverage/lcov-report/middleware/usageQuota.js.html +29 -29
  150. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  151. package/coverage/lcov-report/threads/automation.js.html +30 -24
  152. package/coverage/lcov-report/threads/index.html +16 -16
  153. package/coverage/lcov-report/threads/index.js.html +1 -1
  154. package/coverage/lcov-report/threads/query.js.html +17 -17
  155. package/coverage/lcov-report/threads/utils.js.html +1 -1
  156. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  157. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  158. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  159. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  160. package/coverage/lcov-report/utilities/global.js.html +44 -35
  161. package/coverage/lcov-report/utilities/index.html +27 -27
  162. package/coverage/lcov-report/utilities/index.js.html +40 -70
  163. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  164. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  165. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  166. package/coverage/lcov-report/utilities/routing/index.js.html +7 -7
  167. package/coverage/lcov-report/utilities/rowProcessor/index.html +11 -11
  168. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +16 -58
  169. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  170. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  171. package/coverage/lcov-report/utilities/security.js.html +1 -1
  172. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  173. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  174. package/coverage/lcov-report/utilities/usageQuota/index.js.html +5 -2
  175. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +5 -2
  176. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  177. package/coverage/lcov-report/utilities/users.js.html +5 -5
  178. package/coverage/lcov-report/utilities/workerRequests.js.html +5 -5
  179. package/coverage/lcov.info +3189 -3198
  180. package/dist/api/controllers/application.js +31 -28
  181. package/dist/api/controllers/auth.js +4 -5
  182. package/dist/api/controllers/automation.js +14 -19
  183. package/dist/api/controllers/cloud.js +2 -3
  184. package/dist/api/controllers/component.js +3 -4
  185. package/dist/api/controllers/datasource.js +9 -10
  186. package/dist/api/controllers/deploy/Deployment.js +3 -6
  187. package/dist/api/controllers/deploy/index.js +12 -13
  188. package/dist/api/controllers/dev.js +5 -5
  189. package/dist/api/controllers/layout.js +3 -3
  190. package/dist/api/controllers/metadata.js +4 -4
  191. package/dist/api/controllers/permission.js +4 -4
  192. package/dist/api/controllers/query/import/index.js +4 -6
  193. package/dist/api/controllers/query/index.js +11 -10
  194. package/dist/api/controllers/role.js +5 -5
  195. package/dist/api/controllers/routing.js +5 -6
  196. package/dist/api/controllers/row/ExternalRequest.js +76 -63
  197. package/dist/api/controllers/row/external.js +4 -4
  198. package/dist/api/controllers/row/internal.js +29 -44
  199. package/dist/api/controllers/row/internalSearch.js +11 -13
  200. package/dist/api/controllers/row/staticFormula.js +11 -11
  201. package/dist/api/controllers/row/utils.js +7 -6
  202. package/dist/api/controllers/screen.js +5 -7
  203. package/dist/api/controllers/static/index.js +4 -4
  204. package/dist/api/controllers/table/bulkFormula.js +14 -15
  205. package/dist/api/controllers/table/external.js +7 -10
  206. package/dist/api/controllers/table/index.js +5 -5
  207. package/dist/api/controllers/table/internal.js +16 -19
  208. package/dist/api/controllers/table/utils.js +29 -31
  209. package/dist/api/controllers/user.js +16 -20
  210. package/dist/api/controllers/view/index.js +8 -10
  211. package/dist/api/controllers/view/utils.js +9 -4
  212. package/dist/api/controllers/webhook.js +10 -8
  213. package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
  214. package/dist/automations/automationUtils.js +2 -3
  215. package/dist/automations/steps/createRow.js +1 -1
  216. package/dist/automations/steps/updateRow.js +1 -1
  217. package/dist/automations/triggers.js +27 -25
  218. package/dist/automations/utils.js +10 -5
  219. package/dist/db/linkedRows/LinkController.js +3 -7
  220. package/dist/db/linkedRows/index.js +16 -26
  221. package/dist/db/linkedRows/linkUtils.js +6 -6
  222. package/dist/db/views/staticViews.js +9 -10
  223. package/dist/environment.js +2 -1
  224. package/dist/integrations/utils.js +3 -0
  225. package/dist/middleware/authorized.js +5 -3
  226. package/dist/middleware/builder.js +2 -2
  227. package/dist/middleware/currentapp.js +41 -37
  228. package/dist/middleware/usageQuota.js +2 -2
  229. package/dist/migrations/functions/appUrls.js +11 -2
  230. package/dist/migrations/functions/usageQuotas/syncApps.js +7 -9
  231. package/dist/migrations/functions/usageQuotas/syncRows.js +7 -9
  232. package/dist/package.json +4 -4
  233. package/dist/tests/utilities/TestConfiguration.js +67 -44
  234. package/dist/threads/automation.js +13 -11
  235. package/dist/threads/query.js +11 -11
  236. package/dist/tsconfig.tsbuildinfo +1 -1
  237. package/dist/utilities/fileSystem/index.js +4 -3
  238. package/dist/utilities/global.js +15 -12
  239. package/dist/utilities/index.js +7 -17
  240. package/dist/utilities/routing/index.js +5 -5
  241. package/dist/utilities/rowProcessor/index.js +9 -10
  242. package/dist/utilities/usageQuota/index.js +1 -0
  243. package/dist/utilities/usageQuota/rows.js +1 -0
  244. package/dist/utilities/users.js +3 -3
  245. package/dist/utilities/workerRequests.js +4 -4
  246. package/package.json +5 -5
  247. package/scripts/likeCypress.ts +1 -1
  248. package/src/api/controllers/application.js +35 -28
  249. package/src/api/controllers/auth.js +4 -5
  250. package/src/api/controllers/automation.js +13 -23
  251. package/src/api/controllers/cloud.js +2 -3
  252. package/src/api/controllers/component.js +3 -4
  253. package/src/api/controllers/datasource.js +9 -11
  254. package/src/api/controllers/deploy/Deployment.js +3 -7
  255. package/src/api/controllers/deploy/index.js +20 -13
  256. package/src/api/controllers/dev.js +5 -5
  257. package/src/api/controllers/layout.js +3 -3
  258. package/src/api/controllers/metadata.js +4 -9
  259. package/src/api/controllers/permission.js +4 -4
  260. package/src/api/controllers/query/import/index.ts +4 -6
  261. package/src/api/controllers/query/import/tests/index.spec.js +2 -1
  262. package/src/api/controllers/query/index.js +11 -10
  263. package/src/api/controllers/role.js +5 -5
  264. package/src/api/controllers/routing.js +5 -6
  265. package/src/api/controllers/row/ExternalRequest.ts +53 -42
  266. package/src/api/controllers/row/external.js +4 -6
  267. package/src/api/controllers/row/internal.js +29 -44
  268. package/src/api/controllers/row/internalSearch.js +11 -13
  269. package/src/api/controllers/row/staticFormula.js +10 -11
  270. package/src/api/controllers/row/utils.js +7 -6
  271. package/src/api/controllers/screen.js +5 -7
  272. package/src/api/controllers/static/index.js +4 -4
  273. package/src/api/controllers/table/bulkFormula.js +13 -23
  274. package/src/api/controllers/table/external.js +7 -10
  275. package/src/api/controllers/table/index.js +5 -5
  276. package/src/api/controllers/table/internal.js +18 -21
  277. package/src/api/controllers/table/utils.js +29 -41
  278. package/src/api/controllers/user.js +17 -20
  279. package/src/api/controllers/view/index.js +8 -10
  280. package/src/api/controllers/view/utils.js +9 -4
  281. package/src/api/controllers/webhook.js +10 -8
  282. package/src/api/routes/tests/automation.spec.js +1 -0
  283. package/src/api/routes/tests/misc.spec.js +0 -1
  284. package/src/api/routes/tests/routing.spec.js +21 -12
  285. package/src/api/routes/tests/row.spec.js +7 -4
  286. package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
  287. package/src/automations/automationUtils.js +2 -3
  288. package/src/automations/steps/createRow.js +0 -1
  289. package/src/automations/steps/updateRow.js +1 -1
  290. package/src/automations/triggers.js +33 -31
  291. package/src/automations/utils.js +9 -5
  292. package/src/db/linkedRows/LinkController.js +3 -7
  293. package/src/db/linkedRows/index.js +16 -30
  294. package/src/db/linkedRows/linkUtils.js +6 -6
  295. package/src/db/tests/linkController.spec.js +0 -1
  296. package/src/db/tests/linkTests.spec.js +5 -6
  297. package/src/db/views/staticViews.js +8 -10
  298. package/src/environment.js +2 -1
  299. package/src/integrations/utils.ts +4 -1
  300. package/src/middleware/authorized.js +5 -3
  301. package/src/middleware/builder.js +2 -2
  302. package/src/middleware/currentapp.js +50 -46
  303. package/src/middleware/tests/authorized.spec.js +7 -2
  304. package/src/middleware/tests/currentapp.spec.js +6 -0
  305. package/src/middleware/usageQuota.js +2 -2
  306. package/src/migrations/functions/appUrls.ts +11 -2
  307. package/src/migrations/functions/usageQuotas/syncApps.ts +5 -4
  308. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  309. package/src/tests/utilities/TestConfiguration.js +69 -50
  310. package/src/threads/automation.js +17 -15
  311. package/src/threads/query.js +12 -12
  312. package/src/utilities/fileSystem/index.js +4 -3
  313. package/src/utilities/global.js +15 -12
  314. package/src/utilities/index.js +7 -17
  315. package/src/utilities/routing/index.js +5 -5
  316. package/src/utilities/rowProcessor/index.js +9 -23
  317. package/src/utilities/usageQuota/index.js +1 -0
  318. package/src/utilities/usageQuota/rows.js +1 -0
  319. package/src/utilities/users.js +3 -3
  320. package/src/utilities/workerRequests.js +4 -4
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">72.57% </span>
26
+ <span class="strong">72.56% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>3651/5031</span>
28
+ <span class='fraction'>3642/5019</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">52.41% </span>
33
+ <span class="strong">52.39% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>1074/2049</span>
35
+ <span class='fraction'>1072/2046</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">69.71% </span>
40
+ <span class="strong">69.84% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>495/710</span>
42
+ <span class='fraction'>498/713</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">72.88% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>3605/4946</span>
49
+ <span class='fraction'>3596/4934</span>
50
50
  </div>
51
51
 
52
52
 
@@ -89,77 +89,77 @@
89
89
 
90
90
  <tr>
91
91
  <td class="file medium" data-value="api/controllers"><a href="api/controllers/index.html">api/controllers</a></td>
92
- <td data-value="70.75" class="pic medium">
92
+ <td data-value="70.7" class="pic medium">
93
93
  <div class="chart"><div class="cover-fill" style="width: 70%"></div><div class="cover-empty" style="width: 30%"></div></div>
94
94
  </td>
95
- <td data-value="70.75" class="pct medium">70.75%</td>
96
- <td data-value="1118" class="abs medium">791/1118</td>
97
- <td data-value="46.04" class="pct low">46.04%</td>
98
- <td data-value="367" class="abs low">169/367</td>
95
+ <td data-value="70.7" class="pct medium">70.7%</td>
96
+ <td data-value="1113" class="abs medium">787/1113</td>
97
+ <td data-value="46.02" class="pct low">46.02%</td>
98
+ <td data-value="365" class="abs low">168/365</td>
99
99
  <td data-value="69.67" class="pct medium">69.67%</td>
100
100
  <td data-value="155" class="abs medium">108/155</td>
101
- <td data-value="70.84" class="pct medium">70.84%</td>
102
- <td data-value="1101" class="abs medium">780/1101</td>
101
+ <td data-value="70.8" class="pct medium">70.8%</td>
102
+ <td data-value="1096" class="abs medium">776/1096</td>
103
103
  </tr>
104
104
 
105
105
  <tr>
106
106
  <td class="file high" data-value="api/controllers/query"><a href="api/controllers/query/index.html">api/controllers/query</a></td>
107
- <td data-value="81.55" class="pic high">
107
+ <td data-value="81.73" class="pic high">
108
108
  <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
109
109
  </td>
110
- <td data-value="81.55" class="pct high">81.55%</td>
111
- <td data-value="103" class="abs high">84/103</td>
110
+ <td data-value="81.73" class="pct high">81.73%</td>
111
+ <td data-value="104" class="abs high">85/104</td>
112
112
  <td data-value="65.51" class="pct medium">65.51%</td>
113
113
  <td data-value="29" class="abs medium">19/29</td>
114
114
  <td data-value="88.23" class="pct high">88.23%</td>
115
115
  <td data-value="17" class="abs high">15/17</td>
116
- <td data-value="81.37" class="pct high">81.37%</td>
117
- <td data-value="102" class="abs high">83/102</td>
116
+ <td data-value="81.55" class="pct high">81.55%</td>
117
+ <td data-value="103" class="abs high">84/103</td>
118
118
  </tr>
119
119
 
120
120
  <tr>
121
121
  <td class="file medium" data-value="api/controllers/row"><a href="api/controllers/row/index.html">api/controllers/row</a></td>
122
- <td data-value="51.05" class="pic medium">
123
- <div class="chart"><div class="cover-fill" style="width: 51%"></div><div class="cover-empty" style="width: 49%"></div></div>
122
+ <td data-value="50.53" class="pic medium">
123
+ <div class="chart"><div class="cover-fill" style="width: 50%"></div><div class="cover-empty" style="width: 50%"></div></div>
124
124
  </td>
125
- <td data-value="51.05" class="pct medium">51.05%</td>
126
- <td data-value="664" class="abs medium">339/664</td>
125
+ <td data-value="50.53" class="pct medium">50.53%</td>
126
+ <td data-value="657" class="abs medium">332/657</td>
127
127
  <td data-value="30.13" class="pct low">30.13%</td>
128
128
  <td data-value="292" class="abs low">88/292</td>
129
129
  <td data-value="41.93" class="pct low">41.93%</td>
130
130
  <td data-value="93" class="abs low">39/93</td>
131
- <td data-value="51.15" class="pct medium">51.15%</td>
132
- <td data-value="651" class="abs medium">333/651</td>
131
+ <td data-value="50.62" class="pct medium">50.62%</td>
132
+ <td data-value="644" class="abs medium">326/644</td>
133
133
  </tr>
134
134
 
135
135
  <tr>
136
136
  <td class="file medium" data-value="api/controllers/table"><a href="api/controllers/table/index.html">api/controllers/table</a></td>
137
- <td data-value="53.83" class="pic medium">
137
+ <td data-value="53.32" class="pic medium">
138
138
  <div class="chart"><div class="cover-fill" style="width: 53%"></div><div class="cover-empty" style="width: 47%"></div></div>
139
139
  </td>
140
- <td data-value="53.83" class="pct medium">53.83%</td>
141
- <td data-value="548" class="abs medium">295/548</td>
142
- <td data-value="36.84" class="pct low">36.84%</td>
143
- <td data-value="285" class="abs low">105/285</td>
144
- <td data-value="53.84" class="pct medium">53.84%</td>
145
- <td data-value="78" class="abs medium">42/78</td>
146
- <td data-value="54.2" class="pct medium">54.2%</td>
147
- <td data-value="535" class="abs medium">290/535</td>
140
+ <td data-value="53.32" class="pct medium">53.32%</td>
141
+ <td data-value="542" class="abs medium">289/542</td>
142
+ <td data-value="36.04" class="pct low">36.04%</td>
143
+ <td data-value="283" class="abs low">102/283</td>
144
+ <td data-value="52.56" class="pct medium">52.56%</td>
145
+ <td data-value="78" class="abs medium">41/78</td>
146
+ <td data-value="53.68" class="pct medium">53.68%</td>
147
+ <td data-value="529" class="abs medium">284/529</td>
148
148
  </tr>
149
149
 
150
150
  <tr>
151
151
  <td class="file medium" data-value="api/controllers/view"><a href="api/controllers/view/index.html">api/controllers/view</a></td>
152
- <td data-value="73.43" class="pic medium">
152
+ <td data-value="73.84" class="pic medium">
153
153
  <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
154
154
  </td>
155
- <td data-value="73.43" class="pct medium">73.43%</td>
156
- <td data-value="192" class="abs medium">141/192</td>
155
+ <td data-value="73.84" class="pct medium">73.84%</td>
156
+ <td data-value="195" class="abs medium">144/195</td>
157
157
  <td data-value="63.85" class="pct medium">63.85%</td>
158
158
  <td data-value="83" class="abs medium">53/83</td>
159
159
  <td data-value="72" class="pct medium">72%</td>
160
160
  <td data-value="25" class="abs medium">18/25</td>
161
- <td data-value="73.68" class="pct medium">73.68%</td>
162
- <td data-value="190" class="abs medium">140/190</td>
161
+ <td data-value="74.09" class="pct medium">74.09%</td>
162
+ <td data-value="193" class="abs medium">143/193</td>
163
163
  </tr>
164
164
 
165
165
  <tr>
@@ -179,17 +179,17 @@
179
179
 
180
180
  <tr>
181
181
  <td class="file high" data-value="automations"><a href="automations/index.html">automations</a></td>
182
- <td data-value="84.68" class="pic high">
182
+ <td data-value="84.9" class="pic high">
183
183
  <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
184
184
  </td>
185
- <td data-value="84.68" class="pct high">84.68%</td>
186
- <td data-value="209" class="abs high">177/209</td>
185
+ <td data-value="84.9" class="pct high">84.9%</td>
186
+ <td data-value="212" class="abs high">180/212</td>
187
187
  <td data-value="80.2" class="pct high">80.2%</td>
188
188
  <td data-value="96" class="abs high">77/96</td>
189
- <td data-value="80.76" class="pct high">80.76%</td>
190
- <td data-value="26" class="abs high">21/26</td>
191
- <td data-value="84.68" class="pct high">84.68%</td>
192
- <td data-value="209" class="abs high">177/209</td>
189
+ <td data-value="81.48" class="pct high">81.48%</td>
190
+ <td data-value="27" class="abs high">22/27</td>
191
+ <td data-value="84.9" class="pct high">84.9%</td>
192
+ <td data-value="212" class="abs high">180/212</td>
193
193
  </tr>
194
194
 
195
195
  <tr>
@@ -254,17 +254,17 @@
254
254
 
255
255
  <tr>
256
256
  <td class="file high" data-value="db/linkedRows"><a href="db/linkedRows/index.html">db/linkedRows</a></td>
257
- <td data-value="96.45" class="pic high">
258
- <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
257
+ <td data-value="95.75" class="pic high">
258
+ <div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
259
259
  </td>
260
- <td data-value="96.45" class="pct high">96.45%</td>
261
- <td data-value="310" class="abs high">299/310</td>
262
- <td data-value="86.02" class="pct high">86.02%</td>
263
- <td data-value="136" class="abs high">117/136</td>
260
+ <td data-value="95.75" class="pct high">95.75%</td>
261
+ <td data-value="306" class="abs high">293/306</td>
262
+ <td data-value="84.32" class="pct high">84.32%</td>
263
+ <td data-value="134" class="abs high">113/134</td>
264
264
  <td data-value="95" class="pct high">95%</td>
265
265
  <td data-value="60" class="abs high">57/60</td>
266
- <td data-value="96.65" class="pct high">96.65%</td>
267
- <td data-value="299" class="abs high">289/299</td>
266
+ <td data-value="95.93" class="pct high">95.93%</td>
267
+ <td data-value="295" class="abs high">283/295</td>
268
268
  </tr>
269
269
 
270
270
  <tr>
@@ -299,47 +299,47 @@
299
299
 
300
300
  <tr>
301
301
  <td class="file high" data-value="middleware"><a href="middleware/index.html">middleware</a></td>
302
- <td data-value="82.39" class="pic high">
303
- <div class="chart"><div class="cover-fill" style="width: 82%"></div><div class="cover-empty" style="width: 18%"></div></div>
302
+ <td data-value="81.91" class="pic high">
303
+ <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
304
304
  </td>
305
- <td data-value="82.39" class="pct high">82.39%</td>
306
- <td data-value="267" class="abs high">220/267</td>
307
- <td data-value="70.94" class="pct medium">70.94%</td>
308
- <td data-value="179" class="abs medium">127/179</td>
309
- <td data-value="85.71" class="pct high">85.71%</td>
310
- <td data-value="35" class="abs high">30/35</td>
311
- <td data-value="83.33" class="pct high">83.33%</td>
312
- <td data-value="264" class="abs high">220/264</td>
305
+ <td data-value="81.91" class="pct high">81.91%</td>
306
+ <td data-value="271" class="abs high">222/271</td>
307
+ <td data-value="70.71" class="pct medium">70.71%</td>
308
+ <td data-value="181" class="abs medium">128/181</td>
309
+ <td data-value="86.11" class="pct high">86.11%</td>
310
+ <td data-value="36" class="abs high">31/36</td>
311
+ <td data-value="82.83" class="pct high">82.83%</td>
312
+ <td data-value="268" class="abs high">222/268</td>
313
313
  </tr>
314
314
 
315
315
  <tr>
316
316
  <td class="file high" data-value="threads"><a href="threads/index.html">threads</a></td>
317
- <td data-value="84.29" class="pic high">
317
+ <td data-value="84.35" class="pic high">
318
318
  <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
319
319
  </td>
320
- <td data-value="84.29" class="pct high">84.29%</td>
321
- <td data-value="261" class="abs high">220/261</td>
320
+ <td data-value="84.35" class="pct high">84.35%</td>
321
+ <td data-value="262" class="abs high">221/262</td>
322
322
  <td data-value="63.47" class="pct medium">63.47%</td>
323
323
  <td data-value="115" class="abs medium">73/115</td>
324
- <td data-value="91.89" class="pct high">91.89%</td>
325
- <td data-value="37" class="abs high">34/37</td>
326
- <td data-value="84.76" class="pct high">84.76%</td>
327
- <td data-value="256" class="abs high">217/256</td>
324
+ <td data-value="92.3" class="pct high">92.3%</td>
325
+ <td data-value="39" class="abs high">36/39</td>
326
+ <td data-value="84.82" class="pct high">84.82%</td>
327
+ <td data-value="257" class="abs high">218/257</td>
328
328
  </tr>
329
329
 
330
330
  <tr>
331
331
  <td class="file medium" data-value="utilities"><a href="utilities/index.html">utilities</a></td>
332
- <td data-value="71.25" class="pic medium">
333
- <div class="chart"><div class="cover-fill" style="width: 71%"></div><div class="cover-empty" style="width: 29%"></div></div>
332
+ <td data-value="72.83" class="pic medium">
333
+ <div class="chart"><div class="cover-fill" style="width: 72%"></div><div class="cover-empty" style="width: 28%"></div></div>
334
334
  </td>
335
- <td data-value="71.25" class="pct medium">71.25%</td>
336
- <td data-value="327" class="abs medium">233/327</td>
337
- <td data-value="53.43" class="pct medium">53.43%</td>
338
- <td data-value="131" class="abs medium">70/131</td>
339
- <td data-value="67.74" class="pct medium">67.74%</td>
340
- <td data-value="62" class="abs medium">42/62</td>
341
- <td data-value="70.93" class="pct medium">70.93%</td>
342
- <td data-value="320" class="abs medium">227/320</td>
335
+ <td data-value="72.83" class="pct medium">72.83%</td>
336
+ <td data-value="324" class="abs medium">236/324</td>
337
+ <td data-value="56.81" class="pct medium">56.81%</td>
338
+ <td data-value="132" class="abs medium">75/132</td>
339
+ <td data-value="68.85" class="pct medium">68.85%</td>
340
+ <td data-value="61" class="abs medium">42/61</td>
341
+ <td data-value="72.55" class="pct medium">72.55%</td>
342
+ <td data-value="317" class="abs medium">230/317</td>
343
343
  </tr>
344
344
 
345
345
  <tr>
@@ -374,17 +374,17 @@
374
374
 
375
375
  <tr>
376
376
  <td class="file medium" data-value="utilities/rowProcessor"><a href="utilities/rowProcessor/index.html">utilities/rowProcessor</a></td>
377
- <td data-value="58.78" class="pic medium">
378
- <div class="chart"><div class="cover-fill" style="width: 58%"></div><div class="cover-empty" style="width: 42%"></div></div>
377
+ <td data-value="59.06" class="pic medium">
378
+ <div class="chart"><div class="cover-fill" style="width: 59%"></div><div class="cover-empty" style="width: 41%"></div></div>
379
379
  </td>
380
- <td data-value="58.78" class="pct medium">58.78%</td>
381
- <td data-value="148" class="abs medium">87/148</td>
380
+ <td data-value="59.06" class="pct medium">59.06%</td>
381
+ <td data-value="149" class="abs medium">88/149</td>
382
382
  <td data-value="44.06" class="pct low">44.06%</td>
383
383
  <td data-value="118" class="abs low">52/118</td>
384
384
  <td data-value="52.38" class="pct medium">52.38%</td>
385
385
  <td data-value="21" class="abs medium">11/21</td>
386
- <td data-value="61.42" class="pct medium">61.42%</td>
387
- <td data-value="140" class="abs medium">86/140</td>
386
+ <td data-value="61.7" class="pct medium">61.7%</td>
387
+ <td data-value="141" class="abs medium">87/141</td>
388
388
  </tr>
389
389
 
390
390
  <tr>
@@ -410,7 +410,7 @@
410
410
  <div class='footer quiet pad2 space-top1 center small'>
411
411
  Code coverage generated by
412
412
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
413
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
413
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
414
414
  </div>
415
415
  </div>
416
416
  <script src="prettify.js"></script>
@@ -64,7 +64,7 @@
64
64
  <div class='footer quiet pad2 space-top1 center small'>
65
65
  Code coverage generated by
66
66
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
67
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
67
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
68
68
  </div>
69
69
  </div>
70
70
  <script src="../../prettify.js"></script>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
98
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../prettify.js"></script>
@@ -121,7 +121,7 @@ exports.middleware =
121
121
  <div class='footer quiet pad2 space-top1 center small'>
122
122
  Code coverage generated by
123
123
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
124
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
124
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
125
125
  </div>
126
126
  </div>
127
127
  <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">90.47% </span>
26
+ <span class="strong">90.9% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>38/42</span>
28
+ <span class='fraction'>40/44</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">92.68% </span>
47
+ <span class="strong">93.02% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>38/41</span>
49
+ <span class='fraction'>40/43</span>
50
50
  </div>
51
51
 
52
52
 
@@ -161,7 +161,9 @@
161
161
  <a name='L102'></a><a href='#L102'>102</a>
162
162
  <a name='L103'></a><a href='#L103'>103</a>
163
163
  <a name='L104'></a><a href='#L104'>104</a>
164
- <a name='L105'></a><a href='#L105'>105</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
165
167
  <span class="cline-any cline-neutral">&nbsp;</span>
166
168
  <span class="cline-any cline-neutral">&nbsp;</span>
167
169
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -173,6 +175,7 @@
173
175
  <span class="cline-any cline-yes">24x</span>
174
176
  <span class="cline-any cline-yes">24x</span>
175
177
  <span class="cline-any cline-yes">24x</span>
178
+ <span class="cline-any cline-yes">24x</span>
176
179
  <span class="cline-any cline-neutral">&nbsp;</span>
177
180
  <span class="cline-any cline-neutral">&nbsp;</span>
178
181
  <span class="cline-any cline-yes">155x</span>
@@ -188,10 +191,10 @@
188
191
  <span class="cline-any cline-neutral">&nbsp;</span>
189
192
  <span class="cline-any cline-yes">24x</span>
190
193
  <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-yes">129x</span>
192
- <span class="cline-any cline-yes">129x</span>
193
- <span class="cline-any cline-yes">129x</span>
194
- <span class="cline-any cline-yes">1x</span>
194
+ <span class="cline-any cline-yes">156x</span>
195
+ <span class="cline-any cline-yes">156x</span>
196
+ <span class="cline-any cline-yes">156x</span>
197
+ <span class="cline-any cline-yes">28x</span>
195
198
  <span class="cline-any cline-neutral">&nbsp;</span>
196
199
  <span class="cline-any cline-neutral">&nbsp;</span>
197
200
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -245,6 +248,7 @@
245
248
  <span class="cline-any cline-neutral">&nbsp;</span>
246
249
  <span class="cline-any cline-yes">160x</span>
247
250
  <span class="cline-any cline-yes">160x</span>
251
+ <span class="cline-any cline-yes">160x</span>
248
252
  <span class="cline-any cline-yes">55x</span>
249
253
  <span class="cline-any cline-neutral">&nbsp;</span>
250
254
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -256,11 +260,11 @@
256
260
  <span class="cline-any cline-neutral">&nbsp;</span>
257
261
  <span class="cline-any cline-neutral">&nbsp;</span>
258
262
  <span class="cline-any cline-yes">159x</span>
259
- <span class="cline-any cline-yes">30x</span>
263
+ <span class="cline-any cline-yes">3x</span>
260
264
  <span class="cline-any cline-neutral">&nbsp;</span>
261
265
  <span class="cline-any cline-neutral">&nbsp;</span>
262
266
  <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-yes">129x</span>
267
+ <span class="cline-any cline-yes">156x</span>
264
268
  <span class="cline-any cline-neutral">&nbsp;</span>
265
269
  <span class="cline-any cline-neutral">&nbsp;</span>
266
270
  <span class="cline-any cline-yes">129x</span>
@@ -277,6 +281,7 @@ const {
277
281
  const builderMiddleware = require("./builder")
278
282
  const { isWebhookEndpoint } = require("./utils")
279
283
  const { buildCsrfMiddleware } = require("@budibase/backend-core/auth")
284
+ const { getAppId } = require("@budibase/backend-core/context")
280
285
  &nbsp;
281
286
  function hasResource(ctx) {
282
287
  return ctx.resourceId != null
@@ -312,7 +317,7 @@ const checkAuthorizedResource = async (
312
317
  ) =&gt; {
313
318
  // get the user's roles
314
319
  const roleId = ctx.roleId || BUILTIN_ROLE_IDS.PUBLIC
315
- const userRoles = await getUserRoleHierarchy(ctx.appId, roleId, {
320
+ const userRoles = await getUserRoleHierarchy(roleId, {
316
321
  idOnly: false,
317
322
  })
318
323
  const permError = "User does not have permission"
@@ -348,8 +353,9 @@ module.exports =
348
353
  &nbsp;
349
354
  // get the resource roles
350
355
  let resourceRoles = []
351
- if (ctx.appId &amp;&amp; hasResource(ctx)) {
352
- resourceRoles = await getRequiredResourceRole(ctx.appId, permLevel, ctx)
356
+ const appId = getAppId()
357
+ if (appId &amp;&amp; hasResource(ctx)) {
358
+ resourceRoles = await getRequiredResourceRole(permLevel, ctx)
353
359
  }
354
360
  &nbsp;
355
361
  // if the resource is public, proceed
@@ -376,7 +382,7 @@ module.exports =
376
382
  <div class='footer quiet pad2 space-top1 center small'>
377
383
  Code coverage generated by
378
384
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
379
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
385
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
380
386
  </div>
381
387
  </div>
382
388
  <script src="../prettify.js"></script>
@@ -220,7 +220,7 @@ const {
220
220
  checkDebounce,
221
221
  setDebounce,
222
222
  } = require("../utilities/redis")
223
- const CouchDB = require("../db")
223
+ const { getDB } = require("@budibase/backend-core/db")
224
224
  const { DocumentTypes } = require("../db/utils")
225
225
  const { PermissionTypes } = require("@budibase/backend-core/permissions")
226
226
  const { app: appCache } = require("@budibase/backend-core/cache")
@@ -263,7 +263,7 @@ async function updateAppUpdatedAt(ctx) {
263
263
  <span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.method === "GET" || (await checkDebounce(appId))) {
264
264
  <span class="cstat-no" title="statement not covered" > return</span>
265
265
  }
266
- const db = new CouchDB(appId)
266
+ const db = getDB(appId)
267
267
  const metadata = await db.get(DocumentTypes.APP_METADATA)
268
268
  metadata.updatedAt = new Date().toISOString()
269
269
  const response = await db.put(metadata)
@@ -298,7 +298,7 @@ module.exports = async (ctx, permType) =&gt; {
298
298
  <div class='footer quiet pad2 space-top1 center small'>
299
299
  Code coverage generated by
300
300
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
301
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
301
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
302
302
  </div>
303
303
  </div>
304
304
  <script src="../prettify.js"></script>