@budibase/server 1.0.49-alpha.6 → 1.0.49

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 (376) hide show
  1. package/__mocks__/arangojs.ts +1 -1
  2. package/__mocks__/aws-sdk.ts +4 -4
  3. package/__mocks__/mongodb.ts +5 -4
  4. package/__mocks__/mssql.ts +3 -3
  5. package/__mocks__/node-fetch.ts +1 -2
  6. package/__mocks__/pg.ts +5 -3
  7. package/builder/assets/{index.1b905242.js → index.2c37968e.js} +231 -234
  8. package/builder/assets/index.39e01193.css +1 -0
  9. package/builder/assets/{vendor.d526bfe8.js → vendor.f9faf6ab.js} +12 -12
  10. package/builder/index.html +3 -3
  11. package/coverage/clover.xml +2816 -3119
  12. package/coverage/coverage-final.json +101 -106
  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 +152 -257
  16. package/coverage/lcov-report/api/controllers/auth.js.html +13 -22
  17. package/coverage/lcov-report/api/controllers/automation.js.html +69 -39
  18. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/cloud.js.html +11 -8
  20. package/coverage/lcov-report/api/controllers/component.js.html +16 -13
  21. package/coverage/lcov-report/api/controllers/datasource.js.html +51 -81
  22. package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
  23. package/coverage/lcov-report/{utilities/usageQuota/usageQuoteReset.js.html → api/controllers/hosting.js.html} +48 -36
  24. package/coverage/lcov-report/api/controllers/index.html +76 -76
  25. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/layout.js.html +9 -9
  27. package/coverage/lcov-report/api/controllers/metadata.js.html +21 -6
  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 +35 -38
  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 +10 -7
  34. package/coverage/lcov-report/api/controllers/row/external.js.html +27 -21
  35. package/coverage/lcov-report/api/controllers/row/index.html +34 -49
  36. package/coverage/lcov-report/api/controllers/row/index.js.html +26 -26
  37. package/coverage/lcov-report/api/controllers/row/internal.js.html +226 -118
  38. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +34 -52
  39. package/coverage/lcov-report/api/controllers/row/utils.js.html +62 -47
  40. package/coverage/lcov-report/api/controllers/screen.js.html +21 -15
  41. package/coverage/lcov-report/api/controllers/script.js.html +4 -4
  42. package/coverage/lcov-report/api/controllers/table/external.js.html +34 -25
  43. package/coverage/lcov-report/api/controllers/table/index.html +43 -58
  44. package/coverage/lcov-report/api/controllers/table/index.js.html +82 -58
  45. package/coverage/lcov-report/api/controllers/table/internal.js.html +66 -81
  46. package/coverage/lcov-report/api/controllers/table/utils.js.html +110 -218
  47. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/user.js.html +50 -47
  49. package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
  50. package/coverage/lcov-report/api/controllers/view/index.html +16 -16
  51. package/coverage/lcov-report/api/controllers/view/index.js.html +33 -27
  52. package/coverage/lcov-report/api/controllers/view/utils.js.html +20 -35
  53. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
  54. package/coverage/lcov-report/api/controllers/webhook.js.html +28 -34
  55. package/coverage/lcov-report/api/index.html +1 -1
  56. package/coverage/lcov-report/api/index.js.html +8 -8
  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/{migrations.js.html → hosting.js.html} +14 -17
  69. package/coverage/lcov-report/api/routes/index.html +18 -18
  70. package/coverage/lcov-report/api/routes/index.js.html +3 -3
  71. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/metadata.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 +2 -17
  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 +24 -24
  88. package/coverage/lcov-report/automations/automationUtils.js.html +10 -7
  89. package/coverage/lcov-report/automations/bullboard.js.html +16 -16
  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 +6 -6
  93. package/coverage/lcov-report/automations/steps/createRow.js.html +22 -13
  94. package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
  95. package/coverage/lcov-report/automations/steps/deleteRow.js.html +20 -11
  96. package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
  97. package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
  98. package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
  99. package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
  100. package/coverage/lcov-report/automations/steps/index.html +13 -13
  101. package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
  102. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
  103. package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
  104. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
  105. package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
  106. package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
  107. package/coverage/lcov-report/automations/steps/updateRow.js.html +7 -7
  108. package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
  109. package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
  110. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  111. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  112. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  113. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  114. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  115. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  116. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  117. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  118. package/coverage/lcov-report/automations/triggers.js.html +55 -61
  119. package/coverage/lcov-report/automations/utils.js.html +42 -54
  120. package/coverage/lcov-report/constants/index.html +5 -5
  121. package/coverage/lcov-report/constants/index.js.html +26 -53
  122. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  123. package/coverage/lcov-report/constants/screens.js.html +4 -4
  124. package/coverage/lcov-report/db/client.js.html +18 -18
  125. package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
  126. package/coverage/lcov-report/db/index.html +15 -15
  127. package/coverage/lcov-report/db/index.js.html +3 -3
  128. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +37 -25
  129. package/coverage/lcov-report/db/linkedRows/index.html +27 -27
  130. package/coverage/lcov-report/db/linkedRows/index.js.html +96 -51
  131. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +42 -42
  132. package/coverage/lcov-report/db/newid.js.html +4 -4
  133. package/coverage/lcov-report/db/utils.js.html +87 -87
  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 +5 -5
  137. package/coverage/lcov-report/events/utils.js.html +3 -3
  138. package/coverage/lcov-report/index.html +120 -135
  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 +65 -173
  143. package/coverage/lcov-report/middleware/builder.js.html +10 -10
  144. package/coverage/lcov-report/middleware/currentapp.js.html +83 -95
  145. package/coverage/lcov-report/middleware/index.html +38 -38
  146. package/coverage/lcov-report/middleware/joi-validator.js.html +3 -3
  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 +53 -281
  150. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  151. package/coverage/lcov-report/threads/automation.js.html +24 -30
  152. package/coverage/lcov-report/threads/index.html +26 -26
  153. package/coverage/lcov-report/threads/index.js.html +10 -10
  154. package/coverage/lcov-report/threads/query.js.html +26 -62
  155. package/coverage/lcov-report/threads/utils.js.html +14 -14
  156. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  157. package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
  158. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  159. package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
  160. package/coverage/lcov-report/utilities/global.js.html +49 -58
  161. package/coverage/lcov-report/utilities/index.html +37 -37
  162. package/coverage/lcov-report/utilities/index.js.html +73 -43
  163. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +8 -8
  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 +27 -27
  168. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +103 -97
  169. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +27 -75
  170. package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
  171. package/coverage/lcov-report/utilities/security.js.html +8 -8
  172. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  173. package/coverage/lcov-report/utilities/users.js.html +9 -9
  174. package/coverage/lcov-report/utilities/workerRequests.js.html +112 -43
  175. package/coverage/lcov.info +4423 -5022
  176. package/dist/api/controllers/application.js +60 -90
  177. package/dist/api/controllers/auth.js +5 -8
  178. package/dist/api/controllers/automation.js +19 -14
  179. package/dist/api/controllers/cloud.js +3 -2
  180. package/dist/api/controllers/component.js +4 -3
  181. package/dist/api/controllers/datasource.js +10 -20
  182. package/dist/api/controllers/deploy/Deployment.js +6 -3
  183. package/dist/api/controllers/deploy/index.js +13 -12
  184. package/dist/api/controllers/dev.js +5 -5
  185. package/dist/api/controllers/hosting.js +30 -0
  186. package/dist/api/controllers/layout.js +3 -3
  187. package/dist/api/controllers/metadata.js +4 -4
  188. package/dist/api/controllers/permission.js +4 -4
  189. package/dist/api/controllers/query/import/index.js +6 -4
  190. package/dist/api/controllers/query/index.js +10 -11
  191. package/dist/api/controllers/role.js +5 -5
  192. package/dist/api/controllers/routing.js +6 -5
  193. package/dist/api/controllers/row/ExternalRequest.js +63 -76
  194. package/dist/api/controllers/row/external.js +4 -4
  195. package/dist/api/controllers/row/internal.js +93 -55
  196. package/dist/api/controllers/row/internalSearch.js +17 -23
  197. package/dist/api/controllers/row/utils.js +14 -13
  198. package/dist/api/controllers/screen.js +7 -5
  199. package/dist/api/controllers/static/index.js +12 -61
  200. package/dist/api/controllers/table/external.js +10 -7
  201. package/dist/api/controllers/table/index.js +13 -16
  202. package/dist/api/controllers/table/internal.js +16 -22
  203. package/dist/api/controllers/table/utils.js +35 -62
  204. package/dist/api/controllers/user.js +20 -18
  205. package/dist/api/controllers/view/index.js +10 -8
  206. package/dist/api/controllers/view/utils.js +4 -9
  207. package/dist/api/controllers/webhook.js +8 -10
  208. package/dist/api/routes/hosting.js +11 -0
  209. package/dist/api/routes/index.js +2 -2
  210. package/dist/api/routes/static.js +1 -2
  211. package/dist/api/routes/tests/utilities/TestFunctions.js +17 -37
  212. package/dist/app.js +5 -35
  213. package/dist/automations/automationUtils.js +3 -2
  214. package/dist/automations/steps/createRow.js +5 -3
  215. package/dist/automations/steps/deleteRow.js +4 -1
  216. package/dist/automations/steps/updateRow.js +1 -1
  217. package/dist/automations/triggers.js +25 -27
  218. package/dist/automations/utils.js +5 -10
  219. package/dist/constants/index.js +0 -7
  220. package/dist/db/linkedRows/LinkController.js +7 -3
  221. package/dist/db/linkedRows/index.js +27 -16
  222. package/dist/db/linkedRows/linkUtils.js +6 -6
  223. package/dist/db/views/staticViews.js +10 -9
  224. package/dist/definitions/datasource.js +0 -1
  225. package/dist/environment.js +1 -4
  226. package/dist/integrations/base/sql.js +6 -13
  227. package/dist/integrations/index.js +0 -3
  228. package/dist/integrations/utils.js +9 -60
  229. package/dist/middleware/authorized.js +30 -57
  230. package/dist/middleware/builder.js +2 -2
  231. package/dist/middleware/currentapp.js +37 -41
  232. package/dist/middleware/usageQuota.js +15 -82
  233. package/dist/package.json +5 -8
  234. package/dist/tests/utilities/TestConfiguration.js +50 -80
  235. package/dist/threads/automation.js +11 -13
  236. package/dist/threads/query.js +13 -23
  237. package/dist/tsconfig.tsbuildinfo +1 -1
  238. package/dist/utilities/fileSystem/index.js +3 -4
  239. package/dist/utilities/global.js +12 -15
  240. package/dist/utilities/index.js +17 -7
  241. package/dist/utilities/routing/index.js +5 -5
  242. package/dist/utilities/rowProcessor/index.js +17 -23
  243. package/dist/utilities/rowProcessor/utils.js +4 -14
  244. package/dist/utilities/{usageQuota/index.js → usageQuota.js} +31 -45
  245. package/dist/utilities/users.js +3 -3
  246. package/dist/utilities/workerRequests.js +24 -4
  247. package/nodemon.json +1 -1
  248. package/package.json +6 -9
  249. package/scripts/likeCypress.ts +1 -1
  250. package/src/api/controllers/application.js +50 -85
  251. package/src/api/controllers/auth.js +5 -8
  252. package/src/api/controllers/automation.js +23 -13
  253. package/src/api/controllers/cloud.js +3 -2
  254. package/src/api/controllers/component.js +4 -3
  255. package/src/api/controllers/datasource.js +11 -21
  256. package/src/api/controllers/deploy/Deployment.js +7 -3
  257. package/src/api/controllers/deploy/index.js +13 -20
  258. package/src/api/controllers/dev.js +5 -5
  259. package/src/api/controllers/hosting.js +22 -0
  260. package/src/api/controllers/layout.js +3 -3
  261. package/src/api/controllers/metadata.js +9 -4
  262. package/src/api/controllers/permission.js +4 -4
  263. package/src/api/controllers/query/import/index.ts +6 -4
  264. package/src/api/controllers/query/import/tests/index.spec.js +1 -2
  265. package/src/api/controllers/query/index.js +10 -11
  266. package/src/api/controllers/role.js +5 -5
  267. package/src/api/controllers/routing.js +6 -5
  268. package/src/api/controllers/row/ExternalRequest.ts +42 -53
  269. package/src/api/controllers/row/external.js +6 -4
  270. package/src/api/controllers/row/internal.js +90 -54
  271. package/src/api/controllers/row/internalSearch.js +17 -23
  272. package/src/api/controllers/row/utils.js +18 -13
  273. package/src/api/controllers/screen.js +7 -5
  274. package/src/api/controllers/static/index.js +12 -65
  275. package/src/api/controllers/table/external.js +10 -7
  276. package/src/api/controllers/table/index.js +28 -20
  277. package/src/api/controllers/table/internal.js +19 -24
  278. package/src/api/controllers/table/utils.js +42 -78
  279. package/src/api/controllers/user.js +20 -19
  280. package/src/api/controllers/view/index.js +10 -8
  281. package/src/api/controllers/view/utils.js +4 -9
  282. package/src/api/controllers/webhook.js +8 -10
  283. package/src/api/routes/hosting.js +13 -0
  284. package/src/api/routes/index.js +2 -2
  285. package/src/api/routes/static.js +0 -5
  286. package/src/api/routes/tests/application.spec.js +2 -2
  287. package/src/api/routes/tests/auth.spec.js +2 -1
  288. package/src/api/routes/tests/automation.spec.js +0 -1
  289. package/src/api/routes/tests/hosting.spec.js +36 -0
  290. package/src/api/routes/tests/misc.spec.js +1 -0
  291. package/src/api/routes/tests/routing.spec.js +12 -21
  292. package/src/api/routes/tests/row.spec.js +4 -7
  293. package/src/api/routes/tests/utilities/TestFunctions.js +17 -39
  294. package/src/app.ts +5 -18
  295. package/src/automations/automationUtils.js +3 -2
  296. package/src/automations/steps/createRow.js +5 -2
  297. package/src/automations/steps/deleteRow.js +4 -1
  298. package/src/automations/steps/updateRow.js +1 -1
  299. package/src/automations/triggers.js +31 -33
  300. package/src/automations/utils.js +5 -9
  301. package/src/constants/index.js +0 -9
  302. package/src/db/linkedRows/LinkController.js +7 -3
  303. package/src/db/linkedRows/index.js +31 -16
  304. package/src/db/linkedRows/linkUtils.js +6 -6
  305. package/src/db/tests/linkController.spec.js +1 -0
  306. package/src/db/tests/linkTests.spec.js +6 -5
  307. package/src/db/views/staticViews.js +10 -8
  308. package/src/definitions/common.ts +0 -3
  309. package/src/definitions/datasource.ts +0 -3
  310. package/src/environment.js +1 -4
  311. package/src/integrations/base/sql.ts +7 -14
  312. package/src/integrations/index.ts +0 -3
  313. package/src/integrations/tests/sql.spec.js +0 -16
  314. package/src/integrations/utils.ts +12 -75
  315. package/src/middleware/authorized.js +30 -66
  316. package/src/middleware/builder.js +2 -2
  317. package/src/middleware/currentapp.js +46 -50
  318. package/src/middleware/tests/authorized.spec.js +6 -13
  319. package/src/middleware/tests/currentapp.spec.js +0 -6
  320. package/src/middleware/tests/usageQuota.spec.js +24 -18
  321. package/src/middleware/usageQuota.js +17 -93
  322. package/src/tests/utilities/TestConfiguration.js +55 -82
  323. package/src/threads/automation.js +15 -17
  324. package/src/threads/query.js +14 -26
  325. package/src/utilities/fileSystem/index.js +3 -4
  326. package/src/utilities/global.js +12 -15
  327. package/src/utilities/index.js +17 -7
  328. package/src/utilities/routing/index.js +5 -5
  329. package/src/utilities/rowProcessor/index.js +27 -25
  330. package/src/utilities/rowProcessor/utils.js +7 -23
  331. package/src/utilities/usageQuota.js +73 -0
  332. package/src/utilities/users.js +3 -3
  333. package/src/utilities/workerRequests.js +27 -4
  334. package/builder/assets/index.83c0944f.css +0 -1
  335. package/coverage/lcov-report/api/controllers/migrations.js.html +0 -119
  336. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +0 -548
  337. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +0 -599
  338. package/coverage/lcov-report/utilities/usageQuota/index.html +0 -141
  339. package/coverage/lcov-report/utilities/usageQuota/index.js.html +0 -359
  340. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +0 -305
  341. package/dist/api/controllers/migrations.js +0 -21
  342. package/dist/api/controllers/row/staticFormula.js +0 -147
  343. package/dist/api/controllers/table/bulkFormula.js +0 -159
  344. package/dist/api/routes/migrations.js +0 -9
  345. package/dist/integrations/googlesheets.js +0 -340
  346. package/dist/migrations/functions/appUrls.js +0 -46
  347. package/dist/migrations/functions/quotas1.js +0 -50
  348. package/dist/migrations/functions/usageQuotas/index.js +0 -20
  349. package/dist/migrations/functions/usageQuotas/syncApps.js +0 -30
  350. package/dist/migrations/functions/usageQuotas/syncRows.js +0 -33
  351. package/dist/migrations/functions/userEmailViewCasing.js +0 -24
  352. package/dist/migrations/index.js +0 -62
  353. package/dist/utilities/usageQuota/rows.js +0 -78
  354. package/dist/utilities/usageQuota/usageQuoteReset.js +0 -16
  355. package/src/api/controllers/migrations.js +0 -13
  356. package/src/api/controllers/row/staticFormula.js +0 -156
  357. package/src/api/controllers/table/bulkFormula.js +0 -173
  358. package/src/api/routes/migrations.js +0 -14
  359. package/src/api/routes/tests/static.spec.js +0 -98
  360. package/src/integrations/googlesheets.ts +0 -353
  361. package/src/migrations/functions/appUrls.ts +0 -34
  362. package/src/migrations/functions/quotas1.ts +0 -20
  363. package/src/migrations/functions/tests/appUrls.spec.js +0 -29
  364. package/src/migrations/functions/tests/quotas1.spec.js +0 -27
  365. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +0 -25
  366. package/src/migrations/functions/usageQuotas/index.ts +0 -8
  367. package/src/migrations/functions/usageQuotas/syncApps.ts +0 -19
  368. package/src/migrations/functions/usageQuotas/syncRows.ts +0 -22
  369. package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +0 -37
  370. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +0 -43
  371. package/src/migrations/functions/userEmailViewCasing.ts +0 -13
  372. package/src/migrations/index.ts +0 -56
  373. package/src/utilities/tests/usageQuota/usageQuota.spec.js +0 -72
  374. package/src/utilities/usageQuota/index.js +0 -93
  375. package/src/utilities/usageQuota/rows.js +0 -75
  376. package/src/utilities/usageQuota/usageQuoteReset.js +0 -18
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">82.14% </span>
26
+ <span class="strong">85.18% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>23/28</span>
28
+ <span class='fraction'>23/27</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">82.14% </span>
47
+ <span class="strong">85.18% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>23/28</span>
49
+ <span class='fraction'>23/27</span>
50
50
  </div>
