@budibase/server 1.0.49-alpha.0 → 1.0.49-alpha.12

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 (357) 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.8184eed9.js → index.0bdf1cad.js} +195 -194
  8. package/builder/assets/{index.dd9e386f.css → index.83c0944f.css} +1 -1
  9. package/builder/assets/{vendor.3bd2f661.js → vendor.d526bfe8.js} +1 -1
  10. package/builder/index.html +3 -3
  11. package/coverage/clover.xml +2927 -2819
  12. package/coverage/coverage-final.json +104 -103
  13. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/application.js.html +157 -136
  16. package/coverage/lcov-report/api/controllers/auth.js.html +11 -14
  17. package/coverage/lcov-report/api/controllers/automation.js.html +39 -69
  18. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/cloud.js.html +8 -11
  20. package/coverage/lcov-report/api/controllers/component.js.html +10 -13
  21. package/coverage/lcov-report/api/controllers/datasource.js.html +31 -37
  22. package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
  23. package/coverage/lcov-report/api/controllers/index.html +69 -54
  24. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/layout.js.html +9 -9
  26. package/coverage/lcov-report/api/controllers/metadata.js.html +6 -21
  27. package/coverage/lcov-report/{migrations/usageQuotas/syncApps.js.html → api/controllers/migrations.js.html} +30 -45
  28. package/coverage/lcov-report/api/controllers/permission.js.html +19 -19
  29. package/coverage/lcov-report/api/controllers/query/index.html +10 -10
  30. package/coverage/lcov-report/api/controllers/query/index.js.html +38 -35
  31. package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -6
  32. package/coverage/lcov-report/api/controllers/role.js.html +16 -16
  33. package/coverage/lcov-report/api/controllers/routing.js.html +7 -10
  34. package/coverage/lcov-report/api/controllers/row/external.js.html +48 -141
  35. package/coverage/lcov-report/api/controllers/row/index.html +52 -37
  36. package/coverage/lcov-report/api/controllers/row/index.js.html +13 -13
  37. package/coverage/lcov-report/api/controllers/row/internal.js.html +108 -216
  38. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +52 -34
  39. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +548 -0
  40. package/coverage/lcov-report/api/controllers/row/utils.js.html +27 -24
  41. package/coverage/lcov-report/api/controllers/screen.js.html +15 -21
  42. package/coverage/lcov-report/api/controllers/script.js.html +4 -4
  43. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +599 -0
  44. package/coverage/lcov-report/api/controllers/table/external.js.html +25 -34
  45. package/coverage/lcov-report/api/controllers/table/index.html +57 -42
  46. package/coverage/lcov-report/api/controllers/table/index.js.html +28 -70
  47. package/coverage/lcov-report/api/controllers/table/internal.js.html +56 -47
  48. package/coverage/lcov-report/api/controllers/table/utils.js.html +169 -85
  49. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  50. package/coverage/lcov-report/api/controllers/user.js.html +43 -52
  51. package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
  52. package/coverage/lcov-report/api/controllers/view/index.html +16 -16
  53. package/coverage/lcov-report/api/controllers/view/index.js.html +27 -33
  54. package/coverage/lcov-report/api/controllers/view/utils.js.html +35 -20
  55. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
  56. package/coverage/lcov-report/api/controllers/webhook.js.html +34 -28
  57. package/coverage/lcov-report/api/index.html +1 -1
  58. package/coverage/lcov-report/api/index.js.html +3 -3
  59. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/index.html +22 -7
  71. package/coverage/lcov-report/api/routes/index.js.html +10 -4
  72. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  75. package/coverage/lcov-report/{migrations/usageQuotas/index.js.html → api/routes/migrations.js.html} +25 -55
  76. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  81. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  83. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  84. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  85. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  86. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  87. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  88. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  89. package/coverage/lcov-report/automations/actions.js.html +24 -24
  90. package/coverage/lcov-report/automations/automationUtils.js.html +7 -10
  91. package/coverage/lcov-report/automations/bullboard.js.html +16 -16
  92. package/coverage/lcov-report/automations/index.html +18 -18
  93. package/coverage/lcov-report/automations/index.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/bash.js.html +6 -6
  95. package/coverage/lcov-report/automations/steps/createRow.js.html +7 -10
  96. package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
  97. package/coverage/lcov-report/automations/steps/deleteRow.js.html +7 -7
  98. package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
  99. package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
  100. package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
  101. package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
  102. package/coverage/lcov-report/automations/steps/index.html +1 -1
  103. package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
  104. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
  105. package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
  106. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
  107. package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
  108. package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
  109. package/coverage/lcov-report/automations/steps/updateRow.js.html +7 -7
  110. package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
  111. package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
  112. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  113. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  114. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  115. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  116. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  117. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  118. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  119. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  120. package/coverage/lcov-report/automations/triggers.js.html +61 -55
  121. package/coverage/lcov-report/automations/utils.js.html +54 -42
  122. package/coverage/lcov-report/constants/index.html +5 -5
  123. package/coverage/lcov-report/constants/index.js.html +42 -27
  124. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  125. package/coverage/lcov-report/constants/screens.js.html +4 -4
  126. package/coverage/lcov-report/db/client.js.html +18 -18
  127. package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
  128. package/coverage/lcov-report/db/index.html +1 -1
  129. package/coverage/lcov-report/db/index.js.html +3 -3
  130. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +15 -27
  131. package/coverage/lcov-report/db/linkedRows/index.html +27 -27
  132. package/coverage/lcov-report/db/linkedRows/index.js.html +40 -85
  133. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +40 -40
  134. package/coverage/lcov-report/db/newid.js.html +4 -4
  135. package/coverage/lcov-report/db/utils.js.html +75 -75
  136. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  137. package/coverage/lcov-report/events/index.html +1 -1
  138. package/coverage/lcov-report/events/index.js.html +5 -5
  139. package/coverage/lcov-report/events/utils.js.html +3 -3
  140. package/coverage/lcov-report/index.html +107 -122
  141. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  142. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  143. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  144. package/coverage/lcov-report/middleware/authorized.js.html +21 -15
  145. package/coverage/lcov-report/middleware/builder.js.html +3 -3
  146. package/coverage/lcov-report/middleware/currentapp.js.html +72 -60
  147. package/coverage/lcov-report/middleware/index.html +28 -28
  148. package/coverage/lcov-report/middleware/joi-validator.js.html +3 -3
  149. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  150. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  151. package/coverage/lcov-report/middleware/usageQuota.js.html +29 -35
  152. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  153. package/coverage/lcov-report/threads/automation.js.html +30 -24
  154. package/coverage/lcov-report/threads/index.html +25 -25
  155. package/coverage/lcov-report/threads/index.js.html +10 -10
  156. package/coverage/lcov-report/threads/query.js.html +26 -47
  157. package/coverage/lcov-report/threads/utils.js.html +14 -14
  158. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  159. package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
  160. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  161. package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
  162. package/coverage/lcov-report/utilities/global.js.html +57 -48
  163. package/coverage/lcov-report/utilities/index.html +27 -27
  164. package/coverage/lcov-report/utilities/index.js.html +42 -72
  165. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +8 -8
  166. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  167. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  168. package/coverage/lcov-report/utilities/routing/index.js.html +7 -7
  169. package/coverage/lcov-report/utilities/rowProcessor/index.html +27 -27
  170. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +65 -71
  171. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +75 -27
  172. package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
  173. package/coverage/lcov-report/utilities/security.js.html +8 -8
  174. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  175. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  176. package/coverage/lcov-report/utilities/usageQuota/index.js.html +13 -10
  177. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +5 -2
  178. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  179. package/coverage/lcov-report/utilities/users.js.html +9 -9
  180. package/coverage/lcov-report/utilities/workerRequests.js.html +16 -16
  181. package/coverage/lcov.info +4620 -4358
  182. package/dist/api/controllers/application.js +49 -48
  183. package/dist/api/controllers/auth.js +4 -5
  184. package/dist/api/controllers/automation.js +14 -19
  185. package/dist/api/controllers/cloud.js +2 -3
  186. package/dist/api/controllers/component.js +3 -4
  187. package/dist/api/controllers/datasource.js +9 -10
  188. package/dist/api/controllers/deploy/Deployment.js +3 -6
  189. package/dist/api/controllers/deploy/index.js +12 -13
  190. package/dist/api/controllers/dev.js +5 -5
  191. package/dist/api/controllers/layout.js +3 -3
  192. package/dist/api/controllers/metadata.js +4 -4
  193. package/dist/api/controllers/migrations.js +21 -0
  194. package/dist/api/controllers/permission.js +4 -4
  195. package/dist/api/controllers/query/import/index.js +4 -6
  196. package/dist/api/controllers/query/index.js +11 -10
  197. package/dist/api/controllers/role.js +5 -5
  198. package/dist/api/controllers/routing.js +5 -6
  199. package/dist/api/controllers/row/ExternalRequest.js +90 -67
  200. package/dist/api/controllers/row/external.js +14 -22
  201. package/dist/api/controllers/row/internal.js +55 -93
  202. package/dist/api/controllers/row/internalSearch.js +23 -17
  203. package/dist/api/controllers/row/staticFormula.js +147 -0
  204. package/dist/api/controllers/row/utils.js +7 -6
  205. package/dist/api/controllers/screen.js +5 -7
  206. package/dist/api/controllers/static/index.js +4 -4
  207. package/dist/api/controllers/table/bulkFormula.js +159 -0
  208. package/dist/api/controllers/table/external.js +7 -10
  209. package/dist/api/controllers/table/index.js +7 -10
  210. package/dist/api/controllers/table/internal.js +20 -16
  211. package/dist/api/controllers/table/utils.js +54 -34
  212. package/dist/api/controllers/user.js +16 -20
  213. package/dist/api/controllers/view/index.js +8 -10
  214. package/dist/api/controllers/view/utils.js +9 -4
  215. package/dist/api/controllers/webhook.js +10 -8
  216. package/dist/api/routes/index.js +2 -0
  217. package/dist/api/routes/migrations.js +9 -0
  218. package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
  219. package/dist/app.js +35 -5
  220. package/dist/automations/automationUtils.js +2 -3
  221. package/dist/automations/steps/createRow.js +1 -1
  222. package/dist/automations/steps/updateRow.js +1 -1
  223. package/dist/automations/triggers.js +27 -25
  224. package/dist/automations/utils.js +10 -5
  225. package/dist/constants/index.js +4 -0
  226. package/dist/db/linkedRows/LinkController.js +3 -7
  227. package/dist/db/linkedRows/index.js +16 -27
  228. package/dist/db/linkedRows/linkUtils.js +6 -6
  229. package/dist/db/views/staticViews.js +9 -10
  230. package/dist/environment.js +3 -1
  231. package/dist/integrations/base/sql.js +43 -8
  232. package/dist/integrations/utils.js +3 -0
  233. package/dist/middleware/authorized.js +5 -3
  234. package/dist/middleware/builder.js +2 -2
  235. package/dist/middleware/currentapp.js +41 -37
  236. package/dist/middleware/usageQuota.js +2 -4
  237. package/dist/migrations/functions/appUrls.js +46 -0
  238. package/dist/migrations/functions/quotas1.js +50 -0
  239. package/dist/migrations/{usageQuotas → functions/usageQuotas}/index.js +6 -10
  240. package/dist/migrations/{usageQuotas → functions/usageQuotas}/syncApps.js +12 -9
  241. package/dist/migrations/{usageQuotas → functions/usageQuotas}/syncRows.js +16 -12
  242. package/dist/migrations/functions/userEmailViewCasing.js +24 -0
  243. package/dist/migrations/index.js +62 -0
  244. package/dist/package.json +4 -4
  245. package/dist/tests/utilities/TestConfiguration.js +70 -44
  246. package/dist/threads/automation.js +13 -11
  247. package/dist/threads/query.js +13 -19
  248. package/dist/tsconfig.tsbuildinfo +1 -1
  249. package/dist/utilities/fileSystem/index.js +4 -3
  250. package/dist/utilities/global.js +15 -12
  251. package/dist/utilities/index.js +7 -17
  252. package/dist/utilities/routing/index.js +5 -5
  253. package/dist/utilities/rowProcessor/index.js +23 -17
  254. package/dist/utilities/rowProcessor/utils.js +14 -4
  255. package/dist/utilities/usageQuota/index.js +1 -0
  256. package/dist/utilities/usageQuota/rows.js +1 -0
  257. package/dist/utilities/users.js +3 -3
  258. package/dist/utilities/workerRequests.js +4 -4
  259. package/package.json +5 -5
  260. package/scripts/integrations/postgres/init.sql +11 -6
  261. package/scripts/likeCypress.ts +1 -1
  262. package/src/api/controllers/application.js +38 -31
  263. package/src/api/controllers/auth.js +4 -5
  264. package/src/api/controllers/automation.js +13 -23
  265. package/src/api/controllers/cloud.js +2 -3
  266. package/src/api/controllers/component.js +3 -4
  267. package/src/api/controllers/datasource.js +9 -11
  268. package/src/api/controllers/deploy/Deployment.js +3 -7
  269. package/src/api/controllers/deploy/index.js +20 -13
  270. package/src/api/controllers/dev.js +5 -5
  271. package/src/api/controllers/layout.js +3 -3
  272. package/src/api/controllers/metadata.js +4 -9
  273. package/src/api/controllers/migrations.js +13 -0
  274. package/src/api/controllers/permission.js +4 -4
  275. package/src/api/controllers/query/import/index.ts +4 -6
  276. package/src/api/controllers/query/import/tests/index.spec.js +2 -1
  277. package/src/api/controllers/query/index.js +11 -10
  278. package/src/api/controllers/role.js +5 -5
  279. package/src/api/controllers/routing.js +5 -6
  280. package/src/api/controllers/row/ExternalRequest.ts +67 -43
  281. package/src/api/controllers/row/external.js +27 -58
  282. package/src/api/controllers/row/internal.js +54 -90
  283. package/src/api/controllers/row/internalSearch.js +23 -17
  284. package/src/api/controllers/row/staticFormula.js +156 -0
  285. package/src/api/controllers/row/utils.js +7 -6
  286. package/src/api/controllers/screen.js +5 -7
  287. package/src/api/controllers/static/index.js +4 -4
  288. package/src/api/controllers/table/bulkFormula.js +173 -0
  289. package/src/api/controllers/table/external.js +7 -10
  290. package/src/api/controllers/table/index.js +7 -21
  291. package/src/api/controllers/table/internal.js +22 -19
  292. package/src/api/controllers/table/utils.js +70 -42
  293. package/src/api/controllers/user.js +17 -20
  294. package/src/api/controllers/view/index.js +8 -10
  295. package/src/api/controllers/view/utils.js +9 -4
  296. package/src/api/controllers/webhook.js +10 -8
  297. package/src/api/routes/index.js +2 -0
  298. package/src/api/routes/migrations.js +14 -0
  299. package/src/api/routes/tests/automation.spec.js +1 -0
  300. package/src/api/routes/tests/misc.spec.js +0 -1
  301. package/src/api/routes/tests/routing.spec.js +21 -12
  302. package/src/api/routes/tests/row.spec.js +7 -4
  303. package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
  304. package/src/app.ts +18 -5
  305. package/src/automations/automationUtils.js +2 -3
  306. package/src/automations/steps/createRow.js +0 -1
  307. package/src/automations/steps/updateRow.js +1 -1
  308. package/src/automations/triggers.js +33 -31
  309. package/src/automations/utils.js +9 -5
  310. package/src/constants/index.js +5 -0
  311. package/src/db/linkedRows/LinkController.js +3 -7
  312. package/src/db/linkedRows/index.js +16 -31
  313. package/src/db/linkedRows/linkUtils.js +6 -6
  314. package/src/db/tests/linkController.spec.js +0 -1
  315. package/src/db/tests/linkTests.spec.js +5 -6
  316. package/src/db/views/staticViews.js +8 -10
  317. package/src/definitions/common.ts +3 -0
  318. package/src/environment.js +3 -1
  319. package/src/integrations/base/sql.ts +55 -14
  320. package/src/integrations/utils.ts +4 -1
  321. package/src/middleware/authorized.js +5 -3
  322. package/src/middleware/builder.js +2 -2
  323. package/src/middleware/currentapp.js +50 -46
  324. package/src/middleware/tests/authorized.spec.js +7 -2
  325. package/src/middleware/tests/currentapp.spec.js +6 -0
  326. package/src/middleware/usageQuota.js +2 -4
  327. package/src/migrations/functions/appUrls.ts +34 -0
  328. package/src/migrations/functions/quotas1.ts +20 -0
  329. package/src/migrations/functions/tests/appUrls.spec.js +29 -0
  330. package/src/migrations/{tests/usageQuotas/index.spec.js → functions/tests/quotas1.spec.js} +5 -5
  331. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +25 -0
  332. package/src/migrations/functions/usageQuotas/index.ts +8 -0
  333. package/src/migrations/{usageQuotas/syncApps.js → functions/usageQuotas/syncApps.ts} +6 -6
  334. package/src/migrations/functions/usageQuotas/syncRows.ts +22 -0
  335. package/src/migrations/{tests/usageQuotas → functions/usageQuotas/tests}/syncApps.spec.js +4 -4
  336. package/src/migrations/{tests/usageQuotas → functions/usageQuotas/tests}/syncRows.spec.js +4 -4
  337. package/src/migrations/functions/userEmailViewCasing.ts +13 -0
  338. package/src/migrations/index.ts +56 -0
  339. package/src/module.d.ts +3 -0
  340. package/src/tests/utilities/TestConfiguration.js +73 -50
  341. package/src/threads/automation.js +17 -15
  342. package/src/threads/query.js +14 -21
  343. package/src/utilities/fileSystem/index.js +4 -3
  344. package/src/utilities/global.js +15 -12
  345. package/src/utilities/index.js +7 -17
  346. package/src/utilities/routing/index.js +5 -5
  347. package/src/utilities/rowProcessor/index.js +25 -27
  348. package/src/utilities/rowProcessor/utils.js +23 -7
  349. package/src/utilities/usageQuota/index.js +1 -0
  350. package/src/utilities/usageQuota/rows.js +1 -0
  351. package/src/utilities/users.js +3 -3
  352. package/src/utilities/workerRequests.js +4 -4
  353. package/tsconfig.json +2 -1
  354. package/coverage/lcov-report/migrations/usageQuotas/index.html +0 -141
  355. package/coverage/lcov-report/migrations/usageQuotas/syncRows.js.html +0 -143
  356. package/src/migrations/usageQuotas/index.js +0 -24
  357. package/src/migrations/usageQuotas/syncRows.js +0 -21
