@budibase/server 1.0.49-alpha.4 → 1.0.49-alpha.8

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.f763d886.js → index.94a9250f.js} +1 -1
  8. package/builder/index.html +1 -1
  9. package/coverage/clover.xml +1920 -1940
  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 +33 -126
  33. package/coverage/lcov-report/api/controllers/row/index.html +28 -28
  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 +3192 -3209
  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 +14 -22
  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/usageQuotas/syncApps.js +6 -9
  230. package/dist/migrations/functions/usageQuotas/syncRows.js +7 -9
  231. package/dist/package.json +4 -4
  232. package/dist/tests/utilities/TestConfiguration.js +67 -44
  233. package/dist/threads/automation.js +13 -11
  234. package/dist/threads/query.js +11 -11
  235. package/dist/tsconfig.tsbuildinfo +1 -1
  236. package/dist/utilities/fileSystem/index.js +4 -3
  237. package/dist/utilities/global.js +15 -12
  238. package/dist/utilities/index.js +7 -17
  239. package/dist/utilities/routing/index.js +5 -5
  240. package/dist/utilities/rowProcessor/index.js +9 -10
  241. package/dist/utilities/usageQuota/index.js +1 -0
  242. package/dist/utilities/usageQuota/rows.js +1 -0
  243. package/dist/utilities/users.js +3 -3
  244. package/dist/utilities/workerRequests.js +4 -4
  245. package/package.json +5 -5
  246. package/scripts/likeCypress.ts +1 -1
  247. package/src/api/controllers/application.js +35 -28
  248. package/src/api/controllers/auth.js +4 -5
  249. package/src/api/controllers/automation.js +13 -23
  250. package/src/api/controllers/cloud.js +2 -3
  251. package/src/api/controllers/component.js +3 -4
  252. package/src/api/controllers/datasource.js +9 -11
  253. package/src/api/controllers/deploy/Deployment.js +3 -7
  254. package/src/api/controllers/deploy/index.js +20 -13
  255. package/src/api/controllers/dev.js +5 -5
  256. package/src/api/controllers/layout.js +3 -3
  257. package/src/api/controllers/metadata.js +4 -9
  258. package/src/api/controllers/permission.js +4 -4
  259. package/src/api/controllers/query/import/index.ts +4 -6
  260. package/src/api/controllers/query/import/tests/index.spec.js +2 -1
  261. package/src/api/controllers/query/index.js +11 -10
  262. package/src/api/controllers/role.js +5 -5
  263. package/src/api/controllers/routing.js +5 -6
  264. package/src/api/controllers/row/ExternalRequest.ts +53 -42
  265. package/src/api/controllers/row/external.js +27 -58
  266. package/src/api/controllers/row/internal.js +29 -44
  267. package/src/api/controllers/row/internalSearch.js +11 -13
  268. package/src/api/controllers/row/staticFormula.js +10 -11
  269. package/src/api/controllers/row/utils.js +7 -6
  270. package/src/api/controllers/screen.js +5 -7
  271. package/src/api/controllers/static/index.js +4 -4
  272. package/src/api/controllers/table/bulkFormula.js +13 -23
  273. package/src/api/controllers/table/external.js +7 -10
  274. package/src/api/controllers/table/index.js +5 -5
  275. package/src/api/controllers/table/internal.js +18 -21
  276. package/src/api/controllers/table/utils.js +29 -41
  277. package/src/api/controllers/user.js +17 -20
  278. package/src/api/controllers/view/index.js +8 -10
  279. package/src/api/controllers/view/utils.js +9 -4
  280. package/src/api/controllers/webhook.js +10 -8
  281. package/src/api/routes/tests/automation.spec.js +1 -0
  282. package/src/api/routes/tests/misc.spec.js +0 -1
  283. package/src/api/routes/tests/routing.spec.js +21 -12
  284. package/src/api/routes/tests/row.spec.js +7 -4
  285. package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
  286. package/src/automations/automationUtils.js +2 -3
  287. package/src/automations/steps/createRow.js +0 -1
  288. package/src/automations/steps/updateRow.js +1 -1
  289. package/src/automations/triggers.js +33 -31
  290. package/src/automations/utils.js +9 -5
  291. package/src/db/linkedRows/LinkController.js +3 -7
  292. package/src/db/linkedRows/index.js +16 -30
  293. package/src/db/linkedRows/linkUtils.js +6 -6
  294. package/src/db/tests/linkController.spec.js +0 -1
  295. package/src/db/tests/linkTests.spec.js +5 -6
  296. package/src/db/views/staticViews.js +8 -10
  297. package/src/environment.js +2 -1
  298. package/src/integrations/utils.ts +4 -1
  299. package/src/middleware/authorized.js +5 -3
  300. package/src/middleware/builder.js +2 -2
  301. package/src/middleware/currentapp.js +50 -46
  302. package/src/middleware/tests/authorized.spec.js +7 -2
  303. package/src/middleware/tests/currentapp.spec.js +6 -0
  304. package/src/middleware/usageQuota.js +2 -2
  305. package/src/migrations/functions/usageQuotas/syncApps.ts +4 -4
  306. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  307. package/src/module.d.ts +3 -0
  308. package/src/tests/utilities/TestConfiguration.js +69 -50
  309. package/src/threads/automation.js +17 -15
  310. package/src/threads/query.js +12 -12
  311. package/src/utilities/fileSystem/index.js +4 -3
  312. package/src/utilities/global.js +15 -12
  313. package/src/utilities/index.js +7 -17
  314. package/src/utilities/routing/index.js +5 -5
  315. package/src/utilities/rowProcessor/index.js +9 -23
  316. package/src/utilities/usageQuota/index.js +1 -0
  317. package/src/utilities/usageQuota/rows.js +1 -0
  318. package/src/utilities/users.js +3 -3
  319. package/src/utilities/workerRequests.js +4 -4
  320. package/tsconfig.json +2 -1
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">32.23% </span>
26
+ <span class="strong">31.66% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>39/121</span>
28
+ <span class='fraction'>38/120</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">32.5% </span>
47
+ <span class="strong">31.93% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>39/120</span>
49
+ <span class='fraction'>38/119</span>
50
50
  </div>
