@budibase/server 1.0.49-alpha.9 → 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 (379) 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.ad5370ae.js → index.2c37968e.js} +246 -249
  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 +2827 -3117
  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 +141 -48
  35. package/coverage/lcov-report/api/controllers/row/index.html +40 -55
  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 +24 -39
  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 +4431 -5013
  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 +67 -90
  194. package/dist/api/controllers/row/external.js +22 -14
  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 +14 -56
  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 +11 -15
  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/integrations/postgres/init.sql +6 -11
  250. package/scripts/likeCypress.ts +1 -1
  251. package/src/api/controllers/application.js +50 -85
  252. package/src/api/controllers/auth.js +5 -8
  253. package/src/api/controllers/automation.js +23 -13
  254. package/src/api/controllers/cloud.js +3 -2
  255. package/src/api/controllers/component.js +4 -3
  256. package/src/api/controllers/datasource.js +11 -21
  257. package/src/api/controllers/deploy/Deployment.js +7 -3
  258. package/src/api/controllers/deploy/index.js +13 -20
  259. package/src/api/controllers/dev.js +5 -5
  260. package/src/api/controllers/hosting.js +22 -0
  261. package/src/api/controllers/layout.js +3 -3
  262. package/src/api/controllers/metadata.js +9 -4
  263. package/src/api/controllers/permission.js +4 -4
  264. package/src/api/controllers/query/import/index.ts +6 -4
  265. package/src/api/controllers/query/import/tests/index.spec.js +1 -2
  266. package/src/api/controllers/query/index.js +10 -11
  267. package/src/api/controllers/role.js +5 -5
  268. package/src/api/controllers/routing.js +6 -5
  269. package/src/api/controllers/row/ExternalRequest.ts +43 -67
  270. package/src/api/controllers/row/external.js +58 -27
  271. package/src/api/controllers/row/internal.js +90 -54
  272. package/src/api/controllers/row/internalSearch.js +17 -23
  273. package/src/api/controllers/row/utils.js +18 -13
  274. package/src/api/controllers/screen.js +7 -5
  275. package/src/api/controllers/static/index.js +12 -65
  276. package/src/api/controllers/table/external.js +10 -7
  277. package/src/api/controllers/table/index.js +28 -20
  278. package/src/api/controllers/table/internal.js +19 -24
  279. package/src/api/controllers/table/utils.js +42 -78
  280. package/src/api/controllers/user.js +20 -19
  281. package/src/api/controllers/view/index.js +10 -8
  282. package/src/api/controllers/view/utils.js +4 -9
  283. package/src/api/controllers/webhook.js +8 -10
  284. package/src/api/routes/hosting.js +13 -0
  285. package/src/api/routes/index.js +2 -2
  286. package/src/api/routes/static.js +0 -5
  287. package/src/api/routes/tests/application.spec.js +2 -2
  288. package/src/api/routes/tests/auth.spec.js +2 -1
  289. package/src/api/routes/tests/automation.spec.js +0 -1
  290. package/src/api/routes/tests/hosting.spec.js +36 -0
  291. package/src/api/routes/tests/misc.spec.js +1 -0
  292. package/src/api/routes/tests/routing.spec.js +12 -21
  293. package/src/api/routes/tests/row.spec.js +4 -7
  294. package/src/api/routes/tests/utilities/TestFunctions.js +17 -39
  295. package/src/app.ts +5 -18
  296. package/src/automations/automationUtils.js +3 -2
  297. package/src/automations/steps/createRow.js +5 -2
  298. package/src/automations/steps/deleteRow.js +4 -1
  299. package/src/automations/steps/updateRow.js +1 -1
  300. package/src/automations/triggers.js +31 -33
  301. package/src/automations/utils.js +5 -9
  302. package/src/constants/index.js +0 -9
  303. package/src/db/linkedRows/LinkController.js +7 -3
  304. package/src/db/linkedRows/index.js +31 -16
  305. package/src/db/linkedRows/linkUtils.js +6 -6
  306. package/src/db/tests/linkController.spec.js +1 -0
  307. package/src/db/tests/linkTests.spec.js +6 -5
  308. package/src/db/views/staticViews.js +10 -8
  309. package/src/definitions/common.ts +0 -3
  310. package/src/definitions/datasource.ts +0 -3
  311. package/src/environment.js +1 -4
  312. package/src/integrations/base/sql.ts +21 -69
  313. package/src/integrations/index.ts +0 -3
  314. package/src/integrations/tests/sql.spec.js +0 -16
  315. package/src/integrations/utils.ts +12 -75
  316. package/src/middleware/authorized.js +30 -66
  317. package/src/middleware/builder.js +2 -2
  318. package/src/middleware/currentapp.js +46 -50
  319. package/src/middleware/tests/authorized.spec.js +6 -13
  320. package/src/middleware/tests/currentapp.spec.js +0 -6
  321. package/src/middleware/tests/usageQuota.spec.js +24 -18
  322. package/src/middleware/usageQuota.js +17 -93
  323. package/src/tests/utilities/TestConfiguration.js +55 -82
  324. package/src/threads/automation.js +15 -17
  325. package/src/threads/query.js +12 -17
  326. package/src/utilities/fileSystem/index.js +3 -4
  327. package/src/utilities/global.js +12 -15
  328. package/src/utilities/index.js +17 -7
  329. package/src/utilities/routing/index.js +5 -5
  330. package/src/utilities/rowProcessor/index.js +27 -25
  331. package/src/utilities/rowProcessor/utils.js +7 -23
  332. package/src/utilities/usageQuota.js +73 -0
  333. package/src/utilities/users.js +3 -3
  334. package/src/utilities/workerRequests.js +27 -4
  335. package/tsconfig.json +1 -2
  336. package/builder/assets/index.83c0944f.css +0 -1
  337. package/coverage/lcov-report/api/controllers/migrations.js.html +0 -119
  338. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +0 -548
  339. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +0 -599
  340. package/coverage/lcov-report/utilities/usageQuota/index.html +0 -141
  341. package/coverage/lcov-report/utilities/usageQuota/index.js.html +0 -359
  342. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +0 -305
  343. package/dist/api/controllers/migrations.js +0 -21
  344. package/dist/api/controllers/row/staticFormula.js +0 -147
  345. package/dist/api/controllers/table/bulkFormula.js +0 -159
  346. package/dist/api/routes/migrations.js +0 -9
  347. package/dist/integrations/googlesheets.js +0 -340
  348. package/dist/migrations/functions/appUrls.js +0 -46
  349. package/dist/migrations/functions/quotas1.js +0 -50
  350. package/dist/migrations/functions/usageQuotas/index.js +0 -20
  351. package/dist/migrations/functions/usageQuotas/syncApps.js +0 -29
  352. package/dist/migrations/functions/usageQuotas/syncRows.js +0 -33
  353. package/dist/migrations/functions/userEmailViewCasing.js +0 -24
  354. package/dist/migrations/index.js +0 -62
  355. package/dist/utilities/usageQuota/rows.js +0 -78
  356. package/dist/utilities/usageQuota/usageQuoteReset.js +0 -16
  357. package/src/api/controllers/migrations.js +0 -13
  358. package/src/api/controllers/row/staticFormula.js +0 -156
  359. package/src/api/controllers/table/bulkFormula.js +0 -173
  360. package/src/api/routes/migrations.js +0 -14
  361. package/src/api/routes/tests/static.spec.js +0 -98
  362. package/src/integrations/googlesheets.ts +0 -353
  363. package/src/migrations/functions/appUrls.ts +0 -34
  364. package/src/migrations/functions/quotas1.ts +0 -20
  365. package/src/migrations/functions/tests/appUrls.spec.js +0 -29
  366. package/src/migrations/functions/tests/quotas1.spec.js +0 -27
  367. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +0 -25
  368. package/src/migrations/functions/usageQuotas/index.ts +0 -8
  369. package/src/migrations/functions/usageQuotas/syncApps.ts +0 -18
  370. package/src/migrations/functions/usageQuotas/syncRows.ts +0 -22
  371. package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +0 -37
  372. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +0 -43
  373. package/src/migrations/functions/userEmailViewCasing.ts +0 -13
  374. package/src/migrations/index.ts +0 -56
  375. package/src/module.d.ts +0 -3
  376. package/src/utilities/tests/usageQuota/usageQuota.spec.js +0 -72
  377. package/src/utilities/usageQuota/index.js +0 -93
  378. package/src/utilities/usageQuota/rows.js +0 -75
  379. package/src/utilities/usageQuota/usageQuoteReset.js +0 -18
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">80.2% </span>
26
+ <span class="strong">80% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>77/96</span>
28
+ <span class='fraction'>76/95</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">80% </span>
47
+ <span class="strong">79.78% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>76/95</span>
49
+ <span class='fraction'>75/94</span>
50
50
  </div>
