@budibase/server 2.1.32-alpha.7 → 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.e0fdcf54.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,10 +1,10 @@
1
- import { db as dbCore, tenancy } from "@budibase/backend-core"
2
- import { BBContext, Document } from "@budibase/types"
1
+ const { StaticDatabases } = require("@budibase/backend-core/db")
2
+ const { getGlobalDB } = require("@budibase/backend-core/tenancy")
3
3
 
4
- const KEYS_DOC = dbCore.StaticDatabases.GLOBAL.docs.apiKeys
4
+ const KEYS_DOC = StaticDatabases.GLOBAL.docs.apiKeys
5
5
 
6
6
  async function getBuilderMainDoc() {
7
- const db = tenancy.getGlobalDB()
7
+ const db = getGlobalDB()
8
8
  try {
9
9
  return await db.get(KEYS_DOC)
10
10
  } catch (err) {
@@ -15,24 +15,24 @@ async function getBuilderMainDoc() {
15
15
  }
16
16
  }
17
17
 
18
- async function setBuilderMainDoc(doc: Document) {
18
+ async function setBuilderMainDoc(doc) {
19
19
  // make sure to override the ID
20
20
  doc._id = KEYS_DOC
21
- const db = tenancy.getGlobalDB()
21
+ const db = getGlobalDB()
22
22
  return db.put(doc)
23
23
  }
24
24
 
25
- export async function fetch(ctx: BBContext) {
25
+ exports.fetch = async function (ctx) {
26
26
  try {
27
27
  const mainDoc = await getBuilderMainDoc()
28
28
  ctx.body = mainDoc.apiKeys ? mainDoc.apiKeys : {}
29
- } catch (err: any) {
29
+ } catch (err) {
30
30
  /* istanbul ignore next */
31
31
  ctx.throw(400, err)
32
32
  }
33
33
  }
34
34
 
35
- export async function update(ctx: BBContext) {
35
+ exports.update = async function (ctx) {
36
36
  const key = ctx.params.key
37
37
  const value = ctx.request.body.value
38
38
 
@@ -47,7 +47,7 @@ export async function update(ctx: BBContext) {
47
47
  _id: resp.id,
48
48
  _rev: resp.rev,
49
49
  }
50
- } catch (err: any) {
50
+ } catch (err) {
51
51
  /* istanbul ignore next */
52
52
  ctx.throw(400, err)
53
53
  }
@@ -14,36 +14,35 @@ import {
14
14
  DocumentType,
15
15
  AppStatus,
16
16
  } from "../../db/utils"
17
- import {
18
- db as dbCore,
19
- roles,
20
- cache,
21
- tenancy,
22
- context,
23
- errors,
24
- events,
25
- migrations,
26
- } from "@budibase/backend-core"
17
+ const {
18
+ BUILTIN_ROLE_IDS,
19
+ AccessController,
20
+ } = require("@budibase/backend-core/roles")
21
+ const { CacheKeys, bustCache } = require("@budibase/backend-core/cache")
22
+ const {
23
+ getAllApps,
24
+ isDevAppID,
25
+ getProdAppID,
26
+ Replication,
27
+ } = require("@budibase/backend-core/db")
27
28
  import { USERS_TABLE_SCHEMA } from "../../constants"
28
- import { buildDefaultDocs } from "../../db/defaultData/datasource_bb_default"
29
-
30
29
  import { removeAppFromUserRoles } from "../../utilities/workerRequests"
31
- import {
32
- clientLibraryPath,
33
- stringToReadStream,
34
- isQsTrue,
35
- } from "../../utilities"
30
+ import { clientLibraryPath, stringToReadStream } from "../../utilities"
36
31
  import { getLocksById } from "../../utilities/redis"
37
32
  import {
38
33
  updateClientLibrary,
39
34
  backupClientLibrary,
40
35
  revertClientLibrary,
41
36
  } from "../../utilities/fileSystem/clientLibrary"
37
+ const { getTenantId, isMultiTenant } = require("@budibase/backend-core/tenancy")
42
38
  import { syncGlobalUsers } from "./user"
39
+ const { app: appCache } = require("@budibase/backend-core/cache")
43
40
  import { cleanupAutomations } from "../../automations/utils"
41
+ import { context } from "@budibase/backend-core"
44
42
  import { checkAppMetadata } from "../../automations/logging"
45
43
  import { getUniqueRows } from "../../utilities/usageQuota/rows"
46
44
  import { quotas, groups } from "@budibase/pro"
45
+ import { errors, events, migrations } from "@budibase/backend-core"
47
46
  import { App, Layout, Screen, MigrationType } from "@budibase/types"
48
47
  import { BASE_LAYOUT_PROP_IDS } from "../../constants/layouts"
49
48
  import { enrichPluginURLs } from "../../utilities/plugins"
@@ -76,7 +75,7 @@ async function getScreens() {
76
75
 
77
76
  function getUserRoleId(ctx: any) {
78
77
  return !ctx.user.role || !ctx.user.role._id
79
- ? roles.BUILTIN_ROLE_IDS.PUBLIC
78
+ ? BUILTIN_ROLE_IDS.PUBLIC
80
79
  : ctx.user.role._id
81
80
  }
82
81
 
@@ -123,8 +122,8 @@ const checkAppName = (
123
122
  }
124
123
  }
125
124
 
126
- async function createInstance(template: any, includeSampleData: boolean) {
127
- const tenantId = tenancy.isMultiTenant() ? tenancy.getTenantId() : null
125
+ async function createInstance(template: any) {
126
+ const tenantId = isMultiTenant() ? getTenantId() : null
128
127
  const baseAppId = generateAppID(tenantId)
129
128
  const appId = generateDevAppID(baseAppId)
130
129
  await context.updateAppId(appId)
@@ -155,27 +154,15 @@ async function createInstance(template: any, includeSampleData: boolean) {
155
154
  } else {
156
155
  // create the users table
157
156
  await db.put(USERS_TABLE_SCHEMA)
158
-
159
- if (includeSampleData) {
160
- // create ootb stock db
161
- await addDefaultTables(db)
162
- }
163
157
  }
164
158
 
165
159
  return { _id: appId }
166
160
  }
167
161
 
168
- const addDefaultTables = async (db: any) => {
169
- const defaultDbDocs = buildDefaultDocs()
170
-
171
- // add in the default db data docs - tables, datasource, rows and links
172
- await db.bulkDocs([...defaultDbDocs])
173
- }
174
-
175
162
  export const fetch = async (ctx: any) => {
176
163
  const dev = ctx.query && ctx.query.status === AppStatus.DEV
177
164
  const all = ctx.query && ctx.query.status === AppStatus.ALL
178
- const apps = (await dbCore.getAllApps({ dev, all })) as App[]
165
+ const apps = await getAllApps({ dev, all })
179
166
 
180
167
  const appIds = apps
181
168
  .filter((app: any) => app.status === "development")
@@ -200,7 +187,7 @@ export const fetch = async (ctx: any) => {
200
187
  export const fetchAppDefinition = async (ctx: any) => {
201
188
  const layouts = await getLayouts()
202
189
  const userRoleId = getUserRoleId(ctx)
203
- const accessController = new roles.AccessController()
190
+ const accessController = new AccessController()
204
191
  const screens = await accessController.checkScreensAccess(
205
192
  await getScreens(),
206
193
  userRoleId
@@ -224,7 +211,7 @@ export const fetchAppPackage = async (ctx: any) => {
224
211
  // Only filter screens if the user is not a builder
225
212
  if (!(ctx.user.builder && ctx.user.builder.global)) {
226
213
  const userRoleId = getUserRoleId(ctx)
227
- const accessController = new roles.AccessController()
214
+ const accessController = new AccessController()
228
215
  screens = await accessController.checkScreensAccess(screens, userRoleId)
229
216
  }
230
217
 
@@ -237,7 +224,7 @@ export const fetchAppPackage = async (ctx: any) => {
237
224
  }
238
225
 
239
226
  const performAppCreate = async (ctx: any) => {
240
- const apps = await dbCore.getAllApps({ dev: true })
227
+ const apps = await getAllApps({ dev: true })
241
228
  const name = ctx.request.body.name
242
229
  checkAppName(ctx, apps, name)
243
230
  const url = getAppUrl(ctx)
@@ -252,8 +239,7 @@ const performAppCreate = async (ctx: any) => {
252
239
  if (ctx.request.files && ctx.request.files.templateFile) {
253
240
  instanceConfig.file = ctx.request.files.templateFile
254
241
  }
255
- const includeSampleData = isQsTrue(ctx.request.body.sampleData)
256
- const instance = await createInstance(instanceConfig, includeSampleData)
242
+ const instance = await createInstance(instanceConfig)
257
243
  const appId = instance._id
258
244
  const db = context.getAppDB()
259
245
 
@@ -268,7 +254,7 @@ const performAppCreate = async (ctx: any) => {
268
254
  url: url,
269
255
  template: templateKey,
270
256
  instance,
271
- tenantId: tenancy.getTenantId(),
257
+ tenantId: getTenantId(),
272
258
  updatedAt: new Date().toISOString(),
273
259
  createdAt: new Date().toISOString(),
274
260
  status: AppStatus.DEV,
@@ -327,7 +313,7 @@ const performAppCreate = async (ctx: any) => {
327
313
  await createApp(appId)
328
314
  }
329
315
 
330
- await cache.app.invalidateAppMetadata(appId, newApplication)
316
+ await appCache.invalidateAppMetadata(appId, newApplication)
331
317
  return newApplication
332
318
  }
333
319
 
@@ -357,7 +343,7 @@ const creationEvents = async (request: any, app: App) => {
357
343
  }
358
344
 
359
345
  const appPostCreate = async (ctx: any, app: App) => {
360
- const tenantId = tenancy.getTenantId()
346
+ const tenantId = getTenantId()
361
347
  await migrations.backPopulateMigrations({
362
348
  type: MigrationType.APP,
363
349
  tenantId,
@@ -370,9 +356,7 @@ const appPostCreate = async (ctx: any, app: App) => {
370
356
  const rowCount = rows ? rows.length : 0
371
357
  if (rowCount) {
372
358
  try {
373
- await context.doInAppContext(app.appId, () => {
374
- return quotas.addRows(rowCount)
375
- })
359
+ await quotas.addRows(rowCount)
376
360
  } catch (err: any) {
377
361
  if (err.code && err.code === errors.codes.USAGE_LIMIT_EXCEEDED) {
378
362
  // this import resulted in row usage exceeding the quota
@@ -390,7 +374,7 @@ const appPostCreate = async (ctx: any, app: App) => {
390
374
  export const create = async (ctx: any) => {
391
375
  const newApplication = await quotas.addApp(() => performAppCreate(ctx))
392
376
  await appPostCreate(ctx, newApplication)
393
- await cache.bustCache(cache.CacheKeys.CHECKLIST)
377
+ await bustCache(CacheKeys.CHECKLIST)
394
378
  ctx.body = newApplication
395
379
  ctx.status = 200
396
380
  }
@@ -398,7 +382,7 @@ export const create = async (ctx: any) => {
398
382
  // This endpoint currently operates as a PATCH rather than a PUT
399
383
  // Thus name and url fields are handled only if present
400
384
  export const update = async (ctx: any) => {
401
- const apps = await dbCore.getAllApps({ dev: true })
385
+ const apps = await getAllApps({ dev: true })
402
386
  // validation
403
387
  const name = ctx.request.body.name
404
388
  if (name) {
@@ -471,7 +455,7 @@ const destroyApp = async (ctx: any) => {
471
455
  let isUnpublish = ctx.query && ctx.query.unpublish
472
456
 
473
457
  if (isUnpublish) {
474
- appId = dbCore.getProdAppID(appId)
458
+ appId = getProdAppID(appId)
475
459
  }
476
460
 
477
461
  const db = isUnpublish ? context.getProdAppDB() : context.getAppDB()
@@ -497,7 +481,7 @@ const destroyApp = async (ctx: any) => {
497
481
  else {
498
482
  await removeAppFromUserRoles(ctx, appId)
499
483
  }
500
- await cache.app.invalidateAppMetadata(appId)
484
+ await appCache.invalidateAppMetadata(appId)
501
485
  return result
502
486
  }
503
487
 
@@ -533,17 +517,19 @@ export const sync = async (ctx: any, next: any) => {
533
517
  }
534
518
 
535
519
  const appId = ctx.params.appId
536
- if (!dbCore.isDevAppID(appId)) {
520
+ if (!isDevAppID(appId)) {
537
521
  ctx.throw(400, "This action cannot be performed for production apps")
538
522
  }
539
523
 
540
524
  // replicate prod to dev
541
- const prodAppId = dbCore.getProdAppID(appId)
525
+ const prodAppId = getProdAppID(appId)
542
526
 
543
- // specific case, want to make sure setup is skipped
544
- const prodDb = context.getProdAppDB({ skip_setup: true })
545
- const exists = await prodDb.exists()
546
- if (!exists) {
527
+ try {
528
+ // specific case, want to make sure setup is skipped
529
+ const prodDb = context.getProdAppDB({ skip_setup: true })
530
+ const info = await prodDb.info()
531
+ if (info.error) throw info.error
532
+ } catch (err) {
547
533
  // the database doesn't exist. Don't replicate
548
534
  ctx.status = 200
549
535
  ctx.body = {
@@ -552,7 +538,7 @@ export const sync = async (ctx: any, next: any) => {
552
538
  return next()
553
539
  }
554
540
 
555
- const replication = new dbCore.Replication({
541
+ const replication = new Replication({
556
542
  source: prodAppId,
557
543
  target: appId,
558
544
  })
@@ -593,7 +579,7 @@ export const updateAppPackage = async (appPackage: any, appId: any) => {
593
579
 
594
580
  await db.put(newAppPackage)
595
581
  // remove any cached metadata, so that it will be updated
596
- await cache.app.invalidateAppMetadata(appId)
582
+ await appCache.invalidateAppMetadata(appId)
597
583
  return newAppPackage
598
584
  })
599
585
  }
@@ -3,7 +3,6 @@ import { InternalTables } from "../../db/utils"
3
3
  import { getFullUser } from "../../utilities/users"
4
4
  import { roles, context } from "@budibase/backend-core"
5
5
  import { groups } from "@budibase/pro"
6
- import { ContextUser, User, Row } from "@budibase/types"
7
6
 
8
7
  const PUBLIC_ROLE = roles.BUILTIN_ROLE_IDS.PUBLIC
9
8
 
@@ -25,7 +24,7 @@ export async function fetchSelf(ctx: any) {
25
24
  }
26
25
 
27
26
  const appId = context.getAppId()
28
- const user: ContextUser = await getFullUser(ctx, userId)
27
+ const user = await getFullUser(ctx, userId)
29
28
  // this shouldn't be returned by the app self
30
29
  delete user.roles
31
30
  // forward the csrf token from the session
@@ -35,7 +34,7 @@ export async function fetchSelf(ctx: any) {
35
34
  const db = context.getAppDB()
36
35
  // check for group permissions
37
36
  if (!user.roleId || user.roleId === PUBLIC_ROLE) {
38
- const groupRoleId = await groups.getGroupRoleId(user as User, appId)
37
+ const groupRoleId = await groups.getGroupRoleId(user, appId)
39
38
  user.roleId = groupRoleId || user.roleId
40
39
  }
41
40
  // remove the full roles structure
@@ -43,7 +42,7 @@ export async function fetchSelf(ctx: any) {
43
42
  try {
44
43
  const userTable = await db.get(InternalTables.USER_METADATA)
45
44
  // specifically needs to make sure is enriched
46
- ctx.body = await outputProcessing(userTable, user as Row)
45
+ ctx.body = await outputProcessing(userTable, user)
47
46
  } catch (err: any) {
48
47
  let response
49
48
  // user didn't exist in app, don't pretend they do
@@ -1,21 +1,26 @@
1
- import actions from "../../automations/actions"
2
- import triggers from "../../automations/triggers"
3
- import {
1
+ const actions = require("../../automations/actions")
2
+ const triggers = require("../../automations/triggers")
3
+ const {
4
4
  getAutomationParams,
5
5
  generateAutomationID,
6
6
  DocumentType,
7
- } from "../../db/utils"
8
- import {
7
+ } = require("../../db/utils")
8
+ const {
9
9
  checkForWebhooks,
10
10
  updateTestHistory,
11
11
  removeDeprecated,
12
- } from "../../automations/utils"
13
- import { deleteEntityMetadata } from "../../utilities"
14
- import { MetadataTypes } from "../../constants"
15
- import { setTestFlag, clearTestFlag } from "../../utilities/redis"
16
- import { context, cache, events } from "@budibase/backend-core"
17
- import { automations } from "@budibase/pro"
18
- import { Automation, BBContext } from "@budibase/types"
12
+ } = require("../../automations/utils")
13
+ const { deleteEntityMetadata } = require("../../utilities")
14
+ const { MetadataTypes } = require("../../constants")
15
+ const { setTestFlag, clearTestFlag } = require("../../utilities/redis")
16
+ const {
17
+ getAppDB,
18
+ getProdAppDB,
19
+ doInAppContext,
20
+ } = require("@budibase/backend-core/context")
21
+ const { events } = require("@budibase/backend-core")
22
+ const { app } = require("@budibase/backend-core/cache")
23
+ const { automations } = require("@budibase/pro")
19
24
 
20
25
  const ACTION_DEFS = removeDeprecated(actions.ACTION_DEFINITIONS)
21
26
  const TRIGGER_DEFS = removeDeprecated(triggers.TRIGGER_DEFINITIONS)
@@ -26,7 +31,7 @@ const TRIGGER_DEFS = removeDeprecated(triggers.TRIGGER_DEFINITIONS)
26
31
  * *
27
32
  *************************/
28
33
 
29
- async function cleanupAutomationMetadata(automationId: string) {
34
+ async function cleanupAutomationMetadata(automationId) {
30
35
  await deleteEntityMetadata(MetadataTypes.AUTOMATION_TEST_INPUT, automationId)
31
36
  await deleteEntityMetadata(
32
37
  MetadataTypes.AUTOMATION_TEST_HISTORY,
@@ -34,7 +39,7 @@ async function cleanupAutomationMetadata(automationId: string) {
34
39
  )
35
40
  }
36
41
 
37
- function cleanAutomationInputs(automation: Automation) {
42
+ function cleanAutomationInputs(automation) {
38
43
  if (automation == null) {
39
44
  return automation
40
45
  }
@@ -58,14 +63,14 @@ function cleanAutomationInputs(automation: Automation) {
58
63
  return automation
59
64
  }
60
65
 
61
- export async function create(ctx: BBContext) {
62
- const db = context.getAppDB()
66
+ exports.create = async function (ctx) {
67
+ const db = getAppDB()
63
68
  let automation = ctx.request.body
64
69
  automation.appId = ctx.appId
65
70
 
66
71
  // call through to update if already exists
67
72
  if (automation._id && automation._rev) {
68
- return update(ctx)
73
+ return exports.update(ctx)
69
74
  }
70
75
 
71
76
  automation._id = generateAutomationID()
@@ -92,23 +97,17 @@ export async function create(ctx: BBContext) {
92
97
  }
93
98
  }
94
99
 
95
- export function getNewSteps(oldAutomation: Automation, automation: Automation) {
100
+ const getNewSteps = (oldAutomation, automation) => {
96
101
  const oldStepIds = oldAutomation.definition.steps.map(s => s.id)
97
102
  return automation.definition.steps.filter(s => !oldStepIds.includes(s.id))
98
103
  }
99
104
 
100
- export function getDeletedSteps(
101
- oldAutomation: Automation,
102
- automation: Automation
103
- ) {
105
+ const getDeletedSteps = (oldAutomation, automation) => {
104
106
  const stepIds = automation.definition.steps.map(s => s.id)
105
107
  return oldAutomation.definition.steps.filter(s => !stepIds.includes(s.id))
106
108
  }
107
109
 
108
- export async function handleStepEvents(
109
- oldAutomation: Automation,
110
- automation: Automation
111
- ) {
110
+ const handleStepEvents = async (oldAutomation, automation) => {
112
111
  // new steps
113
112
  const newSteps = getNewSteps(oldAutomation, automation)
114
113
  for (let step of newSteps) {
@@ -122,8 +121,8 @@ export async function handleStepEvents(
122
121
  }
123
122
  }
124
123
 
125
- export async function update(ctx: BBContext) {
126
- const db = context.getAppDB()
124
+ exports.update = async function (ctx) {
125
+ const db = getAppDB()
127
126
  let automation = ctx.request.body
128
127
  automation.appId = ctx.appId
129
128
  const oldAutomation = await db.get(automation._id)
@@ -147,8 +146,9 @@ export async function update(ctx: BBContext) {
147
146
  if (oldAutoTrigger && oldAutoTrigger.id !== newAutoTrigger.id) {
148
147
  await events.automation.triggerUpdated(automation)
149
148
  await deleteEntityMetadata(
149
+ ctx.appId,
150
150
  MetadataTypes.AUTOMATION_TEST_INPUT,
151
- automation._id!
151
+ automation._id
152
152
  )
153
153
  }
154
154
 
@@ -165,8 +165,8 @@ export async function update(ctx: BBContext) {
165
165
  }
166
166
  }
167
167
 
168
- export async function fetch(ctx: BBContext) {
169
- const db = context.getAppDB()
168
+ exports.fetch = async function (ctx) {
169
+ const db = getAppDB()
170
170
  const response = await db.allDocs(
171
171
  getAutomationParams(null, {
172
172
  include_docs: true,
@@ -175,13 +175,13 @@ export async function fetch(ctx: BBContext) {
175
175
  ctx.body = response.rows.map(row => row.doc)
176
176
  }
177
177
 
178
- export async function find(ctx: BBContext) {
179
- const db = context.getAppDB()
178
+ exports.find = async function (ctx) {
179
+ const db = getAppDB()
180
180
  ctx.body = await db.get(ctx.params.id)
181
181
  }
182
182
 
183
- export async function destroy(ctx: BBContext) {
184
- const db = context.getAppDB()
183
+ exports.destroy = async function (ctx) {
184
+ const db = getAppDB()
185
185
  const automationId = ctx.params.id
186
186
  const oldAutomation = await db.get(automationId)
187
187
  await checkForWebhooks({
@@ -193,14 +193,14 @@ export async function destroy(ctx: BBContext) {
193
193
  await events.automation.deleted(oldAutomation)
194
194
  }
195
195
 
196
- export async function logSearch(ctx: BBContext) {
196
+ exports.logSearch = async function (ctx) {
197
197
  ctx.body = await automations.logs.logSearch(ctx.request.body)
198
198
  }
199
199
 
200
- export async function clearLogError(ctx: BBContext) {
200
+ exports.clearLogError = async function (ctx) {
201
201
  const { automationId, appId } = ctx.request.body
202
- await context.doInAppContext(appId, async () => {
203
- const db = context.getProdAppDB()
202
+ await doInAppContext(appId, async () => {
203
+ const db = getProdAppDB()
204
204
  const metadata = await db.get(DocumentType.APP_METADATA)
205
205
  if (!automationId) {
206
206
  delete metadata.automationErrors
@@ -211,20 +211,20 @@ export async function clearLogError(ctx: BBContext) {
211
211
  delete metadata.automationErrors[automationId]
212
212
  }
213
213
  await db.put(metadata)
214
- await cache.app.invalidateAppMetadata(metadata.appId, metadata)
214
+ await app.invalidateAppMetadata(metadata.appId, metadata)
215
215
  ctx.body = { message: `Error logs cleared.` }
216
216
  })
217
217
  }
218
218
 
219
- export async function getActionList(ctx: BBContext) {
219
+ exports.getActionList = async function (ctx) {
220
220
  ctx.body = ACTION_DEFS
221
221
  }
222
222
 
223
- export async function getTriggerList(ctx: BBContext) {
223
+ exports.getTriggerList = async function (ctx) {
224
224
  ctx.body = TRIGGER_DEFS
225
225
  }
226
226
 
227
- export async function getDefinitionList(ctx: BBContext) {
227
+ module.exports.getDefinitionList = async function (ctx) {
228
228
  ctx.body = {
229
229
  trigger: TRIGGER_DEFS,
230
230
  action: ACTION_DEFS,
@@ -237,8 +237,8 @@ export async function getDefinitionList(ctx: BBContext) {
237
237
  * *
238
238
  *********************/
239
239
 
240
- export async function trigger(ctx: BBContext) {
241
- const db = context.getAppDB()
240
+ exports.trigger = async function (ctx) {
241
+ const db = getAppDB()
242
242
  let automation = await db.get(ctx.params.id)
243
243
  await triggers.externalTrigger(automation, {
244
244
  ...ctx.request.body,
@@ -250,7 +250,7 @@ export async function trigger(ctx: BBContext) {
250
250
  }
251
251
  }
252
252
 
253
- function prepareTestInput(input: any) {
253
+ function prepareTestInput(input) {
254
254
  // prepare the test parameters
255
255
  if (input.id && input.row) {
256
256
  input.row._id = input.id
@@ -261,8 +261,8 @@ function prepareTestInput(input: any) {
261
261
  return input
262
262
  }
263
263
 
264
- export async function test(ctx: BBContext) {
265
- const db = context.getAppDB()
264
+ exports.test = async function (ctx) {
265
+ const db = getAppDB()
266
266
  let automation = await db.get(ctx.params.id)
267
267
  await setTestFlag(automation._id)
268
268
  const testInput = prepareTestInput(ctx.request.body)
@@ -1,14 +1,14 @@
1
- import env from "../../environment"
2
- import { db as dbCore, tenancy } from "@budibase/backend-core"
3
- import { streamFile } from "../../utilities/fileSystem"
4
- import { stringToReadStream } from "../../utilities"
5
- import { getDocParams, DocumentType, isDevAppID } from "../../db/utils"
6
- import { create } from "./application"
7
- import { join } from "path"
8
- import { App, BBContext, Database } from "@budibase/types"
9
- import sdk from "../../sdk"
1
+ const env = require("../../environment")
2
+ const { getAllApps, getGlobalDBName } = require("@budibase/backend-core/db")
3
+ const { getGlobalDB } = require("@budibase/backend-core/tenancy")
4
+ const { streamFile } = require("../../utilities/fileSystem")
5
+ const { stringToReadStream } = require("../../utilities")
6
+ const { getDocParams, DocumentType, isDevAppID } = require("../../db/utils")
7
+ const { create } = require("./application")
8
+ const { join } = require("path")
9
+ const sdk = require("../../sdk")
10
10
 
11
- async function createApp(appName: string, appDirectory: string) {
11
+ async function createApp(appName, appDirectory) {
12
12
  const ctx = {
13
13
  request: {
14
14
  body: {
@@ -25,7 +25,7 @@ async function createApp(appName: string, appDirectory: string) {
25
25
  return create(ctx)
26
26
  }
27
27
 
28
- async function getAllDocType(db: Database, docType: string) {
28
+ async function getAllDocType(db, docType) {
29
29
  const response = await db.allDocs(
30
30
  getDocParams(docType, null, {
31
31
  include_docs: true,
@@ -34,19 +34,19 @@ async function getAllDocType(db: Database, docType: string) {
34
34
  return response.rows.map(row => row.doc)
35
35
  }
36
36
 
37
- export async function exportApps(ctx: BBContext) {
37
+ exports.exportApps = async ctx => {
38
38
  if (env.SELF_HOSTED || !env.MULTI_TENANCY) {
39
39
  ctx.throw(400, "Exporting only allowed in multi-tenant cloud environments.")
40
40
  }
41
- const apps = (await dbCore.getAllApps({ all: true })) as App[]
42
- const globalDBString = await sdk.backups.exportDB(dbCore.getGlobalDBName(), {
43
- filter: (doc: any) => !doc._id.startsWith(DocumentType.USER),
41
+ const apps = await getAllApps({ all: true })
42
+ const globalDBString = await sdk.backups.exportDB(getGlobalDBName(), {
43
+ filter: doc => !doc._id.startsWith(DocumentType.USER),
44
44
  })
45
45
  // only export the dev apps as they will be the latest, the user can republish the apps
46
46
  // in their self-hosted environment
47
47
  let appMetadata = apps
48
- .filter((app: App) => isDevAppID(app.appId || app._id))
49
- .map((app: App) => ({ appId: (app.appId || app._id)!, name: app.name }))
48
+ .filter(app => isDevAppID(app.appId || app._id))
49
+ .map(app => ({ appId: app.appId || app._id, name: app.name }))
50
50
  const tmpPath = await sdk.backups.exportMultipleApps(
51
51
  appMetadata,
52
52
  globalDBString
@@ -56,25 +56,25 @@ export async function exportApps(ctx: BBContext) {
56
56
  ctx.body = streamFile(tmpPath)
57
57
  }
58
58
 
59
- async function checkHasBeenImported() {
59
+ async function hasBeenImported() {
60
60
  if (!env.SELF_HOSTED || env.MULTI_TENANCY) {
61
61
  return true
62
62
  }
63
- const apps = await dbCore.getAllApps({ all: true })
63
+ const apps = await getAllApps({ all: true })
64
64
  return apps.length !== 0
65
65
  }
66
66
 
67
- export async function hasBeenImported(ctx: BBContext) {
67
+ exports.hasBeenImported = async ctx => {
68
68
  ctx.body = {
69
- imported: await checkHasBeenImported(),
69
+ imported: await hasBeenImported(),
70
70
  }
71
71
  }
72
72
 
73
- export async function importApps(ctx: BBContext) {
73
+ exports.importApps = async ctx => {
74
74
  if (!env.SELF_HOSTED || env.MULTI_TENANCY) {
75
75
  ctx.throw(400, "Importing only allowed in self hosted environments.")
76
76
  }
77
- const beenImported = await checkHasBeenImported()
77
+ const beenImported = await hasBeenImported()
78
78
  if (beenImported || !ctx.request.files || !ctx.request.files.importFile) {
79
79
  ctx.throw(
80
80
  400,
@@ -90,7 +90,7 @@ export async function importApps(ctx: BBContext) {
90
90
  const globalDbImport = sdk.backups.getGlobalDBFile(tmpPath)
91
91
  const appNames = sdk.backups.getListOfAppsInMulti(tmpPath)
92
92
 
93
- const globalDb = tenancy.getGlobalDB()
93
+ const globalDb = getGlobalDB()
94
94
  // load the global db first
95
95
  await globalDb.load(stringToReadStream(globalDbImport))
96
96
  for (let appName of appNames) {
@@ -2,9 +2,8 @@ import { DocumentType } from "../../db/utils"
2
2
  import { Plugin } from "@budibase/types"
3
3
  import { db as dbCore, context, tenancy } from "@budibase/backend-core"
4
4
  import { getComponentLibraryManifest } from "../../utilities/fileSystem"
5
- import { BBContext } from "@budibase/types"
6
5
 
7
- export async function fetchAppComponentDefinitions(ctx: BBContext) {
6
+ exports.fetchAppComponentDefinitions = async function (ctx: any) {
8
7
  try {
9
8
  const db = context.getAppDB()
10
9
  const app = await db.get(DocumentType.APP_METADATA)