@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">69.62% </span>
26
+ <span class="strong">69.23% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>55/79</span>
28
+ <span class='fraction'>54/78</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">69.73% </span>
47
+ <span class="strong">69.33% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>53/76</span>
49
+ <span class='fraction'>52/75</span>
50
50
  </div>
51
51
 
52
52
 
@@ -230,17 +230,7 @@
230
230
  <a name='L171'></a><a href='#L171'>171</a>
231
231
  <a name='L172'></a><a href='#L172'>172</a>
232
232
  <a name='L173'></a><a href='#L173'>173</a>
233
- <a name='L174'></a><a href='#L174'>174</a>
234
- <a name='L175'></a><a href='#L175'>175</a>
235
- <a name='L176'></a><a href='#L176'>176</a>
236
- <a name='L177'></a><a href='#L177'>177</a>
237
- <a name='L178'></a><a href='#L178'>178</a>
238
- <a name='L179'></a><a href='#L179'>179</a>
239
- <a name='L180'></a><a href='#L180'>180</a>
240
- <a name='L181'></a><a href='#L181'>181</a>
241
- <a name='L182'></a><a href='#L182'>182</a>
242
- <a name='L183'></a><a href='#L183'>183</a>
243
- <a name='L184'></a><a href='#L184'>184</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
233
+ <a name='L174'></a><a href='#L174'>174</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
244
234
  <span class="cline-any cline-yes">39x</span>
245
235
  <span class="cline-any cline-yes">39x</span>
246
236
  <span class="cline-any cline-yes">39x</span>
@@ -281,11 +271,6 @@
281
271
  <span class="cline-any cline-neutral">&nbsp;</span>
282
272
  <span class="cline-any cline-neutral">&nbsp;</span>
283
273
  <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-neutral">&nbsp;</span>
287
- <span class="cline-any cline-yes">103x</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span>
289
274
  <span class="cline-any cline-yes">103x</span>
290
275
  <span class="cline-any cline-yes">236x</span>
291
276
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -344,7 +329,6 @@
344
329
  <span class="cline-any cline-neutral">&nbsp;</span>
345
330
  <span class="cline-any cline-neutral">&nbsp;</span>
346
331
  <span class="cline-any cline-neutral">&nbsp;</span>
347
- <span class="cline-any cline-neutral">&nbsp;</span>
348
332
  <span class="cline-any cline-yes">103x</span>
349
333
  <span class="cline-any cline-neutral">&nbsp;</span>
350
334
  <span class="cline-any cline-yes">103x</span>
@@ -413,23 +397,19 @@
413
397
  <span class="cline-any cline-neutral">&nbsp;</span>
414
398
  <span class="cline-any cline-neutral">&nbsp;</span>
415
399
  <span class="cline-any cline-yes">39x</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span>
417
- <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-neutral">&nbsp;</span>
420
400
  <span class="cline-any cline-yes">103x</span>
421
401
  <span class="cline-any cline-yes">103x</span>
422
402
  <span class="cline-any cline-yes">103x</span>
423
403
  <span class="cline-any cline-yes">101x</span>
424
404
  <span class="cline-any cline-neutral">&nbsp;</span>
425
405
  <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
427
- const { FieldTypes, FormulaTypes } = require("../../../constants")
406
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { FieldTypes, FormulaTypes } = require("../../../constants")
428
407
  const { getAllInternalTables, clearColumns } = require("./utils")
429
408
  const { doesContainStrings } = require("@budibase/string-templates")
430
409
  const { cloneDeep } = require("lodash/fp")
431
410
  const { isEqual, uniq } = require("lodash")
432
411
  const { updateAllFormulasInTable } = require("../row/staticFormula")
412
+ const { getAppDB } = require("@budibase/backend-core/context")
433
413
  &nbsp;
