@budibase/server 1.0.49-alpha.1 → 1.0.49-alpha.13

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 (353) 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.ba78c49d.css → index.83c0944f.css} +1 -1
  8. package/builder/assets/{index.ed1cf508.js → index.f686d3cd.js} +184 -184
  9. package/builder/index.html +2 -2
  10. package/coverage/clover.xml +2656 -2712
  11. package/coverage/coverage-final.json +104 -105
  12. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/application.js.html +157 -136
  15. package/coverage/lcov-report/api/controllers/auth.js.html +11 -14
  16. package/coverage/lcov-report/api/controllers/automation.js.html +39 -69
  17. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/cloud.js.html +8 -11
  19. package/coverage/lcov-report/api/controllers/component.js.html +10 -13
  20. package/coverage/lcov-report/api/controllers/datasource.js.html +31 -37
  21. package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
  22. package/coverage/lcov-report/api/controllers/index.html +69 -54
  23. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/layout.js.html +9 -9
  25. package/coverage/lcov-report/api/controllers/metadata.js.html +6 -21
  26. package/coverage/lcov-report/{migrations/usageQuotas/syncApps.js.html → api/controllers/migrations.js.html} +30 -45
  27. package/coverage/lcov-report/api/controllers/permission.js.html +19 -19
  28. package/coverage/lcov-report/api/controllers/query/index.html +10 -10
  29. package/coverage/lcov-report/api/controllers/query/index.js.html +38 -35
  30. package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -6
  31. package/coverage/lcov-report/api/controllers/role.js.html +16 -16
  32. package/coverage/lcov-report/api/controllers/routing.js.html +7 -10
  33. package/coverage/lcov-report/api/controllers/row/external.js.html +48 -141
  34. package/coverage/lcov-report/api/controllers/row/index.html +28 -28
  35. package/coverage/lcov-report/api/controllers/row/index.js.html +13 -13
  36. package/coverage/lcov-report/api/controllers/row/internal.js.html +60 -105
  37. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +25 -31
  38. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +21 -24
  39. package/coverage/lcov-report/api/controllers/row/utils.js.html +27 -24
  40. package/coverage/lcov-report/api/controllers/screen.js.html +15 -21
  41. package/coverage/lcov-report/api/controllers/script.js.html +4 -4
  42. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +27 -57
  43. package/coverage/lcov-report/api/controllers/table/external.js.html +25 -34
  44. package/coverage/lcov-report/api/controllers/table/index.html +37 -37
  45. package/coverage/lcov-report/api/controllers/table/index.js.html +20 -20
  46. package/coverage/lcov-report/api/controllers/table/internal.js.html +45 -54
  47. package/coverage/lcov-report/api/controllers/table/utils.js.html +67 -103
  48. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  49. package/coverage/lcov-report/api/controllers/user.js.html +43 -52
  50. package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
  51. package/coverage/lcov-report/api/controllers/view/index.html +16 -16
  52. package/coverage/lcov-report/api/controllers/view/index.js.html +27 -33
  53. package/coverage/lcov-report/api/controllers/view/utils.js.html +35 -20
  54. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
  55. package/coverage/lcov-report/api/controllers/webhook.js.html +34 -28
  56. package/coverage/lcov-report/api/index.html +1 -1
  57. package/coverage/lcov-report/api/index.js.html +3 -3
  58. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/index.html +22 -7
  70. package/coverage/lcov-report/api/routes/index.js.html +10 -4
  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/{migrations/usageQuotas/index.js.html → api/routes/migrations.js.html} +25 -55
  75. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  81. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  83. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  84. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  85. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  86. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  87. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  88. package/coverage/lcov-report/automations/actions.js.html +24 -24
  89. package/coverage/lcov-report/automations/automationUtils.js.html +7 -10
  90. package/coverage/lcov-report/automations/bullboard.js.html +16 -16
  91. package/coverage/lcov-report/automations/index.html +18 -18
  92. package/coverage/lcov-report/automations/index.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/bash.js.html +6 -6
  94. package/coverage/lcov-report/automations/steps/createRow.js.html +7 -10
  95. package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
  96. package/coverage/lcov-report/automations/steps/deleteRow.js.html +7 -7
  97. package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
  98. package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
  99. package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
  100. package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
  101. package/coverage/lcov-report/automations/steps/index.html +1 -1
  102. package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
  103. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
  104. package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
  105. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
  106. package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
  107. package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
  108. package/coverage/lcov-report/automations/steps/updateRow.js.html +7 -7
  109. package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
  110. package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
  111. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  112. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  113. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  114. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  115. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  116. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  117. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  118. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  119. package/coverage/lcov-report/automations/triggers.js.html +61 -55
  120. package/coverage/lcov-report/automations/utils.js.html +54 -42
  121. package/coverage/lcov-report/constants/index.html +1 -1
  122. package/coverage/lcov-report/constants/index.js.html +26 -26
  123. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  124. package/coverage/lcov-report/constants/screens.js.html +4 -4
  125. package/coverage/lcov-report/db/client.js.html +18 -18
  126. package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
  127. package/coverage/lcov-report/db/index.html +1 -1
  128. package/coverage/lcov-report/db/index.js.html +3 -3
  129. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +15 -27
  130. package/coverage/lcov-report/db/linkedRows/index.html +27 -27
  131. package/coverage/lcov-report/db/linkedRows/index.js.html +40 -82
  132. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +40 -40
  133. package/coverage/lcov-report/db/newid.js.html +4 -4
  134. package/coverage/lcov-report/db/utils.js.html +74 -74
  135. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  136. package/coverage/lcov-report/events/index.html +1 -1
  137. package/coverage/lcov-report/events/index.js.html +5 -5
  138. package/coverage/lcov-report/events/utils.js.html +3 -3
  139. package/coverage/lcov-report/index.html +97 -112
  140. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  141. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  142. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  143. package/coverage/lcov-report/middleware/authorized.js.html +21 -15
  144. package/coverage/lcov-report/middleware/builder.js.html +3 -3
  145. package/coverage/lcov-report/middleware/currentapp.js.html +72 -60
  146. package/coverage/lcov-report/middleware/index.html +28 -28
  147. package/coverage/lcov-report/middleware/joi-validator.js.html +3 -3
  148. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  149. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  150. package/coverage/lcov-report/middleware/usageQuota.js.html +29 -35
  151. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  152. package/coverage/lcov-report/threads/automation.js.html +30 -24
  153. package/coverage/lcov-report/threads/index.html +25 -25
  154. package/coverage/lcov-report/threads/index.js.html +10 -10
  155. package/coverage/lcov-report/threads/query.js.html +26 -47
  156. package/coverage/lcov-report/threads/utils.js.html +14 -14
  157. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  158. package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
  159. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  160. package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
  161. package/coverage/lcov-report/utilities/global.js.html +57 -48
  162. package/coverage/lcov-report/utilities/index.html +27 -27
  163. package/coverage/lcov-report/utilities/index.js.html +42 -72
  164. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +8 -8
  165. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  166. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  167. package/coverage/lcov-report/utilities/routing/index.js.html +7 -7
  168. package/coverage/lcov-report/utilities/rowProcessor/index.html +11 -11
  169. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +32 -74
  170. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +4 -4
  171. package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
  172. package/coverage/lcov-report/utilities/security.js.html +8 -8
  173. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  174. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  175. package/coverage/lcov-report/utilities/usageQuota/index.js.html +13 -10
  176. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +5 -2
  177. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  178. package/coverage/lcov-report/utilities/users.js.html +9 -9
  179. package/coverage/lcov-report/utilities/workerRequests.js.html +16 -16
  180. package/coverage/lcov.info +4018 -4092
  181. package/dist/api/controllers/application.js +49 -48
  182. package/dist/api/controllers/auth.js +4 -5
  183. package/dist/api/controllers/automation.js +14 -19
  184. package/dist/api/controllers/cloud.js +2 -3
  185. package/dist/api/controllers/component.js +3 -4
  186. package/dist/api/controllers/datasource.js +9 -10
  187. package/dist/api/controllers/deploy/Deployment.js +3 -6
  188. package/dist/api/controllers/deploy/index.js +12 -13
  189. package/dist/api/controllers/dev.js +5 -5
  190. package/dist/api/controllers/layout.js +3 -3
  191. package/dist/api/controllers/metadata.js +4 -4
  192. package/dist/api/controllers/migrations.js +21 -0
  193. package/dist/api/controllers/permission.js +4 -4
  194. package/dist/api/controllers/query/import/index.js +4 -6
  195. package/dist/api/controllers/query/index.js +11 -10
  196. package/dist/api/controllers/role.js +5 -5
  197. package/dist/api/controllers/routing.js +5 -6
  198. package/dist/api/controllers/row/ExternalRequest.js +90 -67
  199. package/dist/api/controllers/row/external.js +14 -22
  200. package/dist/api/controllers/row/internal.js +29 -44
  201. package/dist/api/controllers/row/internalSearch.js +11 -13
  202. package/dist/api/controllers/row/staticFormula.js +11 -11
  203. package/dist/api/controllers/row/utils.js +7 -6
  204. package/dist/api/controllers/screen.js +5 -7
  205. package/dist/api/controllers/static/index.js +4 -4
  206. package/dist/api/controllers/table/bulkFormula.js +14 -15
  207. package/dist/api/controllers/table/external.js +7 -10
  208. package/dist/api/controllers/table/index.js +5 -5
  209. package/dist/api/controllers/table/internal.js +16 -19
  210. package/dist/api/controllers/table/utils.js +29 -31
  211. package/dist/api/controllers/user.js +16 -20
  212. package/dist/api/controllers/view/index.js +8 -10
  213. package/dist/api/controllers/view/utils.js +9 -4
  214. package/dist/api/controllers/webhook.js +10 -8
  215. package/dist/api/routes/index.js +2 -0
  216. package/dist/api/routes/migrations.js +9 -0
  217. package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
  218. package/dist/app.js +35 -5
  219. package/dist/automations/automationUtils.js +2 -3
  220. package/dist/automations/steps/createRow.js +1 -1
  221. package/dist/automations/steps/updateRow.js +1 -1
  222. package/dist/automations/triggers.js +27 -25
  223. package/dist/automations/utils.js +10 -5
  224. package/dist/db/linkedRows/LinkController.js +3 -7
  225. package/dist/db/linkedRows/index.js +16 -26
  226. package/dist/db/linkedRows/linkUtils.js +6 -6
  227. package/dist/db/views/staticViews.js +9 -10
  228. package/dist/environment.js +3 -1
  229. package/dist/integrations/base/sql.js +49 -15
  230. package/dist/integrations/utils.js +3 -0
  231. package/dist/middleware/authorized.js +5 -3
  232. package/dist/middleware/builder.js +2 -2
  233. package/dist/middleware/currentapp.js +41 -37
  234. package/dist/middleware/usageQuota.js +2 -4
  235. package/dist/migrations/functions/appUrls.js +46 -0
  236. package/dist/migrations/functions/quotas1.js +50 -0
  237. package/dist/migrations/{usageQuotas → functions/usageQuotas}/index.js +6 -10
  238. package/dist/migrations/{usageQuotas → functions/usageQuotas}/syncApps.js +12 -9
  239. package/dist/migrations/{usageQuotas → functions/usageQuotas}/syncRows.js +16 -12
  240. package/dist/migrations/functions/userEmailViewCasing.js +24 -0
  241. package/dist/migrations/index.js +62 -0
  242. package/dist/package.json +4 -4
  243. package/dist/tests/utilities/TestConfiguration.js +70 -44
  244. package/dist/threads/automation.js +13 -11
  245. package/dist/threads/query.js +13 -19
  246. package/dist/tsconfig.tsbuildinfo +1 -1
  247. package/dist/utilities/fileSystem/index.js +4 -3
  248. package/dist/utilities/global.js +15 -12
  249. package/dist/utilities/index.js +7 -17
  250. package/dist/utilities/routing/index.js +5 -5
  251. package/dist/utilities/rowProcessor/index.js +9 -10
  252. package/dist/utilities/usageQuota/index.js +1 -0
  253. package/dist/utilities/usageQuota/rows.js +1 -0
  254. package/dist/utilities/users.js +3 -3
  255. package/dist/utilities/workerRequests.js +4 -4
  256. package/package.json +5 -5
  257. package/scripts/integrations/mssql/data/Dockerfile +1 -1
  258. package/scripts/integrations/mssql/data/setup.sql +17 -4
  259. package/scripts/integrations/postgres/init.sql +11 -6
  260. package/scripts/likeCypress.ts +1 -1
  261. package/src/api/controllers/application.js +38 -31
  262. package/src/api/controllers/auth.js +4 -5
  263. package/src/api/controllers/automation.js +13 -23
  264. package/src/api/controllers/cloud.js +2 -3
  265. package/src/api/controllers/component.js +3 -4
  266. package/src/api/controllers/datasource.js +9 -11
  267. package/src/api/controllers/deploy/Deployment.js +3 -7
  268. package/src/api/controllers/deploy/index.js +20 -13
  269. package/src/api/controllers/dev.js +5 -5
  270. package/src/api/controllers/layout.js +3 -3
  271. package/src/api/controllers/metadata.js +4 -9
  272. package/src/api/controllers/migrations.js +13 -0
  273. package/src/api/controllers/permission.js +4 -4
  274. package/src/api/controllers/query/import/index.ts +4 -6
  275. package/src/api/controllers/query/import/tests/index.spec.js +2 -1
  276. package/src/api/controllers/query/index.js +11 -10
  277. package/src/api/controllers/role.js +5 -5
  278. package/src/api/controllers/routing.js +5 -6
  279. package/src/api/controllers/row/ExternalRequest.ts +67 -43
  280. package/src/api/controllers/row/external.js +27 -58
  281. package/src/api/controllers/row/internal.js +29 -44
  282. package/src/api/controllers/row/internalSearch.js +11 -13
  283. package/src/api/controllers/row/staticFormula.js +10 -11
  284. package/src/api/controllers/row/utils.js +7 -6
  285. package/src/api/controllers/screen.js +5 -7
  286. package/src/api/controllers/static/index.js +4 -4
  287. package/src/api/controllers/table/bulkFormula.js +13 -23
  288. package/src/api/controllers/table/external.js +7 -10
  289. package/src/api/controllers/table/index.js +5 -5
  290. package/src/api/controllers/table/internal.js +18 -21
  291. package/src/api/controllers/table/utils.js +29 -41
  292. package/src/api/controllers/user.js +17 -20
  293. package/src/api/controllers/view/index.js +8 -10
  294. package/src/api/controllers/view/utils.js +9 -4
  295. package/src/api/controllers/webhook.js +10 -8
  296. package/src/api/routes/index.js +2 -0
  297. package/src/api/routes/migrations.js +14 -0
  298. package/src/api/routes/tests/automation.spec.js +1 -0
  299. package/src/api/routes/tests/misc.spec.js +0 -1
  300. package/src/api/routes/tests/routing.spec.js +21 -12
  301. package/src/api/routes/tests/row.spec.js +7 -4
  302. package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
  303. package/src/app.ts +18 -5
  304. package/src/automations/automationUtils.js +2 -3
  305. package/src/automations/steps/createRow.js +0 -1
  306. package/src/automations/steps/updateRow.js +1 -1
  307. package/src/automations/triggers.js +33 -31
  308. package/src/automations/utils.js +9 -5
  309. package/src/db/linkedRows/LinkController.js +3 -7
  310. package/src/db/linkedRows/index.js +16 -30
  311. package/src/db/linkedRows/linkUtils.js +6 -6
  312. package/src/db/tests/linkController.spec.js +0 -1
  313. package/src/db/tests/linkTests.spec.js +5 -6
  314. package/src/db/views/staticViews.js +8 -10
  315. package/src/environment.js +3 -1
  316. package/src/integrations/base/sql.ts +61 -22
  317. package/src/integrations/utils.ts +4 -1
  318. package/src/middleware/authorized.js +5 -3
  319. package/src/middleware/builder.js +2 -2
  320. package/src/middleware/currentapp.js +50 -46
  321. package/src/middleware/tests/authorized.spec.js +7 -2
  322. package/src/middleware/tests/currentapp.spec.js +6 -0
  323. package/src/middleware/usageQuota.js +2 -4
  324. package/src/migrations/functions/appUrls.ts +34 -0
  325. package/src/migrations/functions/quotas1.ts +20 -0
  326. package/src/migrations/functions/tests/appUrls.spec.js +29 -0
  327. package/src/migrations/{tests/usageQuotas/index.spec.js → functions/tests/quotas1.spec.js} +5 -5
  328. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +25 -0
  329. package/src/migrations/functions/usageQuotas/index.ts +8 -0
  330. package/src/migrations/{usageQuotas/syncApps.js → functions/usageQuotas/syncApps.ts} +6 -6
  331. package/src/migrations/functions/usageQuotas/syncRows.ts +22 -0
  332. package/src/migrations/{tests/usageQuotas → functions/usageQuotas/tests}/syncApps.spec.js +4 -4
  333. package/src/migrations/{tests/usageQuotas → functions/usageQuotas/tests}/syncRows.spec.js +4 -4
  334. package/src/migrations/functions/userEmailViewCasing.ts +13 -0
  335. package/src/migrations/index.ts +56 -0
  336. package/src/module.d.ts +3 -0
  337. package/src/tests/utilities/TestConfiguration.js +73 -50
  338. package/src/threads/automation.js +17 -15
  339. package/src/threads/query.js +14 -21
  340. package/src/utilities/fileSystem/index.js +4 -3
  341. package/src/utilities/global.js +15 -12
  342. package/src/utilities/index.js +7 -17
  343. package/src/utilities/routing/index.js +5 -5
  344. package/src/utilities/rowProcessor/index.js +9 -23
  345. package/src/utilities/usageQuota/index.js +1 -0
  346. package/src/utilities/usageQuota/rows.js +1 -0
  347. package/src/utilities/users.js +3 -3
  348. package/src/utilities/workerRequests.js +4 -4
  349. package/tsconfig.json +2 -1
  350. package/coverage/lcov-report/migrations/usageQuotas/index.html +0 -141
  351. package/coverage/lcov-report/migrations/usageQuotas/syncRows.js.html +0 -143
  352. package/src/migrations/usageQuotas/index.js +0 -24
  353. package/src/migrations/usageQuotas/syncRows.js +0 -21
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">57.69% </span>
26
+ <span class="strong">58.01% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>75/130</span>
28
+ <span class='fraction'>76/131</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">60.16% </span>
47
+ <span class="strong">60.48% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>74/123</span>
49
+ <span class='fraction'>75/124</span>
50
50
  </div>