51
51
 
52
52
 
@@ -112,10 +112,7 @@
112
112
  <a name='L53'></a><a href='#L53'>53</a>
113
113
  <a name='L54'></a><a href='#L54'>54</a>
114
114
  <a name='L55'></a><a href='#L55'>55</a>
115
- <a name='L56'></a><a href='#L56'>56</a>
116
- <a name='L57'></a><a href='#L57'>57</a>
117
- <a name='L58'></a><a href='#L58'>58</a>
118
- <a name='L59'></a><a href='#L59'>59</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
115
+ <a name='L56'></a><a href='#L56'>56</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
119
116
  <span class="cline-any cline-yes">23x</span>
120
117
  <span class="cline-any cline-yes">23x</span>
121
118
  <span class="cline-any cline-yes">23x</span>
@@ -123,6 +120,7 @@
123
120
  <span class="cline-any cline-neutral">&nbsp;</span>
124
121
  <span class="cline-any cline-yes">23x</span>
125
122
  <span class="cline-any cline-yes">1x</span>
123
+ <span class="cline-any cline-yes">1x</span>
126
124
  <span class="cline-any cline-neutral">&nbsp;</span>
127
125
  <span class="cline-any cline-neutral">&nbsp;</span>
128
126
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -134,8 +132,6 @@
134
132
  <span class="cline-any cline-yes">1x</span>
