@budibase/server 1.0.49 → 1.0.50-alpha.3

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 (381) hide show
  1. package/__mocks__/arangojs.ts +1 -1
  2. package/__mocks__/aws-sdk.ts +4 -4
  3. package/__mocks__/mongodb.ts +4 -5
  4. package/__mocks__/mssql.ts +3 -3
  5. package/__mocks__/node-fetch.ts +2 -1
  6. package/__mocks__/pg.ts +3 -5
  7. package/builder/assets/{index.2c37968e.js → index.9fe798bd.js} +252 -249
  8. package/builder/assets/index.c0cc369d.css +6 -0
  9. package/builder/assets/{vendor.f9faf6ab.js → vendor.5ad9695a.js} +202 -106
  10. package/builder/index.html +3 -3
  11. package/coverage/clover.xml +3105 -2814
  12. package/coverage/coverage-final.json +106 -101
  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 +257 -152
  16. package/coverage/lcov-report/api/controllers/auth.js.html +22 -13
  17. package/coverage/lcov-report/api/controllers/automation.js.html +39 -69
  18. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/cloud.js.html +8 -11
  20. package/coverage/lcov-report/api/controllers/component.js.html +13 -16
  21. package/coverage/lcov-report/api/controllers/datasource.js.html +81 -51
  22. package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
  23. package/coverage/lcov-report/api/controllers/index.html +78 -78
  24. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/layout.js.html +9 -9
  26. package/coverage/lcov-report/api/controllers/metadata.js.html +6 -21
  27. package/coverage/lcov-report/api/controllers/migrations.js.html +119 -0
  28. package/coverage/lcov-report/api/controllers/permission.js.html +19 -19
  29. package/coverage/lcov-report/api/controllers/query/index.html +10 -10
  30. package/coverage/lcov-report/api/controllers/query/index.js.html +38 -35
  31. package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -6
  32. package/coverage/lcov-report/api/controllers/role.js.html +16 -16
  33. package/coverage/lcov-report/api/controllers/routing.js.html +7 -10
  34. package/coverage/lcov-report/api/controllers/row/external.js.html +48 -141
  35. package/coverage/lcov-report/api/controllers/row/index.html +55 -40
  36. package/coverage/lcov-report/api/controllers/row/index.js.html +26 -26
  37. package/coverage/lcov-report/api/controllers/row/internal.js.html +118 -226
  38. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +52 -34
  39. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +548 -0
  40. package/coverage/lcov-report/api/controllers/row/utils.js.html +47 -62
  41. package/coverage/lcov-report/api/controllers/screen.js.html +15 -21
  42. package/coverage/lcov-report/api/controllers/script.js.html +4 -4
  43. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +599 -0
  44. package/coverage/lcov-report/api/controllers/table/external.js.html +25 -34
  45. package/coverage/lcov-report/api/controllers/table/index.html +58 -43
  46. package/coverage/lcov-report/api/controllers/table/index.js.html +58 -82
  47. package/coverage/lcov-report/api/controllers/table/internal.js.html +81 -66
  48. package/coverage/lcov-report/api/controllers/table/utils.js.html +218 -110
  49. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  50. package/coverage/lcov-report/api/controllers/user.js.html +79 -76
  51. package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
  52. package/coverage/lcov-report/api/controllers/view/index.html +16 -16
  53. package/coverage/lcov-report/api/controllers/view/index.js.html +27 -33
  54. package/coverage/lcov-report/api/controllers/view/utils.js.html +35 -20
  55. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
  56. package/coverage/lcov-report/api/controllers/webhook.js.html +34 -28
  57. package/coverage/lcov-report/api/index.html +1 -1
  58. package/coverage/lcov-report/api/index.js.html +8 -8
  59. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/index.html +18 -18
  71. package/coverage/lcov-report/api/routes/index.js.html +3 -3
  72. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/{hosting.js.html → migrations.js.html} +17 -14
  76. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  81. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  83. package/coverage/lcov-report/api/routes/static.js.html +17 -2
  84. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  85. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  86. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  87. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  88. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  89. package/coverage/lcov-report/automations/actions.js.html +24 -24
  90. package/coverage/lcov-report/automations/automationUtils.js.html +7 -10
  91. package/coverage/lcov-report/automations/bullboard.js.html +16 -16
  92. package/coverage/lcov-report/automations/index.html +18 -18
  93. package/coverage/lcov-report/automations/index.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/bash.js.html +6 -6
  95. package/coverage/lcov-report/automations/steps/createRow.js.html +13 -22
  96. package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
  97. package/coverage/lcov-report/automations/steps/deleteRow.js.html +11 -20
  98. package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
  99. package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
  100. package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
  101. package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
  102. package/coverage/lcov-report/automations/steps/index.html +13 -13
  103. package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
  104. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
  105. package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
  106. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
  107. package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
  108. package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
  109. package/coverage/lcov-report/automations/steps/updateRow.js.html +7 -7
  110. package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
  111. package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
  112. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  113. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  114. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  115. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  116. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  117. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  118. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  119. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  120. package/coverage/lcov-report/automations/triggers.js.html +61 -55
  121. package/coverage/lcov-report/automations/utils.js.html +54 -42
  122. package/coverage/lcov-report/constants/index.html +5 -5
  123. package/coverage/lcov-report/constants/index.js.html +53 -26
  124. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  125. package/coverage/lcov-report/constants/screens.js.html +4 -4
  126. package/coverage/lcov-report/db/client.js.html +18 -18
  127. package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
  128. package/coverage/lcov-report/db/index.html +15 -15
  129. package/coverage/lcov-report/db/index.js.html +3 -3
  130. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +25 -37
  131. package/coverage/lcov-report/db/linkedRows/index.html +27 -27
  132. package/coverage/lcov-report/db/linkedRows/index.js.html +51 -96
  133. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +42 -42
  134. package/coverage/lcov-report/db/newid.js.html +4 -4
  135. package/coverage/lcov-report/db/utils.js.html +87 -87
  136. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  137. package/coverage/lcov-report/events/index.html +1 -1
  138. package/coverage/lcov-report/events/index.js.html +5 -5
  139. package/coverage/lcov-report/events/utils.js.html +3 -3
  140. package/coverage/lcov-report/index.html +135 -120
  141. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  142. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  143. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  144. package/coverage/lcov-report/middleware/authorized.js.html +173 -65
  145. package/coverage/lcov-report/middleware/builder.js.html +10 -10
  146. package/coverage/lcov-report/middleware/currentapp.js.html +95 -83
  147. package/coverage/lcov-report/middleware/index.html +38 -38
  148. package/coverage/lcov-report/middleware/joi-validator.js.html +3 -3
  149. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  150. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  151. package/coverage/lcov-report/middleware/usageQuota.js.html +281 -53
  152. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  153. package/coverage/lcov-report/threads/automation.js.html +30 -24
  154. package/coverage/lcov-report/threads/index.html +26 -26
  155. package/coverage/lcov-report/threads/index.js.html +10 -10
  156. package/coverage/lcov-report/threads/query.js.html +39 -24
  157. package/coverage/lcov-report/threads/utils.js.html +14 -14
  158. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  159. package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
  160. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  161. package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
  162. package/coverage/lcov-report/utilities/global.js.html +58 -49
  163. package/coverage/lcov-report/utilities/index.html +37 -37
  164. package/coverage/lcov-report/utilities/index.js.html +43 -73
  165. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +8 -8
  166. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  167. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  168. package/coverage/lcov-report/utilities/routing/index.js.html +7 -7
  169. package/coverage/lcov-report/utilities/rowProcessor/index.html +27 -27
  170. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +97 -103
  171. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +75 -27
  172. package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
  173. package/coverage/lcov-report/utilities/security.js.html +8 -8
  174. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  175. package/coverage/lcov-report/utilities/usageQuota/index.html +141 -0
  176. package/coverage/lcov-report/utilities/usageQuota/index.js.html +359 -0
  177. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +305 -0
  178. package/coverage/lcov-report/{api/controllers/hosting.js.html → utilities/usageQuota/usageQuoteReset.js.html} +36 -48
  179. package/coverage/lcov-report/utilities/users.js.html +9 -9
  180. package/coverage/lcov-report/utilities/workerRequests.js.html +43 -112
  181. package/coverage/lcov.info +5010 -4425
  182. package/dist/api/controllers/application.js +90 -60
  183. package/dist/api/controllers/auth.js +8 -5
  184. package/dist/api/controllers/automation.js +14 -19
  185. package/dist/api/controllers/cloud.js +2 -3
  186. package/dist/api/controllers/component.js +3 -4
  187. package/dist/api/controllers/datasource.js +20 -10
  188. package/dist/api/controllers/deploy/Deployment.js +3 -6
  189. package/dist/api/controllers/deploy/index.js +12 -13
  190. package/dist/api/controllers/dev.js +5 -5
  191. package/dist/api/controllers/layout.js +3 -3
  192. package/dist/api/controllers/metadata.js +4 -4
  193. package/dist/api/controllers/migrations.js +21 -0
  194. package/dist/api/controllers/permission.js +4 -4
  195. package/dist/api/controllers/query/import/index.js +4 -6
  196. package/dist/api/controllers/query/index.js +11 -10
  197. package/dist/api/controllers/role.js +5 -5
  198. package/dist/api/controllers/routing.js +5 -6
  199. package/dist/api/controllers/row/ExternalRequest.js +90 -67
  200. package/dist/api/controllers/row/external.js +14 -22
  201. package/dist/api/controllers/row/internal.js +55 -93
  202. package/dist/api/controllers/row/internalSearch.js +23 -17
  203. package/dist/api/controllers/row/staticFormula.js +147 -0
  204. package/dist/api/controllers/row/utils.js +13 -14
  205. package/dist/api/controllers/screen.js +5 -7
  206. package/dist/api/controllers/static/index.js +62 -16
  207. package/dist/api/controllers/table/bulkFormula.js +159 -0
  208. package/dist/api/controllers/table/external.js +7 -10
  209. package/dist/api/controllers/table/index.js +16 -13
  210. package/dist/api/controllers/table/internal.js +22 -16
  211. package/dist/api/controllers/table/utils.js +62 -35
  212. package/dist/api/controllers/user.js +43 -43
  213. package/dist/api/controllers/view/index.js +8 -10
  214. package/dist/api/controllers/view/utils.js +9 -4
  215. package/dist/api/controllers/webhook.js +10 -8
  216. package/dist/api/routes/index.js +2 -2
  217. package/dist/api/routes/migrations.js +9 -0
  218. package/dist/api/routes/static.js +2 -1
  219. package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
  220. package/dist/app.js +35 -5
  221. package/dist/automations/automationUtils.js +2 -3
  222. package/dist/automations/steps/createRow.js +3 -5
  223. package/dist/automations/steps/deleteRow.js +1 -4
  224. package/dist/automations/steps/updateRow.js +1 -1
  225. package/dist/automations/triggers.js +27 -25
  226. package/dist/automations/utils.js +10 -5
  227. package/dist/constants/index.js +7 -0
  228. package/dist/db/linkedRows/LinkController.js +3 -7
  229. package/dist/db/linkedRows/index.js +16 -27
  230. package/dist/db/linkedRows/linkUtils.js +6 -6
  231. package/dist/db/views/staticViews.js +9 -10
  232. package/dist/definitions/datasource.js +1 -0
  233. package/dist/environment.js +4 -1
  234. package/dist/integrations/base/sql.js +62 -21
  235. package/dist/integrations/googlesheets.js +340 -0
  236. package/dist/integrations/index.js +3 -0
  237. package/dist/integrations/utils.js +60 -9
  238. package/dist/middleware/authorized.js +57 -30
  239. package/dist/middleware/builder.js +2 -2
  240. package/dist/middleware/currentapp.js +41 -37
  241. package/dist/middleware/usageQuota.js +82 -15
  242. package/dist/migrations/functions/appUrls.js +46 -0
  243. package/dist/migrations/functions/quotas1.js +50 -0
  244. package/dist/migrations/functions/usageQuotas/index.js +20 -0
  245. package/dist/migrations/functions/usageQuotas/syncApps.js +29 -0
  246. package/dist/migrations/functions/usageQuotas/syncRows.js +33 -0
  247. package/dist/migrations/functions/userEmailViewCasing.js +24 -0
  248. package/dist/migrations/index.js +62 -0
  249. package/dist/package.json +8 -5
  250. package/dist/tests/utilities/TestConfiguration.js +80 -50
  251. package/dist/threads/automation.js +13 -11
  252. package/dist/threads/query.js +15 -11
  253. package/dist/tsconfig.tsbuildinfo +1 -1
  254. package/dist/utilities/fileSystem/index.js +4 -3
  255. package/dist/utilities/global.js +15 -12
  256. package/dist/utilities/index.js +7 -17
  257. package/dist/utilities/routing/index.js +5 -5
  258. package/dist/utilities/rowProcessor/index.js +23 -17
  259. package/dist/utilities/rowProcessor/utils.js +14 -4
  260. package/dist/utilities/{usageQuota.js → usageQuota/index.js} +45 -31
  261. package/dist/utilities/usageQuota/rows.js +78 -0
  262. package/dist/utilities/usageQuota/usageQuoteReset.js +16 -0
  263. package/dist/utilities/users.js +3 -3
  264. package/dist/utilities/workerRequests.js +4 -24
  265. package/nodemon.json +1 -1
  266. package/package.json +9 -6
  267. package/scripts/integrations/mssql/data/Dockerfile +1 -1
  268. package/scripts/integrations/mssql/data/setup.sql +17 -4
  269. package/scripts/integrations/postgres/init.sql +11 -6
  270. package/scripts/likeCypress.ts +1 -1
  271. package/src/api/controllers/application.js +85 -50
  272. package/src/api/controllers/auth.js +8 -5
  273. package/src/api/controllers/automation.js +13 -23
  274. package/src/api/controllers/cloud.js +2 -3
  275. package/src/api/controllers/component.js +3 -4
  276. package/src/api/controllers/datasource.js +21 -11
  277. package/src/api/controllers/deploy/Deployment.js +3 -7
  278. package/src/api/controllers/deploy/index.js +20 -13
  279. package/src/api/controllers/dev.js +5 -5
  280. package/src/api/controllers/layout.js +3 -3
  281. package/src/api/controllers/metadata.js +4 -9
  282. package/src/api/controllers/migrations.js +13 -0
  283. package/src/api/controllers/permission.js +4 -4
  284. package/src/api/controllers/query/import/index.ts +4 -6
  285. package/src/api/controllers/query/import/tests/index.spec.js +2 -1
  286. package/src/api/controllers/query/index.js +11 -10
  287. package/src/api/controllers/role.js +5 -5
  288. package/src/api/controllers/routing.js +5 -6
  289. package/src/api/controllers/row/ExternalRequest.ts +67 -43
  290. package/src/api/controllers/row/external.js +27 -58
  291. package/src/api/controllers/row/internal.js +54 -90
  292. package/src/api/controllers/row/internalSearch.js +23 -17
  293. package/src/api/controllers/row/staticFormula.js +156 -0
  294. package/src/api/controllers/row/utils.js +13 -18
  295. package/src/api/controllers/screen.js +5 -7
  296. package/src/api/controllers/static/index.js +66 -15
  297. package/src/api/controllers/table/bulkFormula.js +173 -0
  298. package/src/api/controllers/table/external.js +7 -10
  299. package/src/api/controllers/table/index.js +20 -28
  300. package/src/api/controllers/table/internal.js +24 -19
  301. package/src/api/controllers/table/utils.js +78 -42
  302. package/src/api/controllers/user.js +46 -45
  303. package/src/api/controllers/view/index.js +8 -10
  304. package/src/api/controllers/view/utils.js +9 -4
  305. package/src/api/controllers/webhook.js +10 -8
  306. package/src/api/routes/index.js +2 -2
  307. package/src/api/routes/migrations.js +14 -0
  308. package/src/api/routes/static.js +5 -0
  309. package/src/api/routes/tests/application.spec.js +2 -2
  310. package/src/api/routes/tests/auth.spec.js +1 -2
  311. package/src/api/routes/tests/automation.spec.js +1 -0
  312. package/src/api/routes/tests/misc.spec.js +0 -1
  313. package/src/api/routes/tests/routing.spec.js +21 -12
  314. package/src/api/routes/tests/row.spec.js +7 -4
  315. package/src/api/routes/tests/static.spec.js +98 -0
  316. package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
  317. package/src/app.ts +18 -5
  318. package/src/automations/automationUtils.js +2 -3
  319. package/src/automations/steps/createRow.js +2 -5
  320. package/src/automations/steps/deleteRow.js +1 -4
  321. package/src/automations/steps/updateRow.js +1 -1
  322. package/src/automations/triggers.js +33 -31
  323. package/src/automations/utils.js +9 -5
  324. package/src/constants/index.js +9 -0
  325. package/src/db/linkedRows/LinkController.js +3 -7
  326. package/src/db/linkedRows/index.js +16 -31
  327. package/src/db/linkedRows/linkUtils.js +6 -6
  328. package/src/db/tests/linkController.spec.js +0 -1
  329. package/src/db/tests/linkTests.spec.js +5 -6
  330. package/src/db/views/staticViews.js +8 -10
  331. package/src/definitions/common.ts +3 -0
  332. package/src/definitions/datasource.ts +3 -0
  333. package/src/environment.js +4 -1
  334. package/src/integrations/base/sql.ts +75 -29
  335. package/src/integrations/googlesheets.ts +353 -0
  336. package/src/integrations/index.ts +3 -0
  337. package/src/integrations/tests/sql.spec.js +16 -0
  338. package/src/integrations/utils.ts +75 -12
  339. package/src/middleware/authorized.js +66 -30
  340. package/src/middleware/builder.js +2 -2
  341. package/src/middleware/currentapp.js +50 -46
  342. package/src/middleware/tests/authorized.spec.js +13 -6
  343. package/src/middleware/tests/currentapp.spec.js +6 -0
  344. package/src/middleware/tests/usageQuota.spec.js +18 -24
  345. package/src/middleware/usageQuota.js +93 -17
  346. package/src/migrations/functions/appUrls.ts +34 -0
  347. package/src/migrations/functions/quotas1.ts +20 -0
  348. package/src/migrations/functions/tests/appUrls.spec.js +29 -0
  349. package/src/migrations/functions/tests/quotas1.spec.js +27 -0
  350. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +25 -0
  351. package/src/migrations/functions/usageQuotas/index.ts +8 -0
  352. package/src/migrations/functions/usageQuotas/syncApps.ts +18 -0
  353. package/src/migrations/functions/usageQuotas/syncRows.ts +22 -0
  354. package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +37 -0
  355. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +43 -0
  356. package/src/migrations/functions/userEmailViewCasing.ts +13 -0
  357. package/src/migrations/index.ts +56 -0
  358. package/src/module.d.ts +3 -0
  359. package/src/tests/utilities/TestConfiguration.js +82 -55
  360. package/src/threads/automation.js +17 -15
  361. package/src/threads/query.js +17 -12
  362. package/src/utilities/fileSystem/index.js +4 -3
  363. package/src/utilities/global.js +15 -12
  364. package/src/utilities/index.js +7 -17
  365. package/src/utilities/routing/index.js +5 -5
  366. package/src/utilities/rowProcessor/index.js +25 -27
  367. package/src/utilities/rowProcessor/utils.js +23 -7
  368. package/src/utilities/tests/usageQuota/usageQuota.spec.js +72 -0
  369. package/src/utilities/usageQuota/index.js +93 -0
  370. package/src/utilities/usageQuota/rows.js +75 -0
  371. package/src/utilities/usageQuota/usageQuoteReset.js +18 -0
  372. package/src/utilities/users.js +3 -3
  373. package/src/utilities/workerRequests.js +4 -27
  374. package/tsconfig.json +4 -2
  375. package/builder/assets/index.39e01193.css +0 -1
  376. package/dist/api/controllers/hosting.js +0 -30
  377. package/dist/api/routes/hosting.js +0 -11
  378. package/src/api/controllers/hosting.js +0 -22
  379. package/src/api/routes/hosting.js +0 -13
  380. package/src/api/routes/tests/hosting.spec.js +0 -36
  381. package/src/utilities/usageQuota.js +0 -73