51
51
 
52
52
 
@@ -396,40 +396,26 @@
396
396
  <a name='L337'></a><a href='#L337'>337</a>
397
397
  <a name='L338'></a><a href='#L338'>338</a>
398
398
  <a name='L339'></a><a href='#L339'>339</a>
399
- <a name='L340'></a><a href='#L340'>340</a>
400
- <a name='L341'></a><a href='#L341'>341</a>
401
- <a name='L342'></a><a href='#L342'>342</a>
402
- <a name='L343'></a><a href='#L343'>343</a>
403
- <a name='L344'></a><a href='#L344'>344</a>
404
- <a name='L345'></a><a href='#L345'>345</a>
405
- <a name='L346'></a><a href='#L346'>346</a>
406
- <a name='L347'></a><a href='#L347'>347</a>
407
- <a name='L348'></a><a href='#L348'>348</a>
408
- <a name='L349'></a><a href='#L349'>349</a>
409
- <a name='L350'></a><a href='#L350'>350</a>
410
- <a name='L351'></a><a href='#L351'>351</a>
411
- <a name='L352'></a><a href='#L352'>352</a>
412
- <a name='L353'></a><a href='#L353'>353</a>
413
- <a name='L354'></a><a href='#L354'>354</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
414
- <span class="cline-any cline-yes">37x</span>
415
- <span class="cline-any cline-yes">37x</span>
416
- <span class="cline-any cline-yes">37x</span>
417
- <span class="cline-any cline-yes">37x</span>
418
- <span class="cline-any cline-yes">37x</span>
419
- <span class="cline-any cline-yes">37x</span>
399
+ <a name='L340'></a><a href='#L340'>340</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
400
+ <span class="cline-any cline-yes">39x</span>
401
+ <span class="cline-any cline-yes">39x</span>
402
+ <span class="cline-any cline-yes">39x</span>
403
+ <span class="cline-any cline-yes">39x</span>
404
+ <span class="cline-any cline-yes">39x</span>
405
+ <span class="cline-any cline-yes">39x</span>
420
406
  <span class="cline-any cline-neutral">&nbsp;</span>
