@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,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">59.68% </span>
26
+ <span class="strong">59.67% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>77/129</span>
28
+ <span class='fraction'>74/124</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">37.73% </span>
33
+ <span class="strong">33.33% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>20/53</span>
35
+ <span class='fraction'>15/45</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">59.37% </span>
47
+ <span class="strong">59.34% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>76/128</span>
49
+ <span class='fraction'>73/123</span>
50
50
  </div>
51
51
 
52
52
 
@@ -306,31 +306,23 @@
306
306
  <a name='L247'></a><a href='#L247'>247</a>
307
307
  <a name='L248'></a><a href='#L248'>248</a>
308
308
  <a name='L249'></a><a href='#L249'>249</a>
309
- <a name='L250'></a><a href='#L250'>250</a>
310
- <a name='L251'></a><a href='#L251'>251</a>
311
- <a name='L252'></a><a href='#L252'>252</a>
312
- <a name='L253'></a><a href='#L253'>253</a>
313
- <a name='L254'></a><a href='#L254'>254</a>
314
- <a name='L255'></a><a href='#L255'>255</a>
315
- <a name='L256'></a><a href='#L256'>256</a>
316
- <a name='L257'></a><a href='#L257'>257</a>
317
- <a name='L258'></a><a href='#L258'>258</a>
318
- <a name='L259'></a><a href='#L259'>259</a>
319
- <a name='L260'></a><a href='#L260'>260</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
309
+ <a name='L250'></a><a href='#L250'>250</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
320
310
  <span class="cline-any cline-neutral">&nbsp;</span>
321
311
  <span class="cline-any cline-neutral">&nbsp;</span>
322
312
  <span class="cline-any cline-neutral">&nbsp;</span>
323
313
  <span class="cline-any cline-neutral">&nbsp;</span>
324
314
  <span class="cline-any cline-neutral">&nbsp;</span>
325
315
  <span class="cline-any cline-neutral">&nbsp;</span>
326
- <span class="cline-any cline-yes">39x</span>
327
- <span class="cline-any cline-yes">39x</span>
328
- <span class="cline-any cline-yes">39x</span>
329
- <span class="cline-any cline-yes">39x</span>
330
- <span class="cline-any cline-yes">39x</span>
331
- <span class="cline-any cline-yes">39x</span>
332
316
  <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-yes">39x</span>
317
+ <span class="cline-any cline-yes">34x</span>
318
+ <span class="cline-any cline-yes">34x</span>
319
+ <span class="cline-any cline-yes">34x</span>
320
+ <span class="cline-any cline-yes">34x</span>
321
+ <span class="cline-any cline-yes">34x</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-yes">34x</span>
324
+ <span class="cline-any cline-yes">2x</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
334
326
  <span class="cline-any cline-neutral">&nbsp;</span>
335
327
  <span class="cline-any cline-yes">2x</span>
336
328
  <span class="cline-any cline-yes">2x</span>
@@ -355,16 +347,9 @@
355
347
  <span class="cline-any cline-yes">1x</span>
356
348
  <span class="cline-any cline-neutral">&nbsp;</span>
357
349
  <span class="cline-any cline-yes">2x</span>
358
- <span class="cline-any cline-yes">1x</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-no">&nbsp;</span>
361
- <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-yes">2x</span>
365
350
  <span class="cline-any cline-neutral">&nbsp;</span>
366
351
  <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-yes">39x</span>
352
+ <span class="cline-any cline-yes">34x</span>
368
353
  <span class="cline-any cline-no">&nbsp;</span>
369
354
  <span class="cline-any cline-no">&nbsp;</span>
370
355
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -384,7 +369,7 @@
384
369
  <span class="cline-any cline-neutral">&nbsp;</span>
385
370
  <span class="cline-any cline-neutral">&nbsp;</span>
386
371
  <span class="cline-any cline-neutral">&nbsp;</span>
387
- <span class="cline-any cline-yes">39x</span>
372
+ <span class="cline-any cline-yes">34x</span>
388
373
  <span class="cline-any cline-yes">6x</span>
389
374
  <span class="cline-any cline-yes">6x</span>
390
375
  <span class="cline-any cline-yes">6x</span>