@@ -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,30 +361,27 @@
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">37x</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>
368
365
  <span class="cline-any cline-neutral">&nbsp;</span>
369
366
  <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-yes">39x</span>
370
368
  <span class="cline-any cline-neutral">&nbsp;</span>
371
- <span class="cline-any cline-yes">37x</span>
372
369
  <span class="cline-any cline-neutral">&nbsp;</span>
373
370
  <span class="cline-any cline-neutral">&nbsp;</span>
374
371
  <span class="cline-any cline-neutral">&nbsp;</span>
375
372
  <span class="cline-any cline-neutral">&nbsp;</span>
376
373
  <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-yes">39x</span>
377
375
  <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-yes">37x</span>
379
376
  <span class="cline-any cline-neutral">&nbsp;</span>
380
377
  <span class="cline-any cline-neutral">&nbsp;</span>
381
378
  <span class="cline-any cline-neutral">&nbsp;</span>
382
- <span class="cline-any cline-neutral">&nbsp;</span>
383
- <span class="cline-any cline-yes">37x</span>
384
- <span class="cline-any cline-yes">37x</span>
385
- <span class="cline-any cline-yes">37x</span>
386
- <span class="cline-any cline-yes">37x</span>
387
- <span class="cline-any cline-yes">37x</span>
379
+ <span class="cline-any cline-yes">39x</span>
380
+ <span class="cline-any cline-yes">39x</span>
381
+ <span class="cline-any cline-yes">39x</span>
382
+ <span class="cline-any cline-yes">39x</span>
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>
@@ -524,8 +521,7 @@
524
521
  <span class="cline-any cline-no">&nbsp;</span>
