@budibase/server 2.1.32-alpha.8 → 2.1.32

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 (663) hide show
  1. package/__mocks__/aws-sdk.ts +0 -14
  2. package/__mocks__/node-fetch.ts +1 -5
  3. package/builder/assets/{index.7176fd99.css → index.534f6c29.css} +1 -1
  4. package/builder/assets/{index.3efa93e2.js → index.968304ca.js} +316 -316
  5. package/builder/index.html +2 -2
  6. package/coverage/clover.xml +3681 -10588
  7. package/coverage/coverage-final.json +77 -225
  8. package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +26 -26
  9. package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +75 -75
  10. package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +47 -47
  11. package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +87 -246
  12. package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +71 -53
  13. package/coverage/lcov-report/api/controllers/index.html +326 -0
  14. package/coverage/lcov-report/{src/api → api}/controllers/integration.js.html +10 -10
  15. package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +26 -26
  16. package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +23 -26
  17. package/coverage/lcov-report/{src/api → api}/controllers/migrations.js.html +10 -10
  18. package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +71 -80
  19. package/coverage/lcov-report/{src/utilities/routing → api/controllers/query}/index.html +8 -8
  20. package/coverage/lcov-report/{src/api/controllers/query/validation.ts.html → api/controllers/query/validation.js.html} +17 -17
  21. package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +56 -44
  22. package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +56 -65
  23. package/coverage/lcov-report/{src/api → api}/controllers/row/external.js.html +13 -13
  24. package/coverage/lcov-report/{src/api → api}/controllers/row/index.html +46 -76
  25. package/coverage/lcov-report/{src/api → api}/controllers/row/internal.js.html +29 -26
  26. package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +110 -182
  27. package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +54 -69
  28. package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +43 -64
  29. package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +14 -17
  30. package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +54 -96
  31. package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +100 -196
  32. package/coverage/lcov-report/{src/utilities/fileSystem → api/controllers/table}/index.html +44 -44
  33. package/coverage/lcov-report/{src/api/controllers/table/index.ts.html → api/controllers/table/index.js.html} +35 -35
  34. package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +25 -34
  35. package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +85 -79
  36. package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +14 -20
  37. package/coverage/lcov-report/{src/api → api}/controllers/view/index.html +30 -30
  38. package/coverage/lcov-report/{src/api/controllers/view/index.ts.html → api/controllers/view/index.js.html} +48 -75
  39. package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +43 -61
  40. package/coverage/lcov-report/{src/api → api}/controllers/view/viewBuilder.js.html +10 -10
  41. package/coverage/lcov-report/{src/api → api}/index.html +23 -23
  42. package/coverage/lcov-report/{src/api/index.ts.html → api/index.js.html} +56 -35
  43. package/coverage/lcov-report/{src/api/routes/analytics.ts.html → api/routes/analytics.js.html} +14 -14
  44. package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/routes/apikeys.js.html} +27 -27
  45. package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +42 -48
  46. package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +21 -21
  47. package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +17 -17
  48. package/coverage/lcov-report/{src/api/routes/datasource.ts.html → api/routes/datasource.js.html} +33 -60
  49. package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +22 -25
  50. package/coverage/lcov-report/{src/api/routes/webhook.ts.html → api/routes/dev.js.html} +43 -46
  51. package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
  52. package/coverage/lcov-report/{src/api/routes/apikeys.ts.html → api/routes/integration.js.html} +18 -18
  53. package/coverage/lcov-report/{src/api/routes/layout.ts.html → api/routes/layout.js.html} +18 -18
  54. package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +24 -24
  55. package/coverage/lcov-report/{src/sdk/index.ts.html → api/routes/migrations.js.html} +21 -24
  56. package/coverage/lcov-report/{src/api/routes/view.ts.html → api/routes/permission.js.html} +37 -40
  57. package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +42 -33
  58. package/coverage/lcov-report/api/routes/role.js.html +130 -0
  59. package/coverage/lcov-report/{src/api/routes/routing.ts.html → api/routes/routing.js.html} +17 -17
  60. package/coverage/lcov-report/api/routes/screen.js.html +139 -0
  61. package/coverage/lcov-report/{src/api/routes/script.ts.html → api/routes/script.js.html} +17 -17
  62. package/coverage/lcov-report/{src/api/routes/table.ts.html → api/routes/table.js.html} +33 -24
  63. package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +18 -18
  64. package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +35 -29
  65. package/coverage/lcov-report/{src/api → api}/routes/utils/index.html +15 -15
  66. package/coverage/lcov-report/{src/api/routes/utils/validators.ts.html → api/routes/utils/validators.js.html} +58 -46
  67. package/coverage/lcov-report/{src/definitions/automations.ts.html → api/routes/view.js.html} +41 -44
  68. package/coverage/lcov-report/{src/automations → automations}/actions.js.html +10 -10
  69. package/coverage/lcov-report/{src/automations → automations}/automationUtils.js.html +10 -10
  70. package/coverage/lcov-report/{src/automations → automations}/bullboard.js.html +10 -10
  71. package/coverage/lcov-report/{src/automations → automations}/index.html +24 -39
  72. package/coverage/lcov-report/{src/automations → automations}/index.js.html +10 -10
  73. package/coverage/lcov-report/{src/automations → automations}/steps/bash.js.html +10 -10
  74. package/coverage/lcov-report/{src/automations → automations}/steps/delay.js.html +10 -10
  75. package/coverage/lcov-report/{src/automations → automations}/steps/discord.js.html +10 -10
  76. package/coverage/lcov-report/{src/automations → automations}/steps/executeQuery.js.html +10 -10
  77. package/coverage/lcov-report/{src/automations → automations}/steps/executeScript.js.html +10 -10
  78. package/coverage/lcov-report/{src/automations → automations}/steps/filter.js.html +10 -10
  79. package/coverage/lcov-report/{src/automations → automations}/steps/index.html +26 -56
  80. package/coverage/lcov-report/{src/automations → automations}/steps/integromat.js.html +10 -10
  81. package/coverage/lcov-report/{src/automations → automations}/steps/loop.js.html +10 -10
  82. package/coverage/lcov-report/{src/automations → automations}/steps/outgoingWebhook.js.html +10 -10
  83. package/coverage/lcov-report/{src/automations → automations}/steps/queryRows.js.html +10 -10
  84. package/coverage/lcov-report/{src/automations → automations}/steps/sendSmtpEmail.js.html +10 -10
  85. package/coverage/lcov-report/{src/automations → automations}/steps/serverLog.js.html +10 -10
  86. package/coverage/lcov-report/{src/automations → automations}/steps/slack.js.html +10 -10
  87. package/coverage/lcov-report/{src/automations → automations}/steps/updateRow.js.html +10 -10
  88. package/coverage/lcov-report/{src/automations → automations}/steps/utils.js.html +19 -19
  89. package/coverage/lcov-report/{src/automations → automations}/steps/zapier.js.html +10 -10
  90. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/app.js.html +10 -10
  91. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/cron.js.html +10 -10
  92. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.html +10 -10
  93. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.js.html +10 -10
  94. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowDeleted.js.html +10 -10
  95. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowSaved.js.html +10 -10
  96. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowUpdated.js.html +10 -10
  97. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/webhook.js.html +10 -10
  98. package/coverage/lcov-report/{src/automations → automations}/triggers.js.html +23 -20
  99. package/coverage/lcov-report/{src/constants → constants}/index.html +14 -14
  100. package/coverage/lcov-report/{src/constants → constants}/index.js.html +22 -16
  101. package/coverage/lcov-report/{src/constants → constants}/layouts.js.html +10 -10
  102. package/coverage/lcov-report/{src/constants → constants}/screens.js.html +12 -12
  103. package/coverage/lcov-report/{src/db → db}/inMemoryView.js.html +13 -13
  104. package/coverage/lcov-report/{src/db → db}/index.html +27 -42
  105. package/coverage/lcov-report/{src/db → db}/index.js.html +18 -18
  106. package/coverage/lcov-report/{src/db → db}/linkedRows/LinkController.js.html +160 -22
  107. package/coverage/lcov-report/{src/db → db}/linkedRows/index.html +22 -37
  108. package/coverage/lcov-report/{src/db → db}/linkedRows/index.js.html +12 -12
  109. package/coverage/lcov-report/{src/db → db}/linkedRows/linkUtils.js.html +13 -13
  110. package/coverage/lcov-report/{src/db → db}/newid.js.html +10 -10
  111. package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +153 -105
  112. package/coverage/lcov-report/{src/events → events}/AutomationEmitter.js.html +10 -10
  113. package/coverage/lcov-report/{src/events → events}/index.html +10 -10
  114. package/coverage/lcov-report/{src/events → events}/index.js.html +10 -10
  115. package/coverage/lcov-report/{src/events → events}/utils.js.html +10 -10
  116. package/coverage/lcov-report/index.html +161 -671
  117. package/coverage/lcov-report/{src/integrations → integrations}/tests/TestConfiguration.js.html +10 -10
  118. package/coverage/lcov-report/{src/integrations → integrations}/tests/index.html +10 -10
  119. package/coverage/lcov-report/{src/middleware/appInfo.ts.html → middleware/appInfo.js.html} +28 -31
  120. package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +37 -43
  121. package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +68 -77
  122. package/coverage/lcov-report/{src/middleware → middleware}/index.html +63 -78
  123. package/coverage/lcov-report/{src/middleware/joi-validator.ts.html → middleware/joi-validator.js.html} +22 -25
  124. package/coverage/lcov-report/{src/middleware/publicApi.ts.html → middleware/publicApi.js.html} +24 -24
  125. package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +25 -40
  126. package/coverage/lcov-report/{src/tests/utilities/index.js.html → middleware/selfhost.js.html} +30 -33
  127. package/coverage/lcov-report/{src/middleware/utils.ts.html → middleware/utils.js.html} +13 -19
  128. package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +12 -12
  129. package/coverage/lcov-report/{src/utilities → utilities}/centralPath.js.html +10 -10
  130. package/coverage/lcov-report/{src/utilities → utilities}/csvParser.js.html +10 -10
  131. package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +74 -107
  132. package/coverage/lcov-report/{src/utilities → utilities}/index.html +61 -76
  133. package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +53 -77
  134. package/coverage/lcov-report/{src/utilities → utilities}/plugins.js.html +10 -10
  135. package/coverage/lcov-report/{src/utilities → utilities}/queue/inMemoryQueue.js.html +10 -10
  136. package/coverage/lcov-report/{src/utilities → utilities}/queue/index.html +10 -10
  137. package/coverage/lcov-report/{src/sdk → utilities/routing}/index.html +10 -10
  138. package/coverage/lcov-report/{src/api/routes/role.ts.html → utilities/routing/index.js.html} +42 -39
  139. package/coverage/lcov-report/{src/migrations → utilities/rowProcessor}/index.html +37 -22
  140. package/coverage/lcov-report/{src/utilities/rowProcessor/index.ts.html → utilities/rowProcessor/index.js.html} +344 -113
  141. package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +38 -50
  142. package/coverage/lcov-report/{src/utilities → utilities}/scriptRunner.js.html +10 -10
  143. package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +74 -56
  144. package/coverage/lcov-report/{src/utilities → utilities}/statusCodes.js.html +10 -10
  145. package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/index.html +27 -27
  146. package/coverage/lcov-report/{src/utilities/usageQuota/rows.ts.html → utilities/usageQuota/rows.js.html} +46 -34
  147. package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/usageQuoteReset.js.html +10 -10
  148. package/coverage/lcov-report/{src/utilities/users.ts.html → utilities/users.js.html} +35 -29
  149. package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +61 -76
  150. package/coverage/lcov.info +6772 -19273
  151. package/dist/api/controllers/apikeys.js +9 -12
  152. package/dist/api/controllers/application.js +45 -48
  153. package/dist/api/controllers/automation.js +84 -104
  154. package/dist/api/controllers/cloud.js +71 -84
  155. package/dist/api/controllers/component.js +2 -4
  156. package/dist/api/controllers/datasource.js +92 -144
  157. package/dist/api/controllers/deploy/Deployment.js +6 -10
  158. package/dist/api/controllers/deploy/index.js +16 -13
  159. package/dist/api/controllers/dev.js +81 -96
  160. package/dist/api/controllers/layout.js +15 -18
  161. package/dist/api/controllers/metadata.js +37 -51
  162. package/dist/api/controllers/permission.js +43 -52
  163. package/dist/api/controllers/plugin/index.js +7 -6
  164. package/dist/api/controllers/public/applications.js +9 -17
  165. package/dist/api/controllers/public/tables.js +9 -29
  166. package/dist/api/controllers/query/import/index.js +2 -1
  167. package/dist/api/controllers/query/index.js +13 -10
  168. package/dist/api/controllers/query/validation.js +33 -41
  169. package/dist/api/controllers/role.js +27 -29
  170. package/dist/api/controllers/routing.js +58 -71
  171. package/dist/api/controllers/row/ExternalRequest.js +8 -12
  172. package/dist/api/controllers/row/external.js +3 -3
  173. package/dist/api/controllers/row/index.js +7 -16
  174. package/dist/api/controllers/row/internal.js +12 -11
  175. package/dist/api/controllers/row/internalSearch.js +80 -95
  176. package/dist/api/controllers/row/staticFormula.js +75 -85
  177. package/dist/api/controllers/row/utils.js +84 -118
  178. package/dist/api/controllers/screen.js +66 -81
  179. package/dist/api/controllers/script.js +6 -13
  180. package/dist/api/controllers/static/index.js +11 -9
  181. package/dist/api/controllers/table/bulkFormula.js +35 -47
  182. package/dist/api/controllers/table/external.js +57 -67
  183. package/dist/api/controllers/table/index.js +33 -66
  184. package/dist/api/controllers/table/internal.js +6 -5
  185. package/dist/api/controllers/table/utils.js +35 -39
  186. package/dist/api/controllers/templates.js +10 -17
  187. package/dist/api/controllers/user.js +70 -82
  188. package/dist/api/controllers/view/exporters.js +4 -8
  189. package/dist/api/controllers/view/index.js +153 -201
  190. package/dist/api/controllers/view/utils.js +121 -151
  191. package/dist/api/index.js +34 -38
  192. package/dist/api/routes/analytics.js +3 -29
  193. package/dist/api/routes/apikeys.js +7 -33
  194. package/dist/api/routes/application.js +9 -8
  195. package/dist/api/routes/auth.js +2 -1
  196. package/dist/api/routes/automation.js +20 -46
  197. package/dist/api/routes/backup.js +4 -3
  198. package/dist/api/routes/cloud.js +6 -32
  199. package/dist/api/routes/component.js +6 -32
  200. package/dist/api/routes/datasource.js +13 -39
  201. package/dist/api/routes/deploy.js +8 -34
  202. package/dist/api/routes/dev.js +10 -36
  203. package/dist/api/routes/integration.js +7 -10
  204. package/dist/api/routes/layout.js +7 -33
  205. package/dist/api/routes/metadata.js +10 -36
  206. package/dist/api/routes/migrations.js +6 -32
  207. package/dist/api/routes/permission.js +12 -38
  208. package/dist/api/routes/plugin.js +5 -5
  209. package/dist/api/routes/public/index.js +9 -9
  210. package/dist/api/routes/query.js +15 -42
  211. package/dist/api/routes/role.js +10 -36
  212. package/dist/api/routes/routing.js +6 -32
  213. package/dist/api/routes/row.js +11 -12
  214. package/dist/api/routes/screen.js +9 -35
  215. package/dist/api/routes/script.js +6 -32
  216. package/dist/api/routes/static.js +9 -9
  217. package/dist/api/routes/table.js +13 -40
  218. package/dist/api/routes/templates.js +7 -33
  219. package/dist/api/routes/tests/utilities/TestFunctions.js +8 -6
  220. package/dist/api/routes/user.js +13 -40
  221. package/dist/api/routes/utils/validators.js +126 -142
  222. package/dist/api/routes/view.js +12 -38
  223. package/dist/api/routes/webhook.js +2 -1
  224. package/dist/app.js +4 -3
  225. package/dist/automations/tests/utilities/index.js +12 -21
  226. package/dist/automations/triggers.js +6 -5
  227. package/dist/automations/utils.js +8 -9
  228. package/dist/constants/index.js +5 -3
  229. package/dist/constants/screens.js +2 -2
  230. package/dist/db/inMemoryView.js +3 -3
  231. package/dist/db/linkedRows/LinkController.js +31 -4
  232. package/dist/db/linkedRows/index.js +2 -2
  233. package/dist/db/linkedRows/linkUtils.js +3 -3
  234. package/dist/db/utils.js +119 -146
  235. package/dist/db/views/staticViews.js +4 -4
  236. package/dist/integrations/elasticsearch.js +2 -26
  237. package/dist/integrations/googlesheets.js +6 -4
  238. package/dist/integrations/index.js +6 -15
  239. package/dist/integrations/s3.js +1 -157
  240. package/dist/middleware/appInfo.js +9 -14
  241. package/dist/middleware/authorized.js +21 -22
  242. package/dist/middleware/builder.js +40 -41
  243. package/dist/middleware/currentapp.js +37 -39
  244. package/dist/middleware/joi-validator.js +10 -17
  245. package/dist/middleware/publicApi.js +6 -5
  246. package/dist/middleware/resourceId.js +9 -16
  247. package/dist/middleware/selfhost.js +4 -5
  248. package/dist/middleware/utils.js +2 -5
  249. package/dist/migrations/functions/appUrls.js +2 -2
  250. package/dist/migrations/functions/backfill/global.js +1 -1
  251. package/dist/migrations/functions/usageQuotas/syncApps.js +4 -3
  252. package/dist/migrations/functions/usageQuotas/syncRows.js +4 -3
  253. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  254. package/dist/package.json +44 -10
  255. package/dist/sdk/app/backups/exports.js +2 -1
  256. package/dist/sdk/app/backups/imports.js +3 -2
  257. package/dist/sdk/app/tables/index.js +5 -5
  258. package/dist/startup.js +4 -4
  259. package/dist/tests/utilities/TestConfiguration.js +36 -30
  260. package/dist/tests/utilities/structures.js +4 -3
  261. package/dist/threads/automation.js +16 -15
  262. package/dist/threads/query.js +19 -17
  263. package/dist/threads/utils.js +9 -11
  264. package/dist/tsconfig.build.tsbuildinfo +1 -1
  265. package/dist/utilities/budibaseDir.js +2 -4
  266. package/dist/utilities/fileSystem/clientLibrary.js +12 -12
  267. package/dist/utilities/fileSystem/index.js +3 -3
  268. package/dist/utilities/fileSystem/utilities.js +22 -0
  269. package/dist/utilities/global.js +66 -87
  270. package/dist/utilities/index.js +75 -102
  271. package/dist/utilities/redis.js +65 -100
  272. package/dist/utilities/routing/index.js +23 -27
  273. package/dist/utilities/rowProcessor/index.js +191 -124
  274. package/dist/utilities/rowProcessor/utils.js +26 -35
  275. package/dist/utilities/security.js +35 -39
  276. package/dist/utilities/usageQuota/rows.js +49 -56
  277. package/dist/utilities/users.js +28 -31
  278. package/dist/utilities/workerRequests.js +82 -115
  279. package/dist/watch.js +2 -1
  280. package/package.json +45 -11
  281. package/scripts/exportAppTemplate.js +2 -2
  282. package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
  283. package/scripts/localdomain.js +6 -34
  284. package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
  285. package/src/api/controllers/application.ts +42 -56
  286. package/src/api/controllers/auth.ts +3 -4
  287. package/src/api/controllers/{automation.ts → automation.js} +48 -48
  288. package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
  289. package/src/api/controllers/component.ts +1 -2
  290. package/src/api/controllers/{datasource.ts → datasource.js} +47 -100
  291. package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
  292. package/src/api/controllers/deploy/index.ts +25 -13
  293. package/src/api/controllers/{dev.ts → dev.js} +37 -31
  294. package/src/api/controllers/{layout.ts → layout.js} +8 -8
  295. package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
  296. package/src/api/controllers/{permission.ts → permission.js} +46 -49
  297. package/src/api/controllers/plugin/index.ts +5 -4
  298. package/src/api/controllers/public/applications.ts +9 -15
  299. package/src/api/controllers/public/tables.ts +2 -2
  300. package/src/api/controllers/query/import/index.ts +3 -2
  301. package/src/api/controllers/query/index.ts +14 -11
  302. package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
  303. package/src/api/controllers/{role.ts → role.js} +25 -21
  304. package/src/api/controllers/{routing.ts → routing.js} +34 -37
  305. package/src/api/controllers/row/ExternalRequest.ts +11 -9
  306. package/src/api/controllers/row/external.js +3 -3
  307. package/src/api/controllers/row/index.ts +9 -17
  308. package/src/api/controllers/row/internal.js +12 -11
  309. package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
  310. package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +23 -28
  311. package/src/api/controllers/row/{utils.ts → utils.js} +18 -25
  312. package/src/api/controllers/screen.ts +6 -10
  313. package/src/api/controllers/script.js +11 -0
  314. package/src/api/controllers/static/index.ts +13 -9
  315. package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
  316. package/src/api/controllers/table/{external.ts → external.js} +54 -86
  317. package/src/api/controllers/table/{index.ts → index.js} +17 -17
  318. package/src/api/controllers/table/internal.ts +6 -5
  319. package/src/api/controllers/table/utils.ts +21 -26
  320. package/src/api/controllers/{templates.ts → templates.js} +7 -10
  321. package/src/api/controllers/{user.ts → user.js} +49 -47
  322. package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
  323. package/src/api/controllers/view/{index.ts → index.js} +27 -36
  324. package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
  325. package/src/api/{index.ts → index.js} +22 -15
  326. package/src/api/routes/analytics.js +9 -0
  327. package/src/api/routes/apikeys.js +12 -0
  328. package/src/api/routes/application.ts +9 -17
  329. package/src/api/routes/auth.ts +2 -2
  330. package/src/api/routes/automation.js +85 -0
  331. package/src/api/routes/backup.ts +4 -8
  332. package/src/api/routes/cloud.js +14 -0
  333. package/src/api/routes/component.js +14 -0
  334. package/src/api/routes/datasource.js +51 -0
  335. package/src/api/routes/deploy.js +17 -0
  336. package/src/api/routes/dev.js +26 -0
  337. package/src/api/routes/integration.js +12 -0
  338. package/src/api/routes/layout.js +16 -0
  339. package/src/api/routes/{metadata.ts → metadata.js} +13 -13
  340. package/src/api/routes/migrations.js +14 -0
  341. package/src/api/routes/permission.js +33 -0
  342. package/src/api/routes/plugin.ts +6 -14
  343. package/src/api/routes/public/index.ts +10 -10
  344. package/src/api/routes/public/tests/compare.spec.js +1 -1
  345. package/src/api/routes/{query.ts → query.js} +22 -19
  346. package/src/api/routes/role.js +15 -0
  347. package/src/api/routes/routing.js +14 -0
  348. package/src/api/routes/row.ts +15 -13
  349. package/src/api/routes/screen.js +18 -0
  350. package/src/api/routes/script.js +10 -0
  351. package/src/api/routes/static.ts +10 -7
  352. package/src/api/routes/{table.ts → table.js} +13 -10
  353. package/src/api/routes/templates.js +16 -0
  354. package/src/api/routes/tests/analytics.spec.js +1 -1
  355. package/src/api/routes/tests/backup.spec.js +1 -9
  356. package/src/api/routes/tests/permissions.spec.js +1 -2
  357. package/src/api/routes/tests/query.spec.js +10 -15
  358. package/src/api/routes/tests/role.spec.js +9 -7
  359. package/src/api/routes/tests/routing.spec.js +1 -2
  360. package/src/api/routes/tests/row.spec.js +4 -3
  361. package/src/api/routes/tests/static.spec.js +2 -2
  362. package/src/api/routes/tests/table.spec.js +35 -38
  363. package/src/api/routes/tests/user.spec.js +1 -2
  364. package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
  365. package/src/api/routes/user.js +53 -0
  366. package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
  367. package/src/api/routes/view.js +31 -0
  368. package/src/api/routes/webhook.ts +2 -2
  369. package/src/app.ts +4 -3
  370. package/src/automations/tests/updateRow.spec.js +1 -0
  371. package/src/automations/tests/utilities/index.js +4 -10
  372. package/src/automations/triggers.js +6 -5
  373. package/src/automations/utils.ts +12 -9
  374. package/src/constants/index.js +5 -3
  375. package/src/constants/screens.js +2 -2
  376. package/src/db/inMemoryView.js +3 -3
  377. package/src/db/linkedRows/LinkController.js +50 -4
  378. package/src/db/linkedRows/index.js +2 -2
  379. package/src/db/linkedRows/linkUtils.js +3 -3
  380. package/src/db/tests/linkController.spec.js +57 -73
  381. package/src/db/tests/linkTests.spec.js +14 -17
  382. package/src/db/{utils.ts → utils.js} +93 -77
  383. package/src/db/views/staticViews.js +4 -4
  384. package/src/integrations/base/sql.ts +1 -1
  385. package/src/integrations/base/sqlTable.ts +1 -1
  386. package/src/integrations/elasticsearch.ts +2 -32
  387. package/src/integrations/googlesheets.ts +7 -4
  388. package/src/integrations/index.ts +41 -45
  389. package/src/integrations/s3.ts +3 -179
  390. package/src/integrations/tests/s3.spec.ts +1 -85
  391. package/src/middleware/appInfo.js +19 -0
  392. package/src/middleware/authorized.ts +28 -21
  393. package/src/middleware/{builder.ts → builder.js} +15 -17
  394. package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
  395. package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
  396. package/src/middleware/publicApi.js +21 -0
  397. package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
  398. package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
  399. package/src/middleware/tests/authorized.spec.js +6 -5
  400. package/src/middleware/tests/currentapp.spec.js +63 -118
  401. package/src/middleware/{utils.ts → utils.js} +1 -3
  402. package/src/migrations/functions/appUrls.ts +2 -2
  403. package/src/migrations/functions/backfill/app/tables.ts +5 -2
  404. package/src/migrations/functions/backfill/global.ts +1 -1
  405. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  406. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
  407. package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
  408. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  409. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  410. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  411. package/src/module.d.ts +14 -0
  412. package/src/sdk/app/backups/exports.ts +3 -5
  413. package/src/sdk/app/backups/imports.ts +14 -7
  414. package/src/sdk/app/backups/statistics.ts +18 -9
  415. package/src/sdk/app/tables/index.ts +8 -7
  416. package/src/startup.ts +2 -2
  417. package/src/tests/utilities/TestConfiguration.js +36 -42
  418. package/src/tests/utilities/structures.js +4 -3
  419. package/src/threads/automation.ts +16 -15
  420. package/src/threads/query.ts +16 -11
  421. package/src/threads/utils.ts +5 -4
  422. package/src/utilities/budibaseDir.js +3 -0
  423. package/src/utilities/fileSystem/clientLibrary.js +12 -12
  424. package/src/utilities/fileSystem/index.js +8 -8
  425. package/src/utilities/fileSystem/utilities.js +36 -0
  426. package/src/utilities/global.js +127 -0
  427. package/src/utilities/{index.ts → index.js} +32 -40
  428. package/src/utilities/{redis.ts → redis.js} +20 -21
  429. package/src/utilities/routing/index.js +25 -0
  430. package/src/utilities/rowProcessor/{index.ts → index.js} +142 -65
  431. package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
  432. package/src/utilities/security.js +71 -0
  433. package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
  434. package/src/utilities/{users.ts → users.js} +13 -11
  435. package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
  436. package/src/watch.ts +3 -2
  437. package/tsconfig.json +1 -3
  438. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
  439. package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
  440. package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
  441. package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
  442. package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
  443. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
  444. package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
  445. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
  446. package/coverage/lcov-report/src/api/controllers/index.html +0 -431
  447. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
  448. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
  449. package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
  450. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
  451. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
  452. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
  453. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
  454. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -142
  455. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
  456. package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
  457. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
  458. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
  459. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
  460. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
  461. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
  462. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +0 -163
  463. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
  464. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
  465. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
  466. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
  467. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
  468. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
  469. package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
  470. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
  471. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
  472. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
  473. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
  474. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
  475. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
  476. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
  477. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
  478. package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
  479. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
  480. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2320
  481. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
  482. package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
  483. package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
  484. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -688
  485. package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
  486. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
  487. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
  488. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
  489. package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
  490. package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
  491. package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
  492. package/coverage/lcov-report/src/api/routes/dev.ts.html +0 -199
  493. package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
  494. package/coverage/lcov-report/src/api/routes/integration.ts.html +0 -133
  495. package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
  496. package/coverage/lcov-report/src/api/routes/permission.ts.html +0 -208
  497. package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
  498. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
  499. package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
  500. package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -502
  501. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
  502. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
  503. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
  504. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
  505. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
  506. package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
  507. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
  508. package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
  509. package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
  510. package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
  511. package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
  512. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
  513. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
  514. package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +0 -367
  515. package/coverage/lcov-report/src/app.ts.html +0 -400
  516. package/coverage/lcov-report/src/automations/logging/index.html +0 -116
  517. package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
  518. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -367
  519. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -334
  520. package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
  521. package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +0 -256
  522. package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
  523. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.js.html +0 -2023
  524. package/coverage/lcov-report/src/db/defaultData/employeeImport.js.html +0 -541
  525. package/coverage/lcov-report/src/db/defaultData/expensesImport.js.html +0 -427
  526. package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
  527. package/coverage/lcov-report/src/db/defaultData/inventoryImport.js.html +0 -403
  528. package/coverage/lcov-report/src/db/defaultData/jobsImport.js.html +0 -559
  529. package/coverage/lcov-report/src/db/dynamoClient.js.html +0 -466
  530. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.js.html +0 -226
  531. package/coverage/lcov-report/src/definitions/datasource.ts.html +0 -235
  532. package/coverage/lcov-report/src/definitions/index.html +0 -131
  533. package/coverage/lcov-report/src/environment.js.html +0 -445
  534. package/coverage/lcov-report/src/index.html +0 -191
  535. package/coverage/lcov-report/src/index.ts.html +0 -133
  536. package/coverage/lcov-report/src/integrations/airtable.ts.html +0 -529
  537. package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
  538. package/coverage/lcov-report/src/integrations/base/index.html +0 -161
  539. package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
  540. package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
  541. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
  542. package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
  543. package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
  544. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +0 -745
  545. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
  546. package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
  547. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1312
  548. package/coverage/lcov-report/src/integrations/index.html +0 -371
  549. package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
  550. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
  551. package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
  552. package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -952
  553. package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
  554. package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
  555. package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
  556. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
  557. package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
  558. package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
  559. package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
  560. package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
  561. package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1006
  562. package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
  563. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
  564. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
  565. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
  566. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
  567. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
  568. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
  569. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
  570. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
  571. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
  572. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
  573. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
  574. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
  575. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
  576. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
  577. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
  578. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
  579. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
  580. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
  581. package/coverage/lcov-report/src/migrations/functions/index.html +0 -146
  582. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
  583. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
  584. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
  585. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
  586. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
  587. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
  588. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
  589. package/coverage/lcov-report/src/migrations/index.ts.html +0 -403
  590. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
  591. package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
  592. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
  593. package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
  594. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
  595. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
  596. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
  597. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
  598. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
  599. package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
  600. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
  601. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
  602. package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
  603. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
  604. package/coverage/lcov-report/src/startup.ts.html +0 -499
  605. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +0 -1885
  606. package/coverage/lcov-report/src/tests/utilities/controllers.js.html +0 -133
  607. package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
  608. package/coverage/lcov-report/src/tests/utilities/structures.js.html +0 -649
  609. package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
  610. package/coverage/lcov-report/src/threads/index.html +0 -161
  611. package/coverage/lcov-report/src/threads/index.ts.html +0 -418
  612. package/coverage/lcov-report/src/threads/query.ts.html +0 -961
  613. package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
  614. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +0 -547
  615. package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +0 -1141
  616. package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +0 -148
  617. package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
  618. package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
  619. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
  620. package/coverage/lcov-report/src/utilities/rowProcessor/map.js.html +0 -370
  621. package/coverage/lcov-report/src/watch.ts.html +0 -196
  622. package/coverage/lcov-report/src/websocket.ts.html +0 -163
  623. package/dist/db/defaultData/datasource_bb_default.js +0 -565
  624. package/dist/db/defaultData/employeeImport.js +0 -153
  625. package/dist/db/defaultData/expensesImport.js +0 -115
  626. package/dist/db/defaultData/inventoryImport.js +0 -107
  627. package/dist/db/defaultData/jobsImport.js +0 -150
  628. package/dist/db/linkedRows/LinkDocument.js +0 -32
  629. package/dist/utilities/rowProcessor/map.js +0 -96
  630. package/jest.config.ts +0 -33
  631. package/src/api/controllers/script.ts +0 -12
  632. package/src/api/routes/analytics.ts +0 -9
  633. package/src/api/routes/apikeys.ts +0 -12
  634. package/src/api/routes/automation.ts +0 -87
  635. package/src/api/routes/cloud.ts +0 -18
  636. package/src/api/routes/component.ts +0 -14
  637. package/src/api/routes/datasource.ts +0 -60
  638. package/src/api/routes/deploy.ts +0 -21
  639. package/src/api/routes/dev.ts +0 -38
  640. package/src/api/routes/integration.ts +0 -16
  641. package/src/api/routes/layout.ts +0 -16
  642. package/src/api/routes/migrations.ts +0 -14
  643. package/src/api/routes/permission.ts +0 -41
  644. package/src/api/routes/role.ts +0 -24
  645. package/src/api/routes/routing.ts +0 -14
  646. package/src/api/routes/screen.ts +0 -23
  647. package/src/api/routes/script.ts +0 -10
  648. package/src/api/routes/templates.ts +0 -16
  649. package/src/api/routes/user.ts +0 -51
  650. package/src/api/routes/view.ts +0 -34
  651. package/src/db/defaultData/datasource_bb_default.js +0 -646
  652. package/src/db/defaultData/employeeImport.js +0 -152
  653. package/src/db/defaultData/expensesImport.js +0 -114
  654. package/src/db/defaultData/inventoryImport.js +0 -106
  655. package/src/db/defaultData/jobsImport.js +0 -158
  656. package/src/db/linkedRows/LinkDocument.js +0 -47
  657. package/src/middleware/appInfo.ts +0 -20
  658. package/src/middleware/publicApi.ts +0 -21
  659. package/src/utilities/budibaseDir.ts +0 -3
  660. package/src/utilities/global.ts +0 -138
  661. package/src/utilities/routing/index.ts +0 -32
  662. package/src/utilities/rowProcessor/map.js +0 -95
  663. package/src/utilities/security.ts +0 -65