@@ -413,17 +398,12 @@
413
398
  <span class="cline-any cline-yes">1x</span>
414
399
  <span class="cline-any cline-neutral">&nbsp;</span>
415
400
  <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-yes">39x</span>
401
+ <span class="cline-any cline-yes">34x</span>
417
402
  <span class="cline-any cline-yes">6x</span>
418
403
  <span class="cline-any cline-yes">6x</span>
419
404
  <span class="cline-any cline-yes">6x</span>
420
405
  <span class="cline-any cline-yes">6x</span>
421
406
  <span class="cline-any cline-yes">6x</span>
422
- <span class="cline-any cline-yes">6x</span>
423
- <span class="cline-any cline-yes">6x</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-no">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
407
  <span class="cline-any cline-neutral">&nbsp;</span>
428
408
  <span class="cline-any cline-yes">6x</span>
429
409
  <span class="cline-any cline-yes">6x</span>
@@ -441,43 +421,43 @@
441
421
  <span class="cline-any cline-yes">6x</span>
442
422
  <span class="cline-any cline-neutral">&nbsp;</span>
443
423
  <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-yes">39x</span>
445
- <span class="cline-any cline-yes">39x</span>
446
- <span class="cline-any cline-yes">39x</span>
447
- <span class="cline-any cline-yes">39x</span>
424
+ <span class="cline-any cline-yes">34x</span>
425
+ <span class="cline-any cline-yes">35x</span>
426
+ <span class="cline-any cline-yes">35x</span>
427
+ <span class="cline-any cline-yes">35x</span>
448
428
  <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-yes">39x</span>
429
+ <span class="cline-any cline-yes">35x</span>
450
430
  <span class="cline-any cline-neutral">&nbsp;</span>
451
431
  <span class="cline-any cline-neutral">&nbsp;</span>
452
432
  <span class="cline-any cline-neutral">&nbsp;</span>
453
433
  <span class="cline-any cline-neutral">&nbsp;</span>
454
434
  <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-yes">39x</span>
456
- <span class="cline-any cline-yes">39x</span>
435
+ <span class="cline-any cline-yes">35x</span>
436
+ <span class="cline-any cline-yes">35x</span>
457
437
  <span class="cline-any cline-no">&nbsp;</span>
458
438
  <span class="cline-any cline-no">&nbsp;</span>
459
439
  <span class="cline-any cline-no">&nbsp;</span>
460
440
  <span class="cline-any cline-neutral">&nbsp;</span>
461
441
  <span class="cline-any cline-neutral">&nbsp;</span>
462
- <span class="cline-any cline-yes">39x</span>
463
- <span class="cline-any cline-yes">39x</span>
442
+ <span class="cline-any cline-yes">35x</span>
443
+ <span class="cline-any cline-yes">35x</span>
464
444
  <span class="cline-any cline-neutral">&nbsp;</span>
465
445
  <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-yes">39x</span>
467
- <span class="cline-any cline-yes">39x</span>
468
- <span class="cline-any cline-yes">39x</span>
446
+ <span class="cline-any cline-yes">35x</span>
447
+ <span class="cline-any cline-yes">35x</span>
448
+ <span class="cline-any cline-yes">35x</span>
469
449
  <span class="cline-any cline-no">&nbsp;</span>
470
450
  <span class="cline-any cline-neutral">&nbsp;</span>
471
451
  <span class="cline-any cline-neutral">&nbsp;</span>
472
452
  <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-yes">39x</span>
474
- <span class="cline-any cline-yes">39x</span>
453
+ <span class="cline-any cline-yes">35x</span>
454
+ <span class="cline-any cline-yes">35x</span>
475
455
  <span class="cline-any cline-no">&nbsp;</span>
476
456
  <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-yes">39x</span>
457
+ <span class="cline-any cline-yes">35x</span>
478
458
  <span class="cline-any cline-neutral">&nbsp;</span>
479
459
  <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-yes">39x</span>
460
+ <span class="cline-any cline-yes">34x</span>
481
461
  <span class="cline-any cline-yes">1x</span>
482
462
  <span class="cline-any cline-neutral">&nbsp;</span>