434
414
  function isStaticFormula(column) {
435
415
  return (
@@ -462,14 +442,9 @@ function getFormulaThatUseColumn(table, columnNames) {
462
442
  * This functions checks for when a related table, column or related column is deleted, if any
463
443
  * tables need to have the formula column removed.
464
444
  */
465
- async function checkIfFormulaNeedsCleared(
466
- appId,
467
- table,
468
- { oldTable, deletion }
469
- ) {
470
- const db = new CouchDB(appId)
445
+ async function checkIfFormulaNeedsCleared(table, { oldTable, deletion }) {
471
446
  // start by retrieving all tables, remove the current table from the list
472
- const tables = (await getAllInternalTables(appId)).filter(
447
+ const tables = (await getAllInternalTables()).filter(
473
448
  tbl =&gt; tbl._id !== table._id
474
449
  )
475
450
  const schemaToUse = oldTable ? oldTable.schema : table.schema
@@ -485,7 +460,7 @@ async function checkIfFormulaNeedsCleared(
485
460
  }
486
461
  const columnsToDelete = getFormulaThatUseColumn(tableToUse, removed.name)
487
462
  <span class="missing-if-branch" title="if path not taken" >I</span>if (columnsToDelete.length &gt; 0) {
488
- <span class="cstat-no" title="statement not covered" > await clearColumns(db, table, columnsToDelete)</span>
463
+ <span class="cstat-no" title="statement not covered" > await clearColumns(table, columnsToDelete)</span>
489
464
  }
490
465
  // need a special case, where a column has been removed from this table, but was used
491
466
  // in a different, related tables formula
@@ -510,7 +485,7 @@ async function checkIfFormulaNeedsCleared(
510
485
  )
511
486
  }
512
487
  <span class="cstat-no" title="statement not covered" > if (relatedFormulaToRemove.length &gt; 0) {</span>
513
- <span class="cstat-no" title="statement not covered" > await clearColumns(db, relatedTable, uniq(relatedFormulaToRemove))</span>
488
+ <span class="cstat-no" title="statement not covered" > await clearColumns(relatedTable, uniq(relatedFormulaToRemove))</span>
514
489
  }
515
490
  }
516
491
  }
@@ -524,13 +499,12 @@ async function checkIfFormulaNeedsCleared(
524
499
  * specifically only for static formula.
525
500
  */
526
501
  async function updateRelatedFormulaLinksOnTables(
527
- appId,
528
502
  table,
529
503
  { deletion } = <span class="branch-0 cbranch-no" title="branch not covered" >{ deletion: false }</span>
530
504
  ) {
531
- const db = new CouchDB(appId)
505
+ const db = getAppDB()
532
506
  // start by retrieving all tables, remove the current table from the list
533
- const tables = (await getAllInternalTables(appId)).filter(
507
+ const tables = (await getAllInternalTables()).filter(
534
508
  tbl =&gt; tbl._id !== table._id
535
509
  )
536
510
  // clone the tables, so we can compare at end
@@ -580,7 +554,7 @@ async function updateRelatedFormulaLinksOnTables(
580
554
  }
581
555
  }
582
556
  &nbsp;
583
- async function checkIfFormulaUpdated(appId, table, { oldTable }) {
557
+ async function checkIfFormulaUpdated(table, { oldTable }) {
584
558
  // look to see if any formula values have changed
585
559
  const shouldUpdate = Object.values(table.schema).find(
586
560
  column =&gt;
@@ -591,19 +565,15 @@ async function checkIfFormulaUpdated(appId, table, { oldTable }) {
591
565
  )
592
566
  // if a static formula column has updated, then need to run the update
593
567
  <span class="missing-if-branch" title="if path not taken" >I</span>if (shouldUpdate != null) {
594
- <span class="cstat-no" title="statement not covered" > await updateAllFormulasInTable(appId, table)</span>
568
+ <span class="cstat-no" title="statement not covered" > await updateAllFormulasInTable(table)</span>
595
569
  }
596
570
  }
597
571
  &nbsp;
598
- exports.runStaticFormulaChecks = async (
599
- appId,
600
- table,
601
- { oldTable, deletion }
602
- ) =&gt; {
603
- await updateRelatedFormulaLinksOnTables(appId, table, { deletion })
604
- await checkIfFormulaNeedsCleared(appId, table, { oldTable, deletion })
572
+ exports.runStaticFormulaChecks = async (table, { oldTable, deletion }) =&gt; {
573
+ await updateRelatedFormulaLinksOnTables(table, { deletion })
574
+ await checkIfFormulaNeedsCleared(table, { oldTable, deletion })
605
575
  if (!deletion) {
606
- await checkIfFormulaUpdated(appId, table, { oldTable })
576
+ await checkIfFormulaUpdated(table, { oldTable })
607
577
  }
608
578
  }
609
579
  &nbsp;</pre></td></tr></table></pre>
@@ -613,7 +583,7 @@ exports.runStaticFormulaChecks = async (
613
583
  <div class='footer quiet pad2 space-top1 center small'>
614
584
  Code coverage generated by
615
585
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
616
- at Mon Jan 31 2022 19:12:04 GMT+0000 (Coordinated Universal Time)
586
+ at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
617
587
  </div>
618
588
  </div>
619
589
  <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">8.02% </span>
26
+ <span class="strong">8.2% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>11/137</span>
28
+ <span class='fraction'>11/134</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">8.02% </span>
47
+ <span class="strong">8.2% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>11/137</span>
49
+ <span class='fraction'>11/134</span>
50
50
  </div>
51
51
 
52
52
 
@@ -361,11 +361,7 @@
361
361
  <a name='L302'></a><a href='#L302'>302</a>
362
362
  <a name='L303'></a><a href='#L303'>303</a>
363
363
  <a name='L304'></a><a href='#L304'>304</a>
364
- <a name='L305'></a><a href='#L305'>305</a>
365
- <a name='L306'></a><a href='#L306'>306</a>
366
- <a name='L307'></a><a href='#L307'>307</a>
367
- <a name='L308'></a><a href='#L308'>308</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
368
- <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <a name='L305'></a><a href='#L305'>305</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
369
365
  <span class="cline-any cline-neutral">&nbsp;</span>
370
366
  <span class="cline-any cline-neutral">&nbsp;</span>
371
367
  <span class="cline-any cline-yes">39x</span>
@@ -385,6 +381,7 @@
385
381
  <span class="cline-any cline-yes">39x</span>
386
382
  <span class="cline-any cline-yes">39x</span>
387
383
  <span class="cline-any cline-yes">39x</span>
384
+ <span class="cline-any cline-yes">39x</span>
388
385
  <span class="cline-any cline-neutral">&nbsp;</span>
389
386
  <span class="cline-any cline-neutral">&nbsp;</span>
390
387
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -526,7 +523,6 @@
526
523
  <span class="cline-any cline-neutral">&nbsp;</span>
527
524
  <span class="cline-any cline-yes">39x</span>
528
525
  <span class="cline-any cline-no">&nbsp;</span>
529
- <span class="cline-any cline-no">&nbsp;</span>
530
526
  <span class="cline-any cline-neutral">&nbsp;</span>
531
527
  <span class="cline-any cline-no">&nbsp;</span>
532
528
  <span class="cline-any cline-no">&nbsp;</span>
@@ -636,7 +632,6 @@
636
632
  <span class="cline-any cline-no">&nbsp;</span>
637
633
  <span class="cline-any cline-no">&nbsp;</span>
638
634
  <span class="cline-any cline-no">&nbsp;</span>
639
- <span class="cline-any cline-no">&nbsp;</span>
640
635
  <span class="cline-any cline-neutral">&nbsp;</span>
641
636
  <span class="cline-any cline-no">&nbsp;</span>
642
637
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -660,7 +655,6 @@
660
655
  <span class="cline-any cline-no">&nbsp;</span>
661
656
  <span class="cline-any cline-no">&nbsp;</span>
662
657
  <span class="cline-any cline-no">&nbsp;</span>
663
- <span class="cline-any cline-no">&nbsp;</span>
664
658
  <span class="cline-any cline-neutral">&nbsp;</span>
665
659
  <span class="cline-any cline-no">&nbsp;</span>
666
660
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -671,8 +665,7 @@
671
665
  <span class="cline-any cline-neutral">&nbsp;</span>
672
666
  <span class="cline-any cline-no">&nbsp;</span>
673
667
  <span class="cline-any cline-neutral">&nbsp;</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
675
- const {
668
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
676
669
  buildExternalTableId,
677
670
  breakExternalTableId,
678
671
  } = require("../../../integrations/utils")
@@ -692,6 +685,7 @@ const { makeExternalQuery } = require("../../../integrations/base/utils")
692
685
  const { cloneDeep } = require("lodash/fp")
693
686
  const csvParser = require("../../../utilities/csvParser")
694
687
  const { handleRequest } = require("../row/external")
688
+ const { getAppDB } = require("@budibase/backend-core/context")
695
689
  &nbsp;
696
690
  async function <span class="fstat-no" title="function not covered" >makeTableRequest(</span>
697
691
  datasource,
@@ -832,7 +826,6 @@ function <span class="fstat-no" title="function not covered" >isRelationshipSetu
832
826
  }
833
827
  &nbsp;
834
828
  exports.save = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
835
- const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
836
829
  const table = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
837
830
  // can't do this right now
838
831
  <span class="cstat-no" title="statement not covered" > delete table.dataImport</span>
@@ -849,14 +842,14 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
849
842
  &nbsp;
850
843
  let oldTable
851
844
  <span class="cstat-no" title="statement not covered" > if (ctx.request.body &amp;&amp; ctx.request.body._id) {</span>
852
- <span class="cstat-no" title="statement not covered" > oldTable = await getTable(appId, ctx.request.body._id)</span>
845
+ <span class="cstat-no" title="statement not covered" > oldTable = await getTable(ctx.request.body._id)</span>
853
846
  }
854
847
  &nbsp;
855
848
  <span class="cstat-no" title="statement not covered" > if (hasTypeChanged(tableToSave, oldTable)) {</span>
856
849
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "A column type has changed.")</span>
857
850
  }
858
851
  &nbsp;
859
- const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
852
+ const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
860
853
  const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
861
854
  const oldTables = <span class="cstat-no" title="statement not covered" >cloneDeep(datasource.entities)</span>
862
855
  const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
@@ -940,14 +933,13 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
940
933
  }
941
934
  &nbsp;
942
935
  exports.destroy = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
943
- const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
944
- const tableToDelete = <span class="cstat-no" title="statement not covered" >await getTable(appId, ctx.params.tableId)</span>
936
+ const tableToDelete = <span class="cstat-no" title="statement not covered" >await getTable(ctx.params.tableId)</span>
945
937
  <span class="cstat-no" title="statement not covered" > if (!tableToDelete || !tableToDelete.created) {</span>
946
938
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot delete tables which weren't created in Budibase.")</span>
947
939
  }
948
940
  const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(tableToDelete)</span>
949
941
  &nbsp;
950
- const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
942
+ const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
951
943
  const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
952
944
  const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
953
945
  &nbsp;
@@ -963,8 +955,7 @@ exports.destroy = <span class="fstat-no" title="function not covered" >as</span>
963
955
  }
964
956
  &nbsp;
965
957
  exports.bulkImport = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
966
- const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
967
- const table = <span class="cstat-no" title="statement not covered" >await getTable(appId, ctx.params.tableId)</span>
958
+ const table = <span class="cstat-no" title="statement not covered" >await getTable(ctx.params.tableId)</span>
968
959
  const { dataImport } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
969
960
  <span class="cstat-no" title="statement not covered" > if (!dataImport || !dataImport.schema || !dataImport.csvString) {</span>
970
961
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Provided data import information is invalid.")</span>
@@ -973,7 +964,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
973
964
  ...dataImport,
974
965
  existingTable: table,
975
966
  })
976
- <span class="cstat-no" title="statement not covered" > await handleRequest(appId, DataSourceOperation.BULK_CREATE, table._id, {</span>
967
+ <span class="cstat-no" title="statement not covered" > await handleRequest(DataSourceOperation.BULK_CREATE, table._id, {</span>
977
968
  rows,
978
969
  })
979
970
  <span class="cstat-no" title="statement not covered" > return table</span>
@@ -985,7 +976,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
985
976
  <div class='footer quiet pad2 space-top1 center small'>
986
977
  Code coverage generated by
987
978
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
988
- at Mon Jan 31 2022 19:12:04 GMT+0000 (Coordinated Universal Time)
979
+ at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
989
980
  </div>
990
981
  </div>
991
982
  <script src="../../../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">53.83% </span>
26
+ <span class="strong">53.32% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>295/548</span>
28
+ <span class='fraction'>289/542</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">36.84% </span>
33
+ <span class="strong">36.04% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>105/285</span>
35
+ <span class='fraction'>102/283</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">53.84% </span>
40
+ <span class="strong">52.56% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>42/78</span>
42
+ <span class='fraction'>41/78</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">54.2% </span>
47
+ <span class="strong">53.68% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>290/535</span>
49
+ <span class='fraction'>284/529</span>
50
50
  </div>
51
51
 
52
52
 
@@ -74,32 +74,32 @@
74
74
  </thead>
75
75
  <tbody><tr>
76
76
  <td class="file medium" data-value="bulkFormula.js"><a href="bulkFormula.js.html">bulkFormula.js</a></td>
77
- <td data-value="69.62" class="pic medium">
77
+ <td data-value="69.23" class="pic medium">
78
78
  <div class="chart"><div class="cover-fill" style="width: 69%"></div><div class="cover-empty" style="width: 31%"></div></div>
79
79
  </td>
80
- <td data-value="69.62" class="pct medium">69.62%</td>
81
- <td data-value="79" class="abs medium">55/79</td>
80
+ <td data-value="69.23" class="pct medium">69.23%</td>
81
+ <td data-value="78" class="abs medium">54/78</td>
82
82
  <td data-value="43.63" class="pct low">43.63%</td>
83
83
  <td data-value="55" class="abs low">24/55</td>
84
84
  <td data-value="81.25" class="pct high">81.25%</td>
85
85
  <td data-value="16" class="abs high">13/16</td>
86
- <td data-value="69.73" class="pct medium">69.73%</td>
87
- <td data-value="76" class="abs medium">53/76</td>
86
+ <td data-value="69.33" class="pct medium">69.33%</td>
87
+ <td data-value="75" class="abs medium">52/75</td>
88
88
  </tr>
89
89
 
90
90
  <tr>
91
91
  <td class="file low" data-value="external.js"><a href="external.js.html">external.js</a></td>
92
- <td data-value="8.02" class="pic low">
92
+ <td data-value="8.2" class="pic low">
93
93
  <div class="chart"><div class="cover-fill" style="width: 8%"></div><div class="cover-empty" style="width: 92%"></div></div>
94
94
  </td>
95
- <td data-value="8.02" class="pct low">8.02%</td>
96
- <td data-value="137" class="abs low">11/137</td>
95
+ <td data-value="8.2" class="pct low">8.2%</td>
96
+ <td data-value="134" class="abs low">11/134</td>
97
97
  <td data-value="0" class="pct low">0%</td>
98
98
  <td data-value="76" class="abs low">0/76</td>
99
99
  <td data-value="0" class="pct low">0%</td>
100
100
  <td data-value="14" class="abs low">0/14</td>
101
- <td data-value="8.02" class="pct low">8.02%</td>
102
- <td data-value="137" class="abs low">11/137</td>
101
+ <td data-value="8.2" class="pct low">8.2%</td>
102
+ <td data-value="134" class="abs low">11/134</td>
103
103
  </tr>
104
104
 
105
105
  <tr>
@@ -119,32 +119,32 @@
119
119
 
120
120
  <tr>
121
121
  <td class="file medium" data-value="internal.js"><a href="internal.js.html">internal.js</a></td>
122
- <td data-value="77.14" class="pic medium">
123
- <div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
122
+ <td data-value="72.46" class="pic medium">
123
+ <div class="chart"><div class="cover-fill" style="width: 72%"></div><div class="cover-empty" style="width: 28%"></div></div>
124
124
  </td>
125
- <td data-value="77.14" class="pct medium">77.14%</td>
126
- <td data-value="70" class="abs medium">54/70</td>
127
- <td data-value="71.87" class="pct medium">71.87%</td>
128
- <td data-value="32" class="abs medium">23/32</td>
129
- <td data-value="60" class="pct medium">60%</td>
130
- <td data-value="5" class="abs medium">3/5</td>
131
- <td data-value="80.59" class="pct high">80.59%</td>
132
- <td data-value="67" class="abs high">54/67</td>
125
+ <td data-value="72.46" class="pct medium">72.46%</td>
126
+ <td data-value="69" class="abs medium">50/69</td>
127
+ <td data-value="67.64" class="pct medium">67.64%</td>
128
+ <td data-value="34" class="abs medium">23/34</td>
129
+ <td data-value="40" class="pct low">40%</td>
130
+ <td data-value="5" class="abs low">2/5</td>
131
+ <td data-value="75.75" class="pct medium">75.75%</td>
132
+ <td data-value="66" class="abs medium">50/66</td>
133
133
  </tr>
134
134
 
135
135
  <tr>
136
136
  <td class="file medium" data-value="utils.js"><a href="utils.js.html">utils.js</a></td>
137
- <td data-value="64.07" class="pic medium">
138
- <div class="chart"><div class="cover-fill" style="width: 64%"></div><div class="cover-empty" style="width: 36%"></div></div>
137
+ <td data-value="63.9" class="pic medium">
138
+ <div class="chart"><div class="cover-fill" style="width: 63%"></div><div class="cover-empty" style="width: 37%"></div></div>
139
139
  </td>
140
- <td data-value="64.07" class="pct medium">64.07%</td>
141
- <td data-value="206" class="abs medium">132/206</td>
142
- <td data-value="41.41" class="pct low">41.41%</td>
143
- <td data-value="99" class="abs low">41/99</td>
140
+ <td data-value="63.9" class="pct medium">63.9%</td>
141
+ <td data-value="205" class="abs medium">131/205</td>
142
+ <td data-value="40" class="pct low">40%</td>
143
+ <td data-value="95" class="abs low">38/95</td>
144
144
  <td data-value="58.82" class="pct medium">58.82%</td>
145
145
  <td data-value="34" class="abs medium">20/34</td>
146
- <td data-value="64.5" class="pct medium">64.5%</td>
147
- <td data-value="200" class="abs medium">129/200</td>
146
+ <td data-value="64.32" class="pct medium">64.32%</td>
147
+ <td data-value="199" class="abs medium">128/199</td>
148
148
  </tr>
149
149
 
150
150
  </tbody>
@@ -155,7 +155,7 @@
155
155
  <div class='footer quiet pad2 space-top1 center small'>
156
156
  Code coverage generated by
157
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Mon Jan 31 2022 19:12:04 GMT+0000 (Coordinated Universal Time)
158
+ at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="../../../prettify.js"></script>
@@ -253,12 +253,12 @@
253
253
  <span class="cline-any cline-neutral">&nbsp;</span>
254
254
  <span class="cline-any cline-yes">1x</span>
255
255
  <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
257
- const internal = require("./internal")
256
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const internal = require("./internal")
258
257
  const external = require("./external")
259
258
  const csvParser = require("../../../utilities/csvParser")
260
259
  const { isExternalTable, isSQL } = require("../../../integrations/utils")
261
260
  const { getDatasourceParams } = require("../../../db/utils")
261
+ const { getAppDB } = require("@budibase/backend-core/context")
262
262
  const { getTable, getAllInternalTables } = require("./utils")
263
263
  &nbsp;
264
264
  function pickApi({ tableId, table }) {
@@ -275,9 +275,9 @@ function pickApi({ tableId, table }) {
275
275
  &nbsp;
276
276
  // covers both internal and external
277
277
  exports.fetch = async function (ctx) {
278
- const db = new CouchDB(ctx.appId)
278
+ const db = getAppDB()
279
279
  &nbsp;
280
- const internal = await getAllInternalTables(ctx.appId)
280
+ const internal = await getAllInternalTables()
281
281
  &nbsp;
282
282
  const externalTables = await db.allDocs(
283
283
  getDatasourceParams("plus", {
@@ -304,7 +304,7 @@ exports.fetch = async function (ctx) {
304
304
  &nbsp;
305
305
  exports.find = async function (ctx) {
306
306
  const tableId = ctx.params.id
307
- ctx.body = await getTable(ctx.appId, tableId)
307
+ ctx.body = await getTable(tableId)
308
308
  }
309
309
  &nbsp;
310
310
  exports.save = async function (ctx) {
@@ -343,7 +343,7 @@ exports.validateCSVSchema = async function (ctx) {
343
343
  const { csvString, schema = {}, tableId } = ctx.request.body
344
344
  let existingTable
345
345
  <span class="missing-if-branch" title="if path not taken" >I</span>if (tableId) {
346
- <span class="cstat-no" title="statement not covered" > existingTable = await getTable(ctx.appId, tableId)</span>
346
+ <span class="cstat-no" title="statement not covered" > existingTable = await getTable(tableId)</span>
347
347
  }
348
348
  let result = await csvParser.parse(csvString, schema)
349
349
  <span class="missing-if-branch" title="if path not taken" >I</span>if (existingTable) {
@@ -358,7 +358,7 @@ exports.validateCSVSchema = async function (ctx) {
358
358
  <div class='footer quiet pad2 space-top1 center small'>
359
359
  Code coverage generated by
360
360
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
361
- at Mon Jan 31 2022 19:12:04 GMT+0000 (Coordinated Universal Time)
361
+ at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
362
362
  </div>
363
363
  </div>
364
364
  <script src="../../../prettify.js"></script>