@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
@@ -201,10 +201,10 @@
201
201
  <a name='L142'></a><a href='#L142'>142</a>
202
202
  <a name='L143'></a><a href='#L143'>143</a>
203
203
  <a name='L144'></a><a href='#L144'>144</a>
204
- <a name='L145'></a><a href='#L145'>145</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
205
- <span class="cline-any cline-yes">38x</span>
204
+ <a name='L145'></a><a href='#L145'>145</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
205
+ <span class="cline-any cline-yes">40x</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">40x</span>
208
208
  <span class="cline-any cline-no">&nbsp;</span>
209
209
  <span class="cline-any cline-no">&nbsp;</span>
210
210
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -223,7 +223,7 @@
223
223
  <span class="cline-any cline-neutral">&nbsp;</span>
224
224
  <span class="cline-any cline-neutral">&nbsp;</span>
225
225
  <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-yes">38x</span>
226
+ <span class="cline-any cline-yes">40x</span>
227
227
  <span class="cline-any cline-neutral">&nbsp;</span>
228
228
  <span class="cline-any cline-yes">3x</span>
229
229
  <span class="cline-any cline-no">&nbsp;</span>
@@ -340,7 +340,7 @@
340
340
  <span class="cline-any cline-neutral">&nbsp;</span>
341
341
  <span class="cline-any cline-neutral">&nbsp;</span>
342
342
  <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-yes">38x</span>
343
+ <span class="cline-any cline-yes">40x</span>
344
344
  <span class="cline-any cline-neutral">&nbsp;</span>
345
345
  <span class="cline-any cline-neutral">&nbsp;</span>