483
463
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -499,13 +479,13 @@
499
479
  <span class="cline-any cline-yes">1x</span>
500
480
  <span class="cline-any cline-neutral">&nbsp;</span>
501
481
  <span class="cline-any cline-neutral">&nbsp;</span>
502
- <span class="cline-any cline-yes">39x</span>
482
+ <span class="cline-any cline-yes">34x</span>
503
483
  <span class="cline-any cline-yes">1x</span>
504
484
  <span class="cline-any cline-yes">1x</span>
505
485
  <span class="cline-any cline-neutral">&nbsp;</span>
506
486
  <span class="cline-any cline-neutral">&nbsp;</span>
507
487
  <span class="cline-any cline-neutral">&nbsp;</span>
508
- <span class="cline-any cline-yes">39x</span>
488
+ <span class="cline-any cline-yes">34x</span>
509
489
  <span class="cline-any cline-yes">1x</span>
510
490
  <span class="cline-any cline-yes">1x</span>
511
491
  <span class="cline-any cline-yes">1x</span>
@@ -531,7 +511,7 @@
531
511
  <span class="cline-any cline-no">&nbsp;</span>
532
512
  <span class="cline-any cline-neutral">&nbsp;</span>
533
513
  <span class="cline-any cline-neutral">&nbsp;</span>
534
- <span class="cline-any cline-yes">39x</span>
514
+ <span class="cline-any cline-yes">34x</span>
535
515
  <span class="cline-any cline-no">&nbsp;</span>
536
516
  <span class="cline-any cline-neutral">&nbsp;</span>
537
517
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -575,7 +555,8 @@
575
555
  <span class="cline-any cline-neutral">&nbsp;</span>
576
556
  <span class="cline-any cline-no">&nbsp;</span>
577
557
  <span class="cline-any cline-neutral">&nbsp;</span>
