@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,8 +1,11 @@
1
- import { db as dbCore, objectStore } from "@budibase/backend-core"
2
- import { Database } from "@budibase/types"
1
+ import { db as dbCore } from "@budibase/backend-core"
3
2
  import { getAutomationParams, TABLE_ROW_PREFIX } from "../../../db/utils"
4
3
  import { budibaseTempDir } from "../../../utilities/budibaseDir"
5
4
  import { DB_EXPORT_FILE, GLOBAL_DB_EXPORT_FILE } from "./constants"
5
+ import {
6
+ upload,
7
+ uploadDirectory,
8
+ } from "../../../utilities/fileSystem/utilities"
6
9
  import { downloadTemplate } from "../../../utilities/fileSystem"
7
10
  import { FieldTypes, ObjectStoreBuckets } from "../../../constants"
8
11
  import { join } from "path"
@@ -14,6 +17,7 @@ import {
14
17
  CouchFindOptions,
15
18
  RowAttachment,
16
19
  } from "@budibase/types"
20
+ import PouchDB from "pouchdb"
17
21
  const uuid = require("uuid/v4")
18
22
  const tar = require("tar")
19
23
 
@@ -25,7 +29,10 @@ type TemplateType = {
25
29
  key?: string
26
30
  }
27
31
 