346
346
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -496,7 +496,7 @@ module.exports = {
496
496
  <div class='footer quiet pad2 space-top1 center small'>
497
497
  Code coverage generated by
498
498
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
499
- at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
499
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
500
500
  </div>
501
501
  </div>
502
502
  <script src="../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.03% </span>
26
+ <span class="strong">83.6% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>47/58</span>
28
+ <span class='fraction'>51/61</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">68% </span>
33
+ <span class="strong">78.57% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>17/25</span>
35
+ <span class='fraction'>22/28</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">82.14% </span>
47
+ <span class="strong">84.74% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>46/56</span>
49
+ <span class='fraction'>50/59</span>
50
50
  </div>
51
51
 
52
52
 
@@ -161,68 +161,74 @@
161
161
  <a name='L102'></a><a href='#L102'>102</a>
162
162
  <a name='L103'></a><a href='#L103'>103</a>
163
163
  <a name='L104'></a><a href='#L104'>104</a>
164
- <a name='L105'></a><a href='#L105'>105</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
164
+ <a name='L105'></a><a href='#L105'>105</a>
165
+ <a name='L106'></a><a href='#L106'>106</a>
166
+ <a name='L107'></a><a href='#L107'>107</a>
167
+ <a name='L108'></a><a href='#L108'>108</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
165
168
  <span class="cline-any cline-neutral">&nbsp;</span>
166
169
  <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-yes">42x</span>
168
- <span class="cline-any cline-yes">42x</span>
169
- <span class="cline-any cline-yes">42x</span>
170
- <span class="cline-any cline-yes">42x</span>
171
- <span class="cline-any cline-yes">42x</span>
170
+ <span class="cline-any cline-yes">44x</span>
171
+ <span class="cline-any cline-yes">44x</span>
172
+ <span class="cline-any cline-yes">44x</span>
173
+ <span class="cline-any cline-yes">44x</span>
174
+ <span class="cline-any cline-yes">44x</span>
172
175
  <span class="cline-any cline-neutral">&nbsp;</span>
173
176
  <span class="cline-any cline-neutral">&nbsp;</span>
174
177
  <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-yes">42x</span>
176
- <span class="cline-any cline-yes">42x</span>
178
+ <span class="cline-any cline-yes">44x</span>
179
+ <span class="cline-any cline-yes">44x</span>
180
+ <span class="cline-any cline-yes">44x</span>
177
181
  <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-yes">42x</span>
179
- <span class="cline-any cline-yes">146x</span>
182
+ <span class="cline-any cline-yes">44x</span>
183
+ <span class="cline-any cline-yes">173x</span>
184
+ <span class="cline-any cline-yes">173x</span>
180
185
  <span class="cline-any cline-yes">3x</span>
181
186
  <span class="cline-any cline-neutral">&nbsp;</span>
182
187
  <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-yes">143x</span>
188
+ <span class="cline-any cline-yes">170x</span>
184
189
  <span class="cline-any cline-no">&nbsp;</span>
185
190
  <span class="cline-any cline-no">&nbsp;</span>
186
191
  <span class="cline-any cline-no">&nbsp;</span>
187
192
  <span class="cline-any cline-no">&nbsp;</span>
188
193
  <span class="cline-any cline-neutral">&nbsp;</span>
189
194
  <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-yes">143x</span>
195
+ <span class="cline-any cline-yes">170x</span>
191
196
  <span class="cline-any cline-neutral">&nbsp;</span>
192
- <span class="cline-any cline-yes">143x</span>
197
+ <span class="cline-any cline-yes">170x</span>
193
198
  <span class="cline-any cline-yes">138x</span>
194
- <span class="cline-any cline-yes">5x</span>
195
- <span class="cline-any cline-no">&nbsp;</span>
199
+ <span class="cline-any cline-yes">32x</span>
200
+ <span class="cline-any cline-yes">27x</span>
196
201
  <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-yes">143x</span>
198
- <span class="cline-any cline-yes">143x</span>
202
+ <span class="cline-any cline-yes">170x</span>
203
+ <span class="cline-any cline-yes">170x</span>
199
204
  <span class="cline-any cline-neutral">&nbsp;</span>
200
205
  <span class="cline-any cline-neutral">&nbsp;</span>
201
206
  <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-yes">139x</span>
203
- <span class="cline-any cline-yes">139x</span>
207
+ <span class="cline-any cline-yes">166x</span>
208
+ <span class="cline-any cline-yes">166x</span>
204
209
  <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-yes">139x</span>
210
+ <span class="cline-any cline-yes">166x</span>
206
211
  <span class="cline-any cline-neutral">&nbsp;</span>
207
212
  <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-yes">42x</span>
213
+ <span class="cline-any cline-yes">44x</span>
209
214
  <span class="cline-any cline-neutral">&nbsp;</span>
210
215
  <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-yes">137x</span>
212
- <span class="cline-any cline-yes">137x</span>
216
+ <span class="cline-any cline-yes">164x</span>
217
+ <span class="cline-any cline-yes">164x</span>
213
218
  <span class="cline-any cline-neutral">&nbsp;</span>
214
219
  <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-yes">42x</span>
220
+ <span class="cline-any cline-yes">44x</span>
216
221
  <span class="cline-any cline-yes">2x</span>
217
222
  <span class="cline-any cline-yes">2x</span>
218
223
  <span class="cline-any cline-neutral">&nbsp;</span>
219
224
  <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-yes">42x</span>
225
+ <span class="cline-any cline-yes">44x</span>
221
226
  <span class="cline-any cline-yes">2x</span>
222
227
  <span class="cline-any cline-yes">2x</span>
223
228
  <span class="cline-any cline-neutral">&nbsp;</span>
224
229
  <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-yes">42x</span>
230
+ <span class="cline-any cline-yes">44x</span>
231
+ <span class="cline-any cline-yes">32x</span>
226
232
  <span class="cline-any cline-yes">32x</span>
227
233
  <span class="cline-any cline-neutral">&nbsp;</span>
228
234
  <span class="cline-any cline-yes">32x</span>
@@ -252,7 +258,7 @@
252
258
  <span class="cline-any cline-yes">32x</span>
253
259
  <span class="cline-any cline-neutral">&nbsp;</span>
254
260
  <span class="cline-any cline-neutral">&nbsp;</span>
255
- <span class="cline-any cline-yes">42x</span>
261
+ <span class="cline-any cline-yes">44x</span>
256
262
  <span class="cline-any cline-yes">30x</span>
257
263
  <span class="cline-any cline-yes">30x</span>
258
264
  <span class="cline-any cline-no">&nbsp;</span>
@@ -270,7 +276,7 @@
270
276
  getGlobalIDFromUserMetadataID,
271
277
  } = require("../db/utils")
272
278
  const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
273
- const { getDeployedAppID } = require("@budibase/backend-core/db")
279
+ const { getProdAppID } = require("@budibase/backend-core/db")
274
280
  const { getGlobalUserParams } = require("@budibase/backend-core/db")