525
522
  <span class="cline-any cline-neutral">&nbsp;</span>
526
523
  <span class="cline-any cline-neutral">&nbsp;</span>
527
- <span class="cline-any cline-yes">37x</span>
528
- <span class="cline-any cline-no">&nbsp;</span>
524
+ <span class="cline-any cline-yes">39x</span>
529
525
  <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>
@@ -632,8 +628,7 @@
632
628
  <span class="cline-any cline-no">&nbsp;</span>
633
629
  <span class="cline-any cline-neutral">&nbsp;</span>
634
630
  <span class="cline-any cline-neutral">&nbsp;</span>
635
- <span class="cline-any cline-yes">37x</span>
636
- <span class="cline-any cline-no">&nbsp;</span>
631
+ <span class="cline-any cline-yes">39x</span>
637
632
  <span class="cline-any cline-no">&nbsp;</span>
638
633
  <span class="cline-any cline-no">&nbsp;</span>
639
634
  <span class="cline-any cline-no">&nbsp;</span>
@@ -655,8 +650,7 @@
655
650
  <span class="cline-any cline-no">&nbsp;</span>
656
651
  <span class="cline-any cline-neutral">&nbsp;</span>
657
652
  <span class="cline-any cline-neutral">&nbsp;</span>
658
- <span class="cline-any cline-yes">37x</span>
659
- <span class="cline-any cline-no">&nbsp;</span>
653
+ <span class="cline-any cline-yes">39x</span>
660
654
  <span class="cline-any cline-no">&nbsp;</span>