135
133
  <span class="cline-any cline-neutral">&nbsp;</span>
136
134
  <span class="cline-any cline-yes">1x</span>
137
- <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-yes">1x</span>
139
135
  <span class="cline-any cline-yes">1x</span>
140
136
  <span class="cline-any cline-neutral">&nbsp;</span>
141
137
  <span class="cline-any cline-yes">1x</span>
@@ -145,8 +141,6 @@
145
141
  <span class="cline-any cline-neutral">&nbsp;</span>
146
142
  <span class="cline-any cline-no">&nbsp;</span>
147
143
  <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-no">&nbsp;</span>
149
- <span class="cline-any cline-neutral">&nbsp;</span>
150
144
  <span class="cline-any cline-neutral">&nbsp;</span>
151
145
  <span class="cline-any cline-neutral">&nbsp;</span>
152
146
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -173,13 +167,14 @@
173
167
  <span class="cline-any cline-no">&nbsp;</span>
174
168
  <span class="cline-any cline-neutral">&nbsp;</span>
175
169
  <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { outputProcessing } = require("../../utilities/rowProcessor")
170
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
171
+ const { outputProcessing } = require("../../utilities/rowProcessor")
177
172
  const { InternalTables } = require("../../db/utils")
178
173
  const { getFullUser } = require("../../utilities/users")