421
407
  <span class="cline-any cline-neutral">&nbsp;</span>
422
408
  <span class="cline-any cline-neutral">&nbsp;</span>
423
409
  <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-yes">37x</span>
425
- <span class="cline-any cline-yes">37x</span>
410
+ <span class="cline-any cline-yes">39x</span>
411
+ <span class="cline-any cline-yes">39x</span>
426
412
  <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-yes">37x</span>
413
+ <span class="cline-any cline-yes">39x</span>
428
414
  <span class="cline-any cline-neutral">&nbsp;</span>
429
415
  <span class="cline-any cline-neutral">&nbsp;</span>
430
416
  <span class="cline-any cline-neutral">&nbsp;</span>
431
417
  <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-yes">37x</span>
418
+ <span class="cline-any cline-yes">39x</span>
433
419
  <span class="cline-any cline-neutral">&nbsp;</span>
434
420
  <span class="cline-any cline-neutral">&nbsp;</span>
435
421
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -590,9 +576,9 @@
590
576
  <span class="cline-any cline-neutral">&nbsp;</span>
591
577
  <span class="cline-any cline-yes">76x</span>
592
578
  <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-yes">37x</span>
579
+ <span class="cline-any cline-yes">39x</span>
594
580
  <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-yes">37x</span>
581
+ <span class="cline-any cline-yes">39x</span>
596
582
  <span class="cline-any cline-neutral">&nbsp;</span>