661
655
  <span class="cline-any cline-no">&nbsp;</span>
662
656
  <span class="cline-any cline-no">&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 14:38:52 GMT+0000 (Coordinated Universal Time)
979
+ at Fri Feb 04 2022 13:16:14 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">50.33% </span>
26
+ <span class="strong">53.32% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>226/449</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">35.21% </span>
33
+ <span class="strong">36.04% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>81/230</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">47.36% </span>
40
+ <span class="strong">52.56% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>27/57</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">50.79% </span>
47
+ <span class="strong">53.68% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>224/441</span>
49
+ <span class='fraction'>284/529</span>
50
50
  </div>
51
51
 
52
52
 
@@ -73,63 +73,78 @@
73
73
  </tr>
74
74
  </thead>
75
75
  <tbody><tr>
76
+ <td class="file medium" data-value="bulkFormula.js"><a href="bulkFormula.js.html">bulkFormula.js</a></td>
77
+ <td data-value="69.23" class="pic medium">
78
+ <div class="chart"><div class="cover-fill" style="width: 69%"></div><div class="cover-empty" style="width: 31%"></div></div>
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
+ <td data-value="43.63" class="pct low">43.63%</td>
83
+ <td data-value="55" class="abs low">24/55</td>
84
+ <td data-value="81.25" class="pct high">81.25%</td>
85
+ <td data-value="16" class="abs high">13/16</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
+ </tr>
89
+
90
+ <tr>
76
91
  <td class="file low" data-value="external.js"><a href="external.js.html">external.js</a></td>