179
174
  const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
180
- const { getAppDB, getAppId } = require("@budibase/backend-core/context")
181
175
  &nbsp;
182
176
  exports.fetchSelf = async ctx =&gt; {
177
+ const appId = ctx.appId
183
178
  let userId = ctx.user.userId || <span class="branch-1 cbranch-no" title="branch not covered" >ctx.user._id</span>
184
179
  /* istanbul ignore next */
185
180
  if (!userId) {
@@ -190,20 +185,16 @@ exports.fetchSelf = async ctx =&gt; {
190
185
  const user = await getFullUser(ctx, userId)
191
186
  // this shouldn't be returned by the app self
192
187
  delete user.roles
193
- // forward the csrf token from the session
194
- user.csrfToken = ctx.user.csrfToken
195
188
  &nbsp;
196
- if (getAppId()) {
197
- const db = getAppDB()
189
+ if (appId) {
190
+ const db = new CouchDB(appId)
198
191
  // remove the full roles structure
199
192
  delete user.roles
200
193
  try {
201
194
  const userTable = await db.get(InternalTables.USER_METADATA)
202
195
  const metadata = await db.get(userId)
203
- // make sure there is never a stale csrf token
204
- <span class="cstat-no" title="statement not covered" > delete metadata.csrfToken</span>
205
196
  // specifically needs to make sure is enriched
206
- <span class="cstat-no" title="statement not covered" > ctx.body = await outputProcessing(userTable, {</span>
197
+ <span class="cstat-no" title="statement not covered" > ctx.body = await outputProcessing(ctx, userTable, {</span>
207
198
  ...user,
208
199
  ...metadata,
209
200
  })
@@ -238,7 +229,7 @@ exports.fetchSelf = async ctx =&gt; {
238
229
  <div class='footer quiet pad2 space-top1 center small'>
239
230
  Code coverage generated by
240
231
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
241
- at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
232
+ at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
242
233
  </div>
243
234
  </div>
244
235
  <script src="../../prettify.js"></script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">90.52% </span>
26
+ <span class="strong">89.69% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>86/95</span>
28
+ <span class='fraction'>87/97</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">90.42% </span>
47
+ <span class="strong">89.58% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>85/94</span>
49
+ <span class='fraction'>86/96</span>
50
50
  </div>
51
51
 
52
52
 
@@ -275,21 +275,31 @@
275
275
  <a name='L216'></a><a href='#L216'>216</a>
276
276
  <a name='L217'></a><a href='#L217'>217</a>
277
277
  <a name='L218'></a><a href='#L218'>218</a>
278
- <a name='L219'></a><a href='#L219'>219</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
279
- <span class="cline-any cline-yes">38x</span>
280
- <span class="cline-any cline-yes">38x</span>
278
+ <a name='L219'></a><a href='#L219'>219</a>
279
+ <a name='L220'></a><a href='#L220'>220</a>
280
+ <a name='L221'></a><a href='#L221'>221</a>
281
+ <a name='L222'></a><a href='#L222'>222</a>
282
+ <a name='L223'></a><a href='#L223'>223</a>
283
+ <a name='L224'></a><a href='#L224'>224</a>
284
+ <a name='L225'></a><a href='#L225'>225</a>
285
+ <a name='L226'></a><a href='#L226'>226</a>
286
+ <a name='L227'></a><a href='#L227'>227</a>
287
+ <a name='L228'></a><a href='#L228'>228</a>
288
+ <a name='L229'></a><a href='#L229'>229</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
289
+ <span class="cline-any cline-yes">33x</span>
290
+ <span class="cline-any cline-yes">33x</span>
291
+ <span class="cline-any cline-yes">33x</span>
281
292
  <span class="cline-any cline-neutral">&nbsp;</span>
282
293
  <span class="cline-any cline-neutral">&nbsp;</span>
283
294
  <span class="cline-any cline-neutral">&nbsp;</span>
284
295
  <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-yes">38x</span>
286
- <span class="cline-any cline-yes">38x</span>
287
- <span class="cline-any cline-yes">38x</span>
288
- <span class="cline-any cline-yes">38x</span>
289
- <span class="cline-any cline-yes">38x</span>
296
+ <span class="cline-any cline-yes">33x</span>
297
+ <span class="cline-any cline-yes">33x</span>
298
+ <span class="cline-any cline-yes">33x</span>
299
+ <span class="cline-any cline-yes">33x</span>
290
300
  <span class="cline-any cline-neutral">&nbsp;</span>
291
- <span class="cline-any cline-yes">38x</span>
292
- <span class="cline-any cline-yes">38x</span>
301
+ <span class="cline-any cline-yes">33x</span>
302
+ <span class="cline-any cline-yes">33x</span>
293
303
  <span class="cline-any cline-neutral">&nbsp;</span>
294
304
  <span class="cline-any cline-neutral">&nbsp;</span>
295
305
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -299,6 +309,10 @@
299
309
  <span class="cline-any cline-neutral">&nbsp;</span>
300
310
  <span class="cline-any cline-neutral">&nbsp;</span>
301
311
  <span class="cline-any cline-yes">1x</span>
312
+ <span class="cline-any cline-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-neutral">&nbsp;</span>
314
+ <span class="cline-any cline-neutral">&nbsp;</span>
315
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
316
  <span class="cline-any cline-yes">1x</span>
303
317
  <span class="cline-any cline-neutral">&nbsp;</span>
304
318
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -306,6 +320,7 @@
306
320
  <span class="cline-any cline-neutral">&nbsp;</span>
307
321
  <span class="cline-any cline-neutral">&nbsp;</span>
308
322
  <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-neutral">&nbsp;</span>
309
324
  <span class="cline-any cline-yes">22x</span>
310
325
  <span class="cline-any cline-no">&nbsp;</span>
311
326
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -329,7 +344,7 @@
329
344
  <span class="cline-any cline-yes">22x</span>
330
345
  <span class="cline-any cline-neutral">&nbsp;</span>
331
346
  <span class="cline-any cline-neutral">&nbsp;</span>
332
- <span class="cline-any cline-yes">38x</span>
347
+ <span class="cline-any cline-yes">33x</span>
333
348
  <span class="cline-any cline-yes">21x</span>
334
349
  <span class="cline-any cline-yes">21x</span>
335
350
  <span class="cline-any cline-yes">21x</span>
@@ -346,6 +361,7 @@
346
361
  <span class="cline-any cline-yes">20x</span>
347
362
  <span class="cline-any cline-neutral">&nbsp;</span>
348
363
  <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <span class="cline-any cline-neutral">&nbsp;</span>
349
365
  <span class="cline-any cline-yes">20x</span>
350
366
  <span class="cline-any cline-yes">20x</span>
351
367
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -359,7 +375,7 @@
359
375
  <span class="cline-any cline-neutral">&nbsp;</span>
360
376
  <span class="cline-any cline-neutral">&nbsp;</span>
361
377
  <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-yes">38x</span>
378
+ <span class="cline-any cline-yes">33x</span>
363
379
  <span class="cline-any cline-yes">2x</span>
364
380
  <span class="cline-any cline-yes">2x</span>
365
381
  <span class="cline-any cline-yes">2x</span>
@@ -369,6 +385,7 @@
369
385
  <span class="cline-any cline-neutral">&nbsp;</span>
370
386
  <span class="cline-any cline-neutral">&nbsp;</span>
371
387
  <span class="cline-any cline-neutral">&nbsp;</span>
388
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
389
  <span class="cline-any cline-yes">2x</span>
373
390
  <span class="cline-any cline-yes">2x</span>
374
391
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -400,7 +417,7 @@
400
417
  <span class="cline-any cline-neutral">&nbsp;</span>
401
418
  <span class="cline-any cline-neutral">&nbsp;</span>
402
419
  <span class="cline-any cline-neutral">&nbsp;</span>
403
- <span class="cline-any cline-yes">38x</span>
420
+ <span class="cline-any cline-yes">33x</span>
404
421
  <span class="cline-any cline-yes">2x</span>
405
422
  <span class="cline-any cline-yes">2x</span>
406
423
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -410,12 +427,12 @@
410
427
  <span class="cline-any cline-yes">2x</span>
411
428
  <span class="cline-any cline-neutral">&nbsp;</span>
412
429
  <span class="cline-any cline-neutral">&nbsp;</span>
413
- <span class="cline-any cline-yes">38x</span>
430
+ <span class="cline-any cline-yes">33x</span>
414
431
  <span class="cline-any cline-yes">1x</span>
415
432
  <span class="cline-any cline-yes">1x</span>
416
433
  <span class="cline-any cline-neutral">&nbsp;</span>
417
434
  <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-yes">38x</span>
435
+ <span class="cline-any cline-yes">33x</span>
419
436
  <span class="cline-any cline-yes">1x</span>
420
437
  <span class="cline-any cline-yes">1x</span>
421
438
  <span class="cline-any cline-yes">1x</span>
@@ -423,19 +440,20 @@
423
440
  <span class="cline-any cline-neutral">&nbsp;</span>
424
441
  <span class="cline-any cline-neutral">&nbsp;</span>
425
442
  <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
444
  <span class="cline-any cline-yes">1x</span>
427
445
  <span class="cline-any cline-yes">1x</span>
428
446
  <span class="cline-any cline-neutral">&nbsp;</span>
429
447
  <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-yes">38x</span>
448
+ <span class="cline-any cline-yes">33x</span>
431
449
  <span class="cline-any cline-yes">1x</span>
432
450
  <span class="cline-any cline-neutral">&nbsp;</span>
433
451
  <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-yes">38x</span>
452
+ <span class="cline-any cline-yes">33x</span>
435
453
  <span class="cline-any cline-yes">1x</span>
436
454
  <span class="cline-any cline-neutral">&nbsp;</span>
437
455
  <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-yes">38x</span>
456
+ <span class="cline-any cline-yes">33x</span>
439
457
  <span class="cline-any cline-yes">1x</span>
440
458
  <span class="cline-any cline-neutral">&nbsp;</span>
441
459
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -448,7 +466,8 @@
448
466
  <span class="cline-any cline-neutral">&nbsp;</span>
449
467
  <span class="cline-any cline-neutral">&nbsp;</span>
450
468
  <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-yes">38x</span>
469
+ <span class="cline-any cline-yes">33x</span>
470
+ <span class="cline-any cline-no">&nbsp;</span>
452
471
  <span class="cline-any cline-no">&nbsp;</span>
453
472
  <span class="cline-any cline-no">&nbsp;</span>
454
473
  <span class="cline-any cline-no">&nbsp;</span>
@@ -472,7 +491,8 @@
472
491
  <span class="cline-any cline-yes">2x</span>
473
492
  <span class="cline-any cline-neutral">&nbsp;</span>
474
493
  <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-yes">38x</span>
494
+ <span class="cline-any cline-yes">33x</span>
495
+ <span class="cline-any cline-yes">2x</span>
476
496
  <span class="cline-any cline-yes">2x</span>
477
497
  <span class="cline-any cline-yes">2x</span>
478
498
  <span class="cline-any cline-yes">2x</span>
@@ -493,7 +513,8 @@
493
513
  <span class="cline-any cline-yes">2x</span>
494
514
  <span class="cline-any cline-yes">2x</span>
495
515
  <span class="cline-any cline-neutral">&nbsp;</span>
496
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const actions = require("../../automations/actions")
516
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
517
+ const actions = require("../../automations/actions")
497
518
  const triggers = require("../../automations/triggers")
498
519
  const { getAutomationParams, generateAutomationID } = require("../../db/utils")
499
520
  const {
@@ -504,7 +525,6 @@ const {
504
525
  const { deleteEntityMetadata } = require("../../utilities")
505
526
  const { MetadataTypes } = require("../../constants")
506
527
  const { setTestFlag, clearTestFlag } = require("../../utilities/redis")
507
- const { getAppDB } = require("@budibase/backend-core/context")
508
528
  &nbsp;
509
529
  const ACTION_DEFS = removeDeprecated(actions.ACTION_DEFINITIONS)
510
530
  const TRIGGER_DEFS = removeDeprecated(triggers.TRIGGER_DEFINITIONS)
@@ -515,9 +535,14 @@ const TRIGGER_DEFS = removeDeprecated(triggers.TRIGGER_DEFINITIONS)
515
535
  * *
516
536
  *************************/
517
537
  &nbsp;
518
- async function cleanupAutomationMetadata(automationId) {
519
- await deleteEntityMetadata(MetadataTypes.AUTOMATION_TEST_INPUT, automationId)
538
+ async function cleanupAutomationMetadata(appId, automationId) {
539
+ await deleteEntityMetadata(
540
+ appId,
541
+ MetadataTypes.AUTOMATION_TEST_INPUT,
542
+ automationId
543
+ )
520
544
  await deleteEntityMetadata(
545
+ appId,
521
546
  MetadataTypes.AUTOMATION_TEST_HISTORY,
522
547
  automationId
523
548
  )
@@ -548,7 +573,7 @@ function cleanAutomationInputs(automation) {
548
573
  }
549
574
  &nbsp;
550
575
  exports.create = async function (ctx) {
551
- const db = getAppDB()
576
+ const db = new CouchDB(ctx.appId)
552
577
  let automation = ctx.request.body
553
578
  automation.appId = ctx.appId
554
579
  &nbsp;
@@ -562,6 +587,7 @@ exports.create = async function (ctx) {
562
587
  automation.type = "automation"
563
588
  automation = cleanAutomationInputs(automation)
564
589
  automation = await checkForWebhooks({
590
+ appId: ctx.appId,
565
591
  newAuto: automation,
566
592
  })
567
593
  const response = await db.put(automation)
@@ -578,12 +604,13 @@ exports.create = async function (ctx) {
578
604
  }
579
605
  &nbsp;
580
606
  exports.update = async function (ctx) {
581
- const db = getAppDB()
607
+ const db = new CouchDB(ctx.appId)
582
608
  let automation = ctx.request.body
583
609
  automation.appId = ctx.appId
584
610
  const oldAutomation = await db.get(automation._id)
585
611
  automation = cleanAutomationInputs(automation)
586
612
  automation = await checkForWebhooks({
613
+ appId: ctx.appId,
587
614
  oldAuto: oldAutomation,
588
615
  newAuto: automation,
589
616
  })
@@ -619,7 +646,7 @@ exports.update = async function (ctx) {
619
646
  }
620
647
  &nbsp;
621
648
  exports.fetch = async function (ctx) {
622
- const db = getAppDB()
649
+ const db = new CouchDB(ctx.appId)
623
650
  const response = await db.allDocs(
624
651
  getAutomationParams(null, {
625
652
  include_docs: true,
@@ -629,19 +656,20 @@ exports.fetch = async function (ctx) {
629
656
  }
630
657
  &nbsp;
631
658
  exports.find = async function (ctx) {
632
- const db = getAppDB()
659
+ const db = new CouchDB(ctx.appId)
633
660
  ctx.body = await db.get(ctx.params.id)
634
661
  }
635
662
  &nbsp;
636
663
  exports.destroy = async function (ctx) {
637
- const db = getAppDB()
664
+ const db = new CouchDB(ctx.appId)
638
665
  const automationId = ctx.params.id
639
666
  const oldAutomation = await db.get(automationId)
640
667
  await checkForWebhooks({
668
+ appId: ctx.appId,
641
669
  oldAuto: oldAutomation,
642
670
  })
643
671
  // delete metadata first
644
- await cleanupAutomationMetadata(automationId)
672
+ await cleanupAutomationMetadata(ctx.appId, automationId)
645
673
  ctx.body = await db.remove(automationId, ctx.params.rev)
646
674
  }
647
675
  &nbsp;
@@ -667,11 +695,12 @@ module.exports.getDefinitionList = async function (ctx) {
667
695
  *********************/
668
696
  &nbsp;
669
697
  exports.trigger = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
670
- const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
698
+ const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
699
+ const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
671
700
  let automation = <span class="cstat-no" title="statement not covered" >await db.get(ctx.params.id)</span>
672
701
  <span class="cstat-no" title="statement not covered" > await triggers.externalTrigger(automation, {</span>
673
702
  ...ctx.request.body,
674
- appId: ctx.appId,
703
+ appId,
675
704
  })
676
705
  <span class="cstat-no" title="statement not covered" > ctx.body = {</span>
677
706
  message: `Automation ${automation._id} has been triggered.`,
@@ -691,7 +720,8 @@ function prepareTestInput(input) {
691
720
  }
692
721
  &nbsp;
693
722
  exports.test = async function (ctx) {
694
- const db = getAppDB()
723
+ const appId = ctx.appId
724
+ const db = new CouchDB(appId)
695
725
  let automation = await db.get(ctx.params.id)
696
726
  await setTestFlag(automation._id)
697
727
  const testInput = prepareTestInput(ctx.request.body)
@@ -699,7 +729,7 @@ exports.test = async function (ctx) {
699
729
  automation,
700
730
  {
701
731
  ...testInput,
702
- appId: ctx.appId,
732
+ appId,
703
733
  },
704
734
  { getResponses: true }
705
735
  )
@@ -718,7 +748,7 @@ exports.test = async function (ctx) {
718
748
  <div class='footer quiet pad2 space-top1 center small'>
719
749
  Code coverage generated by
720
750
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
721
- at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
751
+ at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
722
752
  </div>
723
753
  </div>
724
754
  <script src="../../prettify.js"></script>
@@ -91,7 +91,7 @@ exports.exportAppDump = async function (ctx) {
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
94
- at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
94
+ at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  </div>
97
97
  <script src="../../prettify.js"></script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">18.18% </span>
26
+ <span class="strong">19.64% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>10/55</span>
28
+ <span class='fraction'>11/56</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">18.51% </span>
47
+ <span class="strong">20% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>10/54</span>
49
+ <span class='fraction'>11/55</span>
50
50
  </div>
51
51
 
52
52
 
@@ -170,7 +170,9 @@
170
170
  <a name='L111'></a><a href='#L111'>111</a>
171
171
  <a name='L112'></a><a href='#L112'>112</a>
172
172
  <a name='L113'></a><a href='#L113'>113</a>
173
- <a name='L114'></a><a href='#L114'>114</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
173
+ <a name='L114'></a><a href='#L114'>114</a>
174
+ <a name='L115'></a><a href='#L115'>115</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
175
+ <span class="cline-any cline-yes">23x</span>
174
176
  <span class="cline-any cline-yes">23x</span>
175
177
  <span class="cline-any cline-neutral">&nbsp;</span>
176
178
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -285,6 +287,7 @@
285
287
  <span class="cline-any cline-neutral">&nbsp;</span>
286
288
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const env = require("../../environment")
287
289
  const { getAllApps } = require("@budibase/backend-core/db")
290
+ const CouchDB = require("../../db")
288
291
  const {
289
292
  exportDB,
290
293
  sendTempFile,
@@ -314,7 +317,7 @@ exports.exportApps = <span class="fstat-no" title="function not covered" >as</sp
314
317
  <span class="cstat-no" title="statement not covered" > if (env.SELF_HOSTED || !env.MULTI_TENANCY) {</span>
315
318
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Exporting only allowed in multi-tenant cloud environments.")</span>
316
319
  }
317
- const apps = <span class="cstat-no" title="statement not covered" >await getAllApps({ all: true })</span>
320
+ const apps = <span class="cstat-no" title="statement not covered" >await getAllApps(CouchDB, { all: true })</span>
318
321
  const globalDBString = <span class="cstat-no" title="statement not covered" >await exportDB(getGlobalDBName(), {</span>
319
322
  filter: <span class="fstat-no" title="function not covered" >do</span>c =&gt; <span class="cstat-no" title="statement not covered" >!doc._id.startsWith(DocumentTypes.USER),</span>
320
323
  })
@@ -347,7 +350,7 @@ async function <span class="fstat-no" title="function not covered" >hasBeenImpor
347
350
  <span class="cstat-no" title="statement not covered" > if (!env.SELF_HOSTED || env.MULTI_TENANCY) {</span>
348
351
  <span class="cstat-no" title="statement not covered" > return true</span>
349
352
  }
350
- const apps = <span class="cstat-no" title="statement not covered" >await getAllApps({ all: true })</span>
353
+ const apps = <span class="cstat-no" title="statement not covered" >await getAllApps(CouchDB, { all: true })</span>
351
354
  <span class="cstat-no" title="statement not covered" > return apps.length !== 0</span>
352
355
  }
353
356
  &nbsp;
@@ -403,7 +406,7 @@ exports.importApps = <span class="fstat-no" title="function not covered" >as</sp
403
406
  <div class='footer quiet pad2 space-top1 center small'>
404
407
  Code coverage generated by
405
408
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
406
- at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
409
+ at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
407
410
  </div>
408
411
  </div>
409
412
  <script src="../../prettify.js"></script>
@@ -25,14 +25,14 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>17/17</span>
28
+ <span class='fraction'>18/18</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
33
+ <span class="strong">75% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>2/2</span>
35
+ <span class='fraction'>3/4</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>17/17</span>
49
+ <span class='fraction'>18/18</span>
50
50
  </div>
51
51
 
52
52
 
@@ -91,13 +91,15 @@
91
91
  <a name='L32'></a><a href='#L32'>32</a>
92
92
  <a name='L33'></a><a href='#L33'>33</a>
93
93
  <a name='L34'></a><a href='#L34'>34</a>
94
- <a name='L35'></a><a href='#L35'>35</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
94
+ <a name='L35'></a><a href='#L35'>35</a>
95
+ <a name='L36'></a><a href='#L36'>36</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
95
96
  <span class="cline-any cline-yes">23x</span>
96
97
  <span class="cline-any cline-yes">23x</span>
97
98
  <span class="cline-any cline-neutral">&nbsp;</span>
98
99
  <span class="cline-any cline-yes">23x</span>
99
100
  <span class="cline-any cline-yes">1x</span>
100
101
  <span class="cline-any cline-yes">1x</span>
102
+ <span class="cline-any cline-yes">1x</span>
101
103
  <span class="cline-any cline-neutral">&nbsp;</span>
102
104
  <span class="cline-any cline-yes">1x</span>
103
105
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -112,11 +114,11 @@
112
114
  <span class="cline-any cline-yes">1x</span>
113
115
  <span class="cline-any cline-yes">1x</span>
114
116
  <span class="cline-any cline-yes">1x</span>
115
- <span class="cline-any cline-yes">50x</span>
117
+ <span class="cline-any cline-yes">49x</span>
116
118
  <span class="cline-any cline-yes">1x</span>
117
119
  <span class="cline-any cline-neutral">&nbsp;</span>
118
- <span class="cline-any cline-yes">49x</span>
119
- <span class="cline-any cline-yes">49x</span>
120
+ <span class="cline-any cline-yes">48x</span>
121
+ <span class="cline-any cline-yes">48x</span>
120
122
  <span class="cline-any cline-neutral">&nbsp;</span>
121
123
  <span class="cline-any cline-neutral">&nbsp;</span>
122
124
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -125,17 +127,18 @@
125
127
  <span class="cline-any cline-neutral">&nbsp;</span>
126
128
  <span class="cline-any cline-yes">1x</span>
127
129
  <span class="cline-any cline-neutral">&nbsp;</span>
128
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { DocumentTypes } = require("../../db/utils")
130
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
131
+ const { DocumentTypes } = require("../../db/utils")
129
132
  const { getComponentLibraryManifest } = require("../../utilities/fileSystem")
130
- const { getAppDB } = require("@budibase/backend-core/context")
131
133
  &nbsp;
132
134
  exports.fetchAppComponentDefinitions = async function (ctx) {
133
- const db = getAppDB()
135
+ const appId = ctx.params.appId || <span class="branch-1 cbranch-no" title="branch not covered" >ctx.appId</span>
136
+ const db = new CouchDB(appId)
134
137
  const app = await db.get(DocumentTypes.APP_METADATA)
135
138
  &nbsp;
136
139
  let componentManifests = await Promise.all(
137
140
  app.componentLibraries.map(async library =&gt; {
138
- let manifest = await getComponentLibraryManifest(library)
141
+ let manifest = await getComponentLibraryManifest(appId, library)
139
142
  &nbsp;
140
143
  return {
141
144
  manifest,
@@ -166,7 +169,7 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
166
169
  <div class='footer quiet pad2 space-top1 center small'>
167
170
  Code coverage generated by
168
171
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
169
- at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
172
+ at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
170
173
  </div>
171
174
  </div>
172
175
  <script src="../../prettify.js"></script>