597
583
  <span class="cline-any cline-neutral">&nbsp;</span>
598
584
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -600,7 +586,7 @@
600
586
  <span class="cline-any cline-neutral">&nbsp;</span>
601
587
  <span class="cline-any cline-neutral">&nbsp;</span>
602
588
  <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-yes">37x</span>
589
+ <span class="cline-any cline-yes">39x</span>
604
590
  <span class="cline-any cline-neutral">&nbsp;</span>
605
591
  <span class="cline-any cline-yes">180x</span>
606
592
  <span class="cline-any cline-no">&nbsp;</span>
@@ -624,7 +610,7 @@
624
610
  <span class="cline-any cline-neutral">&nbsp;</span>
625
611
  <span class="cline-any cline-neutral">&nbsp;</span>
626
612
  <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-yes">37x</span>
613
+ <span class="cline-any cline-yes">39x</span>
628
614
  <span class="cline-any cline-neutral">&nbsp;</span>
629
615
  <span class="cline-any cline-neutral">&nbsp;</span>
630
616
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -671,13 +657,7 @@
671
657
  <span class="cline-any cline-neutral">&nbsp;</span>
672
658
  <span class="cline-any cline-neutral">&nbsp;</span>
673
659
  <span class="cline-any cline-neutral">&nbsp;</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-yes">37x</span>
