@budibase/server 1.0.49-alpha.5 → 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 (311) hide show
  1. package/builder/assets/{index.8f94a789.js → index.1b905242.js} +1 -1
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +1917 -1929
  4. package/coverage/coverage-final.json +54 -54
  5. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/application.js.html +58 -37
  8. package/coverage/lcov-report/api/controllers/auth.js.html +11 -14
  9. package/coverage/lcov-report/api/controllers/automation.js.html +21 -51
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +8 -11
  12. package/coverage/lcov-report/api/controllers/component.js.html +10 -13
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +17 -23
  14. package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
  15. package/coverage/lcov-report/api/controllers/index.html +52 -52
  16. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/layout.js.html +4 -4
  18. package/coverage/lcov-report/api/controllers/metadata.js.html +6 -21
  19. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +6 -6
  21. package/coverage/lcov-report/api/controllers/query/index.html +10 -10
  22. package/coverage/lcov-report/api/controllers/query/index.js.html +21 -18
  23. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  25. package/coverage/lcov-report/api/controllers/routing.js.html +7 -10
  26. package/coverage/lcov-report/api/controllers/row/external.js.html +6 -12
  27. package/coverage/lcov-report/api/controllers/row/index.html +22 -22
  28. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +37 -82
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +19 -25
  31. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +14 -17
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +15 -12
  33. package/coverage/lcov-report/api/controllers/screen.js.html +10 -16
  34. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +20 -50
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +15 -24
  37. package/coverage/lcov-report/api/controllers/table/index.html +37 -37
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +7 -7
  39. package/coverage/lcov-report/api/controllers/table/internal.js.html +36 -45
  40. package/coverage/lcov-report/api/controllers/table/utils.js.html +40 -76
  41. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/user.js.html +26 -35
  43. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/index.html +16 -16
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +15 -21
  46. package/coverage/lcov-report/api/controllers/view/utils.js.html +25 -10
  47. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/webhook.js.html +21 -15
  49. package/coverage/lcov-report/api/index.html +1 -1
  50. package/coverage/lcov-report/api/index.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/index.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  81. package/coverage/lcov-report/automations/actions.js.html +1 -1
  82. package/coverage/lcov-report/automations/automationUtils.js.html +4 -7
  83. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  84. package/coverage/lcov-report/automations/index.html +18 -18
  85. package/coverage/lcov-report/automations/index.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/createRow.js.html +2 -5
  88. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/index.html +1 -1
  95. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/updateRow.js.html +2 -2
  102. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggers.js.html +46 -40
  113. package/coverage/lcov-report/automations/utils.js.html +24 -12
  114. package/coverage/lcov-report/constants/index.html +1 -1
  115. package/coverage/lcov-report/constants/index.js.html +1 -1
  116. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  117. package/coverage/lcov-report/constants/screens.js.html +1 -1
  118. package/coverage/lcov-report/db/client.js.html +18 -18
  119. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  120. package/coverage/lcov-report/db/index.html +1 -1
  121. package/coverage/lcov-report/db/index.js.html +3 -3
  122. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +11 -23
  123. package/coverage/lcov-report/db/linkedRows/index.html +27 -27
  124. package/coverage/lcov-report/db/linkedRows/index.js.html +24 -66
  125. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +28 -28
  126. package/coverage/lcov-report/db/newid.js.html +1 -1
  127. package/coverage/lcov-report/db/utils.js.html +5 -5
  128. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  129. package/coverage/lcov-report/events/index.html +1 -1
  130. package/coverage/lcov-report/events/index.js.html +1 -1
  131. package/coverage/lcov-report/events/utils.js.html +1 -1
  132. package/coverage/lcov-report/index.html +88 -88
  133. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  134. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  135. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  136. package/coverage/lcov-report/middleware/authorized.js.html +21 -15
  137. package/coverage/lcov-report/middleware/builder.js.html +3 -3
  138. package/coverage/lcov-report/middleware/currentapp.js.html +72 -60
  139. package/coverage/lcov-report/middleware/index.html +28 -28
  140. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  141. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  142. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  143. package/coverage/lcov-report/middleware/usageQuota.js.html +29 -29
  144. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  145. package/coverage/lcov-report/threads/automation.js.html +30 -24
  146. package/coverage/lcov-report/threads/index.html +16 -16
  147. package/coverage/lcov-report/threads/index.js.html +1 -1
  148. package/coverage/lcov-report/threads/query.js.html +17 -17
  149. package/coverage/lcov-report/threads/utils.js.html +1 -1
  150. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  151. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  152. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  153. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  154. package/coverage/lcov-report/utilities/global.js.html +44 -35
  155. package/coverage/lcov-report/utilities/index.html +27 -27
  156. package/coverage/lcov-report/utilities/index.js.html +40 -70
  157. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  158. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  159. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  160. package/coverage/lcov-report/utilities/routing/index.js.html +7 -7
  161. package/coverage/lcov-report/utilities/rowProcessor/index.html +11 -11
  162. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +16 -58
  163. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  164. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  165. package/coverage/lcov-report/utilities/security.js.html +1 -1
  166. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  167. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  168. package/coverage/lcov-report/utilities/usageQuota/index.js.html +5 -2
  169. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +5 -2
  170. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  171. package/coverage/lcov-report/utilities/users.js.html +5 -5
  172. package/coverage/lcov-report/utilities/workerRequests.js.html +5 -5
  173. package/coverage/lcov.info +3189 -3198
  174. package/dist/api/controllers/application.js +31 -28
  175. package/dist/api/controllers/auth.js +4 -5
  176. package/dist/api/controllers/automation.js +14 -19
  177. package/dist/api/controllers/cloud.js +2 -3
  178. package/dist/api/controllers/component.js +3 -4
  179. package/dist/api/controllers/datasource.js +9 -10
  180. package/dist/api/controllers/deploy/Deployment.js +3 -6
  181. package/dist/api/controllers/deploy/index.js +12 -13
  182. package/dist/api/controllers/dev.js +5 -5
  183. package/dist/api/controllers/layout.js +3 -3
  184. package/dist/api/controllers/metadata.js +4 -4
  185. package/dist/api/controllers/permission.js +4 -4
  186. package/dist/api/controllers/query/import/index.js +4 -6
  187. package/dist/api/controllers/query/index.js +11 -10
  188. package/dist/api/controllers/role.js +5 -5
  189. package/dist/api/controllers/routing.js +5 -6
  190. package/dist/api/controllers/row/ExternalRequest.js +76 -63
  191. package/dist/api/controllers/row/external.js +4 -4
  192. package/dist/api/controllers/row/internal.js +29 -44
  193. package/dist/api/controllers/row/internalSearch.js +11 -13
  194. package/dist/api/controllers/row/staticFormula.js +11 -11
  195. package/dist/api/controllers/row/utils.js +7 -6
  196. package/dist/api/controllers/screen.js +5 -7
  197. package/dist/api/controllers/static/index.js +4 -4
  198. package/dist/api/controllers/table/bulkFormula.js +14 -15
  199. package/dist/api/controllers/table/external.js +7 -10
  200. package/dist/api/controllers/table/index.js +5 -5
  201. package/dist/api/controllers/table/internal.js +16 -19
  202. package/dist/api/controllers/table/utils.js +29 -31
  203. package/dist/api/controllers/user.js +16 -20
  204. package/dist/api/controllers/view/index.js +8 -10
  205. package/dist/api/controllers/view/utils.js +9 -4
  206. package/dist/api/controllers/webhook.js +10 -8
  207. package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
  208. package/dist/automations/automationUtils.js +2 -3
  209. package/dist/automations/steps/createRow.js +1 -1
  210. package/dist/automations/steps/updateRow.js +1 -1
  211. package/dist/automations/triggers.js +27 -25
  212. package/dist/automations/utils.js +10 -5
  213. package/dist/db/linkedRows/LinkController.js +3 -7
  214. package/dist/db/linkedRows/index.js +16 -26
  215. package/dist/db/linkedRows/linkUtils.js +6 -6
  216. package/dist/db/views/staticViews.js +9 -10
  217. package/dist/environment.js +2 -1
  218. package/dist/integrations/utils.js +3 -0
  219. package/dist/middleware/authorized.js +5 -3
  220. package/dist/middleware/builder.js +2 -2
  221. package/dist/middleware/currentapp.js +41 -37
  222. package/dist/middleware/usageQuota.js +2 -2
  223. package/dist/migrations/functions/usageQuotas/syncApps.js +7 -9
  224. package/dist/migrations/functions/usageQuotas/syncRows.js +7 -9
  225. package/dist/package.json +4 -4
  226. package/dist/tests/utilities/TestConfiguration.js +67 -44
  227. package/dist/threads/automation.js +13 -11
  228. package/dist/threads/query.js +11 -11
  229. package/dist/tsconfig.tsbuildinfo +1 -1
  230. package/dist/utilities/fileSystem/index.js +4 -3
  231. package/dist/utilities/global.js +15 -12
  232. package/dist/utilities/index.js +7 -17
  233. package/dist/utilities/routing/index.js +5 -5
  234. package/dist/utilities/rowProcessor/index.js +9 -10
  235. package/dist/utilities/usageQuota/index.js +1 -0
  236. package/dist/utilities/usageQuota/rows.js +1 -0
  237. package/dist/utilities/users.js +3 -3
  238. package/dist/utilities/workerRequests.js +4 -4
  239. package/package.json +5 -5
  240. package/src/api/controllers/application.js +35 -28
  241. package/src/api/controllers/auth.js +4 -5
  242. package/src/api/controllers/automation.js +13 -23
  243. package/src/api/controllers/cloud.js +2 -3
  244. package/src/api/controllers/component.js +3 -4
  245. package/src/api/controllers/datasource.js +9 -11
  246. package/src/api/controllers/deploy/Deployment.js +3 -7
  247. package/src/api/controllers/deploy/index.js +20 -13
  248. package/src/api/controllers/dev.js +5 -5
  249. package/src/api/controllers/layout.js +3 -3
  250. package/src/api/controllers/metadata.js +4 -9
  251. package/src/api/controllers/permission.js +4 -4
  252. package/src/api/controllers/query/import/index.ts +4 -6
  253. package/src/api/controllers/query/import/tests/index.spec.js +2 -1
  254. package/src/api/controllers/query/index.js +11 -10
  255. package/src/api/controllers/role.js +5 -5
  256. package/src/api/controllers/routing.js +5 -6
  257. package/src/api/controllers/row/ExternalRequest.ts +53 -42
  258. package/src/api/controllers/row/external.js +4 -6
  259. package/src/api/controllers/row/internal.js +29 -44
  260. package/src/api/controllers/row/internalSearch.js +11 -13
  261. package/src/api/controllers/row/staticFormula.js +10 -11
  262. package/src/api/controllers/row/utils.js +7 -6
  263. package/src/api/controllers/screen.js +5 -7
  264. package/src/api/controllers/static/index.js +4 -4
  265. package/src/api/controllers/table/bulkFormula.js +13 -23
  266. package/src/api/controllers/table/external.js +7 -10
  267. package/src/api/controllers/table/index.js +5 -5
  268. package/src/api/controllers/table/internal.js +18 -21
  269. package/src/api/controllers/table/utils.js +29 -41
  270. package/src/api/controllers/user.js +17 -20
  271. package/src/api/controllers/view/index.js +8 -10
  272. package/src/api/controllers/view/utils.js +9 -4
  273. package/src/api/controllers/webhook.js +10 -8
  274. package/src/api/routes/tests/automation.spec.js +1 -0
  275. package/src/api/routes/tests/misc.spec.js +0 -1
  276. package/src/api/routes/tests/routing.spec.js +21 -12
  277. package/src/api/routes/tests/row.spec.js +7 -4
  278. package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
  279. package/src/automations/automationUtils.js +2 -3
  280. package/src/automations/steps/createRow.js +0 -1
  281. package/src/automations/steps/updateRow.js +1 -1
  282. package/src/automations/triggers.js +33 -31
  283. package/src/automations/utils.js +9 -5
  284. package/src/db/linkedRows/LinkController.js +3 -7
  285. package/src/db/linkedRows/index.js +16 -30
  286. package/src/db/linkedRows/linkUtils.js +6 -6
  287. package/src/db/tests/linkController.spec.js +0 -1
  288. package/src/db/tests/linkTests.spec.js +5 -6
  289. package/src/db/views/staticViews.js +8 -10
  290. package/src/environment.js +2 -1
  291. package/src/integrations/utils.ts +4 -1
  292. package/src/middleware/authorized.js +5 -3
  293. package/src/middleware/builder.js +2 -2
  294. package/src/middleware/currentapp.js +50 -46
  295. package/src/middleware/tests/authorized.spec.js +7 -2
  296. package/src/middleware/tests/currentapp.spec.js +6 -0
  297. package/src/middleware/usageQuota.js +2 -2
  298. package/src/migrations/functions/usageQuotas/syncApps.ts +5 -4
  299. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  300. package/src/tests/utilities/TestConfiguration.js +69 -50
  301. package/src/threads/automation.js +17 -15
  302. package/src/threads/query.js +12 -12
  303. package/src/utilities/fileSystem/index.js +4 -3
  304. package/src/utilities/global.js +15 -12
  305. package/src/utilities/index.js +7 -17
  306. package/src/utilities/routing/index.js +5 -5
  307. package/src/utilities/rowProcessor/index.js +9 -23
  308. package/src/utilities/usageQuota/index.js +1 -0
  309. package/src/utilities/usageQuota/rows.js +1 -0
  310. package/src/utilities/users.js +3 -3
  311. package/src/utilities/workerRequests.js +4 -4