51
51
 
52
52
 
@@ -267,21 +267,20 @@
267
267
  <a name='L208'></a><a href='#L208'>208</a>
268
268
  <a name='L209'></a><a href='#L209'>209</a>
269
269
  <a name='L210'></a><a href='#L210'>210</a>
270
- <a name='L211'></a><a href='#L211'>211</a>
271
- <a name='L212'></a><a href='#L212'>212</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
270
+ <a name='L211'></a><a href='#L211'>211</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
271
+ <span class="cline-any cline-neutral">&nbsp;</span>
272
272
  <span class="cline-any cline-neutral">&nbsp;</span>
273
273
  <span class="cline-any cline-neutral">&nbsp;</span>
274
274
  <span class="cline-any cline-neutral">&nbsp;</span>
275
- <span class="cline-any cline-yes">39x</span>
276
- <span class="cline-any cline-yes">39x</span>
277
- <span class="cline-any cline-yes">39x</span>
278
- <span class="cline-any cline-yes">39x</span>
279
- <span class="cline-any cline-yes">39x</span>
280
- <span class="cline-any cline-yes">39x</span>
281
- <span class="cline-any cline-yes">39x</span>
282
- <span class="cline-any cline-yes">39x</span>
275
+ <span class="cline-any cline-yes">34x</span>
276
+ <span class="cline-any cline-yes">34x</span>
277
+ <span class="cline-any cline-yes">34x</span>
278
+ <span class="cline-any cline-yes">34x</span>
279
+ <span class="cline-any cline-yes">34x</span>
280
+ <span class="cline-any cline-yes">34x</span>
281
+ <span class="cline-any cline-yes">34x</span>
283
282
  <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-yes">39x</span>