51
51
 
52
52
 
@@ -289,11 +289,7 @@
289
289
  <a name='L230'></a><a href='#L230'>230</a>
290
290
  <a name='L231'></a><a href='#L231'>231</a>
291
291
  <a name='L232'></a><a href='#L232'>232</a>
292
- <a name='L233'></a><a href='#L233'>233</a>
293
- <a name='L234'></a><a href='#L234'>234</a>
294
- <a name='L235'></a><a href='#L235'>235</a>
295
- <a name='L236'></a><a href='#L236'>236</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
296
- <span class="cline-any cline-neutral">&nbsp;</span>
292
+ <a name='L233'></a><a href='#L233'>233</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
297
293
  <span class="cline-any cline-neutral">&nbsp;</span>
298
294
  <span class="cline-any cline-neutral">&nbsp;</span>
299
295
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -306,12 +302,14 @@
306
302
  <span class="cline-any cline-neutral">&nbsp;</span>
307
303
  <span class="cline-any cline-neutral">&nbsp;</span>
308
304
  <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
309
306
  <span class="cline-any cline-yes">39x</span>
310
307
  <span class="cline-any cline-yes">39x</span>
311
308
  <span class="cline-any cline-yes">39x</span>
312
309
  <span class="cline-any cline-neutral">&nbsp;</span>
313
310
  <span class="cline-any cline-neutral">&nbsp;</span>
314
311
  <span class="cline-any cline-yes">2x</span>
312
+ <span class="cline-any cline-yes">2x</span>
315
313
  <span class="cline-any cline-neutral">&nbsp;</span>
316
314
  <span class="cline-any cline-neutral">&nbsp;</span>
317
315
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -352,9 +350,6 @@
352
350
  <span class="cline-any cline-neutral">&nbsp;</span>