676
- <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-neutral">&nbsp;</span>
678
- <span class="cline-any cline-neutral">&nbsp;</span>
679
- <span class="cline-any cline-neutral">&nbsp;</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
660
+ <span class="cline-any cline-yes">39x</span>
681
661
  <span class="cline-any cline-yes">103x</span>
682
662
  <span class="cline-any cline-yes">103x</span>
683
663
  <span class="cline-any cline-yes">90x</span>
@@ -705,10 +685,6 @@
705
685
  <span class="cline-any cline-yes">103x</span>
706
686
  <span class="cline-any cline-yes">26x</span>
707
687
  <span class="cline-any cline-neutral">&nbsp;</span>
708
- <span class="cline-any cline-neutral">&nbsp;</span>
709
- <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-neutral">&nbsp;</span>
711
- <span class="cline-any cline-neutral">&nbsp;</span>
712
688
  <span class="cline-any cline-yes">103x</span>
713
689
  <span class="cline-any cline-neutral">&nbsp;</span>
714
690
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -722,12 +698,8 @@
722
698
  <span class="cline-any cline-neutral">&nbsp;</span>
723
699
  <span class="cline-any cline-neutral">&nbsp;</span>
724
700
  <span class="cline-any cline-neutral">&nbsp;</span>
725
- <span class="cline-any cline-neutral">&nbsp;</span>
726
- <span class="cline-any cline-yes">37x</span>
727
- <span class="cline-any cline-neutral">&nbsp;</span>
728
- <span class="cline-any cline-neutral">&nbsp;</span>
729
- <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-neutral">&nbsp;</span>
701
+ <span class="cline-any cline-yes">39x</span>
702
+ <span class="cline-any cline-yes">11x</span>
731
703
  <span class="cline-any cline-yes">11x</span>
732
704
  <span class="cline-any cline-yes">11x</span>
733
705
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -772,10 +744,10 @@ const { deleteFiles } = require("../../utilities/fileSystem/utilities")
772
744
  const { ObjectStoreBuckets } = require("../../constants")
773
745
  const {
774
746
  isProdAppID,
775
- getDeployedAppID,
747
+ getProdAppID,
776
748
  dbExists,
777
749
  } = require("@budibase/backend-core/db")
778
- const CouchDB = require("../../db")
750
+ const { getAppId } = require("@budibase/backend-core/context")
779
751
  &nbsp;
780
752
  const BASE_AUTO_ID = 1
781
753
  &nbsp;