77
- <td data-value="8.02" class="pic low">
92
+ <td data-value="8.2" class="pic low">
78
93
  <div class="chart"><div class="cover-fill" style="width: 8%"></div><div class="cover-empty" style="width: 92%"></div></div>
79
94
  </td>
80
- <td data-value="8.02" class="pct low">8.02%</td>
81
- <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>
82
97
  <td data-value="0" class="pct low">0%</td>
83
98
  <td data-value="76" class="abs low">0/76</td>
84
99
  <td data-value="0" class="pct low">0%</td>
85
100
  <td data-value="14" class="abs low">0/14</td>
86
- <td data-value="8.02" class="pct low">8.02%</td>
87
- <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>
88
103
  </tr>
89
104
 
90
105
  <tr>
91
106
  <td class="file medium" data-value="index.js"><a href="index.js.html">index.js</a></td>
92
- <td data-value="77.58" class="pic medium">
93
- <div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
107
+ <td data-value="76.78" class="pic medium">
108
+ <div class="chart"><div class="cover-fill" style="width: 76%"></div><div class="cover-empty" style="width: 24%"></div></div>
94
109
  </td>
95
- <td data-value="77.58" class="pct medium">77.58%</td>
96
- <td data-value="58" class="abs medium">45/58</td>
110
+ <td data-value="76.78" class="pct medium">76.78%</td>
111
+ <td data-value="56" class="abs medium">43/56</td>
97
112
  <td data-value="73.91" class="pct medium">73.91%</td>
