@budibase/server 2.1.32-alpha.8 → 2.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (663) hide show
  1. package/__mocks__/aws-sdk.ts +0 -14
  2. package/__mocks__/node-fetch.ts +1 -5
  3. package/builder/assets/{index.7176fd99.css → index.534f6c29.css} +1 -1
  4. package/builder/assets/{index.3efa93e2.js → index.968304ca.js} +316 -316
  5. package/builder/index.html +2 -2
  6. package/coverage/clover.xml +3681 -10588
  7. package/coverage/coverage-final.json +77 -225
  8. package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +26 -26
  9. package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +75 -75
  10. package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +47 -47
  11. package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +87 -246
  12. package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +71 -53
  13. package/coverage/lcov-report/api/controllers/index.html +326 -0
  14. package/coverage/lcov-report/{src/api → api}/controllers/integration.js.html +10 -10
  15. package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +26 -26
  16. package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +23 -26
  17. package/coverage/lcov-report/{src/api → api}/controllers/migrations.js.html +10 -10
  18. package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +71 -80
  19. package/coverage/lcov-report/{src/utilities/routing → api/controllers/query}/index.html +8 -8
  20. package/coverage/lcov-report/{src/api/controllers/query/validation.ts.html → api/controllers/query/validation.js.html} +17 -17
  21. package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +56 -44
  22. package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +56 -65
  23. package/coverage/lcov-report/{src/api → api}/controllers/row/external.js.html +13 -13
  24. package/coverage/lcov-report/{src/api → api}/controllers/row/index.html +46 -76
  25. package/coverage/lcov-report/{src/api → api}/controllers/row/internal.js.html +29 -26
  26. package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +110 -182
  27. package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +54 -69
  28. package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +43 -64
  29. package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +14 -17
  30. package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +54 -96
  31. package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +100 -196
  32. package/coverage/lcov-report/{src/utilities/fileSystem → api/controllers/table}/index.html +44 -44
  33. package/coverage/lcov-report/{src/api/controllers/table/index.ts.html → api/controllers/table/index.js.html} +35 -35
  34. package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +25 -34
  35. package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +85 -79
  36. package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +14 -20
  37. package/coverage/lcov-report/{src/api → api}/controllers/view/index.html +30 -30
  38. package/coverage/lcov-report/{src/api/controllers/view/index.ts.html → api/controllers/view/index.js.html} +48 -75
  39. package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +43 -61
  40. package/coverage/lcov-report/{src/api → api}/controllers/view/viewBuilder.js.html +10 -10
  41. package/coverage/lcov-report/{src/api → api}/index.html +23 -23
  42. package/coverage/lcov-report/{src/api/index.ts.html → api/index.js.html} +56 -35
  43. package/coverage/lcov-report/{src/api/routes/analytics.ts.html → api/routes/analytics.js.html} +14 -14
  44. package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/routes/apikeys.js.html} +27 -27
  45. package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +42 -48
  46. package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +21 -21
  47. package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +17 -17
  48. package/coverage/lcov-report/{src/api/routes/datasource.ts.html → api/routes/datasource.js.html} +33 -60
  49. package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +22 -25
  50. package/coverage/lcov-report/{src/api/routes/webhook.ts.html → api/routes/dev.js.html} +43 -46
  51. package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
  52. package/coverage/lcov-report/{src/api/routes/apikeys.ts.html → api/routes/integration.js.html} +18 -18
  53. package/coverage/lcov-report/{src/api/routes/layout.ts.html → api/routes/layout.js.html} +18 -18
  54. package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +24 -24
  55. package/coverage/lcov-report/{src/sdk/index.ts.html → api/routes/migrations.js.html} +21 -24
  56. package/coverage/lcov-report/{src/api/routes/view.ts.html → api/routes/permission.js.html} +37 -40
  57. package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +42 -33
  58. package/coverage/lcov-report/api/routes/role.js.html +130 -0
  59. package/coverage/lcov-report/{src/api/routes/routing.ts.html → api/routes/routing.js.html} +17 -17
  60. package/coverage/lcov-report/api/routes/screen.js.html +139 -0
  61. package/coverage/lcov-report/{src/api/routes/script.ts.html → api/routes/script.js.html} +17 -17
  62. package/coverage/lcov-report/{src/api/routes/table.ts.html → api/routes/table.js.html} +33 -24
  63. package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +18 -18
  64. package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +35 -29
  65. package/coverage/lcov-report/{src/api → api}/routes/utils/index.html +15 -15
  66. package/coverage/lcov-report/{src/api/routes/utils/validators.ts.html → api/routes/utils/validators.js.html} +58 -46
  67. package/coverage/lcov-report/{src/definitions/automations.ts.html → api/routes/view.js.html} +41 -44
  68. package/coverage/lcov-report/{src/automations → automations}/actions.js.html +10 -10
  69. package/coverage/lcov-report/{src/automations → automations}/automationUtils.js.html +10 -10
  70. package/coverage/lcov-report/{src/automations → automations}/bullboard.js.html +10 -10
  71. package/coverage/lcov-report/{src/automations → automations}/index.html +24 -39
  72. package/coverage/lcov-report/{src/automations → automations}/index.js.html +10 -10
  73. package/coverage/lcov-report/{src/automations → automations}/steps/bash.js.html +10 -10
  74. package/coverage/lcov-report/{src/automations → automations}/steps/delay.js.html +10 -10
  75. package/coverage/lcov-report/{src/automations → automations}/steps/discord.js.html +10 -10
  76. package/coverage/lcov-report/{src/automations → automations}/steps/executeQuery.js.html +10 -10
  77. package/coverage/lcov-report/{src/automations → automations}/steps/executeScript.js.html +10 -10
  78. package/coverage/lcov-report/{src/automations → automations}/steps/filter.js.html +10 -10
  79. package/coverage/lcov-report/{src/automations → automations}/steps/index.html +26 -56
  80. package/coverage/lcov-report/{src/automations → automations}/steps/integromat.js.html +10 -10
  81. package/coverage/lcov-report/{src/automations → automations}/steps/loop.js.html +10 -10
  82. package/coverage/lcov-report/{src/automations → automations}/steps/outgoingWebhook.js.html +10 -10
  83. package/coverage/lcov-report/{src/automations → automations}/steps/queryRows.js.html +10 -10
  84. package/coverage/lcov-report/{src/automations → automations}/steps/sendSmtpEmail.js.html +10 -10
  85. package/coverage/lcov-report/{src/automations → automations}/steps/serverLog.js.html +10 -10
  86. package/coverage/lcov-report/{src/automations → automations}/steps/slack.js.html +10 -10
  87. package/coverage/lcov-report/{src/automations → automations}/steps/updateRow.js.html +10 -10
  88. package/coverage/lcov-report/{src/automations → automations}/steps/utils.js.html +19 -19
  89. package/coverage/lcov-report/{src/automations → automations}/steps/zapier.js.html +10 -10
  90. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/app.js.html +10 -10
  91. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/cron.js.html +10 -10
  92. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.html +10 -10
  93. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.js.html +10 -10
  94. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowDeleted.js.html +10 -10
  95. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowSaved.js.html +10 -10
  96. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowUpdated.js.html +10 -10
  97. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/webhook.js.html +10 -10
  98. package/coverage/lcov-report/{src/automations → automations}/triggers.js.html +23 -20
  99. package/coverage/lcov-report/{src/constants → constants}/index.html +14 -14
  100. package/coverage/lcov-report/{src/constants → constants}/index.js.html +22 -16
  101. package/coverage/lcov-report/{src/constants → constants}/layouts.js.html +10 -10
  102. package/coverage/lcov-report/{src/constants → constants}/screens.js.html +12 -12
  103. package/coverage/lcov-report/{src/db → db}/inMemoryView.js.html +13 -13
  104. package/coverage/lcov-report/{src/db → db}/index.html +27 -42
  105. package/coverage/lcov-report/{src/db → db}/index.js.html +18 -18
  106. package/coverage/lcov-report/{src/db → db}/linkedRows/LinkController.js.html +160 -22
  107. package/coverage/lcov-report/{src/db → db}/linkedRows/index.html +22 -37
  108. package/coverage/lcov-report/{src/db → db}/linkedRows/index.js.html +12 -12
  109. package/coverage/lcov-report/{src/db → db}/linkedRows/linkUtils.js.html +13 -13
  110. package/coverage/lcov-report/{src/db → db}/newid.js.html +10 -10
  111. package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +153 -105
  112. package/coverage/lcov-report/{src/events → events}/AutomationEmitter.js.html +10 -10
  113. package/coverage/lcov-report/{src/events → events}/index.html +10 -10
  114. package/coverage/lcov-report/{src/events → events}/index.js.html +10 -10
  115. package/coverage/lcov-report/{src/events → events}/utils.js.html +10 -10
  116. package/coverage/lcov-report/index.html +161 -671
  117. package/coverage/lcov-report/{src/integrations → integrations}/tests/TestConfiguration.js.html +10 -10
  118. package/coverage/lcov-report/{src/integrations → integrations}/tests/index.html +10 -10
  119. package/coverage/lcov-report/{src/middleware/appInfo.ts.html → middleware/appInfo.js.html} +28 -31
  120. package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +37 -43
  121. package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +68 -77
  122. package/coverage/lcov-report/{src/middleware → middleware}/index.html +63 -78
  123. package/coverage/lcov-report/{src/middleware/joi-validator.ts.html → middleware/joi-validator.js.html} +22 -25
  124. package/coverage/lcov-report/{src/middleware/publicApi.ts.html → middleware/publicApi.js.html} +24 -24
  125. package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +25 -40
  126. package/coverage/lcov-report/{src/tests/utilities/index.js.html → middleware/selfhost.js.html} +30 -33
  127. package/coverage/lcov-report/{src/middleware/utils.ts.html → middleware/utils.js.html} +13 -19
  128. package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +12 -12
  129. package/coverage/lcov-report/{src/utilities → utilities}/centralPath.js.html +10 -10
  130. package/coverage/lcov-report/{src/utilities → utilities}/csvParser.js.html +10 -10
  131. package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +74 -107
  132. package/coverage/lcov-report/{src/utilities → utilities}/index.html +61 -76
  133. package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +53 -77
  134. package/coverage/lcov-report/{src/utilities → utilities}/plugins.js.html +10 -10
  135. package/coverage/lcov-report/{src/utilities → utilities}/queue/inMemoryQueue.js.html +10 -10
  136. package/coverage/lcov-report/{src/utilities → utilities}/queue/index.html +10 -10
  137. package/coverage/lcov-report/{src/sdk → utilities/routing}/index.html +10 -10
  138. package/coverage/lcov-report/{src/api/routes/role.ts.html → utilities/routing/index.js.html} +42 -39
  139. package/coverage/lcov-report/{src/migrations → utilities/rowProcessor}/index.html +37 -22
  140. package/coverage/lcov-report/{src/utilities/rowProcessor/index.ts.html → utilities/rowProcessor/index.js.html} +344 -113
  141. package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +38 -50
  142. package/coverage/lcov-report/{src/utilities → utilities}/scriptRunner.js.html +10 -10
  143. package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +74 -56
  144. package/coverage/lcov-report/{src/utilities → utilities}/statusCodes.js.html +10 -10
  145. package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/index.html +27 -27
  146. package/coverage/lcov-report/{src/utilities/usageQuota/rows.ts.html → utilities/usageQuota/rows.js.html} +46 -34
  147. package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/usageQuoteReset.js.html +10 -10
  148. package/coverage/lcov-report/{src/utilities/users.ts.html → utilities/users.js.html} +35 -29
  149. package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +61 -76
  150. package/coverage/lcov.info +6772 -19273
  151. package/dist/api/controllers/apikeys.js +9 -12
  152. package/dist/api/controllers/application.js +45 -48
  153. package/dist/api/controllers/automation.js +84 -104
  154. package/dist/api/controllers/cloud.js +71 -84
  155. package/dist/api/controllers/component.js +2 -4
  156. package/dist/api/controllers/datasource.js +92 -144
  157. package/dist/api/controllers/deploy/Deployment.js +6 -10
  158. package/dist/api/controllers/deploy/index.js +16 -13
  159. package/dist/api/controllers/dev.js +81 -96
  160. package/dist/api/controllers/layout.js +15 -18
  161. package/dist/api/controllers/metadata.js +37 -51
  162. package/dist/api/controllers/permission.js +43 -52
  163. package/dist/api/controllers/plugin/index.js +7 -6
  164. package/dist/api/controllers/public/applications.js +9 -17
  165. package/dist/api/controllers/public/tables.js +9 -29
  166. package/dist/api/controllers/query/import/index.js +2 -1
  167. package/dist/api/controllers/query/index.js +13 -10
  168. package/dist/api/controllers/query/validation.js +33 -41
  169. package/dist/api/controllers/role.js +27 -29
  170. package/dist/api/controllers/routing.js +58 -71
  171. package/dist/api/controllers/row/ExternalRequest.js +8 -12
  172. package/dist/api/controllers/row/external.js +3 -3
  173. package/dist/api/controllers/row/index.js +7 -16
  174. package/dist/api/controllers/row/internal.js +12 -11
  175. package/dist/api/controllers/row/internalSearch.js +80 -95
  176. package/dist/api/controllers/row/staticFormula.js +75 -85
  177. package/dist/api/controllers/row/utils.js +84 -118
  178. package/dist/api/controllers/screen.js +66 -81
  179. package/dist/api/controllers/script.js +6 -13
  180. package/dist/api/controllers/static/index.js +11 -9
  181. package/dist/api/controllers/table/bulkFormula.js +35 -47
  182. package/dist/api/controllers/table/external.js +57 -67
  183. package/dist/api/controllers/table/index.js +33 -66
  184. package/dist/api/controllers/table/internal.js +6 -5
  185. package/dist/api/controllers/table/utils.js +35 -39
  186. package/dist/api/controllers/templates.js +10 -17
  187. package/dist/api/controllers/user.js +70 -82
  188. package/dist/api/controllers/view/exporters.js +4 -8
  189. package/dist/api/controllers/view/index.js +153 -201
  190. package/dist/api/controllers/view/utils.js +121 -151
  191. package/dist/api/index.js +34 -38
  192. package/dist/api/routes/analytics.js +3 -29
  193. package/dist/api/routes/apikeys.js +7 -33
  194. package/dist/api/routes/application.js +9 -8
  195. package/dist/api/routes/auth.js +2 -1
  196. package/dist/api/routes/automation.js +20 -46
  197. package/dist/api/routes/backup.js +4 -3
  198. package/dist/api/routes/cloud.js +6 -32
  199. package/dist/api/routes/component.js +6 -32
  200. package/dist/api/routes/datasource.js +13 -39
  201. package/dist/api/routes/deploy.js +8 -34
  202. package/dist/api/routes/dev.js +10 -36
  203. package/dist/api/routes/integration.js +7 -10
  204. package/dist/api/routes/layout.js +7 -33
  205. package/dist/api/routes/metadata.js +10 -36
  206. package/dist/api/routes/migrations.js +6 -32
  207. package/dist/api/routes/permission.js +12 -38
  208. package/dist/api/routes/plugin.js +5 -5
  209. package/dist/api/routes/public/index.js +9 -9
  210. package/dist/api/routes/query.js +15 -42
  211. package/dist/api/routes/role.js +10 -36
  212. package/dist/api/routes/routing.js +6 -32
  213. package/dist/api/routes/row.js +11 -12
  214. package/dist/api/routes/screen.js +9 -35
  215. package/dist/api/routes/script.js +6 -32
  216. package/dist/api/routes/static.js +9 -9
  217. package/dist/api/routes/table.js +13 -40
  218. package/dist/api/routes/templates.js +7 -33
  219. package/dist/api/routes/tests/utilities/TestFunctions.js +8 -6
  220. package/dist/api/routes/user.js +13 -40
  221. package/dist/api/routes/utils/validators.js +126 -142
  222. package/dist/api/routes/view.js +12 -38
  223. package/dist/api/routes/webhook.js +2 -1
  224. package/dist/app.js +4 -3
  225. package/dist/automations/tests/utilities/index.js +12 -21
  226. package/dist/automations/triggers.js +6 -5
  227. package/dist/automations/utils.js +8 -9
  228. package/dist/constants/index.js +5 -3
  229. package/dist/constants/screens.js +2 -2
  230. package/dist/db/inMemoryView.js +3 -3
  231. package/dist/db/linkedRows/LinkController.js +31 -4
  232. package/dist/db/linkedRows/index.js +2 -2
  233. package/dist/db/linkedRows/linkUtils.js +3 -3
  234. package/dist/db/utils.js +119 -146
  235. package/dist/db/views/staticViews.js +4 -4
  236. package/dist/integrations/elasticsearch.js +2 -26
  237. package/dist/integrations/googlesheets.js +6 -4
  238. package/dist/integrations/index.js +6 -15
  239. package/dist/integrations/s3.js +1 -157
  240. package/dist/middleware/appInfo.js +9 -14
  241. package/dist/middleware/authorized.js +21 -22
  242. package/dist/middleware/builder.js +40 -41
  243. package/dist/middleware/currentapp.js +37 -39
  244. package/dist/middleware/joi-validator.js +10 -17
  245. package/dist/middleware/publicApi.js +6 -5
  246. package/dist/middleware/resourceId.js +9 -16
  247. package/dist/middleware/selfhost.js +4 -5
  248. package/dist/middleware/utils.js +2 -5
  249. package/dist/migrations/functions/appUrls.js +2 -2
  250. package/dist/migrations/functions/backfill/global.js +1 -1
  251. package/dist/migrations/functions/usageQuotas/syncApps.js +4 -3
  252. package/dist/migrations/functions/usageQuotas/syncRows.js +4 -3
  253. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  254. package/dist/package.json +44 -10
  255. package/dist/sdk/app/backups/exports.js +2 -1
  256. package/dist/sdk/app/backups/imports.js +3 -2
  257. package/dist/sdk/app/tables/index.js +5 -5
  258. package/dist/startup.js +4 -4
  259. package/dist/tests/utilities/TestConfiguration.js +36 -30
  260. package/dist/tests/utilities/structures.js +4 -3
  261. package/dist/threads/automation.js +16 -15
  262. package/dist/threads/query.js +19 -17
  263. package/dist/threads/utils.js +9 -11
  264. package/dist/tsconfig.build.tsbuildinfo +1 -1
  265. package/dist/utilities/budibaseDir.js +2 -4
  266. package/dist/utilities/fileSystem/clientLibrary.js +12 -12
  267. package/dist/utilities/fileSystem/index.js +3 -3
  268. package/dist/utilities/fileSystem/utilities.js +22 -0
  269. package/dist/utilities/global.js +66 -87
  270. package/dist/utilities/index.js +75 -102
  271. package/dist/utilities/redis.js +65 -100
  272. package/dist/utilities/routing/index.js +23 -27
  273. package/dist/utilities/rowProcessor/index.js +191 -124
  274. package/dist/utilities/rowProcessor/utils.js +26 -35
  275. package/dist/utilities/security.js +35 -39
  276. package/dist/utilities/usageQuota/rows.js +49 -56
  277. package/dist/utilities/users.js +28 -31
  278. package/dist/utilities/workerRequests.js +82 -115
  279. package/dist/watch.js +2 -1
  280. package/package.json +45 -11
  281. package/scripts/exportAppTemplate.js +2 -2
  282. package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
  283. package/scripts/localdomain.js +6 -34
  284. package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
  285. package/src/api/controllers/application.ts +42 -56
  286. package/src/api/controllers/auth.ts +3 -4
  287. package/src/api/controllers/{automation.ts → automation.js} +48 -48
  288. package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
  289. package/src/api/controllers/component.ts +1 -2
  290. package/src/api/controllers/{datasource.ts → datasource.js} +47 -100
  291. package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
  292. package/src/api/controllers/deploy/index.ts +25 -13
  293. package/src/api/controllers/{dev.ts → dev.js} +37 -31
  294. package/src/api/controllers/{layout.ts → layout.js} +8 -8
  295. package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
  296. package/src/api/controllers/{permission.ts → permission.js} +46 -49
  297. package/src/api/controllers/plugin/index.ts +5 -4
  298. package/src/api/controllers/public/applications.ts +9 -15
  299. package/src/api/controllers/public/tables.ts +2 -2
  300. package/src/api/controllers/query/import/index.ts +3 -2
  301. package/src/api/controllers/query/index.ts +14 -11
  302. package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
  303. package/src/api/controllers/{role.ts → role.js} +25 -21
  304. package/src/api/controllers/{routing.ts → routing.js} +34 -37
  305. package/src/api/controllers/row/ExternalRequest.ts +11 -9
  306. package/src/api/controllers/row/external.js +3 -3
  307. package/src/api/controllers/row/index.ts +9 -17
  308. package/src/api/controllers/row/internal.js +12 -11
  309. package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
  310. package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +23 -28
  311. package/src/api/controllers/row/{utils.ts → utils.js} +18 -25
  312. package/src/api/controllers/screen.ts +6 -10
  313. package/src/api/controllers/script.js +11 -0
  314. package/src/api/controllers/static/index.ts +13 -9
  315. package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
  316. package/src/api/controllers/table/{external.ts → external.js} +54 -86
  317. package/src/api/controllers/table/{index.ts → index.js} +17 -17
  318. package/src/api/controllers/table/internal.ts +6 -5
  319. package/src/api/controllers/table/utils.ts +21 -26
  320. package/src/api/controllers/{templates.ts → templates.js} +7 -10
  321. package/src/api/controllers/{user.ts → user.js} +49 -47
  322. package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
  323. package/src/api/controllers/view/{index.ts → index.js} +27 -36
  324. package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
  325. package/src/api/{index.ts → index.js} +22 -15
  326. package/src/api/routes/analytics.js +9 -0
  327. package/src/api/routes/apikeys.js +12 -0
  328. package/src/api/routes/application.ts +9 -17
  329. package/src/api/routes/auth.ts +2 -2
  330. package/src/api/routes/automation.js +85 -0
  331. package/src/api/routes/backup.ts +4 -8
  332. package/src/api/routes/cloud.js +14 -0
  333. package/src/api/routes/component.js +14 -0
  334. package/src/api/routes/datasource.js +51 -0
  335. package/src/api/routes/deploy.js +17 -0
  336. package/src/api/routes/dev.js +26 -0
  337. package/src/api/routes/integration.js +12 -0
  338. package/src/api/routes/layout.js +16 -0
  339. package/src/api/routes/{metadata.ts → metadata.js} +13 -13
  340. package/src/api/routes/migrations.js +14 -0
  341. package/src/api/routes/permission.js +33 -0
  342. package/src/api/routes/plugin.ts +6 -14
  343. package/src/api/routes/public/index.ts +10 -10
  344. package/src/api/routes/public/tests/compare.spec.js +1 -1
  345. package/src/api/routes/{query.ts → query.js} +22 -19
  346. package/src/api/routes/role.js +15 -0
  347. package/src/api/routes/routing.js +14 -0
  348. package/src/api/routes/row.ts +15 -13
  349. package/src/api/routes/screen.js +18 -0
  350. package/src/api/routes/script.js +10 -0
  351. package/src/api/routes/static.ts +10 -7
  352. package/src/api/routes/{table.ts → table.js} +13 -10
  353. package/src/api/routes/templates.js +16 -0
  354. package/src/api/routes/tests/analytics.spec.js +1 -1
  355. package/src/api/routes/tests/backup.spec.js +1 -9
  356. package/src/api/routes/tests/permissions.spec.js +1 -2
  357. package/src/api/routes/tests/query.spec.js +10 -15
  358. package/src/api/routes/tests/role.spec.js +9 -7
  359. package/src/api/routes/tests/routing.spec.js +1 -2
  360. package/src/api/routes/tests/row.spec.js +4 -3
  361. package/src/api/routes/tests/static.spec.js +2 -2
  362. package/src/api/routes/tests/table.spec.js +35 -38
  363. package/src/api/routes/tests/user.spec.js +1 -2
  364. package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
  365. package/src/api/routes/user.js +53 -0
  366. package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
  367. package/src/api/routes/view.js +31 -0
  368. package/src/api/routes/webhook.ts +2 -2
  369. package/src/app.ts +4 -3
  370. package/src/automations/tests/updateRow.spec.js +1 -0
  371. package/src/automations/tests/utilities/index.js +4 -10
  372. package/src/automations/triggers.js +6 -5
  373. package/src/automations/utils.ts +12 -9
  374. package/src/constants/index.js +5 -3
  375. package/src/constants/screens.js +2 -2
  376. package/src/db/inMemoryView.js +3 -3
  377. package/src/db/linkedRows/LinkController.js +50 -4
  378. package/src/db/linkedRows/index.js +2 -2
  379. package/src/db/linkedRows/linkUtils.js +3 -3
  380. package/src/db/tests/linkController.spec.js +57 -73
  381. package/src/db/tests/linkTests.spec.js +14 -17
  382. package/src/db/{utils.ts → utils.js} +93 -77
  383. package/src/db/views/staticViews.js +4 -4
  384. package/src/integrations/base/sql.ts +1 -1
  385. package/src/integrations/base/sqlTable.ts +1 -1
  386. package/src/integrations/elasticsearch.ts +2 -32
  387. package/src/integrations/googlesheets.ts +7 -4
  388. package/src/integrations/index.ts +41 -45
  389. package/src/integrations/s3.ts +3 -179
  390. package/src/integrations/tests/s3.spec.ts +1 -85
  391. package/src/middleware/appInfo.js +19 -0
  392. package/src/middleware/authorized.ts +28 -21
  393. package/src/middleware/{builder.ts → builder.js} +15 -17
  394. package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
  395. package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
  396. package/src/middleware/publicApi.js +21 -0
  397. package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
  398. package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
  399. package/src/middleware/tests/authorized.spec.js +6 -5
  400. package/src/middleware/tests/currentapp.spec.js +63 -118
  401. package/src/middleware/{utils.ts → utils.js} +1 -3
  402. package/src/migrations/functions/appUrls.ts +2 -2
  403. package/src/migrations/functions/backfill/app/tables.ts +5 -2
  404. package/src/migrations/functions/backfill/global.ts +1 -1
  405. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  406. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
  407. package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
  408. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  409. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  410. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  411. package/src/module.d.ts +14 -0
  412. package/src/sdk/app/backups/exports.ts +3 -5
  413. package/src/sdk/app/backups/imports.ts +14 -7
  414. package/src/sdk/app/backups/statistics.ts +18 -9
  415. package/src/sdk/app/tables/index.ts +8 -7
  416. package/src/startup.ts +2 -2
  417. package/src/tests/utilities/TestConfiguration.js +36 -42
  418. package/src/tests/utilities/structures.js +4 -3
  419. package/src/threads/automation.ts +16 -15
  420. package/src/threads/query.ts +16 -11
  421. package/src/threads/utils.ts +5 -4
  422. package/src/utilities/budibaseDir.js +3 -0
  423. package/src/utilities/fileSystem/clientLibrary.js +12 -12
  424. package/src/utilities/fileSystem/index.js +8 -8
  425. package/src/utilities/fileSystem/utilities.js +36 -0
  426. package/src/utilities/global.js +127 -0
  427. package/src/utilities/{index.ts → index.js} +32 -40
  428. package/src/utilities/{redis.ts → redis.js} +20 -21
  429. package/src/utilities/routing/index.js +25 -0
  430. package/src/utilities/rowProcessor/{index.ts → index.js} +142 -65
  431. package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
  432. package/src/utilities/security.js +71 -0
  433. package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
  434. package/src/utilities/{users.ts → users.js} +13 -11
  435. package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
  436. package/src/watch.ts +3 -2
  437. package/tsconfig.json +1 -3
  438. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
  439. package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
  440. package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
  441. package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
  442. package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
  443. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
  444. package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
  445. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
  446. package/coverage/lcov-report/src/api/controllers/index.html +0 -431
  447. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
  448. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
  449. package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
  450. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
  451. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
  452. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
  453. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
  454. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -142
  455. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
  456. package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
  457. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
  458. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
  459. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
  460. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
  461. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
  462. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +0 -163
  463. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
  464. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
  465. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
  466. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
  467. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
  468. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
  469. package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
  470. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
  471. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
  472. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
  473. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
  474. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
  475. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
  476. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
  477. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
  478. package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
  479. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
  480. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2320
  481. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
  482. package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
  483. package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
  484. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -688
  485. package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
  486. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
  487. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
  488. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
  489. package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
  490. package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
  491. package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
  492. package/coverage/lcov-report/src/api/routes/dev.ts.html +0 -199
  493. package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
  494. package/coverage/lcov-report/src/api/routes/integration.ts.html +0 -133
  495. package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
  496. package/coverage/lcov-report/src/api/routes/permission.ts.html +0 -208
  497. package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
  498. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
  499. package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
  500. package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -502
  501. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
  502. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
  503. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
  504. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
  505. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
  506. package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
  507. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
  508. package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
  509. package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
  510. package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
  511. package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
  512. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
  513. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
  514. package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +0 -367
  515. package/coverage/lcov-report/src/app.ts.html +0 -400
  516. package/coverage/lcov-report/src/automations/logging/index.html +0 -116
  517. package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
  518. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -367
  519. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -334
  520. package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
  521. package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +0 -256
  522. package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
  523. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.js.html +0 -2023
  524. package/coverage/lcov-report/src/db/defaultData/employeeImport.js.html +0 -541
  525. package/coverage/lcov-report/src/db/defaultData/expensesImport.js.html +0 -427
  526. package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
  527. package/coverage/lcov-report/src/db/defaultData/inventoryImport.js.html +0 -403
  528. package/coverage/lcov-report/src/db/defaultData/jobsImport.js.html +0 -559
  529. package/coverage/lcov-report/src/db/dynamoClient.js.html +0 -466
  530. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.js.html +0 -226
  531. package/coverage/lcov-report/src/definitions/datasource.ts.html +0 -235
  532. package/coverage/lcov-report/src/definitions/index.html +0 -131
  533. package/coverage/lcov-report/src/environment.js.html +0 -445
  534. package/coverage/lcov-report/src/index.html +0 -191
  535. package/coverage/lcov-report/src/index.ts.html +0 -133
  536. package/coverage/lcov-report/src/integrations/airtable.ts.html +0 -529
  537. package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
  538. package/coverage/lcov-report/src/integrations/base/index.html +0 -161
  539. package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
  540. package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
  541. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
  542. package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
  543. package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
  544. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +0 -745
  545. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
  546. package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
  547. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1312
  548. package/coverage/lcov-report/src/integrations/index.html +0 -371
  549. package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
  550. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
  551. package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
  552. package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -952
  553. package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
  554. package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
  555. package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
  556. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
  557. package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
  558. package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
  559. package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
  560. package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
  561. package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1006
  562. package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
  563. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
  564. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
  565. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
  566. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
  567. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
  568. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
  569. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
  570. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
  571. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
  572. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
  573. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
  574. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
  575. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
  576. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
  577. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
  578. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
  579. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
  580. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
  581. package/coverage/lcov-report/src/migrations/functions/index.html +0 -146
  582. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
  583. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
  584. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
  585. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
  586. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
  587. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
  588. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
  589. package/coverage/lcov-report/src/migrations/index.ts.html +0 -403
  590. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
  591. package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
  592. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
  593. package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
  594. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
  595. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
  596. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
  597. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
  598. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
  599. package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
  600. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
  601. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
  602. package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
  603. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
  604. package/coverage/lcov-report/src/startup.ts.html +0 -499
  605. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +0 -1885
  606. package/coverage/lcov-report/src/tests/utilities/controllers.js.html +0 -133
  607. package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
  608. package/coverage/lcov-report/src/tests/utilities/structures.js.html +0 -649
  609. package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
  610. package/coverage/lcov-report/src/threads/index.html +0 -161
  611. package/coverage/lcov-report/src/threads/index.ts.html +0 -418
  612. package/coverage/lcov-report/src/threads/query.ts.html +0 -961
  613. package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
  614. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +0 -547
  615. package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +0 -1141
  616. package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +0 -148
  617. package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
  618. package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
  619. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
  620. package/coverage/lcov-report/src/utilities/rowProcessor/map.js.html +0 -370
  621. package/coverage/lcov-report/src/watch.ts.html +0 -196
  622. package/coverage/lcov-report/src/websocket.ts.html +0 -163
  623. package/dist/db/defaultData/datasource_bb_default.js +0 -565
  624. package/dist/db/defaultData/employeeImport.js +0 -153
  625. package/dist/db/defaultData/expensesImport.js +0 -115
  626. package/dist/db/defaultData/inventoryImport.js +0 -107
  627. package/dist/db/defaultData/jobsImport.js +0 -150
  628. package/dist/db/linkedRows/LinkDocument.js +0 -32
  629. package/dist/utilities/rowProcessor/map.js +0 -96
  630. package/jest.config.ts +0 -33
  631. package/src/api/controllers/script.ts +0 -12
  632. package/src/api/routes/analytics.ts +0 -9
  633. package/src/api/routes/apikeys.ts +0 -12
  634. package/src/api/routes/automation.ts +0 -87
  635. package/src/api/routes/cloud.ts +0 -18
  636. package/src/api/routes/component.ts +0 -14
  637. package/src/api/routes/datasource.ts +0 -60
  638. package/src/api/routes/deploy.ts +0 -21
  639. package/src/api/routes/dev.ts +0 -38
  640. package/src/api/routes/integration.ts +0 -16
  641. package/src/api/routes/layout.ts +0 -16
  642. package/src/api/routes/migrations.ts +0 -14
  643. package/src/api/routes/permission.ts +0 -41
  644. package/src/api/routes/role.ts +0 -24
  645. package/src/api/routes/routing.ts +0 -14
  646. package/src/api/routes/screen.ts +0 -23
  647. package/src/api/routes/script.ts +0 -10
  648. package/src/api/routes/templates.ts +0 -16
  649. package/src/api/routes/user.ts +0 -51
  650. package/src/api/routes/view.ts +0 -34
  651. package/src/db/defaultData/datasource_bb_default.js +0 -646
  652. package/src/db/defaultData/employeeImport.js +0 -152
  653. package/src/db/defaultData/expensesImport.js +0 -114
  654. package/src/db/defaultData/inventoryImport.js +0 -106
  655. package/src/db/defaultData/jobsImport.js +0 -158
  656. package/src/db/linkedRows/LinkDocument.js +0 -47
  657. package/src/middleware/appInfo.ts +0 -20
  658. package/src/middleware/publicApi.ts +0 -21
  659. package/src/utilities/budibaseDir.ts +0 -3
  660. package/src/utilities/global.ts +0 -138
  661. package/src/utilities/routing/index.ts +0 -32
  662. package/src/utilities/rowProcessor/map.js +0 -95
  663. package/src/utilities/security.ts +0 -65