578
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
558
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
559
+ const {
579
560
  generateDatasourceID,
580
561
  getDatasourceParams,
581
562
  getQueryParams,
@@ -587,11 +568,12 @@ const { BuildSchemaErrors, InvalidColumns } = require("../../constants")
587
568
  const { integrations } = require("../../integrations")
588
569
  const { getDatasourceAndQuery } = require("./row/utils")
589
570
  const { invalidateDynamicVariables } = require("../../threads/utils")
590
- const { getAppDB } = require("@budibase/backend-core/context")
591
571
  &nbsp;
592
572
  exports.fetch = async function (ctx) {
573
+ const database = new CouchDB(ctx.appId)
574
+ &nbsp;
593
575
  // Get internal tables
594
- const db = getAppDB()
576
+ const db = new CouchDB(ctx.appId)
595
577
  const internalTables = await db.allDocs(
596
578
  getTableParams(null, {
597
579
  include_docs: true,
@@ -606,25 +588,18 @@ exports.fetch = async function (ctx) {
606
588
  &nbsp;
607
589
  // Get external datasources
608
590
  const datasources = (
609
- await db.allDocs(
591
+ await database.allDocs(
610
592
  getDatasourceParams(null, {
611
593
  include_docs: true,
612
594
  })
613
595
  )
614
596
  ).rows.map(row =&gt; row.doc)
615
- &nbsp;
616
- for (let datasource of datasources) {
617
- <span class="missing-if-branch" title="if path not taken" >I</span>if (datasource.config &amp;&amp; datasource.config.auth) {
618
- // strip secrets from response so they don't show in the network request
619
- <span class="cstat-no" title="statement not covered" > delete datasource.config.auth</span>
620
- }
621
- }
622
597
  &nbsp;
623
598
  ctx.body = [bbInternalDb, ...datasources]
624
599
  }
625
600
  &nbsp;
626
601
  exports.buildSchemaFromDb = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
627
- const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
602
+ const db = <span class="cstat-no" title="statement not covered" >new CouchDB(ctx.appId)</span>
628
603
  const datasource = <span class="cstat-no" title="statement not covered" >await db.get(ctx.params.datasourceId)</span>
629
604
  &nbsp;
630
605
  const { tables, error } = <span class="cstat-no" title="statement not covered" >await buildSchemaHelper(datasource)</span>
@@ -673,16 +648,11 @@ const invalidateVariables = async (existingDatasource, updatedDatasource) =&gt;
673
648
  }
674
649
  &nbsp;
675
650
  exports.update = async function (ctx) {
676
- const db = getAppDB()
651
+ const db = new CouchDB(ctx.appId)
677
652
  const datasourceId = ctx.params.datasourceId
678
653
  let datasource = await db.get(datasourceId)
679
- const auth = datasource.config.auth
680
654
  await invalidateVariables(datasource, ctx.request.body)
681
655
  datasource = { ...datasource, ...ctx.request.body }
682
- <span class="missing-if-branch" title="if path not taken" >I</span>if (auth &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!ctx.request.body.auth)</span> {
683
- // don't strip auth config from DB
684
- <span class="cstat-no" title="statement not covered" > datasource.config.auth = auth</span>
685
- }
686
656
  &nbsp;
687
657
  const response = await db.put(datasource)
688
658
  datasource._rev = response.rev
@@ -701,7 +671,7 @@ exports.update = async function (ctx) {
701
671
  }
702
672
  &nbsp;
703
673
  exports.save = async function (ctx) {
704
- const db = getAppDB()
674
+ const db = new CouchDB(ctx.appId)
705
675
  const plus = ctx.request.body.datasource.plus
706
676
  const fetchSchema = ctx.request.body.fetchSchema
707
677
  &nbsp;
@@ -737,7 +707,7 @@ exports.save = async function (ctx) {
737
707
  }
738
708
  &nbsp;
739
709
  exports.destroy = async function (ctx) {
740
- const db = getAppDB()
710
+ const db = new CouchDB(ctx.appId)
741
711
  &nbsp;
742
712
  // Delete all queries for the datasource
743
713
  const queries = await db.allDocs(
@@ -759,7 +729,7 @@ exports.destroy = async function (ctx) {
759
729
  }
760
730
  &nbsp;
761
731
  exports.find = async function (ctx) {
762
- const database = getAppDB()
732
+ const database = new CouchDB(ctx.appId)
763
733
  ctx.body = await database.get(ctx.params.datasourceId)
764
734
  }
765
735
  &nbsp;
@@ -767,7 +737,7 @@ exports.find = async function (ctx) {
767
737
  exports.query = async function (ctx) {
768
738
  const queryJson = ctx.request.body
769
739
  try {
770
- ctx.body = await getDatasourceAndQuery(queryJson)
740
+ ctx.body = await getDatasourceAndQuery(ctx.appId, queryJson)
771
741
  } catch (err) {
772
742
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, err)</span>
773
743
  }
@@ -841,7 +811,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
841
811
  <div class='footer quiet pad2 space-top1 center small'>
842
812
  Code coverage generated by
843
813
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
844
- at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
814
+ at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
845
815
  </div>
846
816
  </div>
847
817
  <script src="../../prettify.js"></script>
@@ -302,14 +302,14 @@
302
302
  <span class="cline-any cline-no">&nbsp;</span>
303
303
  <span class="cline-any cline-neutral">&nbsp;</span>
304
304
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const fetch = require("node-fetch")
305
+ const CouchDB = require("../../db")
305
306
  const env = require("../../environment")
306
307
  const { checkSlashesInUrl } = require("../../utilities")
307
308
  const { request } = require("../../utilities/workerRequests")
308
309
  const { clearLock } = require("../../utilities/redis")
309
- const { Replication, getProdAppID } = require("@budibase/backend-core/db")
310
+ const { Replication } = require("@budibase/backend-core/db")
310
311
  const { DocumentTypes } = require("../../db/utils")
311
312
  const { app: appCache } = require("@budibase/backend-core/cache")
312
- const { getProdAppDB, getAppDB } = require("@budibase/backend-core/context")
313
313
  &nbsp;
314
314
  async function <span class="fstat-no" title="function not covered" >redirect(</span>ctx, method, path = <span class="branch-0 cbranch-no" title="branch not covered" >"global")</span> {
315
315
  const { devPath } = <span class="cstat-no" title="statement not covered" >ctx.params</span>
@@ -380,11 +380,11 @@ exports.clearLock = <span class="fstat-no" title="function not covered" >as</spa
380
380
  &nbsp;
381
381
  exports.revert = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
382
382
  const { appId } = <span class="cstat-no" title="statement not covered" >ctx.params</span>
383
- const productionAppId = <span class="cstat-no" title="statement not covered" >getProdAppID(appId)</span>
383
+ const productionAppId = <span class="cstat-no" title="statement not covered" >appId.replace("_dev", "")</span>
384
384
  &nbsp;
385
385
  // App must have been deployed first
386
386
  <span class="cstat-no" title="statement not covered" > try {</span>
387
- const db = <span class="cstat-no" title="statement not covered" >getProdAppDB({ skip_setup: true })</span>
387
+ const db = <span class="cstat-no" title="statement not covered" >new CouchDB(productionAppId, { skip_setup: true })</span>
388
388
  const info = <span class="cstat-no" title="statement not covered" >await db.info()</span>
389
389
  <span class="cstat-no" title="statement not covered" > if (info.error) <span class="cstat-no" title="statement not covered" >throw info.error</span></span>
390
390
  const deploymentDoc = <span class="cstat-no" title="statement not covered" >await db.get(DocumentTypes.DEPLOYMENTS)</span>
@@ -406,7 +406,7 @@ exports.revert = <span class="fstat-no" title="function not covered" >as</span>y
406
406
  &nbsp;
407
407
  <span class="cstat-no" title="statement not covered" > await replication.rollback()</span>
408
408
  // update appID in reverted app to be dev version again
409
- const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
409
+ const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
410
410
  const appDoc = <span class="cstat-no" title="statement not covered" >await db.get(DocumentTypes.APP_METADATA)</span>
411
411
  <span class="cstat-no" title="statement not covered" > appDoc.appId = appId</span>
412
412
  <span class="cstat-no" title="statement not covered" > appDoc.instance._id = appId</span>
@@ -430,7 +430,7 @@ exports.getBudibaseVersion = <span class="fstat-no" title="function not covered"
430
430
  <div class='footer quiet pad2 space-top1 center small'>
431
431
  Code coverage generated by
432
432
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
433
- at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
433
+ at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
434
434
  </div>
435
435
  </div>
436
436
  <script src="../../prettify.js"></script>
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for utilities/usageQuota/usageQuoteReset.js</title>
6
+ <title>Code coverage report for api/controllers/hosting.js</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../base.css" />
@@ -19,34 +19,34 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">utilities/usageQuota</a> usageQuoteReset.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">api/controllers</a> hosting.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
26
+ <span class="strong">93.33% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/5</span>
28
+ <span class='fraction'>14/15</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">75% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/2</span>
35
+ <span class='fraction'>3/4</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">50% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/2</span>
42
+ <span class='fraction'>1/2</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
47
+ <span class="strong">93.33% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/5</span>
49
+ <span class='fraction'>14/15</span>
50
50
  </div>
51
51
 
52
52
 
@@ -55,7 +55,7 @@
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
57
  </div>
58
- <div class='status-line low'></div>
58
+ <div class='status-line high'></div>
59
59
  <pre><table class="coverage">
60
60
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
61
  <a name='L2'></a><a href='#L2'>2</a>
@@ -75,41 +75,53 @@
75
75
  <a name='L16'></a><a href='#L16'>16</a>
76
76
  <a name='L17'></a><a href='#L17'>17</a>
77
77
  <a name='L18'></a><a href='#L18'>18</a>
78
- <a name='L19'></a><a href='#L19'>19</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
78
+ <a name='L19'></a><a href='#L19'>19</a>
79
+ <a name='L20'></a><a href='#L20'>20</a>
80
+ <a name='L21'></a><a href='#L21'>21</a>
81
+ <a name='L22'></a><a href='#L22'>22</a>
82
+ <a name='L23'></a><a href='#L23'>23</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
83
+ <span class="cline-any cline-yes">23x</span>
84
+ <span class="cline-any cline-yes">23x</span>
85
+ <span class="cline-any cline-yes">23x</span>
86
+ <span class="cline-any cline-yes">23x</span>
79
87
  <span class="cline-any cline-neutral">&nbsp;</span>
88
+ <span class="cline-any cline-yes">23x</span>
89
+ <span class="cline-any cline-yes">1x</span>
90
+ <span class="cline-any cline-yes">1x</span>
91
+ <span class="cline-any cline-yes">1x</span>
92
+ <span class="cline-any cline-yes">1x</span>
93
+ <span class="cline-any cline-yes">1x</span>
94
+ <span class="cline-any cline-yes">1x</span>
80
95
  <span class="cline-any cline-neutral">&nbsp;</span>
81
- <span class="cline-any cline-neutral">&nbsp;</span>
82
- <span class="cline-any cline-neutral">&nbsp;</span>
83
- <span class="cline-any cline-neutral">&nbsp;</span>
84
- <span class="cline-any cline-no">&nbsp;</span>
96
+ <span class="cline-any cline-yes">1x</span>
85
97
  <span class="cline-any cline-neutral">&nbsp;</span>
86
98
  <span class="cline-any cline-neutral">&nbsp;</span>
87
99
  <span class="cline-any cline-neutral">&nbsp;</span>
88
100
  <span class="cline-any cline-neutral">&nbsp;</span>
89
- <span class="cline-any cline-no">&nbsp;</span>
90
- <span class="cline-any cline-no">&nbsp;</span>
91
- <span class="cline-any cline-no">&nbsp;</span>
101
+ <span class="cline-any cline-yes">23x</span>
92
102
  <span class="cline-any cline-no">&nbsp;</span>
93
103
  <span class="cline-any cline-neutral">&nbsp;</span>
94
- <span class="cline-any cline-neutral">&nbsp;</span>
95
- <span class="cline-any cline-neutral">&nbsp;</span>
96
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// UNUSED CODE
97
- // Preserved for future use
98
- &nbsp;
99
- /* eslint-disable no-unused-vars */
104
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
105
+ const { getDeployedApps } = require("../../utilities/workerRequests")
106
+ const { getScopedConfig } = require("@budibase/backend-core/db")
107
+ const { Configs } = require("@budibase/backend-core/constants")
108
+ const { checkSlashesInUrl } = require("../../utilities")
100
109
  &nbsp;
101
- function <span class="fstat-no" title="function not covered" >getNewQuotaReset(</span>) {
102
- <span class="cstat-no" title="statement not covered" > return Date.now() + 2592000000</span>
110
+ exports.fetchUrls = async ctx =&gt; {
111
+ const appId = ctx.appId
112
+ const db = new CouchDB(appId)
113
+ const settings = await getScopedConfig(db, { type: Configs.SETTINGS })
114
+ let appUrl = "http://localhost:10000/app"
115
+ if (settings &amp;&amp; settings["platformUrl"]) {
116
+ appUrl = checkSlashesInUrl(`${settings["platformUrl"]}/app`)
117
+ }
118
+ ctx.body = {
119
+ app: appUrl,
120
+ }
103
121
  }
104
122
  &nbsp;
105
- function <span class="fstat-no" title="function not covered" >resetQuotasIfRequired(</span>quota) {
106
- // Check if the quota needs reset
107
- <span class="cstat-no" title="statement not covered" > if (Date.now() &gt;= quota.quotaReset) {</span>
108
- <span class="cstat-no" title="statement not covered" > quota.quotaReset = getNewQuotaReset()</span>
109
- <span class="cstat-no" title="statement not covered" > for (let prop of Object.keys(quota.usageQuota)) {</span>
110
- <span class="cstat-no" title="statement not covered" > quota.usageQuota[prop] = 0</span>
111
- }
112
- }
123
+ exports.getDeployedApps = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
124
+ <span class="cstat-no" title="statement not covered" > ctx.body = await getDeployedApps()</span>
113
125
  }
114
126
  &nbsp;</pre></td></tr></table></pre>
115
127
 
@@ -118,7 +130,7 @@ function <span class="fstat-no" title="function not covered" >resetQuotasIfRequi
118
130
  <div class='footer quiet pad2 space-top1 center small'>
119
131
  Code coverage generated by
120
132
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
121
- at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
133
+ at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
122
134
  </div>
123
135
  </div>
124
136
  <script src="../../prettify.js"></script>