98
113
  <td data-value="23" class="abs medium">17/23</td>
99
- <td data-value="70" class="pct medium">70%</td>
100
- <td data-value="10" class="abs medium">7/10</td>
101
- <td data-value="78.57" class="pct medium">78.57%</td>
102
- <td data-value="56" class="abs medium">44/56</td>
114
+ <td data-value="66.66" class="pct medium">66.66%</td>
115
+ <td data-value="9" class="abs medium">6/9</td>
116
+ <td data-value="78.18" class="pct medium">78.18%</td>
117
+ <td data-value="55" class="abs medium">43/55</td>
103
118
  </tr>
104
119
 
105
120
  <tr>
106
121
  <td class="file medium" data-value="internal.js"><a href="internal.js.html">internal.js</a></td>
107
- <td data-value="75.38" class="pic medium">
108
- <div class="chart"><div class="cover-fill" style="width: 75%"></div><div class="cover-empty" style="width: 25%"></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>
109
124
  </td>
110
- <td data-value="75.38" class="pct medium">75.38%</td>
111
- <td data-value="65" class="abs medium">49/65</td>
112
- <td data-value="71.87" class="pct medium">71.87%</td>
113
- <td data-value="32" class="abs medium">23/32</td>
114
- <td data-value="60" class="pct medium">60%</td>
115
- <td data-value="5" class="abs medium">3/5</td>
116
- <td data-value="79.03" class="pct medium">79.03%</td>
117
- <td data-value="62" class="abs medium">49/62</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>
118
133
  </tr>
119
134
 
120
135
  <tr>
121
136
  <td class="file medium" data-value="utils.js"><a href="utils.js.html">utils.js</a></td>
122
- <td data-value="64.02" class="pic medium">
123
- <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>
124
139
  </td>
125
- <td data-value="64.02" class="pct medium">64.02%</td>
126
- <td data-value="189" class="abs medium">121/189</td>
127
- <td data-value="41.41" class="pct low">41.41%</td>
128
- <td data-value="99" class="abs low">41/99</td>
129
- <td data-value="60.71" class="pct medium">60.71%</td>
130
- <td data-value="28" class="abs medium">17/28</td>
131
- <td data-value="64.51" class="pct medium">64.51%</td>
132
- <td data-value="186" class="abs medium">120/186</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
+ <td data-value="58.82" class="pct medium">58.82%</td>
145
+ <td data-value="34" class="abs medium">20/34</td>
146
+ <td data-value="64.32" class="pct medium">64.32%</td>
147
+ <td data-value="199" class="abs medium">128/199</td>
133
148
  </tr>
134
149
 
135
150
  </tbody>
@@ -140,7 +155,7 @@
140
155
  <div class='footer quiet pad2 space-top1 center small'>
141
156
  Code coverage generated by