@@ -1,21 +1,20 @@
1
- import Joi from "joi"
2
- import { BBContext } from "@budibase/types"
1
+ const Joi = require("joi")
3
2
 
4
- function validate(schema: Joi.Schema, property: string) {
3
+ function validate(schema, property) {
5
4
  // Return a Koa middleware function
6
- return (ctx: BBContext, next: any) => {
5
+ return (ctx, next) => {
7
6
  if (!schema) {
8
7
  return next()
9
8
  }
10
9
  let params = null
11
10
  if (ctx[property] != null) {
12
11
  params = ctx[property]
13
- } else if (ctx.request.get(property) != null) {
14
- params = ctx.request.get(property)
12
+ } else if (ctx.request[property] != null) {
13
+ params = ctx.request[property]
15
14
  }
16
15
 
17
16
  // not all schemas have the append property e.g. array schemas
18
- if ("append" in schema && schema.append) {
17
+ if (schema.append) {
19
18
  schema = schema.append({
20
19
  createdAt: Joi.any().optional(),
21
20
  updatedAt: Joi.any().optional(),
@@ -31,10 +30,10 @@ function validate(schema: Joi.Schema, property: string) {
31
30
  }
32
31
  }
33
32
 
34
- export function body(schema: Joi.Schema) {
33
+ module.exports.body = schema => {
35
34
  return validate(schema, "body")
36
35
  }
37
36
 
38
- export function params(schema: Joi.Schema) {
37
+ module.exports.params = schema => {
39
38
  return validate(schema, "params")
40
39
  }
@@ -0,0 +1,21 @@
1
+ const { Headers } = require("@budibase/backend-core/constants")
2
+ const { getAppIdFromCtx } = require("@budibase/backend-core/utils")
3
+
4
+ module.exports = function ({ requiresAppId } = {}) {
5
+ return async (ctx, next) => {
6
+ const appId = await getAppIdFromCtx(ctx)
7
+ if (requiresAppId && !appId) {
8
+ ctx.throw(
9
+ 400,
10
+ `Invalid app ID provided, please check the ${Headers.APP_ID} header.`
11
+ )
12
+ }
13
+ if (!ctx.headers[Headers.API_KEY]) {
14
+ ctx.throw(
15
+ 400,
16
+ `Invalid API key provided, please check the ${Headers.API_KEY} header.`
17
+ )
18
+ }
19
+ return next()
20
+ }
21
+ }
@@ -1,23 +1,17 @@
1
- import { BBContext } from "@budibase/types"
2
-
3
- export class ResourceIdGetter {
4
- parameter: string
5
- main: string | null
6
- sub: string | null
7
-
8
- constructor(ctxProperty: string) {
1
+ class ResourceIdGetter {
2
+ constructor(ctxProperty) {
9
3
  this.parameter = ctxProperty
10
4
  this.main = null
11
5
  this.sub = null
12
6
  return this
13
7
  }
14
8
 
15
- mainResource(field: string) {
9
+ mainResource(field) {
16
10
  this.main = field
17
11
  return this
18
12
  }
19
13
 
20
- subResource(field: string) {
14
+ subResource(field) {
21
15
  this.sub = field
22
16
  return this
23
17
  }
@@ -26,8 +20,7 @@ export class ResourceIdGetter {
26
20
  const parameter = this.parameter,
27
21
  main = this.main,
28
22
  sub = this.sub
29
- return (ctx: BBContext, next: any) => {
30
- // @ts-ignore
23
+ return (ctx, next) => {
31
24
  const request = ctx.request[parameter] || ctx[parameter]
32
25
  if (request == null) {
33
26
  return next()
@@ -43,22 +36,24 @@ export class ResourceIdGetter {
43
36
  }
44
37
  }
45
38
 
46
- export function paramResource(main: string) {
39
+ module.exports.ResourceIdGetter = ResourceIdGetter
40
+
41
+ module.exports.paramResource = main => {
47
42
  return new ResourceIdGetter("params").mainResource(main).build()
48
43
  }
49
44
 
50
- export function paramSubResource(main: string, sub: string) {
45
+ module.exports.paramSubResource = (main, sub) => {
51
46
  return new ResourceIdGetter("params")
52
47
  .mainResource(main)
53
48
  .subResource(sub)
54
49
  .build()
55
50
  }
56
51
 
57
- export function bodyResource(main: string) {
52
+ module.exports.bodyResource = main => {
58
53
  return new ResourceIdGetter("body").mainResource(main).build()
59
54
  }
60
55
 
61
- export function bodySubResource(main: string, sub: string) {
56
+ module.exports.bodySubResource = (main, sub) => {
62
57
  return new ResourceIdGetter("body")
63
58
  .mainResource(main)
64
59
  .subResource(sub)
@@ -1,9 +1,7 @@
1
- import env from "../environment"
2
- import { BBContext } from "@budibase/types"
3
-
1
+ const env = require("../environment")
4
2
  // if added as a middleware will stop requests unless builder is in self host mode
5
3
  // or cloud is in self host
6
- export = async (ctx: BBContext, next: any) => {
4
+ module.exports = async (ctx, next) => {
7
5
  if (env.SELF_HOSTED) {
8
6
  await next()
9
7
  return
@@ -9,7 +9,8 @@ jest.mock("../../environment", () => ({
9
9
  )
10
10
  const authorizedMiddleware = require("../authorized")
11
11
  const env = require("../../environment")
12
- const { permissions } = require("@budibase/backend-core")
12
+ const { PermissionTypes, PermissionLevels } = require("@budibase/backend-core/permissions")
13
+ const { doInAppContext } = require("@budibase/backend-core/context")
13
14
 
14
15
  const APP_ID = ""
15
16
 
@@ -112,7 +113,7 @@ describe("Authorization middleware", () => {
112
113
 
113
114
  it("throws if the user does not have builder permissions", async () => {
114
115
  config.setEnvironment(false)
115
- config.setMiddlewareRequiredPermission(permissions.PermissionType.BUILDER)
116
+ config.setMiddlewareRequiredPermission(PermissionTypes.BUILDER)
116
117
  config.setUser({
117
118
  role: {
118
119
  _id: ""
@@ -124,13 +125,13 @@ describe("Authorization middleware", () => {
124
125
  })
125
126
 
126
127
  it("passes on to next() middleware if the user has resource permission", async () => {
127
- config.setResourceId(permissions.PermissionType.QUERY)
128
+ config.setResourceId(PermissionTypes.QUERY)
128
129
  config.setUser({
129
130
  role: {
130
131
  _id: ""
131
132
  }
132
133
  })
133
- config.setMiddlewareRequiredPermission(permissions.PermissionType.QUERY)
134
+ config.setMiddlewareRequiredPermission(PermissionTypes.QUERY)
134
135
 
135
136
  await config.executeMiddleware()
136
137
  expect(config.next).toHaveBeenCalled()
@@ -154,7 +155,7 @@ describe("Authorization middleware", () => {
154
155
  _id: ""
155
156
  },
156
157
  })
157
- config.setMiddlewareRequiredPermission(permissions.PermissionType.ADMIN, permissions.PermissionLevel.BASIC)
158
+ config.setMiddlewareRequiredPermission(PermissionTypes.ADMIN, PermissionLevels.BASIC)
158
159
 
159
160
  await config.executeMiddleware()
160
161
  expect(config.throw).toHaveBeenCalledWith(403, "User does not have permission")
@@ -1,8 +1,16 @@
1
- require("../../db").init()
2
1
  mockAuthWithNoCookie()
3
2
  mockWorker()
4
3
  mockUserGroups()
5
4
 
5
+ jest.mock("@budibase/backend-core/db", () => {
6
+ const coreDb = jest.requireActual("@budibase/backend-core/db")
7
+ coreDb.init()
8
+ return {
9
+ ...coreDb,
10
+ dbExists: () => true,
11
+ }
12
+ })
13
+
6
14
  function mockWorker() {
7
15
  jest.mock("../../utilities/workerRequests", () => ({
8
16
  getGlobalSelf: () => {
@@ -35,62 +43,42 @@ function mockUserGroups() {
35
43
  function mockAuthWithNoCookie() {
36
44
  jest.resetModules()
37
45
  mockWorker()
38
- jest.mock("@budibase/backend-core", () => {
39
- const core = jest.requireActual("@budibase/backend-core")
40
- return {
41
- ...core,
42
- db: {
43
- ...core.db,
44
- dbExists: () => true,
45
- },
46
- cache: {
47
- user: {
48
- getUser: async id => {
49
- return {
50
- _id: "us_uuid1",
51
- }
52
- },
53
- },
54
- },
55
- utils: {
56
- getAppIdFromCtx: jest.fn(),
57
- setCookie: jest.fn(),
58
- getCookie: jest.fn(),
46
+ jest.mock("@budibase/backend-core/cache", () => ({
47
+ user: {
48
+ getUser: () => {
49
+ return {
50
+ _id: "us_uuid1",
51
+ }
59
52
  },
60
- }
61
- })
53
+ },
54
+ }))
55
+ jest.mock("@budibase/backend-core/utils", () => ({
56
+ getAppIdFromCtx: jest.fn(),
57
+ setCookie: jest.fn(),
58
+ getCookie: jest.fn(),
59
+ }))
60
+ jest.mock("@budibase/backend-core/constants", () => ({
61
+ Cookies: {},
62
+ }))
62
63
  }
63
64
 
64
65
  function mockAuthWithCookie() {
65
66
  jest.resetModules()
66
67
  mockWorker()
67
- jest.mock("@budibase/backend-core", () => {
68
- const core = jest.requireActual("@budibase/backend-core")
69
- return {
70
- ...core,
71
- db: {
72
- ...core.db,
73
- dbExists: () => true,
74
- },
75
- utils: {
76
- getAppIdFromCtx: () => {
77
- return "app_test"
78
- },
79
- setCookie: jest.fn(),
80
- clearCookie: jest.fn(),
81
- getCookie: () => ({ appId: "app_different", roleId: "PUBLIC" }),
82
- },
83
- cache: {
84
- user: {
85
- getUser: async id => {
86
- return {
87
- _id: "us_uuid1",
88
- }
89
- },
90
- },
91
- },
92
- }
93
- })
68
+ jest.mock("@budibase/backend-core/utils", () => ({
69
+ getAppIdFromCtx: () => {
70
+ return "app_test"
71
+ },
72
+ setCookie: jest.fn(),
73
+ clearCookie: jest.fn(),
74
+ getCookie: () => ({appId: "app_different", roleId: "PUBLIC"}),
75
+ }))
76
+ jest.mock("@budibase/backend-core/constants", () => ({
77
+ Cookies: {
78
+ Auth: "auth",
79
+ CurrentApp: "currentapp",
80
+ },
81
+ }))
94
82
  }
95
83
 
96
84
  class TestConfiguration {
@@ -100,16 +88,7 @@ class TestConfiguration {
100
88
 
101
89
  this.ctx = {
102
90
  next: this.next,
103
- throw: this.throw,
104
- request: {
105
- body: {},
106
- headers: {},
107
- },
108
- headers: {},
109
- path: "",
110
- cookies: {
111
- set: jest.fn(),
112
- }
91
+ throw: this.throw
113
92
  }
114
93
  }
115
94
 
@@ -122,8 +101,6 @@ class TestConfiguration {
122
101
 
123
102
  executeMiddleware() {
124
103
  // import as late as possible for mocks
125
- jest.resetModules()
126
- require("../../db").init()
127
104
  const currentAppMiddleware = require("../currentapp")
128
105
  return currentAppMiddleware(this.ctx, this.next)
129
106
  }
@@ -161,11 +138,11 @@ describe("Current app middleware", () => {
161
138
  async function checkExpected(setCookie) {
162
139
  config.setUser()
163
140
  await config.executeMiddleware()
164
- let { utils } = require("@budibase/backend-core")
141
+ let { setCookie: cookieFn } = require("@budibase/backend-core/utils")
165
142
  if (setCookie) {
166
- expect(utils.setCookie).toHaveBeenCalled()
143
+ expect(cookieFn).toHaveBeenCalled()
167
144
  } else {
168
- expect(utils.setCookie).not.toHaveBeenCalled()
145
+ expect(cookieFn).not.toHaveBeenCalled()
169
146
  }
170
147
  expect(config.ctx.roleId).toEqual("PUBLIC")
171
148
  expect(config.ctx.user.role._id).toEqual("PUBLIC")
@@ -180,63 +157,31 @@ describe("Current app middleware", () => {
180
157
 
181
158
  it("should perform correct when no cookie exists", async () => {
182
159
  mockReset()
183
- jest.mock("@budibase/backend-core", () => {
184
- const core = jest.requireActual("@budibase/backend-core")
185
- return {
186
- ...core,
187
- db: {
188
- ...core.db,
189
- dbExists: () => true,
190
- },
191
- utils: {
192
- getAppIdFromCtx: () => {
193
- return "app_test"
194
- },
195
- setCookie: jest.fn(),
196
- getCookie: jest.fn(),
197
- },
198
- cache: {
199
- user: {
200
- getUser: async id => {
201
- return {
202
- _id: "us_uuid1",
203
- }
204
- },
205
- },
206
- },
207
- }
208
- })
160
+ jest.mock("@budibase/backend-core/utils", () => ({
161
+ getAppIdFromCtx: () => {
162
+ return "app_test"
163
+ },
164
+ setCookie: jest.fn(),
165
+ getCookie: jest.fn(),
166
+ }))
167
+ jest.mock("@budibase/backend-core/constants", () => ({
168
+ Cookies: {},
169
+ }))
209
170
  await checkExpected(true)
210
171
  })
211
172
 
212
173
  it("lastly check what occurs when cookie doesn't need updated", async () => {
213
174
  mockReset()
214
- jest.mock("@budibase/backend-core", () => {
215
- const core = jest.requireActual("@budibase/backend-core")
216
- return {
217
- ...core,
218
- db: {
219
- ...core.db,
220
- dbExists: () => true,
221
- },
222
- utils: {
223
- getAppIdFromCtx: () => {
224
- return "app_test"
225
- },
226
- setCookie: jest.fn(),
227
- getCookie: () => ({ appId: "app_test", roleId: "PUBLIC" }),
228
- },
229
- cache: {
230
- user: {
231
- getUser: async id => {
232
- return {
233
- _id: "us_uuid1",
234
- }
235
- },
236
- },
237
- },
238
- }
239
- })
175
+ jest.mock("@budibase/backend-core/utils", () => ({
176
+ getAppIdFromCtx: () => {
177
+ return "app_test"
178
+ },
179
+ setCookie: jest.fn(),
180
+ getCookie: () => ({appId: "app_test", roleId: "PUBLIC"}),
181
+ }))
182
+ jest.mock("@budibase/backend-core/constants", () => ({
183
+ Cookies: {},
184
+ }))
240
185
  await checkExpected(false)
241
186
  })
242
187
  })
@@ -1,9 +1,7 @@
1
- import { BBContext } from "@budibase/types"
2
-
3
1
  const WEBHOOK_ENDPOINTS = new RegExp(
4
2
  ["webhooks/trigger", "webhooks/schema"].join("|")
5
3
  )
6
4
 
7
- export function isWebhookEndpoint(ctx: BBContext) {
5
+ exports.isWebhookEndpoint = ctx => {
8
6
  return WEBHOOK_ENDPOINTS.test(ctx.request.url)
9
7
  }
@@ -1,4 +1,4 @@
1
- import { db as dbCore } from "@budibase/backend-core"
1
+ const { DocumentType } = require("@budibase/backend-core/db")
2
2
  import { getAppUrl } from "../../api/controllers/application"
3
3
 
4
4
  /**
@@ -11,7 +11,7 @@ import { getAppUrl } from "../../api/controllers/application"
11
11
  export const run = async (appDb: any) => {
12
12
  let metadata
13
13
  try {
14
- metadata = await appDb.get(dbCore.DocumentType.APP_METADATA)
14
+ metadata = await appDb.get(DocumentType.APP_METADATA)
15
15
  } catch (e) {
16
16
  // sometimes the metadata document doesn't exist
17
17
  // exit early instead of failing the migration
@@ -1,8 +1,11 @@
1
1
  import { events } from "@budibase/backend-core"
2
- import { Database } from "@budibase/types"
3
2
  import sdk from "../../../../sdk"
3
+ import PouchDB from "pouchdb"
4
4
 
5
- export const backfill = async (appDb: Database, timestamp: string | number) => {
5
+ export const backfill = async (
6
+ appDb: PouchDB.Database,
7
+ timestamp: string | number
8
+ ) => {
6
9
  const tables = await sdk.tables.getAllInternalTables(appDb)
7
10
 
8
11
  for (const table of tables) {
@@ -149,7 +149,7 @@ export const run = async (db: any) => {
149
149
  }
150
150
 
151
151
  try {
152
- const allApps = (await dbUtils.getAllApps({ dev: true })) as App[]
152
+ const allApps: App[] = await dbUtils.getAllApps({ dev: true })
153
153
  totals.apps = allApps.length
154
154
 
155
155
  totals.usage = await quotas.backfill(allApps)
@@ -1,4 +1,4 @@
1
- const { db: dbCore } = require("@budibase/backend-core")
1
+ const { DocumentType, doWithDB } = require("@budibase/backend-core/db")
2
2
  const TestConfig = require("../../../tests/utilities/TestConfiguration")
3
3
 
4
4
  const migration = require("../appUrls")
@@ -14,12 +14,12 @@ describe("run", () => {
14
14
 
15
15
  it("runs successfully", async () => {
16
16
  const app = await config.createApp("testApp")
17
- const metadata = await dbCore.doWithDB(app.appId, async db => {
18
- const metadataDoc = await db.get(dbCore.DocumentType.APP_METADATA)
17
+ const metadata = await doWithDB(app.appId, async db => {
18
+ const metadataDoc = await db.get( DocumentType.APP_METADATA)
19
19
  delete metadataDoc.url
20
20
  await db.put(metadataDoc)
21
21
  await migration.run(db)
22
- return await db.get(dbCore.DocumentType.APP_METADATA)
22
+ return await db.get( DocumentType.APP_METADATA)
23
23
  })
24
24
  expect(metadata.url).toEqual("/testapp")
25
25
  })
@@ -1,16 +1,11 @@
1
- jest.mock("@budibase/backend-core", () => {
2
- const core = jest.requireActual("@budibase/backend-core")
3
- return {
4
- ...core,
5
- db: {
6
- ...core.db,
7
- createNewUserEmailView: jest.fn()
8
- }
9
- }
10
- })
11
- const { tenancy, db: dbCore } = require("@budibase/backend-core")
1
+ jest.mock("@budibase/backend-core/db", () => ({
2
+ ...jest.requireActual("@budibase/backend-core/db"),
3
+ createNewUserEmailView: jest.fn(),
4
+ }))
5
+ const coreDb = require("@budibase/backend-core/db")
12
6
  const TestConfig = require("../../../tests/utilities/TestConfiguration")
13
7
  const { TENANT_ID } = require("../../../tests/utilities/structures")
8
+ const { getGlobalDB, doInTenant } = require("@budibase/backend-core/tenancy")
14
9
 
15
10
  // mock email view creation
16
11
 
@@ -26,10 +21,10 @@ describe("run", () => {
26
21
  afterAll(config.end)
27
22
 
28
23
  it("runs successfully", async () => {
29
- await tenancy.doInTenant(TENANT_ID, async () => {
30
- const globalDb = tenancy.getGlobalDB()
24
+ await doInTenant(TENANT_ID, async () => {
25
+ const globalDb = getGlobalDB()
31
26
  await migration.run(globalDb)
32
- expect(dbCore.createNewUserEmailView).toHaveBeenCalledTimes(1)
27
+ expect(coreDb.createNewUserEmailView).toHaveBeenCalledTimes(1)
33
28
  })
34
29
  })
35
30
  })
@@ -1,14 +1,15 @@
1
- import { tenancy, db as dbCore } from "@budibase/backend-core"
1
+ import { getTenantId } from "@budibase/backend-core/tenancy"
2
+ import { getAllApps } from "@budibase/backend-core/db"
2
3
  import { quotas } from "@budibase/pro"
3
4
  import { QuotaUsageType, StaticQuotaName } from "@budibase/types"
4
5
 
5
6
  export const run = async () => {
6
7
  // get app count
7
- const devApps = await dbCore.getAllApps({ dev: true })
8
+ const devApps = await getAllApps({ dev: true })
8
9
  const appCount = devApps ? devApps.length : 0
9
10
 
10
11
  // sync app count
11
- const tenantId = tenancy.getTenantId()
12
+ const tenantId = getTenantId()
12
13
  console.log(`[Tenant: ${tenantId}] Syncing app count: ${appCount}`)
13
14
  await quotas.setUsage(appCount, StaticQuotaName.APPS, QuotaUsageType.STATIC)
14
15
  }
@@ -1,11 +1,12 @@
1
- import { tenancy, db as dbCore } from "@budibase/backend-core"
1
+ import { getTenantId } from "@budibase/backend-core/tenancy"
2
+ import { getAllApps } from "@budibase/backend-core/db"
2
3
  import { getUniqueRows } from "../../../utilities/usageQuota/rows"
3
4
  import { quotas } from "@budibase/pro"
4
- import { StaticQuotaName, QuotaUsageType, App } from "@budibase/types"
5
+ import { StaticQuotaName, QuotaUsageType } from "@budibase/types"
5
6
 
6
7
  export const run = async () => {
7
8
  // get all rows in all apps
8
- const allApps = (await dbCore.getAllApps({ all: true })) as App[]
9
+ const allApps = await getAllApps({ all: true })
9
10
  const appIds = allApps ? allApps.map((app: { appId: any }) => app.appId) : []
10
11
  const { appRows } = await getUniqueRows(appIds)
11
12
 
@@ -18,7 +19,7 @@ export const run = async () => {
18
19
  })
19
20
 
20
21
  // sync row count
21
- const tenantId = tenancy.getTenantId()
22
+ const tenantId = getTenantId()
22
23
  console.log(`[Tenant: ${tenantId}] Syncing row count: ${rowCount}`)
23
24
  await quotas.setUsagePerApp(
24
25
  counts,
@@ -2,7 +2,7 @@ import TestConfig from "../../../../tests/utilities/TestConfiguration"
2
2
  import * as syncRows from "../syncRows"
3
3
  import { quotas } from "@budibase/pro"
4
4
  import { QuotaUsageType, StaticQuotaName } from "@budibase/types"
5
- const { db: dbCore } = require("@budibase/backend-core")
5
+ const { getProdAppID } = require("@budibase/backend-core/db")
6
6
 
7
7
  describe("syncRows", () => {
8
8
  let config = new TestConfig(false)
@@ -38,12 +38,12 @@ describe("syncRows", () => {
38
38
  // assert the migration worked
39
39
  usageDoc = await quotas.getQuotaUsage()
40
40
  expect(usageDoc.usageQuota.rows).toEqual(3)
41
- expect(
42
- usageDoc.apps?.[dbCore.getProdAppID(app1.appId)].usageQuota.rows
43
- ).toEqual(1)
44
- expect(
45
- usageDoc.apps?.[dbCore.getProdAppID(app2.appId)].usageQuota.rows
46
- ).toEqual(2)
41
+ expect(usageDoc.apps?.[getProdAppID(app1.appId)].usageQuota.rows).toEqual(
42
+ 1
43
+ )
44
+ expect(usageDoc.apps?.[getProdAppID(app2.appId)].usageQuota.rows).toEqual(
45
+ 2
46
+ )
47
47
  })
48
48
  })
49
49
  })
@@ -1,4 +1,4 @@
1
- import { db as dbCore } from "@budibase/backend-core"
1
+ const { createNewUserEmailView } = require("@budibase/backend-core/db")
2
2
 
3
3
  /**
4
4
  * Date:
@@ -8,6 +8,6 @@ import { db as dbCore } from "@budibase/backend-core"
8
8
  * Recreate the user email view to include latest changes i.e. lower casing the email address
9
9
  */
10
10
 
11
- export const run = async () => {
12
- await dbCore.createNewUserEmailView()
11
+ export const run = async (db: any) => {
12
+ await createNewUserEmailView(db)
13
13
  }
@@ -0,0 +1,14 @@
1
+ declare module "@budibase/backend-core/tenancy"
2
+ declare module "@budibase/backend-core/db"
3
+ declare module "@budibase/backend-core/context"
4
+ declare module "@budibase/backend-core/cache"
5
+ declare module "@budibase/backend-core/permissions"
6
+ declare module "@budibase/backend-core/roles"
7
+ declare module "@budibase/backend-core/constants"
8
+ declare module "@budibase/backend-core/auth"
9
+ declare module "@budibase/backend-core/sessions"
10
+ declare module "@budibase/backend-core/encryption"
11
+ declare module "@budibase/backend-core/utils"
12
+ declare module "@budibase/backend-core/redis"
13
+ declare module "@budibase/backend-core/objectStore"
14
+ declare module "@budibase/backend-core/plugins"
@@ -1,5 +1,6 @@
1
- import { db as dbCore, objectStore } from "@budibase/backend-core"
1
+ import { db as dbCore } from "@budibase/backend-core"
2
2
  import { budibaseTempDir } from "../../../utilities/budibaseDir"
3
+ import { retrieveDirectory } from "../../../utilities/fileSystem/utilities"
3
4
  import { streamFile, createTempFolder } from "../../../utilities/fileSystem"
4
5
  import { ObjectStoreBuckets } from "../../../constants"
5
6
  import {
@@ -87,10 +88,7 @@ export async function exportApp(appId: string, config?: ExportOpts) {
87
88
  // export bucket contents
88
89
  let tmpPath
89
90
  if (!env.isTest()) {
90
- tmpPath = await objectStore.retrieveDirectory(
91
- ObjectStoreBuckets.APPS,
92
- appPath
93
- )
91
+ tmpPath = await retrieveDirectory(ObjectStoreBuckets.APPS, appPath)
94
92
  } else {
95
93
  tmpPath = createTempFolder(uuid())
96
94
  }