353
351
  <span class="cline-any cline-no">&nbsp;</span>
354
352
  <span class="cline-any cline-no">&nbsp;</span>
355
- <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-neutral">&nbsp;</span>
358
353
  <span class="cline-any cline-no">&nbsp;</span>
359
354
  <span class="cline-any cline-no">&nbsp;</span>
360
355
  <span class="cline-any cline-no">&nbsp;</span>
@@ -469,7 +464,6 @@
469
464
  <span class="cline-any cline-yes">39x</span>
470
465
  <span class="cline-any cline-yes">1x</span>
471
466
  <span class="cline-any cline-yes">1x</span>
472
- <span class="cline-any cline-yes">1x</span>
473
467
  <span class="cline-any cline-neutral">&nbsp;</span>
474
468
  <span class="cline-any cline-yes">1x</span>
475
469
  <span class="cline-any cline-yes">1x</span>
@@ -527,8 +521,7 @@
527
521
  <span class="cline-any cline-neutral">&nbsp;</span>
528
522
  <span class="cline-any cline-no">&nbsp;</span>
529
523
  <span class="cline-any cline-neutral">&nbsp;</span>
530
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
531
- const {
524
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
532
525
  generateUserMetadataID,
533
526
  getUserMetadataParams,
534
527
  generateUserFlagID,
@@ -540,12 +533,14 @@ const { isEqual } = require("lodash")
540
533
  const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
541
534
  const {
542
535
  getDevelopmentAppID,
543
- getDeployedAppIDs,
536
+ getProdAppIDs,
537
+ dbExists,
544
538
  } = require("@budibase/backend-core/db")
545
- const { doesDatabaseExist } = require("../../utilities")
546
539
  const { UserStatus } = require("@budibase/backend-core/constants")
540
+ const { getAppDB } = require("@budibase/backend-core/context")
547
541
  &nbsp;
548
- async function rawMetadata(db) {
542
+ async function rawMetadata() {
543
+ const db = getAppDB()
549
544
  return (
550
545
  await db.allDocs(
551
546
  getUserMetadataParams(null, {
@@ -583,13 +578,10 @@ function <span class="fstat-no" title="function not covered" >combineMetadataAnd
583
578
  <span class="cstat-no" title="statement not covered" > return null</span>
584
579
  }
585
580
  &nbsp;
586
- exports.syncGlobalUsers = <span class="fstat-no" title="function not covered" >as</span>ync appId =&gt; {
581
+ exports.syncGlobalUsers = <span class="fstat-no" title="function not covered" >as</span>ync () =&gt; {
587
582
  // sync user metadata
588
- const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
589
- const [users, metadata] = <span class="cstat-no" title="statement not covered" >await Promise.all([</span>
590
- getGlobalUsers(appId),
591
- rawMetadata(db),
592
- ])
583
+ const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
584
+ const [users, metadata] = <span class="cstat-no" title="statement not covered" >await Promise.all([getGlobalUsers(), rawMetadata()])</span>
593
585
  const toWrite = <span class="cstat-no" title="statement not covered" >[]</span>
594
586
  <span class="cstat-no" title="statement not covered" > for (let user of users) {</span>
595
587
  const combined = <span class="cstat-no" title="statement not covered" >await combineMetadataAndUser(user, metadata)</span>
@@ -623,7 +615,7 @@ exports.syncUser = <span class="fstat-no" title="function not covered" >as</span
623
615
  let prodAppIds
624
616
  // if they are a builder then get all production app IDs
625
617
  <span class="cstat-no" title="statement not covered" > if ((user.builder &amp;&amp; user.builder.global) || deleting) {</span>
626
- <span class="cstat-no" title="statement not covered" > prodAppIds = await getDeployedAppIDs(CouchDB)</span>
618
+ <span class="cstat-no" title="statement not covered" > prodAppIds = await getProdAppIDs()</span>
627
619
  } else {
628
620
  <span class="cstat-no" title="statement not covered" > prodAppIds = Object.entries(roles)</span>
629
621
  .filter(<span class="fstat-no" title="function not covered" >en</span>try =&gt; <span class="cstat-no" title="statement not covered" >entry[1] !== BUILTIN_ROLE_IDS.PUBLIC)</span>
@@ -633,10 +625,10 @@ exports.syncUser = <span class="fstat-no" title="function not covered" >as</span
633
625
  const roleId = <span class="cstat-no" title="statement not covered" >roles[prodAppId]</span>
634
626
  const devAppId = <span class="cstat-no" title="statement not covered" >getDevelopmentAppID(prodAppId)</span>
635
627
  <span class="cstat-no" title="statement not covered" > for (let appId of [prodAppId, devAppId]) {</span>
636
- <span class="cstat-no" title="statement not covered" > if (!(await doesDatabaseExist(appId))) {</span>
628
+ <span class="cstat-no" title="statement not covered" > if (!(await dbExists(appId))) {</span>
637
629
  <span class="cstat-no" title="statement not covered" > continue</span>
638
630
  }
639
- const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
631
+ const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
640
632
  const metadataId = <span class="cstat-no" title="statement not covered" >generateUserMetadataID(userId)</span>
641
633
  let metadata
642
634
  <span class="cstat-no" title="statement not covered" > try {</span>
@@ -672,8 +664,8 @@ exports.syncUser = <span class="fstat-no" title="function not covered" >as</span
672
664
  }
673
665
  &nbsp;
674
666
  exports.fetchMetadata = async function (ctx) {
675
- const database = new CouchDB(ctx.appId)
676
- const global = await getGlobalUsers(ctx.appId)
667
+ const database = getAppDB()
668
+ const global = await getGlobalUsers()
677
669
  const metadata = await rawMetadata(database)
678
670
  const users = []
679
671
  for (let user of global) {
@@ -702,8 +694,7 @@ exports.updateSelfMetadata = <span class="fstat-no" title="function not covered"
702
694
  }
703
695
  &nbsp;
704
696
  exports.updateMetadata = async function (ctx) {
705
- const appId = ctx.appId
706
- const db = new CouchDB(appId)
697
+ const db = getAppDB()
707
698
  const user = ctx.request.body
708
699
  // this isn't applicable to the user
709
700
  delete user.roles
@@ -715,7 +706,7 @@ exports.updateMetadata = async function (ctx) {
715
706
  }
716
707
  &nbsp;
717
708
  exports.destroyMetadata = async function (ctx) {
718
- const db = new CouchDB(ctx.appId)
709
+ const db = getAppDB()
719
710
  try {
720
711
  const dbUser = await db.get(ctx.params.id)
721
712
  <span class="cstat-no" title="statement not covered" > await db.remove(dbUser._id, dbUser._rev)</span>
@@ -738,7 +729,7 @@ exports.setFlag = <span class="fstat-no" title="function not covered" >as</span>
738
729
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Must supply a 'flag' field in request body.")</span>
739
730
  }
740
731
  const flagDocId = <span class="cstat-no" title="statement not covered" >generateUserFlagID(userId)</span>
741
- const db = <span class="cstat-no" title="statement not covered" >new CouchDB(ctx.appId)</span>
732
+ const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
742
733
  let doc
743
734
  <span class="cstat-no" title="statement not covered" > try {</span>
744
735
  <span class="cstat-no" title="statement not covered" > doc = await db.get(flagDocId)</span>
@@ -753,7 +744,7 @@ exports.setFlag = <span class="fstat-no" title="function not covered" >as</span>
753
744
  exports.getFlags = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
754
745
  const userId = <span class="cstat-no" title="statement not covered" >ctx.user._id</span>
755
746
  const docId = <span class="cstat-no" title="statement not covered" >generateUserFlagID(userId)</span>
756
- const db = <span class="cstat-no" title="statement not covered" >new CouchDB(ctx.appId)</span>
747
+ const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
757
748
  let doc
758
749
  <span class="cstat-no" title="statement not covered" > try {</span>
759
750
  <span class="cstat-no" title="statement not covered" > doc = await db.get(docId)</span>
@@ -769,7 +760,7 @@ exports.getFlags = <span class="fstat-no" title="function not covered" >as</span
769
760
  <div class='footer quiet pad2 space-top1 center small'>
770
761
  Code coverage generated by
771
762
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
772
- at Mon Jan 31 2022 19:12:04 GMT+0000 (Coordinated Universal Time)
763
+ at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
773
764
  </div>
774
765
  </div>
775
766
  <script src="../../prettify.js"></script>
@@ -133,7 +133,7 @@ exports.ExportFormats = {
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
136
- at Mon Jan 31 2022 19:12:04 GMT+0000 (Coordinated Universal Time)
136
+ at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
137
137
  </div>
138
138
  </div>
139
139
  <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">73.43% </span>
26
+ <span class="strong">73.84% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>141/192</span>
28
+ <span class='fraction'>144/195</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">73.68% </span>
47
+ <span class="strong">74.09% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>140/190</span>
49
+ <span class='fraction'>143/193</span>
50
50
  </div>
51
51
 
52
52
 
@@ -89,32 +89,32 @@
89
89
 
90
90
  <tr>
91
91
  <td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
92
- <td data-value="88.73" class="pic high">
92
+ <td data-value="88.4" class="pic high">
93
93
  <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
94
94
  </td>
95
- <td data-value="88.73" class="pct high">88.73%</td>
96
- <td data-value="71" class="abs high">63/71</td>
95
+ <td data-value="88.4" class="pct high">88.4%</td>
96
+ <td data-value="69" class="abs high">61/69</td>
97
97
  <td data-value="72" class="pct medium">72%</td>
98
98
  <td data-value="25" class="abs medium">18/25</td>
99
99
  <td data-value="62.5" class="pct medium">62.5%</td>
100
100
  <td data-value="8" class="abs medium">5/8</td>
101
- <td data-value="90" class="pct high">90%</td>
102
- <td data-value="70" class="abs high">63/70</td>
101
+ <td data-value="89.7" class="pct high">89.7%</td>
102
+ <td data-value="68" class="abs high">61/68</td>
103
103
  </tr>
104
104
 
105
105
  <tr>
106
106
  <td class="file medium" data-value="utils.js"><a href="utils.js.html">utils.js</a></td>
107
- <td data-value="50" class="pic medium">
108
- <div class="chart"><div class="cover-fill" style="width: 50%"></div><div class="cover-empty" style="width: 50%"></div></div>
107
+ <td data-value="53.08" class="pic medium">
108
+ <div class="chart"><div class="cover-fill" style="width: 53%"></div><div class="cover-empty" style="width: 47%"></div></div>
109
109
  </td>
110
- <td data-value="50" class="pct medium">50%</td>
111
- <td data-value="76" class="abs medium">38/76</td>
110
+ <td data-value="53.08" class="pct medium">53.08%</td>
111
+ <td data-value="81" class="abs medium">43/81</td>
112
112
  <td data-value="34.61" class="pct low">34.61%</td>
113
113
  <td data-value="26" class="abs low">9/26</td>
114
114
  <td data-value="66.66" class="pct medium">66.66%</td>
115
115
  <td data-value="9" class="abs medium">6/9</td>
116
- <td data-value="50" class="pct medium">50%</td>
117
- <td data-value="76" class="abs medium">38/76</td>
116
+ <td data-value="53.08" class="pct medium">53.08%</td>
117
+ <td data-value="81" class="abs medium">43/81</td>
118
118
  </tr>
119
119
 
120
120
  <tr>
@@ -140,7 +140,7 @@
140
140
  <div class='footer quiet pad2 space-top1 center small'>
141
141
  Code coverage generated by
142
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Mon Jan 31 2022 19:12:04 GMT+0000 (Coordinated Universal Time)
143
+ at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
144
144
  </div>
145
145
  </div>
146
146
  <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">88.73% </span>
26
+ <span class="strong">88.4% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>63/71</span>
28
+ <span class='fraction'>61/69</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">90% </span>
47
+ <span class="strong">89.7% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>63/70</span>
49
+ <span class='fraction'>61/68</span>
50
50
  </div>
51
51
 
52
52
 
@@ -176,9 +176,7 @@
176
176
  <a name='L117'></a><a href='#L117'>117</a>
177
177
  <a name='L118'></a><a href='#L118'>118</a>
178
178
  <a name='L119'></a><a href='#L119'>119</a>
179
- <a name='L120'></a><a href='#L120'>120</a>
180
- <a name='L121'></a><a href='#L121'>121</a>
181
- <a name='L122'></a><a href='#L122'>122</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
179
+ <a name='L120'></a><a href='#L120'>120</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
182
180
  <span class="cline-any cline-yes">38x</span>
183
181
  <span class="cline-any cline-yes">38x</span>
184
182
  <span class="cline-any cline-yes">38x</span>
@@ -189,7 +187,6 @@
189
187
  <span class="cline-any cline-neutral">&nbsp;</span>
190
188
  <span class="cline-any cline-yes">38x</span>
191
189
  <span class="cline-any cline-yes">1x</span>
192
- <span class="cline-any cline-yes">1x</span>
193
190
  <span class="cline-any cline-neutral">&nbsp;</span>
194
191
  <span class="cline-any cline-neutral">&nbsp;</span>
195
192
  <span class="cline-any cline-yes">38x</span>
@@ -235,7 +232,6 @@
235
232
  <span class="cline-any cline-yes">38x</span>
236
233
  <span class="cline-any cline-yes">2x</span>
237
234
  <span class="cline-any cline-yes">2x</span>
238
- <span class="cline-any cline-yes">2x</span>
239
235
  <span class="cline-any cline-neutral">&nbsp;</span>
240
236
  <span class="cline-any cline-yes">2x</span>
241
237
  <span class="cline-any cline-yes">2x</span>
@@ -299,22 +295,21 @@
299
295
  <span class="cline-any cline-yes">2x</span>
300
296
  <span class="cline-any cline-yes">2x</span>
301
297
  <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
303
- const viewTemplate = require("./viewBuilder")
298
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const viewTemplate = require("./viewBuilder")
304
299
  const { apiFileReturn } = require("../../../utilities/fileSystem")
305
300
  const exporters = require("./exporters")
306
301
  const { saveView, getView, getViews, deleteView } = require("./utils")
307
302
  const { fetchView } = require("../row")
308
303
  const { getTable } = require("../table/utils")
309
304
  const { FieldTypes } = require("../../../constants")
305
+ const { getAppDB } = require("@budibase/backend-core/context")
310
306
  &nbsp;
311
307
  exports.fetch = async ctx =&gt; {
312
- const db = new CouchDB(ctx.appId)
313
- ctx.body = await getViews(db)
308
+ ctx.body = await getViews()
314
309
  }
315
310
  &nbsp;
316
311
  exports.save = async ctx =&gt; {
317
- const db = new CouchDB(ctx.appId)
312
+ const db = getAppDB()
318
313
  const { originalName, ...viewToSave } = ctx.request.body
319
314
  const view = viewTemplate(viewToSave)
320
315
  &nbsp;
@@ -322,7 +317,7 @@ exports.save = async ctx =&gt; {
322
317
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot create view without a name")</span>
323
318
  }
324
319
  &nbsp;
325
- await saveView(db, originalName, viewToSave.name, view)
320
+ await saveView(originalName, viewToSave.name, view)
326
321
  &nbsp;
327
322
  // add views to table document
328
323
  const table = await db.get(ctx.request.body.tableId)
@@ -343,9 +338,9 @@ exports.save = async ctx =&gt; {
343
338
  }
344
339
  &nbsp;
345
340
  exports.destroy = async ctx =&gt; {
346
- const db = new CouchDB(ctx.appId)
341
+ const db = getAppDB()
347
342
  const viewName = decodeURI(ctx.params.viewName)
348
- const view = await deleteView(db, viewName)
343
+ const view = await deleteView(viewName)
349
344
  const table = await db.get(view.meta.tableId)
350
345
  delete table.views[viewName]
351
346
  await db.put(table)
@@ -354,9 +349,8 @@ exports.destroy = async ctx =&gt; {
354
349
  }
355
350
  &nbsp;
356
351
  exports.exportView = async ctx =&gt; {
357
- const db = new CouchDB(ctx.appId)
358
352
  const viewName = decodeURI(ctx.query.view)
359
- const view = await getView(db, viewName)
353
+ const view = await getView(viewName)
360
354
  &nbsp;
361
355
  const format = ctx.query.format
362
356
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!format || !Object.values(exporters.ExportFormats).includes(format)) {
@@ -384,7 +378,7 @@ exports.exportView = async ctx =&gt; {
384
378
  let schema = view &amp;&amp; view.meta &amp;&amp; view.meta.schema
385
379
  if (!schema) {
386
380
  const tableId = ctx.params.tableId || view.meta.tableId
387
- const table = await getTable(ctx.appId, tableId)
381
+ const table = await getTable(tableId)
388
382
  schema = table.schema
389
383
  }
390
384
  &nbsp;
@@ -427,7 +421,7 @@ exports.exportView = async ctx =&gt; {
427
421
  <div class='footer quiet pad2 space-top1 center small'>
428
422
  Code coverage generated by
429
423
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
430
- at Mon Jan 31 2022 19:12:04 GMT+0000 (Coordinated Universal Time)
424
+ at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
431
425
  </div>
432
426
  </div>
433
427
  <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">50% </span>
26
+ <span class="strong">53.08% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>38/76</span>
28
+ <span class='fraction'>43/81</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">50% </span>
47
+ <span class="strong">53.08% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>38/76</span>
49
+ <span class='fraction'>43/81</span>
50
50
  </div>
51
51
 
52
52
 
@@ -200,7 +200,12 @@
200
200
  <a name='L141'></a><a href='#L141'>141</a>
201
201
  <a name='L142'></a><a href='#L142'>142</a>
202
202
  <a name='L143'></a><a href='#L143'>143</a>
203
- <a name='L144'></a><a href='#L144'>144</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
203
+ <a name='L144'></a><a href='#L144'>144</a>
204
+ <a name='L145'></a><a href='#L145'>145</a>
205
+ <a name='L146'></a><a href='#L146'>146</a>
206
+ <a name='L147'></a><a href='#L147'>147</a>
207
+ <a name='L148'></a><a href='#L148'>148</a>
208
+ <a name='L149'></a><a href='#L149'>149</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
204
209
  <span class="cline-any cline-neutral">&nbsp;</span>
205
210
  <span class="cline-any cline-neutral">&nbsp;</span>
206
211
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -208,11 +213,13 @@
208
213
  <span class="cline-any cline-neutral">&nbsp;</span>
209
214
  <span class="cline-any cline-yes">39x</span>
210
215
  <span class="cline-any cline-yes">39x</span>
216
+ <span class="cline-any cline-yes">39x</span>
211
217
  <span class="cline-any cline-neutral">&nbsp;</span>
212
218
  <span class="cline-any cline-yes">39x</span>
213
219
  <span class="cline-any cline-yes">2x</span>
214
220
  <span class="cline-any cline-yes">2x</span>
215
221
  <span class="cline-any cline-yes">2x</span>
222
+ <span class="cline-any cline-yes">2x</span>
216
223
  <span class="cline-any cline-neutral">&nbsp;</span>
217
224
  <span class="cline-any cline-neutral">&nbsp;</span>
218
225
  <span class="cline-any cline-no">&nbsp;</span>
@@ -229,6 +236,7 @@
229
236
  <span class="cline-any cline-yes">2x</span>
230
237
  <span class="cline-any cline-yes">2x</span>
231
238
  <span class="cline-any cline-yes">2x</span>
239
+ <span class="cline-any cline-yes">2x</span>
232
240
  <span class="cline-any cline-neutral">&nbsp;</span>
233
241
  <span class="cline-any cline-yes">5x</span>
234
242
  <span class="cline-any cline-yes">4x</span>
@@ -260,6 +268,7 @@
260
268
  <span class="cline-any cline-yes">8x</span>
261
269
  <span class="cline-any cline-yes">8x</span>
262
270
  <span class="cline-any cline-yes">8x</span>
271
+ <span class="cline-any cline-yes">8x</span>
263
272
  <span class="cline-any cline-neutral">&nbsp;</span>
264
273
  <span class="cline-any cline-neutral">&nbsp;</span>
265
274
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -300,6 +309,7 @@
300
309
  <span class="cline-any cline-yes">1x</span>
301
310
  <span class="cline-any cline-yes">1x</span>
302
311
  <span class="cline-any cline-yes">1x</span>
312
+ <span class="cline-any cline-yes">1x</span>
303
313
  <span class="cline-any cline-neutral">&nbsp;</span>
304
314
  <span class="cline-any cline-no">&nbsp;</span>
305
315
  <span class="cline-any cline-no">&nbsp;</span>
@@ -351,8 +361,10 @@
351
361
  SEPARATOR,
352
362
  } = require("../../../db/utils")
353
363
  const env = require("../../../environment")
364
+ const { getAppDB } = require("@budibase/backend-core/context")
354
365
  &nbsp;
355
- exports.getView = async (db, viewName) =&gt; {
366
+ exports.getView = async viewName =&gt; {
367
+ const db = getAppDB()
356
368
  if (env.SELF_HOSTED) {
357
369
  const designDoc = await db.get("_design/database")
358
370
  return designDoc.views[viewName]
@@ -367,7 +379,8 @@ exports.getView = async (db, viewName) =&gt; {
367
379
  }
368
380
  }
369
381
  &nbsp;
370
- exports.getViews = async db =&gt; {
382
+ exports.getViews = async () =&gt; {
383
+ const db = getAppDB()
371
384
  const response = []
372
385
  if (env.SELF_HOSTED) {
373
386
  const designDoc = await db.get("_design/database")
@@ -399,7 +412,8 @@ exports.getViews = async db =&gt; {
399
412
  return response
400
413
  }
401
414
  &nbsp;
402
- exports.saveView = async (db, originalName, viewName, viewTemplate) =&gt; {
415
+ exports.saveView = async (originalName, viewName, viewTemplate) =&gt; {
416
+ const db = getAppDB()
403
417
  if (env.SELF_HOSTED) {
404
418
  const designDoc = await db.get("_design/database")
405
419
  designDoc.views = {
@@ -436,7 +450,8 @@ exports.saveView = async (db, originalName, viewName, viewTemplate) =&gt; {
436
450
  }
437
451
  }
438
452
  &nbsp;
439
- exports.deleteView = async (db, viewName) =&gt; {
453
+ exports.deleteView = async viewName =&gt; {
454
+ const db = getAppDB()
440
455
  if (env.SELF_HOSTED) {
441
456
  const designDoc = await db.get("_design/database")
442
457
  const view = designDoc.views[viewName]
@@ -493,7 +508,7 @@ exports.getFromMemoryDoc = async (db, viewName) =&gt; {
493
508
  <div class='footer quiet pad2 space-top1 center small'>
494
509
  Code coverage generated by
495
510
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
496
- at Mon Jan 31 2022 19:12:04 GMT+0000 (Coordinated Universal Time)
511
+ at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
497
512
  </div>
498
513
  </div>
499
514
  <script src="../../../prettify.js"></script>
@@ -550,7 +550,7 @@ module.exports = viewTemplate
550
550
  <div class='footer quiet pad2 space-top1 center small'>
551
551
  Code coverage generated by
552
552
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
553
- at Mon Jan 31 2022 19:12:04 GMT+0000 (Coordinated Universal Time)
553
+ at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
554
554
  </div>
555
555
  </div>
556
556
  <script src="../../../prettify.js"></script>