@@ -8,12 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- const CouchDB = require("../../../db");
12
11
  const Deployment = require("./Deployment");
13
- const { Replication, getDeployedAppID } = require("@budibase/backend-core/db");
12
+ const { Replication, getProdAppID, getDevelopmentAppID, } = require("@budibase/backend-core/db");
14
13
  const { DocumentTypes, getAutomationParams } = require("../../../db/utils");
15
14
  const { disableAllCrons, enableCronTrigger, } = require("../../../automations/utils");
16
15
  const { app: appCache } = require("@budibase/backend-core/cache");
16
+ const { getAppId, getAppDB, getProdAppDB, } = require("@budibase/backend-core/context");
17
17
  // the max time we can wait for an invalidation to complete before considering it failed
18
18
  const MAX_PENDING_TIME_MS = 30 * 60000;
19
19
  const DeploymentStatus = {
@@ -39,9 +39,8 @@ function checkAllDeployments(deployments) {
39
39
  }
40
40
  function storeDeploymentHistory(deployment) {
41
41
  return __awaiter(this, void 0, void 0, function* () {
42
- const appId = deployment.getAppId();
43
42
  const deploymentJSON = deployment.getJSON();
44
- const db = new CouchDB(appId);
43
+ const db = getAppDB();
45
44
  let deploymentDoc;
46
45
  try {
47
46
  // theres only one deployment doc per app database
@@ -62,7 +61,7 @@ function storeDeploymentHistory(deployment) {
62
61
  }
63
62
  function initDeployedApp(prodAppId) {
64
63
  return __awaiter(this, void 0, void 0, function* () {
65
- const db = new CouchDB(prodAppId);
64
+ const db = getProdAppDB();
66
65
  console.log("Reading automation docs");
67
66
  const automations = (yield db.allDocs(getAutomationParams(null, {
68
67
  include_docs: true,
@@ -83,15 +82,17 @@ function initDeployedApp(prodAppId) {
83
82
  function deployApp(deployment) {
84
83
  return __awaiter(this, void 0, void 0, function* () {
85
84
  try {
86
- const productionAppId = getDeployedAppID(deployment.appId);
85
+ const appId = getAppId();
86
+ const devAppId = getDevelopmentAppID(appId);
87
+ const productionAppId = getProdAppID(appId);
87
88
  const replication = new Replication({
88
- source: deployment.appId,
89
+ source: devAppId,
89
90
  target: productionAppId,
90
91
  });
91
92
  console.log("Replication object created");
92
93
  yield replication.replicate();
93
94
  console.log("replication complete.. replacing app meta doc");
94
- const db = new CouchDB(productionAppId);
95
+ const db = getProdAppDB();
95
96
  const appDoc = yield db.get(DocumentTypes.APP_METADATA);
96
97
  appDoc.appId = productionAppId;
97
98
  appDoc.instance._id = productionAppId;
@@ -113,8 +114,7 @@ function deployApp(deployment) {
113
114
  exports.fetchDeployments = function (ctx) {
114
115
  return __awaiter(this, void 0, void 0, function* () {
115
116
  try {
116
- const appId = ctx.appId;
117
- const db = new CouchDB(appId);
117
+ const db = getAppDB();
118
118
  const deploymentDoc = yield db.get(DocumentTypes.DEPLOYMENTS);
119
119
  const { updated, deployments } = yield checkAllDeployments(deploymentDoc, ctx.user);
120
120
  if (updated) {
@@ -130,8 +130,7 @@ exports.fetchDeployments = function (ctx) {
130
130
  exports.deploymentProgress = function (ctx) {
131
131
  return __awaiter(this, void 0, void 0, function* () {
132
132
  try {
133
- const appId = ctx.appId;
134
- const db = new CouchDB(appId);
133
+ const db = getAppDB();
135
134
  const deploymentDoc = yield db.get(DocumentTypes.DEPLOYMENTS);
136
135
  ctx.body = deploymentDoc[ctx.params.deploymentId];
137
136
  }
@@ -142,7 +141,7 @@ exports.deploymentProgress = function (ctx) {
142
141
  };
143
142
  exports.deployApp = function (ctx) {
144
143
  return __awaiter(this, void 0, void 0, function* () {
145
- let deployment = new Deployment(ctx.appId);
144
+ let deployment = new Deployment();
146
145
  console.log("Deployment object created");
147
146
  deployment.setStatus(DeploymentStatus.PENDING);
148
147
  console.log("Deployment object set to pending");
@@ -9,14 +9,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  const fetch = require("node-fetch");
12
- const CouchDB = require("../../db");
13
12
  const env = require("../../environment");
14
13
  const { checkSlashesInUrl } = require("../../utilities");
15
14
  const { request } = require("../../utilities/workerRequests");
16
15
  const { clearLock } = require("../../utilities/redis");
17
- const { Replication } = require("@budibase/backend-core/db");
16
+ const { Replication, getProdAppID } = require("@budibase/backend-core/db");
18
17
  const { DocumentTypes } = require("../../db/utils");
19
18
  const { app: appCache } = require("@budibase/backend-core/cache");
19
+ const { getProdAppDB, getAppDB } = require("@budibase/backend-core/context");
20
20
  function redirect(ctx, method, path = "global") {
21
21
  return __awaiter(this, void 0, void 0, function* () {
22
22
  const { devPath } = ctx.params;
@@ -76,10 +76,10 @@ exports.clearLock = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
76
76
  });
77
77
  exports.revert = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
78
78
  const { appId } = ctx.params;
79
- const productionAppId = appId.replace("_dev", "");
79
+ const productionAppId = getProdAppID(appId);
80
80
  // App must have been deployed first
81
81
  try {
82
- const db = new CouchDB(productionAppId, { skip_setup: true });
82
+ const db = getProdAppDB({ skip_setup: true });
83
83
  const info = yield db.info();
84
84
  if (info.error)
85
85
  throw info.error;
@@ -99,7 +99,7 @@ exports.revert = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
99
99
  });
100
100
  yield replication.rollback();
101
101
  // update appID in reverted app to be dev version again
102
- const db = new CouchDB(appId);
102
+ const db = getAppDB();
103
103
  const appDoc = yield db.get(DocumentTypes.APP_METADATA);
104
104
  appDoc.appId = appId;
105
105
  appDoc.instance._id = appId;
@@ -9,11 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  const { EMPTY_LAYOUT, BASE_LAYOUT_PROP_IDS, } = require("../../constants/layouts");
12
- const CouchDB = require("../../db");
13
12
  const { generateLayoutID, getScreenParams } = require("../../db/utils");
13
+ const { getAppDB } = require("@budibase/backend-core/context");
14
14
  exports.save = function (ctx) {
15
15
  return __awaiter(this, void 0, void 0, function* () {
16
- const db = new CouchDB(ctx.appId);
16
+ const db = getAppDB();
17
17
  let layout = ctx.request.body;
18
18
  if (!layout.props) {
19
19
  layout = Object.assign(Object.assign({}, EMPTY_LAYOUT), layout);
@@ -28,7 +28,7 @@ exports.save = function (ctx) {
28
28
  };
29
29
  exports.destroy = function (ctx) {
30
30
  return __awaiter(this, void 0, void 0, function* () {
31
- const db = new CouchDB(ctx.appId);
31
+ const db = getAppDB();
32
32
  const layoutId = ctx.params.layoutId, layoutRev = ctx.params.layoutRev;
33
33
  if (Object.values(BASE_LAYOUT_PROP_IDS).includes(layoutId)) {
34
34
  ctx.throw(400, "Cannot delete a built-in layout");
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  const { MetadataTypes } = require("../../constants");
12
- const CouchDB = require("../../db");
13
12
  const { generateMetadataID } = require("../../db/utils");
14
13
  const { saveEntityMetadata, deleteEntityMetadata } = require("../../utilities");
14
+ const { getAppDB } = require("@budibase/backend-core/context");
15
15
  exports.getTypes = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
16
16
  ctx.body = {
17
17
  types: MetadataTypes,
@@ -22,18 +22,18 @@ exports.saveMetadata = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
22
22
  if (type === MetadataTypes.AUTOMATION_TEST_HISTORY) {
23
23
  ctx.throw(400, "Cannot save automation history type");
24
24
  }
25
- ctx.body = yield saveEntityMetadata(ctx.appId, type, entityId, ctx.request.body);
25
+ ctx.body = yield saveEntityMetadata(type, entityId, ctx.request.body);
26
26
  });
27
27
  exports.deleteMetadata = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
28
28
  const { type, entityId } = ctx.params;
29
- yield deleteEntityMetadata(ctx.appId, type, entityId);
29
+ yield deleteEntityMetadata(type, entityId);
30
30
  ctx.body = {
31
31
  message: "Metadata deleted successfully",
32
32
  };
33
33
  });
34
34
  exports.getMetadata = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
35
35
  const { type, entityId } = ctx.params;
36
- const db = new CouchDB(ctx.appId);
36
+ const db = getAppDB();
37
37
  const id = generateMetadataID(type, entityId);
38
38
  try {
39
39
  ctx.body = yield db.get(id);
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ const { migrate, MIGRATIONS } = require("../../migrations");
12
+ exports.migrate = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
13
+ const options = ctx.request.body;
14
+ // don't await as can take a while, just return
15
+ migrate(options);
16
+ ctx.status = 200;
17
+ });
18
+ exports.fetchDefinitions = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
19
+ ctx.body = MIGRATIONS;
20
+ ctx.status = 200;
21
+ });
@@ -11,9 +11,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  const { getBuiltinPermissions } = require("@budibase/backend-core/permissions");
12
12
  const { isBuiltin, getDBRoleID, getExternalRoleID, getBuiltinRoles, } = require("@budibase/backend-core/roles");
13
13
  const { getRoleParams } = require("../../db/utils");
14
- const CouchDB = require("../../db");
15
14
  const { CURRENTLY_SUPPORTED_LEVELS, getBasePermissions, } = require("../../utilities/security");
16
15
  const { removeFromArray } = require("../../utilities");
16
+ const { getAppDB } = require("@budibase/backend-core/context");
17
17
  const PermissionUpdateType = {
18
18
  REMOVE: "remove",
19
19
  ADD: "add",
@@ -30,7 +30,7 @@ function getAllDBRoles(db) {
30
30
  }
31
31
  function updatePermissionOnRole(appId, { roleId, resourceId, level }, updateType) {
32
32
  return __awaiter(this, void 0, void 0, function* () {
33
- const db = new CouchDB(appId);
33
+ const db = getAppDB();
34
34
  const remove = updateType === PermissionUpdateType.REMOVE;
35
35
  const isABuiltin = isBuiltin(roleId);
36
36
  const dbRoleId = getDBRoleID(roleId);
@@ -93,7 +93,7 @@ exports.fetchLevels = function (ctx) {
93
93
  };
94
94
  exports.fetch = function (ctx) {
95
95
  return __awaiter(this, void 0, void 0, function* () {
96
- const db = new CouchDB(ctx.appId);
96
+ const db = getAppDB();
97
97
  const roles = yield getAllDBRoles(db);
98
98
  let permissions = {};
99
99
  // create an object with structure role ID -> resource ID -> level
@@ -121,7 +121,7 @@ exports.fetch = function (ctx) {
121
121
  exports.getResourcePerms = function (ctx) {
122
122
  return __awaiter(this, void 0, void 0, function* () {
123
123
  const resourceId = ctx.params.resourceId;
124
- const db = new CouchDB(ctx.appId);
124
+ const db = getAppDB();
125
125
  const body = yield db.allDocs(getRoleParams(null, {
126
126
  include_docs: true,
127
127
  }));
@@ -8,16 +8,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.RestImporter = void 0;
16
- const db_1 = __importDefault(require("../../../../db"));
17
13
  const validation_1 = require("../validation");
18
14
  const utils_1 = require("../../../../db/utils");
19
15
  const openapi2_1 = require("./sources/openapi2");
20
16
  const curl_1 = require("./sources/curl");
17
+ // @ts-ignore
18
+ const context_1 = require("@budibase/backend-core/context");
21
19
  class RestImporter {
22
20
  constructor(data) {
23
21
  this.init = () => __awaiter(this, void 0, void 0, function* () {
@@ -31,7 +29,7 @@ class RestImporter {
31
29
  this.getInfo = () => __awaiter(this, void 0, void 0, function* () {
32
30
  return this.source.getInfo();
33
31
  });
34
- this.importQueries = (appId, datasourceId) => __awaiter(this, void 0, void 0, function* () {
32
+ this.importQueries = (datasourceId) => __awaiter(this, void 0, void 0, function* () {
35
33
  // constuct the queries
36
34
  let queries = yield this.source.getQueries(datasourceId);
37
35
  // validate queries
@@ -51,7 +49,7 @@ class RestImporter {
51
49
  return query;
52
50
  });
53
51
  // persist queries
54
- const db = new db_1.default(appId);
52
+ const db = context_1.getAppDB();
55
53
  const response = yield db.bulkDocs(queries);
56
54
  // create index to seperate queries and errors
57
55
  const queryIndex = queries.reduce((acc, query) => {
@@ -8,7 +8,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- const CouchDB = require("../../../db");
12
11
  const { generateQueryID, getQueryParams, isProdAppID, } = require("../../../db/utils");
13
12
  const { BaseQueryVerbs } = require("../../../constants");
14
13
  const { Thread, ThreadType } = require("../../../threads");
@@ -16,6 +15,7 @@ const { save: saveDatasource } = require("../datasource");
16
15
  const { RestImporter } = require("./import");
17
16
  const { invalidateDynamicVariables } = require("../../../threads/utils");
18
17
  const environment = require("../../../environment");
18
+ const { getAppDB } = require("@budibase/backend-core/context");
19
19
  const Runner = new Thread(ThreadType.QUERY, {
20
20
  timeoutMs: environment.QUERY_THREAD_TIMEOUT || 10000,
21
21
  });
@@ -32,7 +32,7 @@ function enrichQueries(input) {
32
32
  }
33
33
  exports.fetch = function (ctx) {
34
34
  return __awaiter(this, void 0, void 0, function* () {
35
- const db = new CouchDB(ctx.appId);
35
+ const db = getAppDB();
36
36
  const body = yield db.allDocs(getQueryParams(null, {
37
37
  include_docs: true,
38
38
  }));
@@ -67,13 +67,13 @@ exports.import = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
67
67
  // use existing datasource
68
68
  datasourceId = body.datasourceId;
69
69
  }
70
- const importResult = yield importer.importQueries(ctx.appId, datasourceId);
70
+ const importResult = yield importer.importQueries(datasourceId);
71
71
  ctx.body = Object.assign(Object.assign({}, importResult), { datasourceId });
72
72
  ctx.status = 200;
73
73
  });
74
74
  exports.save = function (ctx) {
75
75
  return __awaiter(this, void 0, void 0, function* () {
76
- const db = new CouchDB(ctx.appId);
76
+ const db = getAppDB();
77
77
  const query = ctx.request.body;
78
78
  if (!query._id) {
79
79
  query._id = generateQueryID(query.datasourceId);
@@ -86,7 +86,7 @@ exports.save = function (ctx) {
86
86
  };
87
87
  exports.find = function (ctx) {
88
88
  return __awaiter(this, void 0, void 0, function* () {
89
- const db = new CouchDB(ctx.appId);
89
+ const db = getAppDB();
90
90
  const query = enrichQueries(yield db.get(ctx.params.queryId));
91
91
  // remove properties that could be dangerous in real app
92
92
  if (isProdAppID(ctx.appId)) {
@@ -98,7 +98,7 @@ exports.find = function (ctx) {
98
98
  };
99
99
  exports.preview = function (ctx) {
100
100
  return __awaiter(this, void 0, void 0, function* () {
101
- const db = new CouchDB(ctx.appId);
101
+ const db = getAppDB();
102
102
  const datasource = yield db.get(ctx.request.body.datasourceId);
103
103
  // preview may not have a queryId as it hasn't been saved, but if it does
104
104
  // this stops dynamic variables from calling the same query
@@ -127,7 +127,7 @@ exports.preview = function (ctx) {
127
127
  };
128
128
  function execute(ctx, opts = { rowsOnly: false }) {
129
129
  return __awaiter(this, void 0, void 0, function* () {
130
- const db = new CouchDB(ctx.appId);
130
+ const db = getAppDB();
131
131
  const query = yield db.get(ctx.params.queryId);
132
132
  const datasource = yield db.get(query.datasourceId);
133
133
  const enrichedParameters = ctx.request.body.parameters || {};
@@ -173,7 +173,8 @@ exports.executeV2 = function (ctx) {
173
173
  return execute(ctx, { rowsOnly: false });
174
174
  });
175
175
  };
176
- const removeDynamicVariables = (db, queryId) => __awaiter(void 0, void 0, void 0, function* () {
176
+ const removeDynamicVariables = (queryId) => __awaiter(void 0, void 0, void 0, function* () {
177
+ const db = getAppDB();
177
178
  const query = yield db.get(queryId);
178
179
  const datasource = yield db.get(query.datasourceId);
179
180
  const dynamicVariables = datasource.config.dynamicVariables;
@@ -188,8 +189,8 @@ const removeDynamicVariables = (db, queryId) => __awaiter(void 0, void 0, void 0
188
189
  });
189
190
  exports.destroy = function (ctx) {
190
191
  return __awaiter(this, void 0, void 0, function* () {
191
- const db = new CouchDB(ctx.appId);
192
- yield removeDynamicVariables(db, ctx.params.queryId);
192
+ const db = getAppDB();
193
+ yield removeDynamicVariables(ctx.params.queryId);
193
194
  yield db.remove(ctx.params.queryId, ctx.params.revId);
194
195
  ctx.message = `Query deleted.`;
195
196
  ctx.status = 200;
@@ -8,9 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- const CouchDB = require("../../db");
12
11
  const { Role, getRole, isBuiltin, getAllRoles, } = require("@budibase/backend-core/roles");
13
12
  const { generateRoleID, getUserMetadataParams, InternalTables, } = require("../../db/utils");
13
+ const { getAppDB } = require("@budibase/backend-core/context");
14
14
  const UpdateRolesOptions = {
15
15
  CREATED: "created",
16
16
  REMOVED: "removed",
@@ -42,17 +42,17 @@ function updateRolesOnUserTable(db, roleId, updateOption) {
42
42
  }
43
43
  exports.fetch = function (ctx) {
44
44
  return __awaiter(this, void 0, void 0, function* () {
45
- ctx.body = yield getAllRoles(ctx.appId);
45
+ ctx.body = yield getAllRoles();
46
46
  });
47
47
  };
48
48
  exports.find = function (ctx) {
49
49
  return __awaiter(this, void 0, void 0, function* () {
50
- ctx.body = yield getRole(ctx.appId, ctx.params.roleId);
50
+ ctx.body = yield getRole(ctx.params.roleId);
51
51
  });
52
52
  };
53
53
  exports.save = function (ctx) {
54
54
  return __awaiter(this, void 0, void 0, function* () {
55
- const db = new CouchDB(ctx.appId);
55
+ const db = getAppDB();
56
56
  let { _id, name, inherits, permissionId } = ctx.request.body;
57
57
  if (!_id) {
58
58
  _id = generateRoleID();
@@ -75,7 +75,7 @@ exports.save = function (ctx) {
75
75
  };
76
76
  exports.destroy = function (ctx) {
77
77
  return __awaiter(this, void 0, void 0, function* () {
78
- const db = new CouchDB(ctx.appId);
78
+ const db = getAppDB();
79
79
  const roleId = ctx.params.roleId;
80
80
  if (isBuiltin(roleId)) {
81
81
  ctx.throw(400, "Cannot delete builtin role.");
@@ -40,13 +40,12 @@ Routing.prototype.addScreenId = function (fullpath, roleId, screenId) {
40
40
  };
41
41
  /**
42
42
  * Gets the full routing structure by querying the routing view and processing the result into the tree.
43
- * @param {string} appId The application to produce the routing structure for.
44
43
  * @returns {Promise<object>} The routing structure, this is the full structure designed for use in the builder,
45
44
  * if the client routing is required then the updateRoutingStructureForUserRole should be used.
46
45
  */
47
- function getRoutingStructure(appId) {
46
+ function getRoutingStructure() {
48
47
  return __awaiter(this, void 0, void 0, function* () {
49
- const screenRoutes = yield getRoutingInfo(appId);
48
+ const screenRoutes = yield getRoutingInfo();
50
49
  const routing = new Routing();
51
50
  for (let screenRoute of screenRoutes) {
52
51
  let fullpath = screenRoute.routing.route;
@@ -57,12 +56,12 @@ function getRoutingStructure(appId) {
57
56
  });
58
57
  }
59
58
  exports.fetch = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
60
- ctx.body = yield getRoutingStructure(ctx.appId);
59
+ ctx.body = yield getRoutingStructure();
61
60
  });
62
61
  exports.clientFetch = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
63
- const routing = yield getRoutingStructure(ctx.appId);
62
+ const routing = yield getRoutingStructure();
64
63
  let roleId = ctx.user.role._id;
65
- const roleIds = yield getUserRoleHierarchy(ctx.appId, roleId);
64
+ const roleIds = yield getUserRoleHierarchy(roleId);
66
65
  for (let topLevel of Object.values(routing.routes)) {
67
66
  for (let subpathKey of Object.keys(topLevel.subpaths)) {
68
67
  let found = false;