@@ -1,37 +1,31 @@
1
- import {
1
+ const {
2
2
  generateDatasourceID,
3
3
  getDatasourceParams,
4
4
  getQueryParams,
5
5
  DocumentType,
6
6
  BudibaseInternalDB,
7
7
  getTableParams,
8
- } from "../../db/utils"
9
- import { destroy as tableDestroy } from "./table/internal"
10
- import { BuildSchemaErrors, InvalidColumns } from "../../constants"
11
- import { getIntegration } from "../../integrations"
12
- import { getDatasourceAndQuery } from "./row/utils"
13
- import { invalidateDynamicVariables } from "../../threads/utils"
14
- import { db as dbCore, context, events } from "@budibase/backend-core"
15
- import { BBContext, Datasource, Row } from "@budibase/types"
16
-
17
- export async function fetch(ctx: BBContext) {
8
+ } = require("../../db/utils")
9
+ const { BuildSchemaErrors, InvalidColumns } = require("../../constants")
10
+ const { getIntegration } = require("../../integrations")
11
+ const { getDatasourceAndQuery } = require("./row/utils")
12
+ const { invalidateDynamicVariables } = require("../../threads/utils")
13
+ const { getAppDB } = require("@budibase/backend-core/context")
14
+ const { events } = require("@budibase/backend-core")
15
+
16
+ exports.fetch = async function (ctx) {
18
17
  // Get internal tables
19
- const db = context.getAppDB()
18
+ const db = getAppDB()
20
19
  const internalTables = await db.allDocs(
21
20
  getTableParams(null, {
22
21
  include_docs: true,
23
22
  })
24
23
  )
25
-
26
- const internal = internalTables.rows.reduce((acc: any, row: Row) => {
27
- const sourceId = row.doc.sourceId || "bb_internal"
28
- acc[sourceId] = acc[sourceId] || []
29
- acc[sourceId].push(row.doc)
30
- return acc
31
- }, {})
24
+ const internal = internalTables.rows.map(row => row.doc)
32
25
 
33
26
  const bbInternalDb = {
34
27
  ...BudibaseInternalDB,
28
+ entities: internal,
35
29
  }
36
30
 
37
31
  // Get external datasources
@@ -43,24 +37,18 @@ export async function fetch(ctx: BBContext) {
43
37
  )
44
38
  ).rows.map(row => row.doc)
45
39
 
46
- const allDatasources = [bbInternalDb, ...datasources]
47
-
48
- for (let datasource of allDatasources) {
40
+ for (let datasource of datasources) {
49
41
  if (datasource.config && datasource.config.auth) {
50
42
  // strip secrets from response so they don't show in the network request
51
43
  delete datasource.config.auth
52
44
  }
53
-
54
- if (datasource.type === dbCore.BUDIBASE_DATASOURCE_TYPE) {
55
- datasource.entities = internal[datasource._id]
56
- }
57
45
  }
58
46
 
59
47
  ctx.body = [bbInternalDb, ...datasources]
60
48
  }
61
49
 
62
- export async function buildSchemaFromDb(ctx: BBContext) {
63
- const db = context.getAppDB()
50
+ exports.buildSchemaFromDb = async function (ctx) {
51
+ const db = getAppDB()
64
52
  const datasource = await db.get(ctx.params.datasourceId)
65
53
  const tablesFilter = ctx.request.body.tablesFilter
66
54
 
@@ -71,9 +59,7 @@ export async function buildSchemaFromDb(ctx: BBContext) {
71
59
  }
72
60
  for (let key in tables) {
73
61
  if (
74
- tablesFilter.some(
75
- (filter: any) => filter.toLowerCase() === key.toLowerCase()
76
- )
62
+ tablesFilter.some(filter => filter.toLowerCase() === key.toLowerCase())
77
63
  ) {
78
64
  datasource.entities[key] = tables[key]
79
65
  }
@@ -86,7 +72,7 @@ export async function buildSchemaFromDb(ctx: BBContext) {
86
72
  const dbResp = await db.put(datasource)
87
73
  datasource._rev = dbResp.rev
88
74
 
89
- const response: any = { datasource }
75
+ const response = { datasource }
90
76
  if (error) {
91
77
  response.error = error
92
78
  }
@@ -96,9 +82,9 @@ export async function buildSchemaFromDb(ctx: BBContext) {
96
82
  /**
97
83
  * Make sure all datasource entities have a display name selected
98
84
  */
99
- function setDefaultDisplayColumns(datasource: Datasource) {
85
+ const setDefaultDisplayColumns = datasource => {
100
86
  //
101
- for (let entity of Object.values(datasource.entities || {})) {
87
+ for (let entity of Object.values(datasource.entities)) {
102
88
  if (entity.primaryDisplay) {
103
89
  continue
104
90
  }
@@ -114,12 +100,9 @@ function setDefaultDisplayColumns(datasource: Datasource) {
114
100
  /**
115
101
  * Check for variables that have been updated or removed and invalidate them.
116
102
  */
117
- async function invalidateVariables(
118
- existingDatasource: Datasource,
119
- updatedDatasource: Datasource
120
- ) {
121
- const existingVariables: any = existingDatasource.config?.dynamicVariables
122
- const updatedVariables: any = updatedDatasource.config?.dynamicVariables
103
+ const invalidateVariables = async (existingDatasource, updatedDatasource) => {
104
+ const existingVariables = existingDatasource.config.dynamicVariables
105
+ const updatedVariables = updatedDatasource.config.dynamicVariables
123
106
  const toInvalidate = []
124
107
 
125
108
  if (!existingVariables) {
@@ -131,9 +114,9 @@ async function invalidateVariables(
131
114
  toInvalidate.push(...existingVariables)
132
115
  } else {
133
116
  // invaldate changed / removed
134
- existingVariables.forEach((existing: any) => {
117
+ existingVariables.forEach(existing => {
135
118
  const unchanged = updatedVariables.find(
136
- (updated: any) =>
119
+ updated =>
137
120
  existing.name === updated.name &&
138
121
  existing.queryId === updated.queryId &&
139
122
  existing.value === updated.value
@@ -146,8 +129,8 @@ async function invalidateVariables(
146
129
  await invalidateDynamicVariables(toInvalidate)
147
130
  }
148
131
 
149
- export async function update(ctx: BBContext) {
150
- const db = context.getAppDB()
132
+ exports.update = async function (ctx) {
133
+ const db = getAppDB()
151
134
  const datasourceId = ctx.params.datasourceId
152
135
  let datasource = await db.get(datasourceId)
153
136
  const auth = datasource.config.auth
@@ -175,8 +158,8 @@ export async function update(ctx: BBContext) {
175
158
  ctx.body = { datasource }
176
159
  }
177
160
 
178
- export async function save(ctx: BBContext) {
179
- const db = context.getAppDB()
161
+ exports.save = async function (ctx) {
162
+ const db = getAppDB()
180
163
  const plus = ctx.request.body.datasource.plus
181
164
  const fetchSchema = ctx.request.body.fetchSchema
182
165
 
@@ -206,63 +189,27 @@ export async function save(ctx: BBContext) {
206
189
  }
207
190
  }
208
191
 
209
- const response: any = { datasource }
192
+ const response = { datasource }
210
193
  if (schemaError) {
211
194
  response.error = schemaError
212
195
  }
213
196
  ctx.body = response
214
197
  }
215
198
 
216
- async function destroyInternalTablesBySourceId(datasourceId: string) {
217
- const db = context.getAppDB()
218
-
219
- // Get all internal tables
220
- const internalTables = await db.allDocs(
221
- getTableParams(null, {
222
- include_docs: true,
223
- })
224
- )
225
-
226
- // Filter by datasource and return the docs.
227
- const datasourceTableDocs = internalTables.rows.reduce(
228
- (acc: any, table: any) => {
229
- if (table.doc.sourceId == datasourceId) {
230
- acc.push(table.doc)
231
- }
232
- return acc
233
- },
234
- []
235
- )
236
-
237
- // Destroy the tables.
238
- for (const table of datasourceTableDocs) {
239
- await tableDestroy({
240
- params: {
241
- tableId: table._id,
242
- },
243
- })
244
- }
245
- }
246
-
247
- export async function destroy(ctx: BBContext) {
248
- const db = context.getAppDB()
199
+ exports.destroy = async function (ctx) {
200
+ const db = getAppDB()
249
201
  const datasourceId = ctx.params.datasourceId
250
202
 
251
203
  const datasource = await db.get(datasourceId)
252
204
  // Delete all queries for the datasource
253
-
254
- if (datasource.type === dbCore.BUDIBASE_DATASOURCE_TYPE) {
255
- await destroyInternalTablesBySourceId(datasourceId)
256
- } else {
257
- const queries = await db.allDocs(getQueryParams(datasourceId, null))
258
- await db.bulkDocs(
259
- queries.rows.map((row: any) => ({
260
- _id: row.id,
261
- _rev: row.value.rev,
262
- _deleted: true,
263
- }))
264
- )
265
- }
205
+ const queries = await db.allDocs(getQueryParams(datasourceId, null))
206
+ await db.bulkDocs(
207
+ queries.rows.map(row => ({
208
+ _id: row.id,
209
+ _rev: row.value.rev,
210
+ _deleted: true,
211
+ }))
212
+ )
266
213
 
267
214
  // delete the datasource
268
215
  await db.remove(datasourceId, ctx.params.revId)
@@ -272,28 +219,28 @@ export async function destroy(ctx: BBContext) {
272
219
  ctx.status = 200
273
220
  }
274
221
 
275
- export async function find(ctx: BBContext) {
276
- const database = context.getAppDB()
222
+ exports.find = async function (ctx) {
223
+ const database = getAppDB()
277
224
  ctx.body = await database.get(ctx.params.datasourceId)
278
225
  }
279
226
 
280
227
  // dynamic query functionality
281
- export async function query(ctx: BBContext) {
228
+ exports.query = async function (ctx) {
282
229
  const queryJson = ctx.request.body
283
230
  try {
284
231
  ctx.body = await getDatasourceAndQuery(queryJson)
285
- } catch (err: any) {
232
+ } catch (err) {
286
233
  ctx.throw(400, err)
287
234
  }
288
235
  }
289
236
 
290
- function getErrorTables(errors: any, errorType: string) {
237
+ function getErrorTables(errors, errorType) {
291
238
  return Object.entries(errors)
292
239
  .filter(entry => entry[1] === errorType)
293
240
  .map(([name]) => name)
294
241
  }
295
242
 
296
- function updateError(error: any, newError: any, tables: string[]) {
243
+ function updateError(error, newError, tables) {
297
244
  if (!error) {
298
245
  error = ""
299
246
  }
@@ -304,7 +251,7 @@ function updateError(error: any, newError: any, tables: string[]) {
304
251
  return error
305
252
  }
306
253
 
307
- async function buildSchemaHelper(datasource: Datasource) {
254
+ const buildSchemaHelper = async datasource => {
308
255
  const Connector = await getIntegration(datasource.source)
309
256
 
310
257
  // Connect to the DB and build the schema
@@ -1,20 +1,15 @@
1
- import newid from "../../../db/newid"
2
- import { context } from "@budibase/backend-core"
1
+ const newid = require("../../../db/newid")
2
+ const { getAppId } = require("@budibase/backend-core/context")
3
3
 
4
4
  /**
5
5
  * This is used to pass around information about the deployment that is occurring
6
6
  */
7
- export default class Deployment {
8
- _id: string
9
- verification: any
10
- status?: string
11
- err?: any
12
-
7
+ class Deployment {
13
8
  constructor(id = null) {
14
9
  this._id = id || newid()
15
10
  }
16
11
 
17
- setVerification(verification: any) {
12
+ setVerification(verification) {
18
13
  if (!verification) {
19
14
  return
20
15
  }
@@ -25,14 +20,14 @@ export default class Deployment {
25
20
  return this.verification
26
21
  }
27
22
 
28
- setStatus(status: string, err?: any) {
23
+ setStatus(status, err = null) {
29
24
  this.status = status
30
25
  if (err) {
31
26
  this.err = err
32
27
  }
33
28
  }
34
29
 
35
- fromJSON(json: any) {
30
+ fromJSON(json) {
36
31
  if (json.verification) {
37
32
  this.setVerification(json.verification)
38
33
  }
@@ -42,9 +37,9 @@ export default class Deployment {
42
37
  }
43
38
 
44
39
  getJSON() {
45
- const obj: any = {
40
+ const obj = {
46
41
  _id: this._id,
47
- appId: context.getAppId(),
42
+ appId: getAppId(),
48
43
  status: this.status,
49
44
  }
50
45
  if (this.err) {
@@ -56,3 +51,5 @@ export default class Deployment {
56
51
  return obj
57
52
  }
58
53
  }
54
+
55
+ module.exports = Deployment
@@ -1,11 +1,23 @@
1
1
  import Deployment from "./Deployment"
2
- import { context, db as dbCore, events, cache } from "@budibase/backend-core"
2
+ import {
3
+ getDevelopmentAppID,
4
+ getProdAppID,
5
+ Replication,
6
+ } from "@budibase/backend-core/db"
3
7
  import { DocumentType, getAutomationParams } from "../../../db/utils"
4
8
  import {
5
9
  clearMetadata,
6
10
  disableAllCrons,
7
11
  enableCronTrigger,
8
12
  } from "../../../automations/utils"
13
+ import { app as appCache } from "@budibase/backend-core/cache"
14
+ import {
15
+ getAppDB,
16
+ getAppId,
17
+ getDevAppDB,
18
+ getProdAppDB,
19
+ } from "@budibase/backend-core/context"
20
+ import { events } from "@budibase/backend-core"
9
21
  import { backups } from "@budibase/pro"
10
22
  import { AppBackupTrigger } from "@budibase/types"
11
23
 
@@ -37,7 +49,7 @@ async function checkAllDeployments(deployments: any) {
37
49
 
38
50
  async function storeDeploymentHistory(deployment: any) {
39
51
  const deploymentJSON = deployment.getJSON()
40
- const db = context.getAppDB()
52
+ const db = getAppDB()
41
53
 
42
54
  let deploymentDoc
43
55
  try {
@@ -65,7 +77,7 @@ async function storeDeploymentHistory(deployment: any) {
65
77
  }
66
78
 
67
79
  async function initDeployedApp(prodAppId: any) {
68
- const db = context.getProdAppDB()
80
+ const db = getProdAppDB()
69
81
  console.log("Reading automation docs")
70
82
  const automations = (
71
83
  await db.allDocs(
@@ -91,9 +103,9 @@ async function initDeployedApp(prodAppId: any) {
91
103
  async function deployApp(deployment: any, userId: string) {
92
104
  let replication
93
105
  try {
94
- const appId = context.getAppId()!
95
- const devAppId = dbCore.getDevelopmentAppID(appId)
96
- const productionAppId = dbCore.getProdAppID(appId)
106
+ const appId = getAppId()
107
+ const devAppId = getDevelopmentAppID(appId)
108
+ const productionAppId = getProdAppID(appId)
97
109
 
98
110
  // don't try this if feature isn't allowed, will error
99
111
  if (await backups.isEnabled()) {
@@ -110,8 +122,8 @@ async function deployApp(deployment: any, userId: string) {
110
122
  source: devAppId,
111
123
  target: productionAppId,
112
124
  }
113
- replication = new dbCore.Replication(config)
114
- const devDb = context.getDevAppDB()
125
+ replication = new Replication(config)
126
+ const devDb = getDevAppDB()
115
127
  console.log("Compacting development DB")
116
128
  await devDb.compact()
117
129
  console.log("Replication object created")
@@ -119,7 +131,7 @@ async function deployApp(deployment: any, userId: string) {
119
131
  console.log("replication complete.. replacing app meta doc")
120
132
  // app metadata is excluded as it is likely to be in conflict
121
133
  // replicate the app metadata document manually
122
- const db = context.getProdAppDB()
134
+ const db = getProdAppDB()
123
135
  const appDoc = await devDb.get(DocumentType.APP_METADATA)
124
136
  try {
125
137
  const prodAppDoc = await db.get(DocumentType.APP_METADATA)
@@ -135,7 +147,7 @@ async function deployApp(deployment: any, userId: string) {
135
147
  // remove automation errors if they exist
136
148
  delete appDoc.automationErrors
137
149
  await db.put(appDoc)
138
- await cache.app.invalidateAppMetadata(productionAppId)
150
+ await appCache.invalidateAppMetadata(productionAppId)
139
151
  console.log("New app doc written successfully.")
140
152
  await initDeployedApp(productionAppId)
141
153
  console.log("Deployed app initialised, setting deployment to successful")
@@ -158,7 +170,7 @@ async function deployApp(deployment: any, userId: string) {
158
170
 
159
171
  export async function fetchDeployments(ctx: any) {
160
172
  try {
161
- const db = context.getAppDB()
173
+ const db = getAppDB()
162
174
  const deploymentDoc = await db.get(DocumentType.DEPLOYMENTS)
163
175
  const { updated, deployments } = await checkAllDeployments(deploymentDoc)
164
176
  if (updated) {
@@ -172,7 +184,7 @@ export async function fetchDeployments(ctx: any) {
172
184
 
173
185
  export async function deploymentProgress(ctx: any) {
174
186
  try {
175
- const db = context.getAppDB()
187
+ const db = getAppDB()
176
188
  const deploymentDoc = await db.get(DocumentType.DEPLOYMENTS)
177
189
  ctx.body = deploymentDoc[ctx.params.deploymentId]
178
190
  } catch (err) {
@@ -185,7 +197,7 @@ export async function deploymentProgress(ctx: any) {
185
197
 
186
198
  const isFirstDeploy = async () => {
187
199
  try {
188
- const db = context.getProdAppDB()
200
+ const db = getProdAppDB()
189
201
  await db.get(DocumentType.APP_METADATA)
190
202
  } catch (e: any) {
191
203
  if (e.status === 404) {
@@ -1,23 +1,29 @@
1
- import fetch from "node-fetch"
2
- import env from "../../environment"
3
- import { checkSlashesInUrl } from "../../utilities"
4
- import { request } from "../../utilities/workerRequests"
5
- import { clearLock as redisClearLock } from "../../utilities/redis"
6
- import { DocumentType } from "../../db/utils"
7
- import { context } from "@budibase/backend-core"
8
- import { events, db as dbCore, cache } from "@budibase/backend-core"
1
+ const fetch = require("node-fetch")
2
+ const env = require("../../environment")
3
+ const { checkSlashesInUrl } = require("../../utilities")
4
+ const { request } = require("../../utilities/workerRequests")
5
+ const { clearLock } = require("../../utilities/redis")
6
+ const { Replication, getProdAppID } = require("@budibase/backend-core/db")
7
+ const { DocumentType } = require("../../db/utils")
8
+ const { app: appCache } = require("@budibase/backend-core/cache")
9
+ const { getProdAppDB, getAppDB } = require("@budibase/backend-core/context")
10
+ const { events } = require("@budibase/backend-core")
9
11
 
10
- async function redirect(ctx: any, method: string, path: string = "global") {
12
+ async function redirect(ctx, method, path = "global") {
11
13
  const { devPath } = ctx.params
12
14
  const queryString = ctx.originalUrl.split("?")[1] || ""
13
15
  const response = await fetch(
14
16
  checkSlashesInUrl(
15
17
  `${env.WORKER_URL}/api/${path}/${devPath}?${queryString}`
16
18
  ),
17
- request(ctx, {
18
- method,
19
- body: ctx.request.body,
20
- })
19
+ request(
20
+ ctx,
21
+ {
22
+ method,
23
+ body: ctx.request.body,
24
+ },
25
+ true
26
+ )
21
27
  )
22
28
  if (response.status !== 200) {
23
29
  const err = await response.text()
@@ -40,28 +46,28 @@ async function redirect(ctx: any, method: string, path: string = "global") {
40
46
  ctx.cookies
41
47
  }
42
48
 
43
- export function buildRedirectGet(path: string) {
44
- return async (ctx: any) => {
49
+ exports.buildRedirectGet = path => {
50
+ return async ctx => {
45
51
  await redirect(ctx, "GET", path)
46
52
  }
47
53
  }
48
54
 
49
- export function buildRedirectPost(path: string) {
50
- return async (ctx: any) => {
55
+ exports.buildRedirectPost = path => {
56
+ return async ctx => {
51
57
  await redirect(ctx, "POST", path)
52
58
  }
53
59
  }
54
60
 
55
- export function buildRedirectDelete(path: string) {
56
- return async (ctx: any) => {
61
+ exports.buildRedirectDelete = path => {
62
+ return async ctx => {
57
63
  await redirect(ctx, "DELETE", path)
58
64
  }
59
65
  }
60
66
 
61
- export async function clearLock(ctx: any) {
67
+ exports.clearLock = async ctx => {
62
68
  const { appId } = ctx.params
63
69
  try {
64
- await redisClearLock(appId, ctx.user)
70
+ await clearLock(appId, ctx.user)
65
71
  } catch (err) {
66
72
  ctx.throw(400, `Unable to remove lock. ${err}`)
67
73
  }
@@ -70,16 +76,16 @@ export async function clearLock(ctx: any) {
70
76
  }
71
77
  }
72
78
 
73
- export async function revert(ctx: any) {
79
+ exports.revert = async ctx => {
74
80
  const { appId } = ctx.params
75
- const productionAppId = dbCore.getProdAppID(appId)
81
+ const productionAppId = getProdAppID(appId)
76
82
 
77
83
  // App must have been deployed first
78
84
  try {
79
- const db = context.getProdAppDB({ skip_setup: true })
80
- const exists = await db.exists()
81
- if (!exists) {
82
- throw new Error("App must be deployed to be reverted.")
85
+ const db = getProdAppDB({ skip_setup: true })
86
+ const info = await db.info()
87
+ if (info.error) {
88
+ throw info.error
83
89
  }
84
90
  const deploymentDoc = await db.get(DocumentType.DEPLOYMENTS)
85
91
  if (
@@ -92,7 +98,7 @@ export async function revert(ctx: any) {
92
98
  return ctx.throw(400, "App has not yet been deployed")
93
99
  }
94
100
 
95
- const replication = new dbCore.Replication({
101
+ const replication = new Replication({
96
102
  source: productionAppId,
97
103
  target: appId,
98
104
  })
@@ -103,12 +109,12 @@ export async function revert(ctx: any) {
103
109
  }
104
110
 
105
111
  // update appID in reverted app to be dev version again
106
- const db = context.getAppDB()
112
+ const db = getAppDB()
107
113
  const appDoc = await db.get(DocumentType.APP_METADATA)
108
114
  appDoc.appId = appId
109
115
  appDoc.instance._id = appId
110
116
  await db.put(appDoc)
111
- await cache.app.invalidateAppMetadata(appId)
117
+ await appCache.invalidateAppMetadata(appId)
112
118
  ctx.body = {
113
119
  message: "Reverted changes successfully.",
114
120
  }
@@ -120,7 +126,7 @@ export async function revert(ctx: any) {
120
126
  }
121
127
  }
122
128
 
123
- export async function getBudibaseVersion(ctx: any) {
129
+ exports.getBudibaseVersion = async ctx => {
124
130
  const version = require("../../../package.json").version
125
131
  ctx.body = {
126
132
  version,
@@ -1,10 +1,10 @@
1
- import { EMPTY_LAYOUT } from "../../constants/layouts"
2
- import { generateLayoutID, getScreenParams } from "../../db/utils"
3
- import { events, context } from "@budibase/backend-core"
4
- import { BBContext } from "@budibase/types"
1
+ const { EMPTY_LAYOUT } = require("../../constants/layouts")
2
+ const { generateLayoutID, getScreenParams } = require("../../db/utils")
3
+ const { getAppDB } = require("@budibase/backend-core/context")
4
+ const { events } = require("@budibase/backend-core")
5
5
 
6
- export async function save(ctx: BBContext) {
7
- const db = context.getAppDB()
6
+ exports.save = async function (ctx) {
7
+ const db = getAppDB()
8
8
  let layout = ctx.request.body
9
9
 
10
10
  if (!layout.props) {
@@ -24,8 +24,8 @@ export async function save(ctx: BBContext) {
24
24
  ctx.status = 200
25
25
  }
26
26
 
27
- export async function destroy(ctx: BBContext) {
28
- const db = context.getAppDB()
27
+ exports.destroy = async function (ctx) {
28
+ const db = getAppDB()
29
29
  const layoutId = ctx.params.layoutId,
30
30
  layoutRev = ctx.params.layoutRev
31
31
 
@@ -1,16 +1,15 @@
1
- import { MetadataTypes } from "../../constants"
2
- import { generateMetadataID } from "../../db/utils"
3
- import { saveEntityMetadata, deleteEntityMetadata } from "../../utilities"
4
- import { context } from "@budibase/backend-core"
5
- import { BBContext } from "@budibase/types"
1
+ const { MetadataTypes } = require("../../constants")
2
+ const { generateMetadataID } = require("../../db/utils")
3
+ const { saveEntityMetadata, deleteEntityMetadata } = require("../../utilities")
4
+ const { getAppDB } = require("@budibase/backend-core/context")
6
5
 
7
- export async function getTypes(ctx: BBContext) {
6
+ exports.getTypes = async ctx => {
8
7
  ctx.body = {
9
8
  types: MetadataTypes,
10
9
  }
11
10
  }
12
11
 
13
- export async function saveMetadata(ctx: BBContext) {
12
+ exports.saveMetadata = async ctx => {
14
13
  const { type, entityId } = ctx.params
15
14
  if (type === MetadataTypes.AUTOMATION_TEST_HISTORY) {
16
15
  ctx.throw(400, "Cannot save automation history type")
@@ -18,7 +17,7 @@ export async function saveMetadata(ctx: BBContext) {
18
17
  ctx.body = await saveEntityMetadata(type, entityId, ctx.request.body)
19
18
  }
20
19
 
21
- export async function deleteMetadata(ctx: BBContext) {
20
+ exports.deleteMetadata = async ctx => {
22
21
  const { type, entityId } = ctx.params
23
22
  await deleteEntityMetadata(type, entityId)
24
23
  ctx.body = {
@@ -26,13 +25,13 @@ export async function deleteMetadata(ctx: BBContext) {
26
25
  }
27
26
  }
28
27
 
29
- export async function getMetadata(ctx: BBContext) {
28
+ exports.getMetadata = async ctx => {
30
29
  const { type, entityId } = ctx.params
31
- const db = context.getAppDB()
30
+ const db = getAppDB()
32
31
  const id = generateMetadataID(type, entityId)
33
32
  try {
34
33
  ctx.body = await db.get(id)
35
- } catch (err: any) {
34
+ } catch (err) {
36
35
  if (err.status === 404) {
37
36
  ctx.body = {}
38
37
  } else {