283
+ <span class="cline-any cline-yes">34x</span>
285
284
  <span class="cline-any cline-neutral">&nbsp;</span>
286
285
  <span class="cline-any cline-neutral">&nbsp;</span>
287
286
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -297,7 +296,7 @@
297
296
  <span class="cline-any cline-yes">5x</span>
298
297
  <span class="cline-any cline-neutral">&nbsp;</span>
299
298
  <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-yes">39x</span>
299
+ <span class="cline-any cline-yes">34x</span>
301
300
  <span class="cline-any cline-yes">2x</span>
302
301
  <span class="cline-any cline-neutral">&nbsp;</span>
303
302
  <span class="cline-any cline-yes">2x</span>
@@ -309,7 +308,7 @@
309
308
  <span class="cline-any cline-yes">2x</span>
310
309
  <span class="cline-any cline-neutral">&nbsp;</span>
311
310
  <span class="cline-any cline-neutral">&nbsp;</span>
312
- <span class="cline-any cline-yes">39x</span>
311
+ <span class="cline-any cline-yes">34x</span>
313
312
  <span class="cline-any cline-no">&nbsp;</span>
314
313
  <span class="cline-any cline-no">&nbsp;</span>
315
314
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -348,7 +347,7 @@
348
347
  <span class="cline-any cline-no">&nbsp;</span>
349
348
  <span class="cline-any cline-neutral">&nbsp;</span>
350
349
  <span class="cline-any cline-neutral">&nbsp;</span>
351
- <span class="cline-any cline-yes">39x</span>
350
+ <span class="cline-any cline-yes">34x</span>
352
351
  <span class="cline-any cline-yes">28x</span>
353
352
  <span class="cline-any cline-yes">28x</span>
354
353
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -363,7 +362,7 @@
363
362
  <span class="cline-any cline-yes">28x</span>
364
363
  <span class="cline-any cline-neutral">&nbsp;</span>
365
364
  <span class="cline-any cline-neutral">&nbsp;</span>
366
- <span class="cline-any cline-yes">39x</span>
365
+ <span class="cline-any cline-yes">34x</span>
367
366
  <span class="cline-any cline-yes">3x</span>
368
367
  <span class="cline-any cline-yes">3x</span>
369
368
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -374,7 +373,7 @@
374
373
  <span class="cline-any cline-yes">3x</span>
375
374
  <span class="cline-any cline-neutral">&nbsp;</span>
376
375
  <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-yes">39x</span>