142
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Mon Jan 31 2022 14:38:52 GMT+0000 (Coordinated Universal Time)
158
+ at Fri Feb 04 2022 13:16:14 GMT+0000 (Coordinated Universal Time)
144
159
  </div>
145
160
  </div>
146
161
  <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">77.58% </span>
26
+ <span class="strong">76.78% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>45/58</span>
28
+ <span class='fraction'>43/56</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">70% </span>
40
+ <span class="strong">66.66% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>7/10</span>
42
+ <span class='fraction'>6/9</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">78.57% </span>
47
+ <span class="strong">78.18% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>44/56</span>
49
+ <span class='fraction'>43/55</span>
50
50
  </div>
51
51
 
52
52
 
@@ -155,31 +155,13 @@
155
155
  <a name='L96'></a><a href='#L96'>96</a>
156
156
  <a name='L97'></a><a href='#L97'>97</a>
157
157
  <a name='L98'></a><a href='#L98'>98</a>
158
- <a name='L99'></a><a href='#L99'>99</a>
159
- <a name='L100'></a><a href='#L100'>100</a>
160
- <a name='L101'></a><a href='#L101'>101</a>
161
- <a name='L102'></a><a href='#L102'>102</a>
162
- <a name='L103'></a><a href='#L103'>103</a>
163
- <a name='L104'></a><a href='#L104'>104</a>
164
- <a name='L105'></a><a href='#L105'>105</a>
165
- <a name='L106'></a><a href='#L106'>106</a>
166
- <a name='L107'></a><a href='#L107'>107</a>
167
- <a name='L108'></a><a href='#L108'>108</a>
168
- <a name='L109'></a><a href='#L109'>109</a>
169
- <a name='L110'></a><a href='#L110'>110</a>
170
- <a name='L111'></a><a href='#L111'>111</a>
171
- <a name='L112'></a><a href='#L112'>112</a>
172
- <a name='L113'></a><a href='#L113'>113</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
173
- <span class="cline-any cline-yes">37x</span>
174
- <span class="cline-any cline-yes">37x</span>
175
- <span class="cline-any cline-yes">37x</span>
176
- <span class="cline-any cline-yes">37x</span>
177
- <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-neutral">&nbsp;</span>
181
- <span class="cline-any cline-yes">37x</span>
182
- <span class="cline-any cline-yes">37x</span>
158
+ <a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
159
+ <span class="cline-any cline-yes">39x</span>
160
+ <span class="cline-any cline-yes">39x</span>
161
+ <span class="cline-any cline-yes">39x</span>
162
+ <span class="cline-any cline-yes">39x</span>
163
+ <span class="cline-any cline-yes">39x</span>
164
+ <span class="cline-any cline-yes">39x</span>
183
165
  <span class="cline-any cline-neutral">&nbsp;</span>
184
166
  <span class="cline-any cline-neutral">&nbsp;</span>
185
167
  <span class="cline-any cline-yes">103x</span>
@@ -194,21 +176,11 @@
194
176
  <span class="cline-any cline-neutral">&nbsp;</span>
195
177
  <span class="cline-any cline-neutral">&nbsp;</span>
196
178
  <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-yes">37x</span>
179
+ <span class="cline-any cline-yes">39x</span>
198
180
  <span class="cline-any cline-yes">1x</span>
199
181
  <span class="cline-any cline-neutral">&nbsp;</span>
200
182
  <span class="cline-any cline-yes">1x</span>
201
183
  <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-neutral">&nbsp;</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-yes">2x</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-neutral">&nbsp;</span>
209
- <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
184
  <span class="cline-any cline-yes">1x</span>
213
185
  <span class="cline-any cline-neutral">&nbsp;</span>
214
186
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -232,12 +204,12 @@
232
204
  <span class="cline-any cline-yes">1x</span>
233
205
  <span class="cline-any cline-neutral">&nbsp;</span>
234
206
  <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-yes">37x</span>
207
+ <span class="cline-any cline-yes">39x</span>
236
208
  <span class="cline-any cline-yes">19x</span>
237
209
  <span class="cline-any cline-yes">19x</span>
238
210
  <span class="cline-any cline-neutral">&nbsp;</span>
239
211
  <span class="cline-any cline-neutral">&nbsp;</span>
240
- <span class="cline-any cline-yes">37x</span>
212
+ <span class="cline-any cline-yes">39x</span>
241
213
  <span class="cline-any cline-yes">101x</span>
242
214
  <span class="cline-any cline-yes">101x</span>
243
215
  <span class="cline-any cline-yes">101x</span>
@@ -248,7 +220,7 @@
248
220
  <span class="cline-any cline-yes">101x</span>
249
221
  <span class="cline-any cline-neutral">&nbsp;</span>