28
- async function updateAttachmentColumns(prodAppId: string, db: Database) {
32
+ async function updateAttachmentColumns(
33
+ prodAppId: string,
34
+ db: PouchDB.Database
35
+ ) {
29
36
  // iterate through attachment documents and update them
30
37
  const tables = await sdk.tables.getAllInternalTables(db)
31
38
  for (let table of tables) {
@@ -79,7 +86,7 @@ async function updateAttachmentColumns(prodAppId: string, db: Database) {
79
86
  }
80
87
  }
81
88
 
82
- async function updateAutomations(prodAppId: string, db: Database) {
89
+ async function updateAutomations(prodAppId: string, db: PouchDB.Database) {
83
90
  const automations = (
84
91
  await db.allDocs(
85
92
  getAutomationParams(null, {
@@ -147,7 +154,7 @@ export function getListOfAppsInMulti(tmpPath: string) {
147
154
 
148
155
  export async function importApp(
149
156
  appId: string,
150
- db: Database,
157
+ db: PouchDB.Database,
151
158
  template: TemplateType
152
159
  ) {
153
160
  let prodAppId = dbCore.getProdAppID(appId)
@@ -170,11 +177,11 @@ export async function importApp(
170
177
  filename = join(prodAppId, filename)
171
178
  if (fs.lstatSync(path).isDirectory()) {
172
179
  promises.push(
173
- objectStore.uploadDirectory(ObjectStoreBuckets.APPS, path, filename)
180
+ uploadDirectory(ObjectStoreBuckets.APPS, path, filename)
174
181
  )
175
182
  } else {
176
183
  promises.push(
177
- objectStore.upload({
184
+ upload({
178
185
  bucket: ObjectStoreBuckets.APPS,
179
186
  path,
180
187
  filename,
@@ -1,13 +1,13 @@
1
1
  import { context, db as dbCore } from "@budibase/backend-core"
2
- import { Database } from "@budibase/types"
3
2
  import {
4
3
  getDatasourceParams,
5
4
  getTableParams,
6
5
  getAutomationParams,
7
6
  getScreenParams,
8
7
  } from "../../../db/utils"
8
+ import PouchDB from "pouchdb"
9
9
 
10
- async function runInContext(appId: string, cb: any, db?: Database) {
10
+ async function runInContext(appId: string, cb: any, db?: PouchDB.Database) {
11
11
  if (db) {
12
12
  return cb(db)
13
13
  } else {
@@ -19,10 +19,13 @@ async function runInContext(appId: string, cb: any, db?: Database) {
19
19
  }
20
20
  }
21
21
 
22
- export async function calculateDatasourceCount(appId: string, db?: Database) {
22
+ export async function calculateDatasourceCount(
23
+ appId: string,
24
+ db?: PouchDB.Database
25
+ ) {
23
26
  return runInContext(
24
27
  appId,
25
- async (db: Database) => {
28
+ async (db: PouchDB.Database) => {
26
29
  const datasourceList = await db.allDocs(getDatasourceParams())
27
30
  const tableList = await db.allDocs(getTableParams())
28
31
  return datasourceList.rows.length + tableList.rows.length
@@ -31,10 +34,13 @@ export async function calculateDatasourceCount(appId: string, db?: Database) {
31
34
  )
32
35
  }
33
36
 
34
- export async function calculateAutomationCount(appId: string, db?: Database) {
37
+ export async function calculateAutomationCount(
38
+ appId: string,
39
+ db?: PouchDB.Database
40
+ ) {
35
41
  return runInContext(
36
42
  appId,
37
- async (db: Database) => {
43
+ async (db: PouchDB.Database) => {
38
44
  const automationList = await db.allDocs(getAutomationParams())
39
45
  return automationList.rows.length
40
46
  },
@@ -42,10 +48,13 @@ export async function calculateAutomationCount(appId: string, db?: Database) {
42
48
  )
43
49
  }
44
50
 
45
- export async function calculateScreenCount(appId: string, db?: Database) {
51
+ export async function calculateScreenCount(
52
+ appId: string,
53
+ db?: PouchDB.Database
54
+ ) {
46
55
  return runInContext(
47
56
  appId,
48
- async (db: Database) => {
57
+ async (db: PouchDB.Database) => {
49
58
  const screenList = await db.allDocs(getScreenParams())
50
59
  return screenList.rows.length
51
60
  },
@@ -54,7 +63,7 @@ export async function calculateScreenCount(appId: string, db?: Database) {
54
63
  }
55
64
 
56
65
  export async function calculateBackupStats(appId: string) {
57
- return runInContext(appId, async (db: Database) => {
66
+ return runInContext(appId, async (db: PouchDB.Database) => {
58
67
  const promises = []
59
68
  promises.push(calculateDatasourceCount(appId, db))
60
69
  promises.push(calculateAutomationCount(appId, db))
@@ -1,15 +1,16 @@
1
- import { context } from "@budibase/backend-core"
1
+ import { getAppDB } from "@budibase/backend-core/context"
2
2
  import { BudibaseInternalDB, getTableParams } from "../../../db/utils"
3
3
  import {
4
4
  breakExternalTableId,
5
5
  isExternalTable,
6
6
  isSQL,
7
7
  } from "../../../integrations/utils"
8
- import { Table, Database } from "@budibase/types"
8
+ import { Table } from "@budibase/types"
9
+ import PouchDB from "pouchdb"
9
10
 
10
- async function getAllInternalTables(db?: Database): Promise<Table[]> {
11
+ async function getAllInternalTables(db?: PouchDB.Database): Promise<Table[]> {
11
12
  if (!db) {
12
- db = context.getAppDB()
13
+ db = getAppDB() as PouchDB.Database
13
14
  }
14
15
  const internalTables = await db.allDocs(
15
16
  getTableParams(null, {
@@ -19,12 +20,12 @@ async function getAllInternalTables(db?: Database): Promise<Table[]> {
19
20
  return internalTables.rows.map((tableDoc: any) => ({
20
21
  ...tableDoc.doc,
21
22
  type: "internal",
22
- sourceId: tableDoc.doc.sourceId || BudibaseInternalDB._id,
23
+ sourceId: BudibaseInternalDB._id,
23
24
  }))
24
25
  }
25
26
 
26
27
  async function getAllExternalTables(datasourceId: any): Promise<Table[]> {
27
- const db = context.getAppDB()
28
+ const db = getAppDB()
28
29
  const datasource = await db.get(datasourceId)
29
30
  if (!datasource || !datasource.entities) {
30
31
  throw "Datasource is not configured fully."
@@ -41,7 +42,7 @@ async function getExternalTable(
41
42
  }
42
43
 
43
44
  async function getTable(tableId: any): Promise<Table> {
44
- const db = context.getAppDB()
45
+ const db = getAppDB()
45
46
  if (isExternalTable(tableId)) {
46
47
  let { datasourceId, tableName } = breakExternalTableId(tableId)
47
48
  const datasource = await db.get(datasourceId)
package/src/startup.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as env from "./environment"
2
- import * as redis from "./utilities/redis"
2
+ import redis from "./utilities/redis"
3
3
  import {
4
4
  createAdminUser,
5
5
  generateApiKey,
@@ -19,7 +19,7 @@ import eventEmitter from "./events"
19
19
  import * as migrations from "./migrations"
20
20
  import bullboard from "./automations/bullboard"
21
21
  import * as pro from "@budibase/pro"
22
- import * as api from "./api"
22
+ import api from "./api"
23
23
  import sdk from "./sdk"
24
24
  const pino = require("koa-pino-logger")
25
25
 
@@ -1,4 +1,5 @@
1
1
  require("../../db").init()
2
+ const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
2
3
  const env = require("../../environment")
3
4
  const {
4
5
  basicTable,
@@ -12,21 +13,18 @@ const {
12
13
  basicWebhook,
13
14
  TENANT_ID,
14
15
  } = require("./structures")
15
- const {
16
- constants,
17
- tenancy,
18
- sessions,
19
- cache,
20
- context,
21
- db: dbCore,
22
- encryption,
23
- auth,
24
- roles,
25
- } = require("@budibase/backend-core")
26
16
  const controllers = require("./controllers")
27
17
  const supertest = require("supertest")
28
18
  const { cleanup } = require("../../utilities/fileSystem")
19
+ const { Cookies, Headers } = require("@budibase/backend-core/constants")
20
+ const { jwt } = require("@budibase/backend-core/auth")
21
+ const { doInTenant, doWithGlobalDB } = require("@budibase/backend-core/tenancy")
22
+ const { createASession } = require("@budibase/backend-core/sessions")
23
+ const { user: userCache } = require("@budibase/backend-core/cache")
29
24
  const newid = require("../../db/newid")
25
+ const context = require("@budibase/backend-core/context")
26
+ const { generateDevInfoID, SEPARATOR } = require("@budibase/backend-core/db")
27
+ const { encrypt } = require("@budibase/backend-core/encryption")
30
28
  const { DocumentType, generateUserMetadataID } = require("../../db/utils")
31
29
  const { startup } = require("../../startup")
32
30
 
@@ -85,7 +83,7 @@ class TestConfiguration {
85
83
  if (!appId) {
86
84
  appId = this.appId
87
85
  }
88
- return tenancy.doInTenant(TENANT_ID, () => {
86
+ return doInTenant(TENANT_ID, () => {
89
87
  // check if already in a context
90
88
  if (context.getAppId() == null && appId !== null) {
91
89
  return context.doInAppContext(appId, async () => {
@@ -118,9 +116,7 @@ class TestConfiguration {
118
116
  if (this.server) {
119
117
  this.server.close()
120
118
  }
121
- if (this.allApps) {
122
- cleanup(this.allApps.map(app => app.appId))
123
- }
119
+ cleanup(this.allApps.map(app => app.appId))
124
120
  }
125
121
 
126
122
  // UTILS
@@ -157,7 +153,7 @@ class TestConfiguration {
157
153
  email = EMAIL,
158
154
  roles,
159
155
  } = {}) {
160
- return tenancy.doWithGlobalDB(TENANT_ID, async db => {
156
+ return doWithGlobalDB(TENANT_ID, async db => {
161
157
  let existing
162
158
  try {
163
159
  existing = await db.get(id)
@@ -172,7 +168,7 @@ class TestConfiguration {
172
168
  firstName,
173
169
  lastName,
174
170
  }
175
- await sessions.createASession(id, {
171
+ await createASession(id, {
176
172
  sessionId: "sessionid",
177
173
  tenantId: TENANT_ID,
178
174
  csrfToken: CSRF_TOKEN,
@@ -214,7 +210,7 @@ class TestConfiguration {
214
210
  admin,
215
211
  roles,
216
212
  })
217
- await cache.user.invalidateUser(globalId)
213
+ await userCache.invalidateUser(globalId)
218
214
  return {
219
215
  ...resp,
220
216
  globalId,
@@ -229,19 +225,19 @@ class TestConfiguration {
229
225
  throw "Server has not been opened, cannot login."
230
226
  }
231
227
  // make sure the user exists in the global DB
232
- if (roleId !== roles.BUILTIN_ROLE_IDS.PUBLIC) {
228
+ if (roleId !== BUILTIN_ROLE_IDS.PUBLIC) {
233
229
  await this.globalUser({
234
230
  id: userId,
235
231
  builder,
236
232
  roles: { [this.prodAppId]: roleId },
237
233
  })
238
234
  }
239
- await sessions.createASession(userId, {
235
+ await createASession(userId, {
240
236
  sessionId: "sessionid",
241
237
  tenantId: TENANT_ID,
242
238
  })
243
239
  // have to fake this
244
- const authObj = {
240
+ const auth = {
245
241
  userId,
246
242
  sessionId: "sessionid",
247
243
  tenantId: TENANT_ID,
@@ -250,45 +246,45 @@ class TestConfiguration {
250
246
  roleId: roleId,
251
247
  appId,
252
248
  }
253
- const authToken = auth.jwt.sign(authObj, env.JWT_SECRET)
254
- const appToken = auth.jwt.sign(app, env.JWT_SECRET)
249
+ const authToken = jwt.sign(auth, env.JWT_SECRET)
250
+ const appToken = jwt.sign(app, env.JWT_SECRET)
255
251
 
256
252
  // returning necessary request headers
257
- await cache.user.invalidateUser(userId)
253
+ await userCache.invalidateUser(userId)
258
254
  return {
259
255
  Accept: "application/json",
260
256
  Cookie: [
261
- `${constants.Cookie.Auth}=${authToken}`,
262
- `${constants.Cookie.CurrentApp}=${appToken}`,
257
+ `${Cookies.Auth}=${authToken}`,
258
+ `${Cookies.CurrentApp}=${appToken}`,
263
259
  ],
264
- [constants.Header.APP_ID]: appId,
260
+ [Headers.APP_ID]: appId,
265
261
  }
266
262
  })
267
263
  }
268
264
 
269
265
  defaultHeaders(extras = {}) {
270
- const authObj = {
266
+ const auth = {
271
267
  userId: GLOBAL_USER_ID,
272
268
  sessionId: "sessionid",
273
269
  tenantId: TENANT_ID,
274
270
  }
275
271
  const app = {
276
- roleId: roles.BUILTIN_ROLE_IDS.ADMIN,
272
+ roleId: BUILTIN_ROLE_IDS.ADMIN,
277
273
  appId: this.appId,
278
274
  }
279
- const authToken = auth.jwt.sign(authObj, env.JWT_SECRET)
280
- const appToken = auth.jwt.sign(app, env.JWT_SECRET)
275
+ const authToken = jwt.sign(auth, env.JWT_SECRET)
276
+ const appToken = jwt.sign(app, env.JWT_SECRET)
281
277
  const headers = {
282
278
  Accept: "application/json",
283
279
  Cookie: [
284
- `${constants.Cookie.Auth}=${authToken}`,
285
- `${constants.Cookie.CurrentApp}=${appToken}`,
280
+ `${Cookies.Auth}=${authToken}`,
281
+ `${Cookies.CurrentApp}=${appToken}`,
286
282
  ],
287
- [constants.Header.CSRF_TOKEN]: CSRF_TOKEN,
283
+ [Headers.CSRF_TOKEN]: CSRF_TOKEN,
288
284
  ...extras,
289
285
  }
290
286
  if (this.appId) {
291
- headers[constants.Header.APP_ID] = this.appId
287
+ headers[Headers.APP_ID] = this.appId
292
288
  }
293
289
  return headers
294
290
  }
@@ -300,14 +296,14 @@ class TestConfiguration {
300
296
  Accept: "application/json",
301
297
  }
302
298
  if (appId) {
303
- headers[constants.Header.APP_ID] = appId
299
+ headers[Headers.APP_ID] = appId
304
300
  }
305
301
  return headers
306
302
  }
307
303
 
308
304
  async roleHeaders({
309
305
  email = EMAIL,
310
- roleId = roles.BUILTIN_ROLE_IDS.ADMIN,
306
+ roleId = BUILTIN_ROLE_IDS.ADMIN,
311
307
  builder = false,
312
308
  prodApp = true,
313
309
  } = {}) {
@@ -317,17 +313,15 @@ class TestConfiguration {
317
313
  // API
318
314
 
319
315
  async generateApiKey(userId = GLOBAL_USER_ID) {
320
- return tenancy.doWithGlobalDB(TENANT_ID, async db => {
321
- const id = dbCore.generateDevInfoID(userId)
316
+ return doWithGlobalDB(TENANT_ID, async db => {
317
+ const id = generateDevInfoID(userId)
322
318
  let devInfo
323
319
  try {
324
320
  devInfo = await db.get(id)
325
321
  } catch (err) {
326
322
  devInfo = { _id: id, userId }
327
323
  }
328
- devInfo.apiKey = encryption.encrypt(
329
- `${TENANT_ID}${dbCore.SEPARATOR}${newid()}`
330
- )
324
+ devInfo.apiKey = encrypt(`${TENANT_ID}${SEPARATOR}${newid()}`)
331
325
  await db.put(devInfo)
332
326
  return devInfo.apiKey
333
327
  })
@@ -1,4 +1,5 @@
1
- const { roles, permissions } = require("@budibase/backend-core")
1
+ const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
2
+ const { BUILTIN_PERMISSION_IDS } = require("@budibase/backend-core/permissions")
2
3
  const { createHomeScreen } = require("../../constants/screens")
3
4
  const { EMPTY_LAYOUT } = require("../../constants/layouts")
4
5
  const { cloneDeep } = require("lodash/fp")
@@ -133,8 +134,8 @@ exports.basicLinkedRow = (tableId, linkedRowId, linkField = "link") => {
133
134
  exports.basicRole = () => {
134
135
  return {
135
136
  name: "NewRole",
136
- inherits: roles.BUILTIN_ROLE_IDS.BASIC,
137
- permissionId: permissions.BuiltinPermissionID.READ_ONLY,
137
+ inherits: BUILTIN_ROLE_IDS.BASIC,
138
+ permissionId: BUILTIN_PERMISSION_IDS.READ_ONLY,
138
139
  }
139
140
  }
140
141
 
@@ -23,14 +23,15 @@ import {
23
23
  AutomationMetadata,
24
24
  } from "../definitions/automations"
25
25
  import { WorkerCallback } from "./definitions"
26
- import { context, logging } from "@budibase/backend-core"
27
- import { processObject } from "@budibase/string-templates"
28
- import { cloneDeep } from "lodash/fp"
29
- import env from "../environment"
26
+ const { doInAppContext, getAppDB } = require("@budibase/backend-core/context")
27
+ const { logAlertWithInfo, logWarn } = require("@budibase/backend-core/logging")
28
+ const { processObject } = require("@budibase/string-templates")
30
29
  const FILTER_STEP_ID = actions.ACTION_DEFINITIONS.FILTER.stepId
31
30
  const LOOP_STEP_ID = actions.ACTION_DEFINITIONS.LOOP.stepId
32
31
  const CRON_STEP_ID = triggerDefs.CRON.stepId
33
32
  const STOPPED_STATUS = { success: true, status: AutomationStatus.STOPPED }
33
+ const { cloneDeep } = require("lodash/fp")
34
+ const env = require("../environment")
34
35
 
35
36
  function typecastForLooping(loopStep: LoopStep, input: LoopInput) {
36
37
  if (!input || !input.binding) {
@@ -119,8 +120,8 @@ class Orchestrator {
119
120
  }
120
121
 
121
122
  async getMetadata(): Promise<AutomationMetadata> {
122
- const metadataId = generateAutomationMetadataID(this._automation._id!)
123
- const db = context.getAppDB()
123
+ const metadataId = generateAutomationMetadataID(this._automation._id)
124
+ const db = getAppDB()
124
125
  let metadata: AutomationMetadata
125
126
  try {
126
127
  metadata = await db.get(metadataId)
@@ -137,7 +138,7 @@ class Orchestrator {
137
138
  if (!this._job.opts.repeat) {
138
139
  return
139
140
  }
140
- logging.logWarn(
141
+ logWarn(
141
142
  `CRON disabled reason=${reason} - ${this._appId}/${this._automation._id}`
142
143
  )
143
144
  const automation = this._automation
@@ -183,14 +184,14 @@ class Orchestrator {
183
184
  } else {
184
185
  metadata.errorCount = 0
185
186
  }
186
- const db = context.getAppDB()
187
+ const db = getAppDB()
187
188
  try {
188
189
  await db.put(metadata)
189
190
  } catch (err) {
190
- logging.logAlertWithInfo(
191
+ logAlertWithInfo(
191
192
  "Failed to write automation metadata",
192
193
  db.name,
193
- automation._id!,
194
+ automation._id,
194
195
  err
195
196
  )
196
197
  }
@@ -264,7 +265,7 @@ class Orchestrator {
264
265
 
265
266
  for (let step of automation.definition.steps) {
266
267
  stepCount++
267
- let input: any,
268
+ let input,
268
269
  iterations = 1,
269
270
  iterationCount = 0
270
271
 
@@ -282,7 +283,7 @@ class Orchestrator {
282
283
  let originalStepInput = cloneDeep(step.inputs)
283
284
  // Handle if the user has set a max iteration count or if it reaches the max limit set by us
284
285
  if (loopStep && input.binding) {
285
- let newInput: any = await processObject(
286
+ let newInput = await processObject(
286
287
  loopStep.inputs,
287
288
  cloneDeep(this._context)
288
289
  )
@@ -351,7 +352,7 @@ class Orchestrator {
351
352
  }
352
353
  }
353
354
  if (
354
- index === env.AUTOMATION_MAX_ITERATIONS ||
355
+ index === env.AUTOMATION_MAX_ITERATION ||
355
356
  index === parseInt(loopStep.inputs.iterations)
356
357
  ) {
357
358
  this.updateContextAndOutput(loopStepNumber, step, tempOutput, {
@@ -480,7 +481,7 @@ export function execute(job: Job, callback: WorkerCallback) {
480
481
  if (!appId) {
481
482
  throw new Error("Unable to execute, event doesn't contain app ID.")
482
483
  }
483
- return context.doInAppContext(appId, async () => {
484
+ doInAppContext(appId, async () => {
484
485
  const automationOrchestrator = new Orchestrator(job)
485
486
  try {
486
487
  const response = await automationOrchestrator.execute()
@@ -496,7 +497,7 @@ export const removeStalled = async (job: Job) => {
496
497
  if (!appId) {
497
498
  throw new Error("Unable to execute, event doesn't contain app ID.")
498
499
  }
499
- await context.doInAppContext(appId, async () => {
500
+ await doInAppContext(appId, async () => {
500
501
  const automationOrchestrator = new Orchestrator(job)
501
502
  await automationOrchestrator.stopCron("stalled")
502
503
  })
@@ -1,12 +1,17 @@
1
1
  import { default as threadUtils } from "./utils"
2
2
  threadUtils.threadSetup()
3
3
  import { WorkerCallback, QueryEvent, QueryVariable } from "./definitions"
4
- import ScriptRunner from "../utilities/scriptRunner"
5
- import { getIntegration } from "../integrations"
6
- import { processStringSync } from "@budibase/string-templates"
7
- import { context, cache, auth } from "@budibase/backend-core"
8
- import { getGlobalIDFromUserMetadataID } from "../db/utils"
9
- import { cloneDeep } from "lodash/fp"
4
+ const ScriptRunner = require("../utilities/scriptRunner")
5
+ const { getIntegration } = require("../integrations")
6
+ const { processStringSync } = require("@budibase/string-templates")
7
+ const { doInAppContext, getAppDB } = require("@budibase/backend-core/context")
8
+ const {
9
+ refreshOAuthToken,
10
+ updateUserOAuth,
11
+ } = require("@budibase/backend-core/auth")
12
+ const { user: userCache } = require("@budibase/backend-core/cache")
13
+ const { getGlobalIDFromUserMetadataID } = require("../db/utils")
14
+ const { cloneDeep } = require("lodash/fp")
10
15
 
11
16
  const { isSQL } = require("../integrations/utils")
12
17
  const {
@@ -165,7 +170,7 @@ class QueryRunner {
165
170
  }
166
171
 
167
172
  async runAnotherQuery(queryId: string, parameters: any) {
168
- const db = context.getAppDB()
173
+ const db = getAppDB()
169
174
  const query = await db.get(queryId)
170
175
  const datasource = await db.get(query.datasourceId)
171
176
  return new QueryRunner(
@@ -189,7 +194,7 @@ class QueryRunner {
189
194
  throw new Error("No refresh token found for authenticated user")
190
195
  }
191
196
 
192
- const resp: any = await auth.refreshOAuthToken(
197
+ const resp = await refreshOAuthToken(
193
198
  oauth2.refreshToken,
194
199
  providerType,
195
200
  configId
@@ -199,8 +204,8 @@ class QueryRunner {
199
204
  // There are several other properties available in 'resp'
200
205
  if (!resp.err) {
201
206
  const globalUserId = getGlobalIDFromUserMetadataID(_id)
202
- await auth.updateUserOAuth(globalUserId, resp)
203
- this.ctx.user = await cache.user.getUser(globalUserId)
207
+ await updateUserOAuth(globalUserId, resp)
208
+ this.ctx.user = await userCache.getUser(globalUserId)
204
209
  } else {
205
210
  // In this event the user may have oAuth issues that
206
211
  // could require re-authenticating with their provider.
@@ -280,7 +285,7 @@ class QueryRunner {
280
285
  }
281
286
 
282
287
  export function execute(input: QueryEvent, callback: WorkerCallback) {
283
- context.doInAppContext(input.appId!, async () => {
288
+ doInAppContext(input.appId, async () => {
284
289
  const Runner = new QueryRunner(input)
285
290
  try {
286
291
  const response = await Runner.execute()
@@ -1,7 +1,8 @@
1
1
  import { QueryVariable } from "./definitions"
2
- import env from "../environment"
3
- import db from "../db"
4
- import { redis, db as dbCore } from "@budibase/backend-core"
2
+ const env = require("../environment")
3
+ const db = require("../db")
4
+ const redis = require("@budibase/backend-core/redis")
5
+ const { SEPARATOR } = require("@budibase/backend-core/db")
5
6
 
6
7
  const VARIABLE_TTL_SECONDS = 3600
7
8
  let client: any
@@ -20,7 +21,7 @@ process.on("exit", async () => {
20
21
  })
21
22
 
22
23
  function makeVariableKey(queryId: string, variable: string) {
23
- return `${queryId}${dbCore.SEPARATOR}${variable}`
24
+ return `${queryId}${SEPARATOR}${variable}`
24
25
  }
25
26
 
26
27
  export function threadSetup() {
@@ -0,0 +1,3 @@
1
+ const { budibaseTempDir } = require("@budibase/backend-core/objectStore")
2
+
3
+ module.exports.budibaseTempDir = budibaseTempDir