376
+ <span class="cline-any cline-yes">34x</span>
378
377
  <span class="cline-any cline-yes">8x</span>
379
378
  <span class="cline-any cline-neutral">&nbsp;</span>
380
379
  <span class="cline-any cline-yes">8x</span>
@@ -443,16 +442,15 @@
443
442
  <span class="cline-any cline-neutral">&nbsp;</span>
444
443
  <span class="cline-any cline-neutral">&nbsp;</span>
445
444
  <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-yes">39x</span>
445
+ <span class="cline-any cline-yes">34x</span>
447
446
  <span class="cline-any cline-yes">2x</span>
448
447
  <span class="cline-any cline-neutral">&nbsp;</span>
449
448
  <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-yes">39x</span>
449
+ <span class="cline-any cline-yes">34x</span>
451
450
  <span class="cline-any cline-no">&nbsp;</span>
452
451
  <span class="cline-any cline-neutral">&nbsp;</span>
453
452
  <span class="cline-any cline-neutral">&nbsp;</span>
454
- <span class="cline-any cline-yes">39x</span>
455
- <span class="cline-any cline-yes">2x</span>
453
+ <span class="cline-any cline-yes">34x</span>
456
454
  <span class="cline-any cline-yes">2x</span>
457
455
  <span class="cline-any cline-yes">2x</span>
458
456
  <span class="cline-any cline-yes">2x</span>
@@ -472,14 +470,15 @@
472
470
  <span class="cline-any cline-neutral">&nbsp;</span>
473
471
  <span class="cline-any cline-neutral">&nbsp;</span>
474
472
  <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-yes">39x</span>
473
+ <span class="cline-any cline-yes">34x</span>
476
474
  <span class="cline-any cline-yes">2x</span>
477
475
  <span class="cline-any cline-yes">2x</span>
478
476
  <span class="cline-any cline-yes">2x</span>
479
477
  <span class="cline-any cline-yes">2x</span>
480
478
  <span class="cline-any cline-yes">2x</span>
481
479
  <span class="cline-any cline-neutral">&nbsp;</span>