275
281
  const { user: userCache } = require("@budibase/backend-core/cache")
276
282
  const {
@@ -278,8 +284,10 @@ const {
278
284
  isUserInAppTenant,
279
285
  } = require("@budibase/backend-core/tenancy")
280
286
  const env = require("../environment")
287
+ const { getAppId } = require("@budibase/backend-core/context")
281
288
  &nbsp;
282
- exports.updateAppRole = (appId, user) =&gt; {
289
+ exports.updateAppRole = (user, { appId } = {}) =&gt; {
290
+ appId = appId || getAppId()
283
291
  if (!user || !user.roles) {
284
292
  return user
285
293
  }
@@ -291,29 +299,29 @@ exports.updateAppRole = (appId, user) =&gt; {
291
299
  <span class="cstat-no" title="statement not covered" > return user</span>
292
300
  }
293
301
  // always use the deployed app
294
- user.roleId = user.roles[getDeployedAppID(appId)]
302
+ user.roleId = user.roles[getProdAppID(appId)]
295
303
  // if a role wasn't found then either set as admin (builder) or public (everyone else)
296
304
  if (!user.roleId &amp;&amp; user.builder &amp;&amp; user.builder.global) {
297
305
  user.roleId = BUILTIN_ROLE_IDS.ADMIN
298
- } else <span class="missing-if-branch" title="if path not taken" >I</span>if (!user.roleId) {
299
- <span class="cstat-no" title="statement not covered" > user.roleId = BUILTIN_ROLE_IDS.PUBLIC</span>
306
+ } else if (!user.roleId) {
307
+ user.roleId = BUILTIN_ROLE_IDS.PUBLIC
300
308
  }
301
309
  delete user.roles
302
310
  return user
303
311
  }
304
312
  &nbsp;
305
- function processUser(appId, user) {
313
+ function processUser(user, { appId } = {}) {
306
314
  if (user) {
307
315
  delete user.password
308
316
  }
309
- return exports.updateAppRole(appId, user)
317
+ return exports.updateAppRole(user, { appId })
310
318
  }
311
319
  &nbsp;
312
320
  exports.getCachedSelf = async (ctx, appId) =&gt; {
313
321
  // this has to be tenant aware, can't depend on the context to find it out
314
322
  // running some middlewares before the tenancy causes context to break
315
323
  const user = await userCache.getUser(ctx.user._id)
316
- return processUser(appId, user)
324
+ return processUser(user, { appId })
317
325
  }
318
326
  &nbsp;
319
327
  exports.getRawGlobalUser = async userId =&gt; {
@@ -321,12 +329,13 @@ exports.getRawGlobalUser = async userId =&gt; {
321
329
  return db.get(getGlobalIDFromUserMetadataID(userId))
322
330
  }
323
331
  &nbsp;
324
- exports.getGlobalUser = async (appId, userId) =&gt; {
332
+ exports.getGlobalUser = async userId =&gt; {
325
333
  let user = await exports.getRawGlobalUser(userId)
326
- return processUser(appId, user)
334
+ return processUser(user)
327
335
  }
328
336
  &nbsp;
329
- exports.getGlobalUsers = async (appId = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span> users = null) =&gt; {
337
+ exports.getGlobalUsers = async (users = null) =&gt; {
338
+ const appId = getAppId()
330
339
  const db = getGlobalDB()
331
340
  let globalUsers
332
341
  if (users) {
@@ -353,11 +362,11 @@ exports.getGlobalUsers = async (appId = <span class="branch-0 cbranch-no" title=
353
362
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!appId) {
354
363
  <span class="cstat-no" title="statement not covered" > return globalUsers</span>
355
364
  }
356
- return globalUsers.map(user =&gt; exports.updateAppRole(appId, user))
365
+ return globalUsers.map(user =&gt; exports.updateAppRole(user))
357
366
  }
358
367
  &nbsp;
359
- exports.getGlobalUsersFromMetadata = async (appId, users) =&gt; {
360
- const globalUsers = await exports.getGlobalUsers(appId, users)
368
+ exports.getGlobalUsersFromMetadata = async users =&gt; {
369
+ const globalUsers = await exports.getGlobalUsers(users)
361
370
  return users.map(<span class="fstat-no" title="function not covered" >us</span>er =&gt; {
362
371
  const globalUser = <span class="cstat-no" title="statement not covered" >globalUsers.find(</span>
363
372
  <span class="fstat-no" title="function not covered" > gl</span>obalUser =&gt; <span class="cstat-no" title="statement not covered" >globalUser &amp;&amp; user._id.includes(globalUser._id)</span>
@@ -376,7 +385,7 @@ exports.getGlobalUsersFromMetadata = async (appId, users) =&gt; {
376
385
  <div class='footer quiet pad2 space-top1 center small'>
377
386
  Code coverage generated by
378
387
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
379
- at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
388
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
380
389
  </div>
381
390
  </div>
382
391
  <script src="../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">71.25% </span>
26
+ <span class="strong">72.83% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>233/327</span>
28
+ <span class='fraction'>236/324</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">53.43% </span>
33
+ <span class="strong">56.81% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>70/131</span>
35
+ <span class='fraction'>75/132</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">67.74% </span>
40
+ <span class="strong">68.85% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>42/62</span>
42
+ <span class='fraction'>42/61</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">70.93% </span>
47
+ <span class="strong">72.55% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>227/320</span>
49
+ <span class='fraction'>230/317</span>
50
50
  </div>
51
51
 
52
52
 
@@ -134,32 +134,32 @@
134
134
 
135
135
  <tr>
136
136
  <td class="file high" data-value="global.js"><a href="global.js.html">global.js</a></td>
137
- <td data-value="81.03" class="pic high">
138
- <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
137
+ <td data-value="83.6" class="pic high">
138
+ <div class="chart"><div class="cover-fill" style="width: 83%"></div><div class="cover-empty" style="width: 17%"></div></div>
139
139
  </td>
140
- <td data-value="81.03" class="pct high">81.03%</td>
141
- <td data-value="58" class="abs high">47/58</td>
142
- <td data-value="68" class="pct medium">68%</td>
143
- <td data-value="25" class="abs medium">17/25</td>
140
+ <td data-value="83.6" class="pct high">83.6%</td>
141
+ <td data-value="61" class="abs high">51/61</td>
142
+ <td data-value="78.57" class="pct medium">78.57%</td>
143
+ <td data-value="28" class="abs medium">22/28</td>
144
144
  <td data-value="73.33" class="pct medium">73.33%</td>
145
145
  <td data-value="15" class="abs medium">11/15</td>
146
- <td data-value="82.14" class="pct high">82.14%</td>
147
- <td data-value="56" class="abs high">46/56</td>
146
+ <td data-value="84.74" class="pct high">84.74%</td>
147
+ <td data-value="59" class="abs high">50/59</td>
148
148
  </tr>
149
149
 
150
150
  <tr>
151
151
  <td class="file medium" data-value="index.js"><a href="index.js.html">index.js</a></td>
152
- <td data-value="73.07" class="pic medium">
153
- <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
152
+ <td data-value="77.77" class="pic medium">
153
+ <div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
154
154
  </td>
155
- <td data-value="73.07" class="pct medium">73.07%</td>
156
- <td data-value="78" class="abs medium">57/78</td>
157
- <td data-value="50" class="pct medium">50%</td>
158
- <td data-value="28" class="abs medium">14/28</td>
159
- <td data-value="75" class="pct medium">75%</td>
160
- <td data-value="16" class="abs medium">12/16</td>
161
- <td data-value="72.36" class="pct medium">72.36%</td>
162
- <td data-value="76" class="abs medium">55/76</td>
155
+ <td data-value="77.77" class="pct medium">77.77%</td>
156
+ <td data-value="72" class="abs medium">56/72</td>
157
+ <td data-value="53.84" class="pct medium">53.84%</td>
158
+ <td data-value="26" class="abs medium">14/26</td>
159
+ <td data-value="80" class="pct high">80%</td>
160
+ <td data-value="15" class="abs high">12/15</td>
161
+ <td data-value="77.14" class="pct medium">77.14%</td>
162
+ <td data-value="70" class="abs medium">54/70</td>
163
163
  </tr>
164
164
 
165
165
  <tr>
@@ -245,7 +245,7 @@
245
245
  <div class='footer quiet pad2 space-top1 center small'>
246
246
  Code coverage generated by
247
247
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
248
- at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
248
+ at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
249
249
  </div>
250
250
  </div>
251
251
  <script src="../prettify.js"></script>