@budibase/server 2.1.32-alpha.8 → 2.1.33

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.d2995f56.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 +20 -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 +17 -12
  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,10 +1,5 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.params = exports.body = void 0;
7
- const joi_1 = __importDefault(require("joi"));
2
+ const Joi = require("joi");
8
3
  function validate(schema, property) {
9
4
  // Return a Koa middleware function
10
5
  return (ctx, next) => {
@@ -15,14 +10,14 @@ function validate(schema, property) {
15
10
  if (ctx[property] != null) {
16
11
  params = ctx[property];
17
12
  }
18
- else if (ctx.request.get(property) != null) {
19
- params = ctx.request.get(property);
13
+ else if (ctx.request[property] != null) {
14
+ params = ctx.request[property];
20
15
  }
21
16
  // not all schemas have the append property e.g. array schemas
22
- if ("append" in schema && schema.append) {
17
+ if (schema.append) {
23
18
  schema = schema.append({
24
- createdAt: joi_1.default.any().optional(),
25
- updatedAt: joi_1.default.any().optional(),
19
+ createdAt: Joi.any().optional(),
20
+ updatedAt: Joi.any().optional(),
26
21
  });
27
22
  }
28
23
  const { error } = schema.validate(params);
@@ -33,11 +28,9 @@ function validate(schema, property) {
33
28
  return next();
34
29
  };
35
30
  }
36
- function body(schema) {
31
+ module.exports.body = schema => {
37
32
  return validate(schema, "body");
38
- }
39
- exports.body = body;
40
- function params(schema) {
33
+ };
34
+ module.exports.params = schema => {
41
35
  return validate(schema, "params");
42
- }
43
- exports.params = params;
36
+ };
@@ -8,15 +8,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- const backend_core_1 = require("@budibase/backend-core");
11
+ const { Headers } = require("@budibase/backend-core/constants");
12
+ const { getAppIdFromCtx } = require("@budibase/backend-core/utils");
12
13
  module.exports = function ({ requiresAppId } = {}) {
13
14
  return (ctx, next) => __awaiter(this, void 0, void 0, function* () {
14
- const appId = yield backend_core_1.utils.getAppIdFromCtx(ctx);
15
+ const appId = yield getAppIdFromCtx(ctx);
15
16
  if (requiresAppId && !appId) {
16
- ctx.throw(400, `Invalid app ID provided, please check the ${backend_core_1.constants.Header.APP_ID} header.`);
17
+ ctx.throw(400, `Invalid app ID provided, please check the ${Headers.APP_ID} header.`);
17
18
  }
18
- if (!ctx.headers[backend_core_1.constants.Header.API_KEY]) {
19
- ctx.throw(400, `Invalid API key provided, please check the ${backend_core_1.constants.Header.API_KEY} header.`);
19
+ if (!ctx.headers[Headers.API_KEY]) {
20
+ ctx.throw(400, `Invalid API key provided, please check the ${Headers.API_KEY} header.`);
20
21
  }
21
22
  return next();
22
23
  });
@@ -1,6 +1,4 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bodySubResource = exports.bodyResource = exports.paramSubResource = exports.paramResource = exports.ResourceIdGetter = void 0;
4
2
  class ResourceIdGetter {
5
3
  constructor(ctxProperty) {
6
4
  this.parameter = ctxProperty;
@@ -19,7 +17,6 @@ class ResourceIdGetter {
19
17
  build() {
20
18
  const parameter = this.parameter, main = this.main, sub = this.sub;
21
19
  return (ctx, next) => {
22
- // @ts-ignore
23
20
  const request = ctx.request[parameter] || ctx[parameter];
24
21
  if (request == null) {
25
22
  return next();
@@ -34,26 +31,22 @@ class ResourceIdGetter {
34
31
  };
35
32
  }
36
33
  }
37
- exports.ResourceIdGetter = ResourceIdGetter;
38
- function paramResource(main) {
34
+ module.exports.ResourceIdGetter = ResourceIdGetter;
35
+ module.exports.paramResource = main => {
39
36
  return new ResourceIdGetter("params").mainResource(main).build();
40
- }
41
- exports.paramResource = paramResource;
42
- function paramSubResource(main, sub) {
37
+ };
38
+ module.exports.paramSubResource = (main, sub) => {
43
39
  return new ResourceIdGetter("params")
44
40
  .mainResource(main)
45
41
  .subResource(sub)
46
42
  .build();
47
- }
48
- exports.paramSubResource = paramSubResource;
49
- function bodyResource(main) {
43
+ };
44
+ module.exports.bodyResource = main => {
50
45
  return new ResourceIdGetter("body").mainResource(main).build();
51
- }
52
- exports.bodyResource = bodyResource;
53
- function bodySubResource(main, sub) {
46
+ };
47
+ module.exports.bodySubResource = (main, sub) => {
54
48
  return new ResourceIdGetter("body")
55
49
  .mainResource(main)
56
50
  .subResource(sub)
57
51
  .build();
58
- }
59
- exports.bodySubResource = bodySubResource;
52
+ };
@@ -8,12 +8,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- const environment_1 = __importDefault(require("../environment"));
11
+ const env = require("../environment");
12
+ // if added as a middleware will stop requests unless builder is in self host mode
13
+ // or cloud is in self host
15
14
  module.exports = (ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
16
- if (environment_1.default.SELF_HOSTED) {
15
+ if (env.SELF_HOSTED) {
17
16
  yield next();
18
17
  return;
19
18
  }
@@ -1,8 +1,5 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isWebhookEndpoint = void 0;
4
2
  const WEBHOOK_ENDPOINTS = new RegExp(["webhooks/trigger", "webhooks/schema"].join("|"));
5
- function isWebhookEndpoint(ctx) {
3
+ exports.isWebhookEndpoint = ctx => {
6
4
  return WEBHOOK_ENDPOINTS.test(ctx.request.url);
7
- }
8
- exports.isWebhookEndpoint = isWebhookEndpoint;
5
+ };
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.run = void 0;
13
- const backend_core_1 = require("@budibase/backend-core");
13
+ const { DocumentType } = require("@budibase/backend-core/db");
14
14
  const application_1 = require("../../api/controllers/application");
15
15
  /**
16
16
  * Date:
@@ -22,7 +22,7 @@ const application_1 = require("../../api/controllers/application");
22
22
  const run = (appDb) => __awaiter(void 0, void 0, void 0, function* () {
23
23
  let metadata;
24
24
  try {
25
- metadata = yield appDb.get(backend_core_1.db.DocumentType.APP_METADATA);
25
+ metadata = yield appDb.get(DocumentType.APP_METADATA);
26
26
  }
27
27
  catch (e) {
28
28
  // sometimes the metadata document doesn't exist
@@ -156,7 +156,7 @@ const run = (db) => __awaiter(void 0, void 0, void 0, function* () {
156
156
  handleError(e, errors);
157
157
  }
158
158
  try {
159
- const allApps = (yield backend_core_1.db.getAllApps({ dev: true }));
159
+ const allApps = yield backend_core_1.db.getAllApps({ dev: true });
160
160
  totals.apps = allApps.length;
161
161
  totals.usage = yield quotas.backfill(allApps);
162
162
  }
@@ -10,15 +10,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.run = void 0;
13
- const backend_core_1 = require("@budibase/backend-core");
13
+ const tenancy_1 = require("@budibase/backend-core/tenancy");
14
+ const db_1 = require("@budibase/backend-core/db");
14
15
  const pro_1 = require("@budibase/pro");
15
16
  const types_1 = require("@budibase/types");
16
17
  const run = () => __awaiter(void 0, void 0, void 0, function* () {
17
18
  // get app count
18
- const devApps = yield backend_core_1.db.getAllApps({ dev: true });
19
+ const devApps = yield (0, db_1.getAllApps)({ dev: true });
19
20
  const appCount = devApps ? devApps.length : 0;
20
21
  // sync app count
21
- const tenantId = backend_core_1.tenancy.getTenantId();
22
+ const tenantId = (0, tenancy_1.getTenantId)();
22
23
  console.log(`[Tenant: ${tenantId}] Syncing app count: ${appCount}`);
23
24
  yield pro_1.quotas.setUsage(appCount, types_1.StaticQuotaName.APPS, types_1.QuotaUsageType.STATIC);
24
25
  });
@@ -10,13 +10,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.run = void 0;
13
- const backend_core_1 = require("@budibase/backend-core");
13
+ const tenancy_1 = require("@budibase/backend-core/tenancy");
14
+ const db_1 = require("@budibase/backend-core/db");
14
15
  const rows_1 = require("../../../utilities/usageQuota/rows");
15
16
  const pro_1 = require("@budibase/pro");
16
17
  const types_1 = require("@budibase/types");
17
18
  const run = () => __awaiter(void 0, void 0, void 0, function* () {
18
19
  // get all rows in all apps
19
- const allApps = (yield backend_core_1.db.getAllApps({ all: true }));
20
+ const allApps = yield (0, db_1.getAllApps)({ all: true });
20
21
  const appIds = allApps ? allApps.map((app) => app.appId) : [];
21
22
  const { appRows } = yield (0, rows_1.getUniqueRows)(appIds);
22
23
  // get the counts per app
@@ -27,7 +28,7 @@ const run = () => __awaiter(void 0, void 0, void 0, function* () {
27
28
  rowCount += rows.length;
28
29
  });
29
30
  // sync row count
30
- const tenantId = backend_core_1.tenancy.getTenantId();
31
+ const tenantId = (0, tenancy_1.getTenantId)();
31
32
  console.log(`[Tenant: ${tenantId}] Syncing row count: ${rowCount}`);
32
33
  yield pro_1.quotas.setUsagePerApp(counts, types_1.StaticQuotaName.ROWS, types_1.QuotaUsageType.STATIC);
33
34
  });
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.run = void 0;
13
- const backend_core_1 = require("@budibase/backend-core");
13
+ const { createNewUserEmailView } = require("@budibase/backend-core/db");
14
14
  /**
15
15
  * Date:
16
16
  * October 2021
@@ -18,7 +18,7 @@ const backend_core_1 = require("@budibase/backend-core");
18
18
  * Description:
19
19
  * Recreate the user email view to include latest changes i.e. lower casing the email address
20
20
  */
21
- const run = () => __awaiter(void 0, void 0, void 0, function* () {
22
- yield backend_core_1.db.createNewUserEmailView();
21
+ const run = (db) => __awaiter(void 0, void 0, void 0, function* () {
22
+ yield createNewUserEmailView(db);
23
23
  });
24
24
  exports.run = run;
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@budibase/server",
3
3
  "email": "hi@budibase.com",
4
- "version": "2.1.32-alpha.7",
4
+ "version": "2.1.32",
5
5
  "description": "Budibase Web Server",
6
6
  "main": "src/index.ts",
7
7
  "repository": {
@@ -36,6 +36,40 @@
36
36
  "env:account:enable": "node scripts/account.js enable",
37
37
  "env:account:disable": "node scripts/account.js disable"
38
38
  },
39
+ "jest": {
40
+ "preset": "ts-jest",
41
+ "testEnvironment": "node",
42
+ "moduleNameMapper": {
43
+ "@budibase/backend-core/(.*)": "<rootDir>/../backend-core/$1",
44
+ "@budibase/backend-core": "<rootDir>/../backend-core/src",
45
+ "@budibase/types": "<rootDir>/../types/src"
46
+ },
47
+ "setupFiles": [
48
+ "./scripts/jestSetup.js"
49
+ ],
50
+ "collectCoverageFrom": [
51
+ "src/**/*.js",
52
+ "!**/node_modules/**",
53
+ "!src/db/views/*.js",
54
+ "!src/api/controllers/deploy/**/*.js",
55
+ "!src/*.js",
56
+ "!src/api/controllers/static/**/*",
57
+ "!src/db/dynamoClient.js",
58
+ "!src/utilities/usageQuota.js",
59
+ "!src/api/routes/tests/**/*",
60
+ "!src/db/tests/**/*",
61
+ "!src/tests/**/*",
62
+ "!src/automations/tests/**/*",
63
+ "!src/utilities/fileProcessor.js",
64
+ "!src/utilities/fileSystem/**/*",
65
+ "!src/utilities/redis.js"
66
+ ],
67
+ "coverageReporters": [
68
+ "lcov",
69
+ "json",
70
+ "clover"
71
+ ]
72
+ },
39
73
  "keywords": [
40
74
  "budibase"
41
75
  ],
@@ -43,11 +77,11 @@
43
77
  "license": "GPL-3.0",
44
78
  "dependencies": {
45
79
  "@apidevtools/swagger-parser": "10.0.3",
46
- "@budibase/backend-core": "2.1.32-alpha.7",
47
- "@budibase/client": "2.1.32-alpha.7",
48
- "@budibase/pro": "2.1.32-alpha.7",
49
- "@budibase/string-templates": "2.1.32-alpha.7",
50
- "@budibase/types": "2.1.32-alpha.7",
80
+ "@budibase/backend-core": "^2.1.32",
81
+ "@budibase/client": "^2.1.32",
82
+ "@budibase/pro": "2.1.32",
83
+ "@budibase/string-templates": "^2.1.32",
84
+ "@budibase/types": "^2.1.32",
51
85
  "@bull-board/api": "3.7.0",
52
86
  "@bull-board/koa": "3.9.4",
53
87
  "@elastic/elasticsearch": "7.10.0",
@@ -145,7 +179,7 @@
145
179
  "eslint": "6.8.0",
146
180
  "ioredis-mock": "7.2.0",
147
181
  "is-wsl": "2.2.0",
148
- "jest": "28.1.1",
182
+ "jest": "27.5.1",
149
183
  "jest-openapi": "0.14.2",
150
184
  "nodemon": "2.0.15",
151
185
  "openapi-types": "9.3.1",
@@ -156,10 +190,10 @@
156
190
  "supertest": "4.0.2",
157
191
  "swagger-jsdoc": "6.1.0",
158
192
  "timekeeper": "2.2.0",
159
- "ts-jest": "28.0.4",
160
- "ts-node": "10.8.1",
193
+ "ts-jest": "27.1.3",
194
+ "ts-node": "10.5.0",
161
195
  "tsconfig-paths": "4.0.0",
162
- "typescript": "4.7.3",
196
+ "typescript": "4.6.2",
163
197
  "update-dotenv": "1.1.1"
164
198
  },
165
199
  "optionalDependencies": {
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.streamExportApp = exports.exportMultipleApps = exports.exportApp = exports.exportDB = void 0;
16
16
  const backend_core_1 = require("@budibase/backend-core");
17
17
  const budibaseDir_1 = require("../../../utilities/budibaseDir");
18
+ const utilities_1 = require("../../../utilities/fileSystem/utilities");
18
19
  const fileSystem_1 = require("../../../utilities/fileSystem");
19
20
  const constants_1 = require("../../../constants");
20
21
  const utils_1 = require("../../../db/utils");
@@ -88,7 +89,7 @@ function exportApp(appId, config) {
88
89
  // export bucket contents
89
90
  let tmpPath;
90
91
  if (!environment_1.default.isTest()) {
91
- tmpPath = yield backend_core_1.objectStore.retrieveDirectory(constants_1.ObjectStoreBuckets.APPS, appPath);
92
+ tmpPath = yield (0, utilities_1.retrieveDirectory)(constants_1.ObjectStoreBuckets.APPS, appPath);
92
93
  }
93
94
  else {
94
95
  tmpPath = (0, fileSystem_1.createTempFolder)(uuid());
@@ -17,6 +17,7 @@ const backend_core_1 = require("@budibase/backend-core");
17
17
  const utils_1 = require("../../../db/utils");
18
18
  const budibaseDir_1 = require("../../../utilities/budibaseDir");
19
19
  const constants_1 = require("./constants");
20
+ const utilities_1 = require("../../../utilities/fileSystem/utilities");
20
21
  const fileSystem_1 = require("../../../utilities/fileSystem");
21
22
  const constants_2 = require("../../../constants");
22
23
  const path_1 = require("path");
@@ -160,10 +161,10 @@ function importApp(appId, db, template) {
160
161
  }
161
162
  filename = (0, path_1.join)(prodAppId, filename);
162
163
  if (fs_1.default.lstatSync(path).isDirectory()) {
163
- promises.push(backend_core_1.objectStore.uploadDirectory(constants_2.ObjectStoreBuckets.APPS, path, filename));
164
+ promises.push((0, utilities_1.uploadDirectory)(constants_2.ObjectStoreBuckets.APPS, path, filename));
164
165
  }
165
166
  else {
166
- promises.push(backend_core_1.objectStore.upload({
167
+ promises.push((0, utilities_1.upload)({
167
168
  bucket: constants_2.ObjectStoreBuckets.APPS,
168
169
  path,
169
170
  filename,
@@ -9,23 +9,23 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- const backend_core_1 = require("@budibase/backend-core");
12
+ const context_1 = require("@budibase/backend-core/context");
13
13
  const utils_1 = require("../../../db/utils");
14
14
  const utils_2 = require("../../../integrations/utils");
15
15
  function getAllInternalTables(db) {
16
16
  return __awaiter(this, void 0, void 0, function* () {
17
17
  if (!db) {
18
- db = backend_core_1.context.getAppDB();
18
+ db = (0, context_1.getAppDB)();
19
19
  }
20
20
  const internalTables = yield db.allDocs((0, utils_1.getTableParams)(null, {
21
21
  include_docs: true,
22
22
  }));
23
- return internalTables.rows.map((tableDoc) => (Object.assign(Object.assign({}, tableDoc.doc), { type: "internal", sourceId: tableDoc.doc.sourceId || utils_1.BudibaseInternalDB._id })));
23
+ return internalTables.rows.map((tableDoc) => (Object.assign(Object.assign({}, tableDoc.doc), { type: "internal", sourceId: utils_1.BudibaseInternalDB._id })));
24
24
  });
25
25
  }
26
26
  function getAllExternalTables(datasourceId) {
27
27
  return __awaiter(this, void 0, void 0, function* () {
28
- const db = backend_core_1.context.getAppDB();
28
+ const db = (0, context_1.getAppDB)();
29
29
  const datasource = yield db.get(datasourceId);
30
30
  if (!datasource || !datasource.entities) {
31
31
  throw "Datasource is not configured fully.";
@@ -41,7 +41,7 @@ function getExternalTable(datasourceId, tableName) {
41
41
  }
42
42
  function getTable(tableId) {
43
43
  return __awaiter(this, void 0, void 0, function* () {
44
- const db = backend_core_1.context.getAppDB();
44
+ const db = (0, context_1.getAppDB)();
45
45
  if ((0, utils_2.isExternalTable)(tableId)) {
46
46
  let { datasourceId, tableName } = (0, utils_2.breakExternalTableId)(tableId);
47
47
  const datasource = yield db.get(datasourceId);
package/dist/startup.js CHANGED
@@ -37,7 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  exports.startup = void 0;
39
39
  const env = __importStar(require("./environment"));
40
- const redis = __importStar(require("./utilities/redis"));
40
+ const redis_1 = __importDefault(require("./utilities/redis"));
41
41
  const workerRequests_1 = require("./utilities/workerRequests");
42
42
  const backend_core_1 = require("@budibase/backend-core");
43
43
  const fs_1 = __importDefault(require("fs"));
@@ -48,7 +48,7 @@ const events_1 = __importDefault(require("./events"));
48
48
  const migrations = __importStar(require("./migrations"));
49
49
  const bullboard_1 = __importDefault(require("./automations/bullboard"));
50
50
  const pro = __importStar(require("@budibase/pro"));
51
- const api = __importStar(require("./api"));
51
+ const api_1 = __importDefault(require("./api"));
52
52
  const sdk_1 = __importDefault(require("./sdk"));
53
53
  const pino = require("koa-pino-logger");
54
54
  let STARTUP_RAN = false;
@@ -62,7 +62,7 @@ function initRoutes(app) {
62
62
  app.context.eventEmitter = events_1.default;
63
63
  app.context.auth = {};
64
64
  // api routes
65
- app.use(api.router.routes());
65
+ app.use(api_1.default.router.routes());
66
66
  });
67
67
  }
68
68
  function initPro() {
@@ -95,7 +95,7 @@ function startup(app, server) {
95
95
  }
96
96
  events_1.default.emitPort(env.PORT);
97
97
  fileSystem_1.default.init();
98
- yield redis.init();
98
+ yield redis_1.default.init();
99
99
  // run migrations on startup if not done via http
100
100
  // not recommended in a clustered environment
101
101
  if (!env.HTTP_MIGRATIONS && !env.isTest()) {
@@ -9,13 +9,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  require("../../db").init();
12
+ const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles");
12
13
  const env = require("../../environment");
13
14
  const { basicTable, basicRow, basicRole, basicAutomation, basicDatasource, basicQuery, basicScreen, basicLayout, basicWebhook, TENANT_ID, } = require("./structures");
14
- const { constants, tenancy, sessions, cache, context, db: dbCore, encryption, auth, roles, } = require("@budibase/backend-core");
15
15
  const controllers = require("./controllers");
16
16
  const supertest = require("supertest");
17
17
  const { cleanup } = require("../../utilities/fileSystem");
18
+ const { Cookies, Headers } = require("@budibase/backend-core/constants");
19
+ const { jwt } = require("@budibase/backend-core/auth");
20
+ const { doInTenant, doWithGlobalDB } = require("@budibase/backend-core/tenancy");
21
+ const { createASession } = require("@budibase/backend-core/sessions");
22
+ const { user: userCache } = require("@budibase/backend-core/cache");
18
23
  const newid = require("../../db/newid");
24
+ const context = require("@budibase/backend-core/context");
25
+ const { generateDevInfoID, SEPARATOR } = require("@budibase/backend-core/db");
26
+ const { encrypt } = require("@budibase/backend-core/encryption");
19
27
  const { DocumentType, generateUserMetadataID } = require("../../db/utils");
20
28
  const { startup } = require("../../startup");
21
29
  const GLOBAL_USER_ID = "us_uuid1";
@@ -67,7 +75,7 @@ class TestConfiguration {
67
75
  if (!appId) {
68
76
  appId = this.appId;
69
77
  }
70
- return tenancy.doInTenant(TENANT_ID, () => {
78
+ return doInTenant(TENANT_ID, () => {
71
79
  // check if already in a context
72
80
  if (context.getAppId() == null && appId !== null) {
73
81
  return context.doInAppContext(appId, () => __awaiter(this, void 0, void 0, function* () {
@@ -100,9 +108,7 @@ class TestConfiguration {
100
108
  if (this.server) {
101
109
  this.server.close();
102
110
  }
103
- if (this.allApps) {
104
- cleanup(this.allApps.map(app => app.appId));
105
- }
111
+ cleanup(this.allApps.map(app => app.appId));
106
112
  }
107
113
  // UTILS
108
114
  _req(body, params, controlFunc) {
@@ -131,7 +137,7 @@ class TestConfiguration {
131
137
  // USER / AUTH
132
138
  globalUser({ id = GLOBAL_USER_ID, firstName = FIRSTNAME, lastName = LASTNAME, builder = true, admin = false, email = EMAIL, roles, } = {}) {
133
139
  return __awaiter(this, void 0, void 0, function* () {
134
- return tenancy.doWithGlobalDB(TENANT_ID, (db) => __awaiter(this, void 0, void 0, function* () {
140
+ return doWithGlobalDB(TENANT_ID, (db) => __awaiter(this, void 0, void 0, function* () {
135
141
  let existing;
136
142
  try {
137
143
  existing = yield db.get(id);
@@ -141,7 +147,7 @@ class TestConfiguration {
141
147
  }
142
148
  const user = Object.assign(Object.assign({ _id: id }, existing), { roles: roles || {}, tenantId: TENANT_ID, firstName,
143
149
  lastName });
144
- yield sessions.createASession(id, {
150
+ yield createASession(id, {
145
151
  sessionId: "sessionid",
146
152
  tenantId: TENANT_ID,
147
153
  csrfToken: CSRF_TOKEN,
@@ -175,7 +181,7 @@ class TestConfiguration {
175
181
  admin,
176
182
  roles,
177
183
  });
178
- yield cache.user.invalidateUser(globalId);
184
+ yield userCache.invalidateUser(globalId);
179
185
  return Object.assign(Object.assign({}, resp), { globalId });
180
186
  });
181
187
  }
@@ -188,19 +194,19 @@ class TestConfiguration {
188
194
  throw "Server has not been opened, cannot login.";
189
195
  }
190
196
  // make sure the user exists in the global DB
191
- if (roleId !== roles.BUILTIN_ROLE_IDS.PUBLIC) {
197
+ if (roleId !== BUILTIN_ROLE_IDS.PUBLIC) {
192
198
  yield this.globalUser({
193
199
  id: userId,
194
200
  builder,
195
201
  roles: { [this.prodAppId]: roleId },
196
202
  });
197
203
  }
198
- yield sessions.createASession(userId, {
204
+ yield createASession(userId, {
199
205
  sessionId: "sessionid",
200
206
  tenantId: TENANT_ID,
201
207
  });
202
208
  // have to fake this
203
- const authObj = {
209
+ const auth = {
204
210
  userId,
205
211
  sessionId: "sessionid",
206
212
  tenantId: TENANT_ID,
@@ -209,39 +215,39 @@ class TestConfiguration {
209
215
  roleId: roleId,
210
216
  appId,
211
217
  };
212
- const authToken = auth.jwt.sign(authObj, env.JWT_SECRET);
213
- const appToken = auth.jwt.sign(app, env.JWT_SECRET);
218
+ const authToken = jwt.sign(auth, env.JWT_SECRET);
219
+ const appToken = jwt.sign(app, env.JWT_SECRET);
214
220
  // returning necessary request headers
215
- yield cache.user.invalidateUser(userId);
221
+ yield userCache.invalidateUser(userId);
216
222
  return {
217
223
  Accept: "application/json",
218
224
  Cookie: [
219
- `${constants.Cookie.Auth}=${authToken}`,
220
- `${constants.Cookie.CurrentApp}=${appToken}`,
225
+ `${Cookies.Auth}=${authToken}`,
226
+ `${Cookies.CurrentApp}=${appToken}`,
221
227
  ],
222
- [constants.Header.APP_ID]: appId,
228
+ [Headers.APP_ID]: appId,
223
229
  };
224
230
  }));
225
231
  });
226
232
  }
227
233
  defaultHeaders(extras = {}) {
228
- const authObj = {
234
+ const auth = {
229
235
  userId: GLOBAL_USER_ID,
230
236
  sessionId: "sessionid",
231
237
  tenantId: TENANT_ID,
232
238
  };
233
239
  const app = {
234
- roleId: roles.BUILTIN_ROLE_IDS.ADMIN,
240
+ roleId: BUILTIN_ROLE_IDS.ADMIN,
235
241
  appId: this.appId,
236
242
  };
237
- const authToken = auth.jwt.sign(authObj, env.JWT_SECRET);
238
- const appToken = auth.jwt.sign(app, env.JWT_SECRET);
243
+ const authToken = jwt.sign(auth, env.JWT_SECRET);
244
+ const appToken = jwt.sign(app, env.JWT_SECRET);
239
245
  const headers = Object.assign({ Accept: "application/json", Cookie: [
240
- `${constants.Cookie.Auth}=${authToken}`,
241
- `${constants.Cookie.CurrentApp}=${appToken}`,
242
- ], [constants.Header.CSRF_TOKEN]: CSRF_TOKEN }, extras);
246
+ `${Cookies.Auth}=${authToken}`,
247
+ `${Cookies.CurrentApp}=${appToken}`,
248
+ ], [Headers.CSRF_TOKEN]: CSRF_TOKEN }, extras);
243
249
  if (this.appId) {
244
- headers[constants.Header.APP_ID] = this.appId;
250
+ headers[Headers.APP_ID] = this.appId;
245
251
  }
246
252
  return headers;
247
253
  }
@@ -251,11 +257,11 @@ class TestConfiguration {
251
257
  Accept: "application/json",
252
258
  };
253
259
  if (appId) {
254
- headers[constants.Header.APP_ID] = appId;
260
+ headers[Headers.APP_ID] = appId;
255
261
  }
256
262
  return headers;
257
263
  }
258
- roleHeaders({ email = EMAIL, roleId = roles.BUILTIN_ROLE_IDS.ADMIN, builder = false, prodApp = true, } = {}) {
264
+ roleHeaders({ email = EMAIL, roleId = BUILTIN_ROLE_IDS.ADMIN, builder = false, prodApp = true, } = {}) {
259
265
  return __awaiter(this, void 0, void 0, function* () {
260
266
  return this.login({ email, roleId, builder, prodApp });
261
267
  });
@@ -263,8 +269,8 @@ class TestConfiguration {
263
269
  // API
264
270
  generateApiKey(userId = GLOBAL_USER_ID) {
265
271
  return __awaiter(this, void 0, void 0, function* () {
266
- return tenancy.doWithGlobalDB(TENANT_ID, (db) => __awaiter(this, void 0, void 0, function* () {
267
- const id = dbCore.generateDevInfoID(userId);
272
+ return doWithGlobalDB(TENANT_ID, (db) => __awaiter(this, void 0, void 0, function* () {
273
+ const id = generateDevInfoID(userId);
268
274
  let devInfo;
269
275
  try {
270
276
  devInfo = yield db.get(id);
@@ -272,7 +278,7 @@ class TestConfiguration {
272
278
  catch (err) {
273
279
  devInfo = { _id: id, userId };
274
280
  }
275
- devInfo.apiKey = encryption.encrypt(`${TENANT_ID}${dbCore.SEPARATOR}${newid()}`);
281
+ devInfo.apiKey = encrypt(`${TENANT_ID}${SEPARATOR}${newid()}`);
276
282
  yield db.put(devInfo);
277
283
  return devInfo.apiKey;
278
284
  }));
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
- const { roles, permissions } = require("@budibase/backend-core");
2
+ const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles");
3
+ const { BUILTIN_PERMISSION_IDS } = require("@budibase/backend-core/permissions");
3
4
  const { createHomeScreen } = require("../../constants/screens");
4
5
  const { EMPTY_LAYOUT } = require("../../constants/layouts");
5
6
  const { cloneDeep } = require("lodash/fp");
@@ -99,8 +100,8 @@ exports.basicLinkedRow = (tableId, linkedRowId, linkField = "link") => {
99
100
  exports.basicRole = () => {
100
101
  return {
101
102
  name: "NewRole",
102
- inherits: roles.BUILTIN_ROLE_IDS.BASIC,
103
- permissionId: permissions.BuiltinPermissionID.READ_ONLY,
103
+ inherits: BUILTIN_ROLE_IDS.BASIC,
104
+ permissionId: BUILTIN_PERMISSION_IDS.READ_ONLY,
104
105
  };
105
106
  };
106
107
  exports.basicDatasource = () => {