482
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
480
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
481
+ const {
483
482
  generateQueryID,
484
483
  getQueryParams,
485
484
  isProdAppID,
@@ -490,7 +489,6 @@ const { save: saveDatasource } = require("../datasource")
490
489
  const { RestImporter } = require("./import")
491
490
  const { invalidateDynamicVariables } = require("../../../threads/utils")
492
491
  const environment = require("../../../environment")
493
- const { getAppDB } = require("@budibase/backend-core/context")
494
492
  &nbsp;
495
493
  const Runner = new Thread(ThreadType.QUERY, {
496
494
  timeoutMs: environment.QUERY_THREAD_TIMEOUT || 10000,
@@ -509,7 +507,7 @@ function enrichQueries(input) {
509
507
  }
510
508
  &nbsp;
511
509
  exports.fetch = async function (ctx) {
512
- const db = getAppDB()
510
+ const db = new CouchDB(ctx.appId)
513
511
  &nbsp;
514
512
  const body = await db.allDocs(
515
513
  getQueryParams(null, {
@@ -550,7 +548,7 @@ exports.import = <span class="fstat-no" title="function not covered" >as</span>y
550
548
  <span class="cstat-no" title="statement not covered" > datasourceId = body.datasourceId</span>
551
549
  }
552
550
  &nbsp;
553
- const importResult = <span class="cstat-no" title="statement not covered" >await importer.importQueries(datasourceId)</span>
551
+ const importResult = <span class="cstat-no" title="statement not covered" >await importer.importQueries(ctx.appId, datasourceId)</span>
554
552
  &nbsp;
555
553
  <span class="cstat-no" title="statement not covered" > ctx.body = {</span>
556
554
  ...importResult,
@@ -560,7 +558,7 @@ exports.import = <span class="fstat-no" title="function not covered" >as</span>y
560
558
  }
561
559
  &nbsp;
562
560
  exports.save = async function (ctx) {
563
- const db = getAppDB()
561
+ const db = new CouchDB(ctx.appId)
564
562
  const query = ctx.request.body
565
563
  &nbsp;
566
564
  if (!query._id) {
@@ -575,7 +573,7 @@ exports.save = async function (ctx) {
575
573
  }
576
574
  &nbsp;
577
575
  exports.find = async function (ctx) {
578
- const db = getAppDB()
576
+ const db = new CouchDB(ctx.appId)
579
577
  const query = enrichQueries(await db.get(ctx.params.queryId))
580
578
  // remove properties that could be dangerous in real app
581
579
  if (isProdAppID(ctx.appId)) {
@@ -586,7 +584,7 @@ exports.find = async function (ctx) {
586
584
  }
587
585
  &nbsp;
588
586
  exports.preview = async function (ctx) {
589
- const db = getAppDB()
587
+ const db = new CouchDB(ctx.appId)
590
588
  &nbsp;
591
589
  const datasource = await db.get(ctx.request.body.datasourceId)
592
590
  // preview may not have a queryId as it hasn't been saved, but if it does
@@ -617,7 +615,7 @@ exports.preview = async function (ctx) {
617
615
  }
618
616
  &nbsp;
619
617
  async function execute(ctx, opts = <span class="branch-0 cbranch-no" title="branch not covered" >{ rowsOnly: false })</span> {
620
- const db = getAppDB()
618
+ const db = new CouchDB(ctx.appId)
621
619
  &nbsp;
622
620
  const query = await db.get(ctx.params.queryId)
623
621
  const datasource = await db.get(query.datasourceId)
@@ -662,8 +660,7 @@ exports.executeV2 = <span class="fstat-no" title="function not covered" >as</spa
662
660
  <span class="cstat-no" title="statement not covered" > return execute(ctx, { rowsOnly: false })</span>
663
661
  }
664
662
  &nbsp;
665
- const removeDynamicVariables = async queryId =&gt; {
666
- const db = getAppDB()
663
+ const removeDynamicVariables = async (db, queryId) =&gt; {
667
664
  const query = await db.get(queryId)
668
665
  const datasource = await db.get(query.datasourceId)
669
666
  const dynamicVariables = datasource.config.dynamicVariables
@@ -684,8 +681,8 @@ const removeDynamicVariables = async queryId =&gt; {
684
681
  }
685
682
  &nbsp;
686
683
  exports.destroy = async function (ctx) {
687
- const db = getAppDB()
688
- await removeDynamicVariables(ctx.params.queryId)
684
+ const db = new CouchDB(ctx.appId)
685
+ await removeDynamicVariables(db, ctx.params.queryId)
689
686
  await db.remove(ctx.params.queryId, ctx.params.revId)
690
687
  ctx.message = `Query deleted.`
691
688
  ctx.status = 200
@@ -697,7 +694,7 @@ exports.destroy = async function (ctx) {
697
694
  <div class='footer quiet pad2 space-top1 center small'>
698
695
  Code coverage generated by
699
696
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
700
- at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
697
+ at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
701
698
  </div>
702
699
  </div>
703
700
  <script src="../../../prettify.js"></script>
@@ -99,10 +99,10 @@
99
99
  <a name='L40'></a><a href='#L40'>40</a>
100
100
  <a name='L41'></a><a href='#L41'>41</a>
101
101
  <a name='L42'></a><a href='#L42'>42</a>
102
- <a name='L43'></a><a href='#L43'>43</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
103
- <span class="cline-any cline-yes">40x</span>
102
+ <a name='L43'></a><a href='#L43'>43</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">35x</span>
103
+ <span class="cline-any cline-yes">35x</span>
104
104
  <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-yes">40x</span>
105
+ <span class="cline-any cline-yes">35x</span>
106
106
  <span class="cline-any cline-yes">28x</span>
107
107
  <span class="cline-any cline-neutral">&nbsp;</span>
108
108
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -124,12 +124,12 @@
124
124
  <span class="cline-any cline-neutral">&nbsp;</span>
125
125
  <span class="cline-any cline-neutral">&nbsp;</span>
126
126
  <span class="cline-any cline-neutral">&nbsp;</span>
127
- <span class="cline-any cline-yes">40x</span>
127
+ <span class="cline-any cline-yes">35x</span>
128
128
  <span class="cline-any cline-neutral">&nbsp;</span>
129
129
  <span class="cline-any cline-yes">23x</span>
130
130
  <span class="cline-any cline-neutral">&nbsp;</span>
131
131
  <span class="cline-any cline-neutral">&nbsp;</span>
132
- <span class="cline-any cline-yes">40x</span>
132
+ <span class="cline-any cline-yes">35x</span>
133
133
  <span class="cline-any cline-neutral">&nbsp;</span>
134
134
  <span class="cline-any cline-yes">23x</span>
135
135
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -190,7 +190,7 @@ exports.generateQueryPreviewValidation = () =&gt; {
190
190
  <div class='footer quiet pad2 space-top1 center small'>
191
191
  Code coverage generated by
192
192
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
193
- at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
193
+ at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
194
194
  </div>
195
195
  </div>
196
196
  <script src="../../../prettify.js"></script>
@@ -155,20 +155,20 @@
155
155
  <a name='L96'></a><a href='#L96'>96</a>
156
156
  <a name='L97'></a><a href='#L97'>97</a>
157
157
  <a name='L98'></a><a href='#L98'>98</a>
158
- <a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
158
+ <a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
159
159
  <span class="cline-any cline-neutral">&nbsp;</span>
160
160
  <span class="cline-any cline-neutral">&nbsp;</span>
161
161
  <span class="cline-any cline-neutral">&nbsp;</span>
162
162
  <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-yes">38x</span>
164
163
  <span class="cline-any cline-neutral">&nbsp;</span>
164
+ <span class="cline-any cline-yes">33x</span>
165
165
  <span class="cline-any cline-neutral">&nbsp;</span>
166
166
  <span class="cline-any cline-neutral">&nbsp;</span>
167
167
  <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-yes">38x</span>
169
- <span class="cline-any cline-yes">38x</span>
170
168
  <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-yes">38x</span>
169
+ <span class="cline-any cline-yes">33x</span>
170
+ <span class="cline-any cline-neutral">&nbsp;</span>
171
+ <span class="cline-any cline-yes">33x</span>
172
172
  <span class="cline-any cline-neutral">&nbsp;</span>
173
173
  <span class="cline-any cline-neutral">&nbsp;</span>
174
174
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -196,15 +196,15 @@
196
196
  <span class="cline-any cline-neutral">&nbsp;</span>
197
197
  <span class="cline-any cline-neutral">&nbsp;</span>
198
198
  <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-yes">38x</span>
199
+ <span class="cline-any cline-yes">33x</span>
200
200
  <span class="cline-any cline-yes">2x</span>
201
201
  <span class="cline-any cline-neutral">&nbsp;</span>
202
202
  <span class="cline-any cline-neutral">&nbsp;</span>
203
- <span class="cline-any cline-yes">38x</span>
203
+ <span class="cline-any cline-yes">33x</span>
204
204
  <span class="cline-any cline-yes">1x</span>
205
205
  <span class="cline-any cline-neutral">&nbsp;</span>
206
206
  <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-yes">38x</span>
207
+ <span class="cline-any cline-yes">33x</span>
208
208
  <span class="cline-any cline-yes">3x</span>
209
209
  <span class="cline-any cline-yes">3x</span>
210
210
  <span class="cline-any cline-yes">3x</span>
@@ -225,7 +225,7 @@
225
225
  <span class="cline-any cline-yes">3x</span>
226
226
  <span class="cline-any cline-neutral">&nbsp;</span>
227
227
  <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-yes">38x</span>
228
+ <span class="cline-any cline-yes">33x</span>
229
229
  <span class="cline-any cline-yes">1x</span>
230
230
  <span class="cline-any cline-yes">1x</span>
231
231
  <span class="cline-any cline-yes">1x</span>
@@ -253,7 +253,8 @@
253
253
  <span class="cline-any cline-yes">1x</span>
254
254
  <span class="cline-any cline-yes">1x</span>
255
255
  <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
256
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
257
+ const {
257
258
  Role,
258
259
  getRole,
259
260
  isBuiltin,
@@ -264,7 +265,6 @@ const {
264
265
  getUserMetadataParams,
265
266
  InternalTables,
266
267
  } = require("../../db/utils")
267
- const { getAppDB } = require("@budibase/backend-core/context")
268
268
  &nbsp;
269
269
  const UpdateRolesOptions = {
270
270
  CREATED: "created",
@@ -295,15 +295,15 @@ async function updateRolesOnUserTable(db, roleId, updateOption) {
295
295
  }
296
296
  &nbsp;
297
297
  exports.fetch = async function (ctx) {
298
- ctx.body = await getAllRoles()
298
+ ctx.body = await getAllRoles(ctx.appId)
299
299
  }
300
300
  &nbsp;
301
301
  exports.find = async function (ctx) {
302
- ctx.body = await getRole(ctx.params.roleId)
302
+ ctx.body = await getRole(ctx.appId, ctx.params.roleId)
303
303
  }
304
304
  &nbsp;
305
305
  exports.save = async function (ctx) {
306
- const db = getAppDB()
306
+ const db = new CouchDB(ctx.appId)
307
307
  let { _id, name, inherits, permissionId } = ctx.request.body
308
308
  if (!_id) {
309
309
  _id = generateRoleID()
@@ -324,7 +324,7 @@ exports.save = async function (ctx) {
324
324
  }
325
325
  &nbsp;
326
326
  exports.destroy = async function (ctx) {
327
- const db = getAppDB()
327
+ const db = new CouchDB(ctx.appId)
328
328
  const roleId = ctx.params.roleId
329
329
  <span class="missing-if-branch" title="if path not taken" >I</span>if (isBuiltin(roleId)) {
330
330
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot delete builtin role.")</span>
@@ -358,7 +358,7 @@ exports.destroy = async function (ctx) {
358
358
  <div class='footer quiet pad2 space-top1 center small'>
359
359
  Code coverage generated by
360
360
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
361
- at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
361
+ at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
362
362
  </div>
363
363
  </div>
364
364
  <script src="../../prettify.js"></script>
@@ -149,7 +149,8 @@
149
149
  <a name='L90'></a><a href='#L90'>90</a>
150
150
  <a name='L91'></a><a href='#L91'>91</a>
151
151
  <a name='L92'></a><a href='#L92'>92</a>
152
- <a name='L93'></a><a href='#L93'>93</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
152
+ <a name='L93'></a><a href='#L93'>93</a>
153
+ <a name='L94'></a><a href='#L94'>94</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
153
154
  <span class="cline-any cline-neutral">&nbsp;</span>
154
155
  <span class="cline-any cline-neutral">&nbsp;</span>
155
156
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -194,6 +195,7 @@
194
195
  <span class="cline-any cline-neutral">&nbsp;</span>
195
196
  <span class="cline-any cline-neutral">&nbsp;</span>
196
197
  <span class="cline-any cline-neutral">&nbsp;</span>
198
+ <span class="cline-any cline-neutral">&nbsp;</span>
197
199
  <span class="cline-any cline-yes">3x</span>
198
200
  <span class="cline-any cline-yes">3x</span>
199
201
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -282,11 +284,12 @@ Routing.prototype.addScreenId = function (fullpath, roleId, screenId) {
282
284
  &nbsp;
283
285
  /**
284
286
  * Gets the full routing structure by querying the routing view and processing the result into the tree.
287
+ * @param {string} appId The application to produce the routing structure for.
285
288
  * @returns {Promise&lt;object&gt;} The routing structure, this is the full structure designed for use in the builder,
286
289
  * if the client routing is required then the updateRoutingStructureForUserRole should be used.
287
290
  */
288
- async function getRoutingStructure() {
289
- const screenRoutes = await getRoutingInfo()
291
+ async function getRoutingStructure(appId) {
292
+ const screenRoutes = await getRoutingInfo(appId)
290
293
  const routing = new Routing()
291
294
  &nbsp;
292
295
  for (let screenRoute of screenRoutes) {
@@ -299,13 +302,13 @@ async function getRoutingStructure() {
299
302
  }
300
303
  &nbsp;
301
304
  exports.fetch = async ctx =&gt; {
302
- ctx.body = await getRoutingStructure()
305
+ ctx.body = await getRoutingStructure(ctx.appId)
303
306
  }
304
307
  &nbsp;
305
308
  exports.clientFetch = async ctx =&gt; {
306
- const routing = await getRoutingStructure()
309
+ const routing = await getRoutingStructure(ctx.appId)
307
310
  let roleId = ctx.user.role._id
308
- const roleIds = await getUserRoleHierarchy(roleId)
311
+ const roleIds = await getUserRoleHierarchy(ctx.appId, roleId)
309
312
  for (let topLevel of Object.values(routing.routes)) {
310
313
  for (let subpathKey of Object.keys(topLevel.subpaths)) {
311
314
  let found = false
@@ -340,7 +343,7 @@ exports.clientFetch = async ctx =&gt; {
340
343
  <div class='footer quiet pad2 space-top1 center small'>
341
344
  Code coverage generated by
342
345
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
343
- at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
346
+ at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
344
347
  </div>
345
348
  </div>
346
349
  <script src="../../prettify.js"></script>