@@ -91,7 +91,7 @@ exports.exportAppDump = async function (ctx) {
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
94
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
94
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  </div>
97
97
  <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">19.64% </span>
26
+ <span class="strong">18.18% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>11/56</span>
28
+ <span class='fraction'>10/55</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">20% </span>
47
+ <span class="strong">18.51% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>11/55</span>
49
+ <span class='fraction'>10/54</span>
50
50
  </div>
51
51
 
52
52
 
@@ -170,9 +170,7 @@
170
170
  <a name='L111'></a><a href='#L111'>111</a>
171
171
  <a name='L112'></a><a href='#L112'>112</a>
172
172
  <a name='L113'></a><a href='#L113'>113</a>
173
- <a name='L114'></a><a href='#L114'>114</a>
174
- <a name='L115'></a><a href='#L115'>115</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
175
- <span class="cline-any cline-yes">23x</span>
173
+ <a name='L114'></a><a href='#L114'>114</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
176
174
  <span class="cline-any cline-yes">23x</span>
177
175
  <span class="cline-any cline-neutral">&nbsp;</span>
178
176
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -287,7 +285,6 @@
287
285
  <span class="cline-any cline-neutral">&nbsp;</span>
288
286
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const env = require("../../environment")
289
287
  const { getAllApps } = require("@budibase/backend-core/db")
290
- const CouchDB = require("../../db")
291
288
  const {
292
289
  exportDB,
293
290
  sendTempFile,
@@ -317,7 +314,7 @@ exports.exportApps = <span class="fstat-no" title="function not covered" >as</sp
317
314
  <span class="cstat-no" title="statement not covered" > if (env.SELF_HOSTED || !env.MULTI_TENANCY) {</span>
318
315
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Exporting only allowed in multi-tenant cloud environments.")</span>
319
316
  }
320
- const apps = <span class="cstat-no" title="statement not covered" >await getAllApps(CouchDB, { all: true })</span>
317
+ const apps = <span class="cstat-no" title="statement not covered" >await getAllApps({ all: true })</span>
321
318
  const globalDBString = <span class="cstat-no" title="statement not covered" >await exportDB(getGlobalDBName(), {</span>
322
319
  filter: <span class="fstat-no" title="function not covered" >do</span>c =&gt; <span class="cstat-no" title="statement not covered" >!doc._id.startsWith(DocumentTypes.USER),</span>
323
320
  })
@@ -350,7 +347,7 @@ async function <span class="fstat-no" title="function not covered" >hasBeenImpor
350
347
  <span class="cstat-no" title="statement not covered" > if (!env.SELF_HOSTED || env.MULTI_TENANCY) {</span>
351
348
  <span class="cstat-no" title="statement not covered" > return true</span>
352
349
  }
353
- const apps = <span class="cstat-no" title="statement not covered" >await getAllApps(CouchDB, { all: true })</span>
350
+ const apps = <span class="cstat-no" title="statement not covered" >await getAllApps({ all: true })</span>
354
351
  <span class="cstat-no" title="statement not covered" > return apps.length !== 0</span>
355
352
  }
356
353
  &nbsp;
@@ -406,7 +403,7 @@ exports.importApps = <span class="fstat-no" title="function not covered" >as</sp
406
403
  <div class='footer quiet pad2 space-top1 center small'>
407
404
  Code coverage generated by
408
405
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
409
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
406
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
410
407
  </div>
411
408
  </div>
412
409
  <script src="../../prettify.js"></script>
@@ -25,14 +25,14 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>18/18</span>
28
+ <span class='fraction'>17/17</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">75% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>3/4</span>
35
+ <span class='fraction'>2/2</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>18/18</span>
49
+ <span class='fraction'>17/17</span>
50
50
  </div>
51
51
 
52
52
 
@@ -91,15 +91,13 @@
91
91
  <a name='L32'></a><a href='#L32'>32</a>
92
92
  <a name='L33'></a><a href='#L33'>33</a>
93
93
  <a name='L34'></a><a href='#L34'>34</a>
94
- <a name='L35'></a><a href='#L35'>35</a>
95
- <a name='L36'></a><a href='#L36'>36</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
94
+ <a name='L35'></a><a href='#L35'>35</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
96
95
  <span class="cline-any cline-yes">23x</span>
97
96
  <span class="cline-any cline-yes">23x</span>
98
97
  <span class="cline-any cline-neutral">&nbsp;</span>
99
98
  <span class="cline-any cline-yes">23x</span>
100
99
  <span class="cline-any cline-yes">1x</span>
101
100
  <span class="cline-any cline-yes">1x</span>
102
- <span class="cline-any cline-yes">1x</span>
103
101
  <span class="cline-any cline-neutral">&nbsp;</span>
104
102
  <span class="cline-any cline-yes">1x</span>
105
103
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -127,18 +125,17 @@
127
125
  <span class="cline-any cline-neutral">&nbsp;</span>
128
126
  <span class="cline-any cline-yes">1x</span>
129
127
  <span class="cline-any cline-neutral">&nbsp;</span>
130
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
131
- const { DocumentTypes } = require("../../db/utils")
128
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { DocumentTypes } = require("../../db/utils")
132
129
  const { getComponentLibraryManifest } = require("../../utilities/fileSystem")
130
+ const { getAppDB } = require("@budibase/backend-core/context")
133
131
  &nbsp;
134
132
  exports.fetchAppComponentDefinitions = async function (ctx) {
135
- const appId = ctx.params.appId || <span class="branch-1 cbranch-no" title="branch not covered" >ctx.appId</span>
136
- const db = new CouchDB(appId)
133
+ const db = getAppDB()
137
134
  const app = await db.get(DocumentTypes.APP_METADATA)
138
135
  &nbsp;
139
136
  let componentManifests = await Promise.all(
140
137
  app.componentLibraries.map(async library =&gt; {
141
- let manifest = await getComponentLibraryManifest(appId, library)
138
+ let manifest = await getComponentLibraryManifest(library)
142
139
  &nbsp;
143
140
  return {
144
141
  manifest,
@@ -169,7 +166,7 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
169
166
  <div class='footer quiet pad2 space-top1 center small'>
170
167
  Code coverage generated by
171
168
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
172
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
169
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
173
170
  </div>
174
171
  </div>
175
172
  <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">60% </span>
26
+ <span class="strong">59.68% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>78/130</span>
28
+ <span class='fraction'>77/129</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">59.68% </span>
47
+ <span class="strong">59.37% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>77/129</span>
49
+ <span class='fraction'>76/128</span>
50
50
  </div>
51
51
 
52
52
 
@@ -316,10 +316,7 @@
316
316
  <a name='L257'></a><a href='#L257'>257</a>
317
317
  <a name='L258'></a><a href='#L258'>258</a>
318
318
  <a name='L259'></a><a href='#L259'>259</a>
319
- <a name='L260'></a><a href='#L260'>260</a>
320
- <a name='L261'></a><a href='#L261'>261</a>
321
- <a name='L262'></a><a href='#L262'>262</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <a name='L260'></a><a href='#L260'>260</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
323
320
  <span class="cline-any cline-neutral">&nbsp;</span>
324
321
  <span class="cline-any cline-neutral">&nbsp;</span>
325
322
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -331,10 +328,9 @@
331
328
  <span class="cline-any cline-yes">39x</span>
332
329
  <span class="cline-any cline-yes">39x</span>
333
330
  <span class="cline-any cline-yes">39x</span>
334
- <span class="cline-any cline-neutral">&nbsp;</span>
335
331
  <span class="cline-any cline-yes">39x</span>
336
- <span class="cline-any cline-yes">2x</span>
337
332
  <span class="cline-any cline-neutral">&nbsp;</span>
333
+ <span class="cline-any cline-yes">39x</span>
338
334
  <span class="cline-any cline-neutral">&nbsp;</span>
339
335
  <span class="cline-any cline-yes">2x</span>
340
336
  <span class="cline-any cline-yes">2x</span>
@@ -579,8 +575,7 @@
579
575
  <span class="cline-any cline-neutral">&nbsp;</span>
580
576
  <span class="cline-any cline-no">&nbsp;</span>
581
577
  <span class="cline-any cline-neutral">&nbsp;</span>
582
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
583
- const {
578
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
584
579
  generateDatasourceID,
585
580
  getDatasourceParams,
586
581
  getQueryParams,
@@ -592,12 +587,11 @@ const { BuildSchemaErrors, InvalidColumns } = require("../../constants")
592
587
  const { integrations } = require("../../integrations")
593
588
  const { getDatasourceAndQuery } = require("./row/utils")
594
589
  const { invalidateDynamicVariables } = require("../../threads/utils")
590
+ const { getAppDB } = require("@budibase/backend-core/context")
595
591
  &nbsp;
596
592
  exports.fetch = async function (ctx) {
597
- const database = new CouchDB(ctx.appId)
598
- &nbsp;
599
593
  // Get internal tables
600
- const db = new CouchDB(ctx.appId)
594
+ const db = getAppDB()
601
595
  const internalTables = await db.allDocs(
602
596
  getTableParams(null, {
603
597
  include_docs: true,
@@ -612,7 +606,7 @@ exports.fetch = async function (ctx) {
612
606
  &nbsp;
613
607
  // Get external datasources
614
608
  const datasources = (
615
- await database.allDocs(
609
+ await db.allDocs(
616
610
  getDatasourceParams(null, {
617
611
  include_docs: true,
618
612
  })
@@ -630,7 +624,7 @@ exports.fetch = async function (ctx) {
630
624
  }
631
625
  &nbsp;
632
626
  exports.buildSchemaFromDb = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
633
- const db = <span class="cstat-no" title="statement not covered" >new CouchDB(ctx.appId)</span>
627
+ const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
634
628
  const datasource = <span class="cstat-no" title="statement not covered" >await db.get(ctx.params.datasourceId)</span>
635
629
  &nbsp;
636
630
  const { tables, error } = <span class="cstat-no" title="statement not covered" >await buildSchemaHelper(datasource)</span>
@@ -679,7 +673,7 @@ const invalidateVariables = async (existingDatasource, updatedDatasource) =&gt;
679
673
  }
680
674
  &nbsp;
681
675
  exports.update = async function (ctx) {
682
- const db = new CouchDB(ctx.appId)
676
+ const db = getAppDB()
683
677
  const datasourceId = ctx.params.datasourceId
684
678
  let datasource = await db.get(datasourceId)
685
679
  const auth = datasource.config.auth
@@ -707,7 +701,7 @@ exports.update = async function (ctx) {
707
701
  }
708
702
  &nbsp;
709
703
  exports.save = async function (ctx) {
710
- const db = new CouchDB(ctx.appId)
704
+ const db = getAppDB()
711
705
  const plus = ctx.request.body.datasource.plus
712
706
  const fetchSchema = ctx.request.body.fetchSchema
713
707
  &nbsp;
@@ -743,7 +737,7 @@ exports.save = async function (ctx) {
743
737
  }
744
738
  &nbsp;
745
739
  exports.destroy = async function (ctx) {
746
- const db = new CouchDB(ctx.appId)
740
+ const db = getAppDB()
747
741
  &nbsp;
748
742
  // Delete all queries for the datasource
749
743
  const queries = await db.allDocs(
@@ -765,7 +759,7 @@ exports.destroy = async function (ctx) {
765
759
  }
766
760
  &nbsp;
767
761
  exports.find = async function (ctx) {
768
- const database = new CouchDB(ctx.appId)
762
+ const database = getAppDB()
769
763
  ctx.body = await database.get(ctx.params.datasourceId)
770
764
  }
771
765
  &nbsp;
@@ -773,7 +767,7 @@ exports.find = async function (ctx) {
773
767
  exports.query = async function (ctx) {
774
768
  const queryJson = ctx.request.body
775
769
  try {
776
- ctx.body = await getDatasourceAndQuery(ctx.appId, queryJson)
770
+ ctx.body = await getDatasourceAndQuery(queryJson)
777
771
  } catch (err) {
778
772
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, err)</span>
779
773
  }
@@ -847,7 +841,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
847
841
  <div class='footer quiet pad2 space-top1 center small'>
848
842
  Code coverage generated by
849
843
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
850
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
844
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
851
845
  </div>
852
846
  </div>
853
847
  <script src="../../prettify.js"></script>
@@ -302,14 +302,14 @@
302
302
  <span class="cline-any cline-no">&nbsp;</span>
303
303
  <span class="cline-any cline-neutral">&nbsp;</span>
304
304
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const fetch = require("node-fetch")
305
- const CouchDB = require("../../db")
306
305
  const env = require("../../environment")
307
306
  const { checkSlashesInUrl } = require("../../utilities")
308
307
  const { request } = require("../../utilities/workerRequests")
309
308
  const { clearLock } = require("../../utilities/redis")
310
- const { Replication } = require("@budibase/backend-core/db")
309
+ const { Replication, getProdAppID } = require("@budibase/backend-core/db")
311
310
  const { DocumentTypes } = require("../../db/utils")
312
311
  const { app: appCache } = require("@budibase/backend-core/cache")
312
+ const { getProdAppDB, getAppDB } = require("@budibase/backend-core/context")
313
313
  &nbsp;
314
314
  async function <span class="fstat-no" title="function not covered" >redirect(</span>ctx, method, path = <span class="branch-0 cbranch-no" title="branch not covered" >"global")</span> {
315
315
  const { devPath } = <span class="cstat-no" title="statement not covered" >ctx.params</span>
@@ -380,11 +380,11 @@ exports.clearLock = <span class="fstat-no" title="function not covered" >as</spa
380
380
  &nbsp;
381
381
  exports.revert = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
382
382
  const { appId } = <span class="cstat-no" title="statement not covered" >ctx.params</span>
383
- const productionAppId = <span class="cstat-no" title="statement not covered" >appId.replace("_dev", "")</span>
383
+ const productionAppId = <span class="cstat-no" title="statement not covered" >getProdAppID(appId)</span>
384
384
  &nbsp;
385
385
  // App must have been deployed first
386
386
  <span class="cstat-no" title="statement not covered" > try {</span>
387
- const db = <span class="cstat-no" title="statement not covered" >new CouchDB(productionAppId, { skip_setup: true })</span>
387
+ const db = <span class="cstat-no" title="statement not covered" >getProdAppDB({ skip_setup: true })</span>
388
388
  const info = <span class="cstat-no" title="statement not covered" >await db.info()</span>
389
389
  <span class="cstat-no" title="statement not covered" > if (info.error) <span class="cstat-no" title="statement not covered" >throw info.error</span></span>
390
390
  const deploymentDoc = <span class="cstat-no" title="statement not covered" >await db.get(DocumentTypes.DEPLOYMENTS)</span>
@@ -406,7 +406,7 @@ exports.revert = <span class="fstat-no" title="function not covered" >as</span>y
406
406
  &nbsp;
407
407
  <span class="cstat-no" title="statement not covered" > await replication.rollback()</span>
408
408
  // update appID in reverted app to be dev version again
409
- const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
409
+ const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
410
410
  const appDoc = <span class="cstat-no" title="statement not covered" >await db.get(DocumentTypes.APP_METADATA)</span>
411
411
  <span class="cstat-no" title="statement not covered" > appDoc.appId = appId</span>
412
412
  <span class="cstat-no" title="statement not covered" > appDoc.instance._id = appId</span>
@@ -430,7 +430,7 @@ exports.getBudibaseVersion = <span class="fstat-no" title="function not covered"
430
430
  <div class='footer quiet pad2 space-top1 center small'>
431
431
  Code coverage generated by
432
432
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
433
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
433
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
434
434
  </div>
435
435
  </div>
436
436
  <script src="../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">70.75% </span>
26
+ <span class="strong">70.7% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>791/1118</span>
28
+ <span class='fraction'>787/1113</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">46.04% </span>
33
+ <span class="strong">46.02% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>169/367</span>
35
+ <span class='fraction'>168/365</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">70.84% </span>
47
+ <span class="strong">70.8% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>780/1101</span>
49
+ <span class='fraction'>776/1096</span>
50
50
  </div>
51
51
 
52
52
 
@@ -104,47 +104,47 @@
104
104
 
105
105
  <tr>
106
106
  <td class="file medium" data-value="application.js"><a href="application.js.html">application.js</a></td>
107
- <td data-value="79.51" class="pic medium">
107
+ <td data-value="79.71" class="pic medium">
108
108
  <div class="chart"><div class="cover-fill" style="width: 79%"></div><div class="cover-empty" style="width: 21%"></div></div>
109
109
  </td>
110
- <td data-value="79.51" class="pct medium">79.51%</td>
111
- <td data-value="205" class="abs medium">163/205</td>
110
+ <td data-value="79.71" class="pct medium">79.71%</td>
111
+ <td data-value="207" class="abs medium">165/207</td>
112
112
  <td data-value="55.12" class="pct medium">55.12%</td>
113
113
  <td data-value="78" class="abs medium">43/78</td>
114
114
  <td data-value="88.46" class="pct high">88.46%</td>
115
115
  <td data-value="26" class="abs high">23/26</td>
116
- <td data-value="79.89" class="pct medium">79.89%</td>
117
- <td data-value="199" class="abs medium">159/199</td>
116
+ <td data-value="80.09" class="pct high">80.09%</td>
117
+ <td data-value="201" class="abs high">161/201</td>
118
118
  </tr>
119
119
 
120
120
  <tr>
121
121
  <td class="file high" data-value="auth.js"><a href="auth.js.html">auth.js</a></td>
122
- <td data-value="82.75" class="pic high">
122
+ <td data-value="82.14" class="pic high">
123
123
  <div class="chart"><div class="cover-fill" style="width: 82%"></div><div class="cover-empty" style="width: 18%"></div></div>
124
124
  </td>
125
- <td data-value="82.75" class="pct high">82.75%</td>
126
- <td data-value="29" class="abs high">24/29</td>
125
+ <td data-value="82.14" class="pct high">82.14%</td>
126
+ <td data-value="28" class="abs high">23/28</td>
127
127
  <td data-value="50" class="pct medium">50%</td>
128
128
  <td data-value="8" class="abs medium">4/8</td>
129
129
  <td data-value="100" class="pct high">100%</td>
130
130
  <td data-value="1" class="abs high">1/1</td>
131
- <td data-value="82.75" class="pct high">82.75%</td>
132
- <td data-value="29" class="abs high">24/29</td>
131
+ <td data-value="82.14" class="pct high">82.14%</td>
132
+ <td data-value="28" class="abs high">23/28</td>
133
133
  </tr>
134
134
 
135
135
  <tr>
136
136
  <td class="file high" data-value="automation.js"><a href="automation.js.html">automation.js</a></td>
137
- <td data-value="89.69" class="pic high">
138
- <div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
137
+ <td data-value="90.52" class="pic high">
138
+ <div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
139
139
  </td>
140
- <td data-value="89.69" class="pct high">89.69%</td>
141
- <td data-value="97" class="abs high">87/97</td>
140
+ <td data-value="90.52" class="pct high">90.52%</td>
141
+ <td data-value="95" class="abs high">86/95</td>
142
142
  <td data-value="71.87" class="pct medium">71.87%</td>
143
143
  <td data-value="32" class="abs medium">23/32</td>
144
144
  <td data-value="92.85" class="pct high">92.85%</td>
145
145
  <td data-value="14" class="abs high">13/14</td>
146
- <td data-value="89.58" class="pct high">89.58%</td>
147
- <td data-value="96" class="abs high">86/96</td>
146
+ <td data-value="90.42" class="pct high">90.42%</td>
147
+ <td data-value="94" class="abs high">85/94</td>
148
148
  </tr>
149
149
 
150
150
  <tr>
@@ -164,17 +164,17 @@
164
164
 
165
165
  <tr>
166
166
  <td class="file low" data-value="cloud.js"><a href="cloud.js.html">cloud.js</a></td>
167
- <td data-value="19.64" class="pic low">
168
- <div class="chart"><div class="cover-fill" style="width: 19%"></div><div class="cover-empty" style="width: 81%"></div></div>
167
+ <td data-value="18.18" class="pic low">
168
+ <div class="chart"><div class="cover-fill" style="width: 18%"></div><div class="cover-empty" style="width: 82%"></div></div>
169
169
  </td>
170
- <td data-value="19.64" class="pct low">19.64%</td>
171
- <td data-value="56" class="abs low">11/56</td>
170
+ <td data-value="18.18" class="pct low">18.18%</td>
171
+ <td data-value="55" class="abs low">10/55</td>
172
172
  <td data-value="0" class="pct low">0%</td>
173
173
  <td data-value="23" class="abs low">0/23</td>
174
174
  <td data-value="0" class="pct low">0%</td>
175
175
  <td data-value="8" class="abs low">0/8</td>
176
- <td data-value="20" class="pct low">20%</td>
177
- <td data-value="55" class="abs low">11/55</td>
176
+ <td data-value="18.51" class="pct low">18.51%</td>
177
+ <td data-value="54" class="abs low">10/54</td>
178
178
  </tr>
179
179
 
180
180
  <tr>
@@ -183,28 +183,28 @@
183
183
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
184
184
  </td>
185
185
  <td data-value="100" class="pct high">100%</td>
186
- <td data-value="18" class="abs high">18/18</td>
187
- <td data-value="75" class="pct medium">75%</td>
188
- <td data-value="4" class="abs medium">3/4</td>
186
+ <td data-value="17" class="abs high">17/17</td>
187
+ <td data-value="100" class="pct high">100%</td>
188
+ <td data-value="2" class="abs high">2/2</td>
189
189
  <td data-value="100" class="pct high">100%</td>
190
190
  <td data-value="2" class="abs high">2/2</td>
191
191
  <td data-value="100" class="pct high">100%</td>
192
- <td data-value="18" class="abs high">18/18</td>
192
+ <td data-value="17" class="abs high">17/17</td>
193
193
  </tr>
194
194
 
195
195
  <tr>
196
196
  <td class="file medium" data-value="datasource.js"><a href="datasource.js.html">datasource.js</a></td>
197
- <td data-value="60" class="pic medium">
198
- <div class="chart"><div class="cover-fill" style="width: 60%"></div><div class="cover-empty" style="width: 40%"></div></div>
197
+ <td data-value="59.68" class="pic medium">
198
+ <div class="chart"><div class="cover-fill" style="width: 59%"></div><div class="cover-empty" style="width: 41%"></div></div>
199
199
  </td>
200
- <td data-value="60" class="pct medium">60%</td>
201
- <td data-value="130" class="abs medium">78/130</td>
200
+ <td data-value="59.68" class="pct medium">59.68%</td>
201
+ <td data-value="129" class="abs medium">77/129</td>
202
202
  <td data-value="37.73" class="pct low">37.73%</td>
203
203
  <td data-value="53" class="abs low">20/53</td>
204
204
  <td data-value="57.89" class="pct medium">57.89%</td>
205
205
  <td data-value="19" class="abs medium">11/19</td>
206
- <td data-value="59.68" class="pct medium">59.68%</td>
207
- <td data-value="129" class="abs medium">77/129</td>
206
+ <td data-value="59.37" class="pct medium">59.37%</td>
207
+ <td data-value="128" class="abs medium">76/128</td>
208
208
  </tr>
209
209
 
210
210
  <tr>
@@ -333,13 +333,13 @@
333
333
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
334
334
  </td>
335
335
  <td data-value="100" class="pct high">100%</td>
336
- <td data-value="23" class="abs high">23/23</td>
336
+ <td data-value="21" class="abs high">21/21</td>
337
337
  <td data-value="50" class="pct medium">50%</td>
338
338
  <td data-value="2" class="abs medium">1/2</td>
339
339
  <td data-value="100" class="pct high">100%</td>
340
340
  <td data-value="4" class="abs high">4/4</td>
341
341
  <td data-value="100" class="pct high">100%</td>
342
- <td data-value="23" class="abs high">23/23</td>
342
+ <td data-value="21" class="abs high">21/21</td>
343
343
  </tr>
344
344
 
345
345
  <tr>
@@ -374,32 +374,32 @@
374
374
 
375
375
  <tr>
376
376
  <td class="file low" data-value="user.js"><a href="user.js.html">user.js</a></td>
377
- <td data-value="32.23" class="pic low">
378
- <div class="chart"><div class="cover-fill" style="width: 32%"></div><div class="cover-empty" style="width: 68%"></div></div>
377
+ <td data-value="31.66" class="pic low">
378
+ <div class="chart"><div class="cover-fill" style="width: 31%"></div><div class="cover-empty" style="width: 69%"></div></div>
379
379
  </td>
380
- <td data-value="32.23" class="pct low">32.23%</td>
381
- <td data-value="121" class="abs low">39/121</td>
380
+ <td data-value="31.66" class="pct low">31.66%</td>
381
+ <td data-value="120" class="abs low">38/120</td>
382
382
  <td data-value="0" class="pct low">0%</td>
383
383
  <td data-value="37" class="abs low">0/37</td>
384
384
  <td data-value="31.25" class="pct low">31.25%</td>
385
385
  <td data-value="16" class="abs low">5/16</td>
386
- <td data-value="32.5" class="pct low">32.5%</td>
387
- <td data-value="120" class="abs low">39/120</td>
386
+ <td data-value="31.93" class="pct low">31.93%</td>
387
+ <td data-value="119" class="abs low">38/119</td>
388
388
  </tr>
389
389
 
390
390
  <tr>
391
391
  <td class="file high" data-value="webhook.js"><a href="webhook.js.html">webhook.js</a></td>
392
- <td data-value="91.37" class="pic high">
392
+ <td data-value="91.66" class="pic high">
393
393
  <div class="chart"><div class="cover-fill" style="width: 91%"></div><div class="cover-empty" style="width: 9%"></div></div>
394
394
  </td>
395
- <td data-value="91.37" class="pct high">91.37%</td>
396
- <td data-value="58" class="abs high">53/58</td>
395
+ <td data-value="91.66" class="pct high">91.66%</td>
396
+ <td data-value="60" class="abs high">55/60</td>
397
397
  <td data-value="40" class="pct low">40%</td>
398
398
  <td data-value="10" class="abs low">4/10</td>
399
399
  <td data-value="100" class="pct high">100%</td>
400
400
  <td data-value="7" class="abs high">7/7</td>
401
- <td data-value="91.22" class="pct high">91.22%</td>
402
- <td data-value="57" class="abs high">52/57</td>
401
+ <td data-value="91.52" class="pct high">91.52%</td>
402
+ <td data-value="59" class="abs high">54/59</td>
403
403
  </tr>
404
404
 
405
405
  </tbody>
@@ -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 Tue Feb 01 2022 10:11:17 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>
@@ -100,7 +100,7 @@ exports.find = async function (ctx) {
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
103
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
103
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
@@ -163,11 +163,11 @@
163
163
  EMPTY_LAYOUT,
164
164
  BASE_LAYOUT_PROP_IDS,
165
165
  } = require("../../constants/layouts")
166
- const CouchDB = require("../../db")
167
166
  const { generateLayoutID, getScreenParams } = require("../../db/utils")
167
+ const { getAppDB } = require("@budibase/backend-core/context")
168
168
  &nbsp;
169
169
  exports.save = async function (ctx) {
170
- const db = new CouchDB(ctx.appId)
170
+ const db = getAppDB()
171
171
  let layout = ctx.request.body
172
172
  &nbsp;
173
173
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!layout.props) {
@@ -187,7 +187,7 @@ exports.save = async function (ctx) {
187
187
  }
188
188
  &nbsp;
189
189
  exports.destroy = async function (ctx) {
190
- const db = new CouchDB(ctx.appId)
190
+ const db = getAppDB()
191
191
  const layoutId = ctx.params.layoutId,
192
192
  layoutRev = ctx.params.layoutRev
193
193
  &nbsp;
@@ -217,7 +217,7 @@ exports.destroy = async function (ctx) {
217
217
  <div class='footer quiet pad2 space-top1 center small'>
218
218
  Code coverage generated by
219
219
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
220
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
220
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
221
221
  </div>
222
222
  </div>
223
223
  <script src="../../prettify.js"></script>