@@ -1018,26 +990,20 @@ exports.inputProcessing = (
1018
990
  /**
1019
991
  * This function enriches the input rows with anything they are supposed to contain, for example
1020
992
  * link records or attachment links.
1021
- * @param {string} appId the app in which the request is looking for enriched rows.
1022
993
  * @param {object} table the table from which these rows came from originally, this is used to determine
1023
994
  * the schema of the rows and then enrich.
1024
995
  * @param {object[]|object} rows the rows which are to be enriched.
1025
996
  * @param {object} opts used to set some options for the output, such as disabling relationship squashing.
1026
997
  * @returns {object[]|object} the enriched rows will be returned.
1027
998
  */
1028
- exports.outputProcessing = async (
1029
- { appId },
1030
- table,
1031
- rows,
1032
- opts = { squash: true }
1033
- ) =&gt; {
999
+ exports.outputProcessing = async (table, rows, opts = { squash: true }) =&gt; {
1034
1000
  let wasArray = true
1035
1001
  if (!(rows instanceof Array)) {
1036
1002
  rows = [rows]
1037
1003
  wasArray = false
1038
1004
  }
1039
1005
  // attach any linked row information
1040
- let enriched = await linkRows.attachFullLinkedDocs(appId, table, rows)
1006
+ let enriched = await linkRows.attachFullLinkedDocs(table, rows)
1041
1007
  &nbsp;
1042
1008
  // process formulas
1043
1009
  enriched = processFormulas(table, enriched, { dynamic: true })
@@ -1056,18 +1022,13 @@ exports.outputProcessing = async (
1056
1022
  }
1057
1023
  }
1058
1024
  if (opts.squash) {
1059
- enriched = await linkRows.squashLinksToPrimaryDisplay(
1060
- appId,
1061
- table,
1062
- enriched
1063
- )
1025
+ enriched = await linkRows.squashLinksToPrimaryDisplay(table, enriched)
1064
1026
  }
1065
1027
  return wasArray ? enriched : enriched[0]
1066
1028
  }
1067
1029
  &nbsp;
1068
1030
  /**
1069
1031
  * Clean up any attachments that were attached to a row.
1070
- * @param {string} appId The ID of the app from which a row is being deleted.
1071
1032
  * @param {object} table The table from which a row is being removed.
1072
1033
  * @param {any} row optional - the row being removed.
1073
1034
  * @param {any} rows optional - if multiple rows being deleted can do this in bulk.
@@ -1076,15 +1037,12 @@ exports.outputProcessing = async (
1076
1037
  * deleted attachment columns.
1077
1038
  * @return {Promise&lt;void&gt;} When all attachments have been removed this will return.
1078
1039
  */
1079
- exports.cleanupAttachments = async (
1080
- appId,
1081
- table,
1082
- { row, rows, oldRow, oldTable }
1083
- ) =&gt; {
1040
+ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =&gt; {
1041
+ const appId = getAppId()
1084
1042
  if (!isProdAppID(appId)) {
1085
- const prodAppId = getDeployedAppID(appId)
1043
+ const prodAppId = getProdAppID(appId)
1086
1044
  // if prod exists, then don't allow deleting
1087
- const exists = await dbExists(CouchDB, prodAppId)
1045
+ const exists = await dbExists(prodAppId)
1088
1046
  if (exists) {
1089
1047
  return
1090
1048
  }
@@ -1123,7 +1081,7 @@ exports.cleanupAttachments = async (
1123
1081
  <div class='footer quiet pad2 space-top1 center small'>
1124
1082
  Code coverage generated by
1125
1083
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1126
- at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
1084
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
1127
1085
  </div>
1128
1086
  </div>
1129
1087
  <script src="../../prettify.js"></script>
@@ -96,13 +96,13 @@
96
96
  <a name='L37'></a><a href='#L37'>37</a>
97
97
  <a name='L38'></a><a href='#L38'>38</a>
98
98
  <a name='L39'></a><a href='#L39'>39</a>
99
- <a name='L40'></a><a href='#L40'>40</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
100
- <span class="cline-any cline-yes">37x</span>
99
+ <a name='L40'></a><a href='#L40'>40</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
100
+ <span class="cline-any cline-yes">39x</span>
101
101
  <span class="cline-any cline-neutral">&nbsp;</span>
102
102
  <span class="cline-any cline-neutral">&nbsp;</span>
103
103
  <span class="cline-any cline-neutral">&nbsp;</span>
104
104
  <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-yes">37x</span>
105
+ <span class="cline-any cline-yes">39x</span>
106
106
  <span class="cline-any cline-neutral">&nbsp;</span>
107
107
  <span class="cline-any cline-neutral">&nbsp;</span>
108
108
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -181,7 +181,7 @@ exports.processFormulas = (
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
184
- at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
184
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  </div>
187
187
  <script src="../../prettify.js"></script>
@@ -81,9 +81,9 @@
81
81
  <a name='L22'></a><a href='#L22'>22</a>
82
82
  <a name='L23'></a><a href='#L23'>23</a>
83
83
  <a name='L24'></a><a href='#L24'>24</a>
84
- <a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
85
- <span class="cline-any cline-yes">37x</span>
86
- <span class="cline-any cline-yes">37x</span>
84
+ <a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
85
+ <span class="cline-any cline-yes">39x</span>
86
+ <span class="cline-any cline-yes">39x</span>
87
87
  <span class="cline-any cline-neutral">&nbsp;</span>
88
88
  <span class="cline-any cline-neutral">&nbsp;</span>
89
89
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -104,7 +104,7 @@
104
104
  <span class="cline-any cline-neutral">&nbsp;</span>
105
105
  <span class="cline-any cline-neutral">&nbsp;</span>
106
106
  <span class="cline-any cline-neutral">&nbsp;</span>
107
- <span class="cline-any cline-yes">37x</span>
107
+ <span class="cline-any cline-yes">39x</span>
108
108
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const fetch = require("node-fetch")
109
109
  const { VM, VMScript } = require("vm2")
110
110
  const JS_TIMEOUT_MS = 1000
@@ -136,7 +136,7 @@ module.exports = ScriptRunner
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
139
- at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
139
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  </div>
142
142
  <script src="../prettify.js"></script>
@@ -132,19 +132,19 @@
132
132
  <span class="cline-any cline-neutral">&nbsp;</span>
133
133
  <span class="cline-any cline-neutral">&nbsp;</span>
134
134
  <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-yes">36x</span>
135
+ <span class="cline-any cline-yes">38x</span>
136
136
  <span class="cline-any cline-neutral">&nbsp;</span>
137
137
  <span class="cline-any cline-neutral">&nbsp;</span>
138
138
  <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-yes">36x</span>
140
- <span class="cline-any cline-yes">36x</span>
139
+ <span class="cline-any cline-yes">38x</span>
140
+ <span class="cline-any cline-yes">38x</span>
141
141
  <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-yes">36x</span>
142
+ <span class="cline-any cline-yes">38x</span>
143
143
  <span class="cline-any cline-neutral">&nbsp;</span>
144
144
  <span class="cline-any cline-neutral">&nbsp;</span>
145
145
  <span class="cline-any cline-neutral">&nbsp;</span>
146
146
  <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-yes">36x</span>
147
+ <span class="cline-any cline-yes">38x</span>
148
148
  <span class="cline-any cline-yes">4x</span>
149
149
  <span class="cline-any cline-yes">84x</span>
150
150
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -170,7 +170,7 @@
170
170
  <span class="cline-any cline-neutral">&nbsp;</span>
171
171
  <span class="cline-any cline-neutral">&nbsp;</span>
172
172
  <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-yes">36x</span>
173
+ <span class="cline-any cline-yes">38x</span>
174
174
  <span class="cline-any cline-yes">4x</span>
175
175
  <span class="cline-any cline-yes">4x</span>
176
176
  <span class="cline-any cline-yes">4x</span>
@@ -196,7 +196,7 @@
196
196
  <span class="cline-any cline-yes">4x</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">36x</span>
199
+ <span class="cline-any cline-yes">38x</span>
200
200
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
201
201
  PermissionLevels,
202
202
  PermissionTypes,
@@ -274,7 +274,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
274
274
  <div class='footer quiet pad2 space-top1 center small'>
275
275
  Code coverage generated by
276
276
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
277
- at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
277
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
278
278
  </div>
279
279
  </div>
280
280
  <script src="../prettify.js"></script>
@@ -85,7 +85,7 @@
85
85
  <div class='footer quiet pad2 space-top1 center small'>
86
86
  Code coverage generated by
87
87
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
88
- at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
88
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
89
89
  </div>
90
90
  </div>
91
91
  <script src="../prettify.js"></script>
@@ -125,7 +125,7 @@
125
125
  <div class='footer quiet pad2 space-top1 center small'>
126
126
  Code coverage generated by
127
127
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
128
- at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
128
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
129
129
  </div>
130
130
  </div>
131
131
  <script src="../../prettify.js"></script>
@@ -149,16 +149,17 @@
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">38x</span>
153
- <span class="cline-any cline-yes">38x</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">40x</span>
154
+ <span class="cline-any cline-yes">40x</span>
154
155
  <span class="cline-any cline-neutral">&nbsp;</span>
155
156
  <span class="cline-any cline-neutral">&nbsp;</span>
156
157
  <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-yes">38x</span>
158
+ <span class="cline-any cline-yes">40x</span>
158
159
  <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-yes">38x</span>
160
+ <span class="cline-any cline-yes">40x</span>
160
161
  <span class="cline-any cline-neutral">&nbsp;</span>
161
- <span class="cline-any cline-yes">29x</span>
162
+ <span class="cline-any cline-yes">52x</span>
162
163
  <span class="cline-any cline-neutral">&nbsp;</span>
163
164
  <span class="cline-any cline-yes">7x</span>
164
165
  <span class="cline-any cline-yes">3x</span>
@@ -172,10 +173,10 @@
172
173
  <span class="cline-any cline-neutral">&nbsp;</span>
173
174
  <span class="cline-any cline-yes">5x</span>
174
175
  <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-yes">22x</span>
176
+ <span class="cline-any cline-yes">45x</span>
176
177
  <span class="cline-any cline-neutral">&nbsp;</span>
177
178
  <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-yes">38x</span>
179
+ <span class="cline-any cline-yes">40x</span>
179
180
  <span class="cline-any cline-neutral">&nbsp;</span>
180
181
  <span class="cline-any cline-neutral">&nbsp;</span>
181
182
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -185,7 +186,7 @@
185
186
  <span class="cline-any cline-neutral">&nbsp;</span>
186
187
  <span class="cline-any cline-neutral">&nbsp;</span>
187
188
  <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-yes">38x</span>
189
+ <span class="cline-any cline-yes">40x</span>
189
190
  <span class="cline-any cline-neutral">&nbsp;</span>
190
191
  <span class="cline-any cline-yes">10x</span>
191
192
  <span class="cline-any cline-yes">10x</span>
@@ -206,7 +207,8 @@
206
207
  <span class="cline-any cline-neutral">&nbsp;</span>
207
208
  <span class="cline-any cline-neutral">&nbsp;</span>
208
209
  <span class="cline-any cline-neutral">&nbsp;</span>
209
- <span class="cline-any cline-yes">38x</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-yes">40x</span>
210
212
  <span class="cline-any cline-yes">16x</span>
211
213
  <span class="cline-any cline-yes">14x</span>
212
214
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -295,6 +297,7 @@ exports.getUsageQuotaDoc = async db =&gt; {
295
297
  * Given a specified tenantId this will add to the usage object for the specified property.
296
298
  * @param {string} property The property which is to be added to (within the nested usageQuota object).
297
299
  * @param {number} usage The amount (this can be negative) to adjust the number by.
300
+ * @param {object} opts optional - options such as dryRun, to check what update will do.
298
301
  * @returns {Promise&lt;void&gt;} When this completes the API key will now be up to date - the quota period may have
299
302
  * also been reset after this call.
300
303
  */
@@ -340,7 +343,7 @@ exports.update = async (property, usage, opts = { dryRun: false }) =&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 Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
346
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
344
347
  </div>
345
348
  </div>
346
349
  <script src="../../prettify.js"></script>
@@ -131,7 +131,8 @@
131
131
  <a name='L72'></a><a href='#L72'>72</a>
132
132
  <a name='L73'></a><a href='#L73'>73</a>
133
133
  <a name='L74'></a><a href='#L74'>74</a>
134
- <a name='L75'></a><a href='#L75'>75</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">25x</span>
134
+ <a name='L75'></a><a href='#L75'>75</a>
135
+ <a name='L76'></a><a href='#L76'>76</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">25x</span>
135
136
  <span class="cline-any cline-yes">25x</span>
136
137
  <span class="cline-any cline-yes">25x</span>
137
138
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -156,6 +157,7 @@
156
157
  <span class="cline-any cline-neutral">&nbsp;</span>
157
158
  <span class="cline-any cline-neutral">&nbsp;</span>
158
159
  <span class="cline-any cline-yes">25x</span>
160
+ <span class="cline-any cline-neutral">&nbsp;</span>
159
161
  <span class="cline-any cline-yes">4x</span>
160
162
  <span class="cline-any cline-yes">4x</span>
161
163
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -230,6 +232,7 @@ const getAppPairs = appIds =&gt; {
230
232
  }
231
233
  &nbsp;
232
234
  const getAppRows = async appId =&gt; {
235
+ // need to specify the app ID, as this is used for different apps in one call
233
236
  const appDb = new CouchDB(appId)
234
237
  const response = await appDb.allDocs(
235
238
  getRowParams(null, null, {
@@ -286,7 +289,7 @@ exports.getUniqueRows = async appIds =&gt; {
286
289
  <div class='footer quiet pad2 space-top1 center small'>
287
290
  Code coverage generated by
288
291
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
289
- at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
292
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
290
293
  </div>
291
294
  </div>
292
295
  <script src="../../prettify.js"></script>
@@ -118,7 +118,7 @@ function <span class="fstat-no" title="function not covered" >resetQuotasIfRequi
118
118
  <div class='footer quiet pad2 space-top1 center small'>
119
119
  Code coverage generated by
120
120
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
121
- at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
121
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
122
122
  </div>
123
123
  </div>
124
124
  <script src="../../prettify.js"></script>
@@ -81,11 +81,11 @@
81
81
  <a name='L22'></a><a href='#L22'>22</a>
82
82
  <a name='L23'></a><a href='#L23'>23</a>
83
83
  <a name='L24'></a><a href='#L24'>24</a>
84
- <a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
85
- <span class="cline-any cline-yes">37x</span>
86
- <span class="cline-any cline-yes">37x</span>
84
+ <a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
85
+ <span class="cline-any cline-yes">39x</span>
86
+ <span class="cline-any cline-yes">39x</span>
87
87
  <span class="cline-any cline-neutral">&nbsp;</span>
88
- <span class="cline-any cline-yes">37x</span>
88
+ <span class="cline-any cline-yes">39x</span>
89
89
  <span class="cline-any cline-yes">2x</span>
90
90
  <span class="cline-any cline-neutral">&nbsp;</span>
91
91
  <span class="cline-any cline-yes">2x</span>
@@ -105,16 +105,16 @@
105
105
  <span class="cline-any cline-neutral">&nbsp;</span>
106
106
  <span class="cline-any cline-neutral">&nbsp;</span>
107
107
  <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../db")
109
- const { InternalTables } = require("../db/utils")
108
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { InternalTables } = require("../db/utils")
110
109
  const { getGlobalUser } = require("../utilities/global")
110
+ const { getAppDB } = require("@budibase/backend-core/context")
111
111
  &nbsp;
112
112
  exports.getFullUser = async (ctx, userId) =&gt; {
113
- const global = await getGlobalUser(ctx.appId, userId)
113
+ const global = await getGlobalUser(userId)
114
114
  let metadata
115
115
  try {
116
116
  // this will throw an error if the db doesn't exist, or there is no appId
117
- const db = new CouchDB(ctx.appId)
117
+ const db = getAppDB()
118
118
  metadata = await db.get(userId)
119
119
  } catch (err) {
120
120
  // it is fine if there is no user metadata, just remove global db info
@@ -136,7 +136,7 @@ exports.getFullUser = async (ctx, userId) =&gt; {
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
139
- at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
139
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  </div>
142
142
  <script src="../prettify.js"></script>
@@ -147,13 +147,13 @@
147
147
  <a name='L88'></a><a href='#L88'>88</a>
148
148
  <a name='L89'></a><a href='#L89'>89</a>
149
149
  <a name='L90'></a><a href='#L90'>90</a>
150
- <a name='L91'></a><a href='#L91'>91</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
151
- <span class="cline-any cline-yes">37x</span>
152
- <span class="cline-any cline-yes">37x</span>
153
- <span class="cline-any cline-yes">37x</span>
154
- <span class="cline-any cline-yes">37x</span>
155
- <span class="cline-any cline-yes">37x</span>
156
- <span class="cline-any cline-yes">37x</span>
150
+ <a name='L91'></a><a href='#L91'>91</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
151
+ <span class="cline-any cline-yes">39x</span>
152
+ <span class="cline-any cline-yes">39x</span>
153
+ <span class="cline-any cline-yes">39x</span>
154
+ <span class="cline-any cline-yes">39x</span>
155
+ <span class="cline-any cline-yes">39x</span>
156
+ <span class="cline-any cline-yes">39x</span>
157
157
  <span class="cline-any cline-neutral">&nbsp;</span>
158
158
  <span class="cline-any cline-neutral">&nbsp;</span>
159
159
  <span class="cline-any cline-yes">11x</span>
@@ -180,10 +180,10 @@
180
180
  <span class="cline-any cline-yes">11x</span>
181
181
  <span class="cline-any cline-neutral">&nbsp;</span>
182
182
  <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-yes">37x</span>
183
+ <span class="cline-any cline-yes">39x</span>
184
184
  <span class="cline-any cline-neutral">&nbsp;</span>
185
185
  <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-yes">37x</span>
186
+ <span class="cline-any cline-yes">39x</span>
187
187
  <span class="cline-any cline-neutral">&nbsp;</span>
188
188
  <span class="cline-any cline-no">&nbsp;</span>
189
189
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -207,7 +207,7 @@
207
207
  <span class="cline-any cline-no">&nbsp;</span>
208
208
  <span class="cline-any cline-neutral">&nbsp;</span>
209
209
  <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-yes">37x</span>
210
+ <span class="cline-any cline-yes">39x</span>
211
211
  <span class="cline-any cline-no">&nbsp;</span>
212
212
  <span class="cline-any cline-no">&nbsp;</span>
213
213
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -224,7 +224,7 @@
224
224
  <span class="cline-any cline-no">&nbsp;</span>
225
225
  <span class="cline-any cline-neutral">&nbsp;</span>
226
226
  <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-yes">37x</span>
227
+ <span class="cline-any cline-yes">39x</span>
228
228
  <span class="cline-any cline-yes">11x</span>
229
229
  <span class="cline-any cline-yes">11x</span>
230
230
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -240,7 +240,7 @@
240
240
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const fetch = require("node-fetch")
241
241
  const env = require("../environment")
242
242
  const { checkSlashesInUrl } = require("./index")
243
- const { getDeployedAppID } = require("@budibase/backend-core/db")
243
+ const { getProdAppID } = require("@budibase/backend-core/db")
244
244
  const { updateAppRole } = require("./global")
245
245
  const { Headers } = require("@budibase/backend-core/constants")
246
246
  const { getTenantId, isTenantIdSet } = require("@budibase/backend-core/tenancy")
@@ -309,15 +309,15 @@ exports.getGlobalSelf = <span class="fstat-no" title="function not covered" >as<
309
309
  }
310
310
  let json = <span class="cstat-no" title="statement not covered" >await response.json()</span>
311
311
  <span class="cstat-no" title="statement not covered" > if (appId) {</span>
312
- <span class="cstat-no" title="statement not covered" > json = updateAppRole(appId, json)</span>
312
+ <span class="cstat-no" title="statement not covered" > json = updateAppRole(json)</span>
313
313
  }
314
314
  <span class="cstat-no" title="statement not covered" > return json</span>
315
315
  }
316
316
  &nbsp;
317
317
  exports.removeAppFromUserRoles = async (ctx, appId) =&gt; {
318
- const deployedAppId = getDeployedAppID(appId)
318
+ const prodAppId = getProdAppID(appId)
319
319
  const response = await fetch(
320
- checkSlashesInUrl(env.WORKER_URL + `/api/global/roles/${deployedAppId}`),
320
+ checkSlashesInUrl(env.WORKER_URL + `/api/global/roles/${prodAppId}`),
321
321
  request(ctx, {
322
322
  method: "DELETE",
323
323
  })
@@ -334,7 +334,7 @@ exports.removeAppFromUserRoles = async (ctx, appId) =&gt; {
334
334
  <div class='footer quiet pad2 space-top1 center small'>
335
335
  Code coverage generated by
336
336
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
337
- at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
337
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
338
338
  </div>
339
339
  </div>
340
340
  <script src="../prettify.js"></script>