250
222
  <span class="cline-any cline-neutral">&nbsp;</span>
251
- <span class="cline-any cline-yes">37x</span>
223
+ <span class="cline-any cline-yes">39x</span>
252
224
  <span class="cline-any cline-yes">2x</span>
253
225
  <span class="cline-any cline-yes">2x</span>
254
226
  <span class="cline-any cline-yes">2x</span>
@@ -258,7 +230,7 @@
258
230
  <span class="cline-any cline-yes">2x</span>
259
231
  <span class="cline-any cline-neutral">&nbsp;</span>
260
232
  <span class="cline-any cline-neutral">&nbsp;</span>
261
- <span class="cline-any cline-yes">37x</span>
233
+ <span class="cline-any cline-yes">39x</span>
262
234
  <span class="cline-any cline-no">&nbsp;</span>
263
235
  <span class="cline-any cline-no">&nbsp;</span>
264
236
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -268,7 +240,7 @@
268
240
  <span class="cline-any cline-no">&nbsp;</span>
269
241
  <span class="cline-any cline-neutral">&nbsp;</span>
270
242
  <span class="cline-any cline-neutral">&nbsp;</span>
271
- <span class="cline-any cline-yes">37x</span>
243
+ <span class="cline-any cline-yes">39x</span>
272
244
  <span class="cline-any cline-neutral">&nbsp;</span>
273
245
  <span class="cline-any cline-yes">1x</span>
274
246
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -281,17 +253,13 @@
281
253
  <span class="cline-any cline-neutral">&nbsp;</span>
282
254
  <span class="cline-any cline-yes">1x</span>
283
255
  <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
285
- 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")
286
257
  const external = require("./external")
287
258
  const csvParser = require("../../../utilities/csvParser")
288
259
  const { isExternalTable, isSQL } = require("../../../integrations/utils")
289
- const {
290
- getTableParams,
291
- getDatasourceParams,
292
- BudibaseInternalDB,
293
- } = require("../../../db/utils")
294
- const { getTable } = require("./utils")
260
+ const { getDatasourceParams } = require("../../../db/utils")
261
+ const { getAppDB } = require("@budibase/backend-core/context")
262
+ const { getTable, getAllInternalTables } = require("./utils")
295
263
  &nbsp;
296
264
  function pickApi({ tableId, table }) {
297
265
  if (table &amp;&amp; !tableId) {
@@ -307,19 +275,9 @@ function pickApi({ tableId, table }) {
307
275
  &nbsp;
308
276
  // covers both internal and external
309
277
  exports.fetch = async function (ctx) {
310
- const db = new CouchDB(ctx.appId)
311
- &nbsp;
312
- const internalTables = await db.allDocs(
313
- getTableParams(null, {
314
- include_docs: true,
315
- })
316
- )
278
+ const db = getAppDB()
317
279
  &nbsp;
318
- const internal = internalTables.rows.map(tableDoc =&gt; ({
319
- ...tableDoc.doc,
320
- type: "internal",
321
- sourceId: BudibaseInternalDB._id,
322
- }))
280
+ const internal = await getAllInternalTables()
323
281
  &nbsp;
324
282
  const externalTables = await db.allDocs(
325
283
  getDatasourceParams("plus", {
@@ -346,7 +304,7 @@ exports.fetch = async function (ctx) {
346
304
  &nbsp;
347
305
  exports.find = async function (ctx) {
348
306
  const tableId = ctx.params.id
349
- ctx.body = await getTable(ctx.appId, tableId)
307
+ ctx.body = await getTable(tableId)
350
308
  }
351
309
  &nbsp;
352
310
  exports.save = async function (ctx) {
@@ -385,7 +343,7 @@ exports.validateCSVSchema = async function (ctx) {
385
343
  const { csvString, schema = {}, tableId } = ctx.request.body
386
344
  let existingTable
387
345
  <span class="missing-if-branch" title="if path not taken" >I</span>if (tableId) {
388
- <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>
389
347
  }
390
348
  let result = await csvParser.parse(csvString, schema)
391
349
  <span class="missing-if-branch" title="if path not taken" >I</span>if (existingTable) {
@@ -400,7 +358,7 @@ exports.validateCSVSchema = async function (ctx) {
400
358
  <div class='footer quiet pad2 space-top1 center small'>
401
359
  Code coverage generated by
402
360
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
403
- at Mon Jan 31 2022 14:38:52 GMT+0000 (Coordinated Universal Time)
361
+ at Fri Feb 04 2022 13:16:14 GMT+0000 (Coordinated Universal Time)
404
362
  </div>
405
363
  </div>
406
364
  <script src="../../../prettify.js"></script>