@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
@@ -8,19 +8,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.importApps = exports.hasBeenImported = exports.exportApps = void 0;
16
- const environment_1 = __importDefault(require("../../environment"));
17
- const backend_core_1 = require("@budibase/backend-core");
18
- const fileSystem_1 = require("../../utilities/fileSystem");
19
- const utilities_1 = require("../../utilities");
20
- const utils_1 = require("../../db/utils");
21
- const application_1 = require("./application");
22
- const path_1 = require("path");
23
- const sdk_1 = __importDefault(require("../../sdk"));
11
+ const env = require("../../environment");
12
+ const { getAllApps, getGlobalDBName } = require("@budibase/backend-core/db");
13
+ const { getGlobalDB } = require("@budibase/backend-core/tenancy");
14
+ const { streamFile } = require("../../utilities/fileSystem");
15
+ const { stringToReadStream } = require("../../utilities");
16
+ const { getDocParams, DocumentType, isDevAppID } = require("../../db/utils");
17
+ const { create } = require("./application");
18
+ const { join } = require("path");
19
+ const sdk = require("../../sdk");
24
20
  function createApp(appName, appDirectory) {
25
21
  return __awaiter(this, void 0, void 0, function* () {
26
22
  const ctx = {
@@ -36,90 +32,81 @@ function createApp(appName, appDirectory) {
36
32
  },
37
33
  },
38
34
  };
39
- return (0, application_1.create)(ctx);
35
+ return create(ctx);
40
36
  });
41
37
  }
42
38
  function getAllDocType(db, docType) {
43
39
  return __awaiter(this, void 0, void 0, function* () {
44
- const response = yield db.allDocs((0, utils_1.getDocParams)(docType, null, {
40
+ const response = yield db.allDocs(getDocParams(docType, null, {
45
41
  include_docs: true,
46
42
  }));
47
43
  return response.rows.map(row => row.doc);
48
44
  });
49
45
  }
50
- function exportApps(ctx) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- if (environment_1.default.SELF_HOSTED || !environment_1.default.MULTI_TENANCY) {
53
- ctx.throw(400, "Exporting only allowed in multi-tenant cloud environments.");
54
- }
55
- const apps = (yield backend_core_1.db.getAllApps({ all: true }));
56
- const globalDBString = yield sdk_1.default.backups.exportDB(backend_core_1.db.getGlobalDBName(), {
57
- filter: (doc) => !doc._id.startsWith(utils_1.DocumentType.USER),
58
- });
59
- // only export the dev apps as they will be the latest, the user can republish the apps
60
- // in their self-hosted environment
61
- let appMetadata = apps
62
- .filter((app) => (0, utils_1.isDevAppID)(app.appId || app._id))
63
- .map((app) => ({ appId: (app.appId || app._id), name: app.name }));
64
- const tmpPath = yield sdk_1.default.backups.exportMultipleApps(appMetadata, globalDBString);
65
- const filename = `cloud-export-${new Date().getTime()}.tar.gz`;
66
- ctx.attachment(filename);
67
- ctx.body = (0, fileSystem_1.streamFile)(tmpPath);
46
+ exports.exportApps = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
47
+ if (env.SELF_HOSTED || !env.MULTI_TENANCY) {
48
+ ctx.throw(400, "Exporting only allowed in multi-tenant cloud environments.");
49
+ }
50
+ const apps = yield getAllApps({ all: true });
51
+ const globalDBString = yield sdk.backups.exportDB(getGlobalDBName(), {
52
+ filter: doc => !doc._id.startsWith(DocumentType.USER),
68
53
  });
69
- }
70
- exports.exportApps = exportApps;
71
- function checkHasBeenImported() {
54
+ // only export the dev apps as they will be the latest, the user can republish the apps
55
+ // in their self-hosted environment
56
+ let appMetadata = apps
57
+ .filter(app => isDevAppID(app.appId || app._id))
58
+ .map(app => ({ appId: app.appId || app._id, name: app.name }));
59
+ const tmpPath = yield sdk.backups.exportMultipleApps(appMetadata, globalDBString);
60
+ const filename = `cloud-export-${new Date().getTime()}.tar.gz`;
61
+ ctx.attachment(filename);
62
+ ctx.body = streamFile(tmpPath);
63
+ });
64
+ function hasBeenImported() {
72
65
  return __awaiter(this, void 0, void 0, function* () {
73
- if (!environment_1.default.SELF_HOSTED || environment_1.default.MULTI_TENANCY) {
66
+ if (!env.SELF_HOSTED || env.MULTI_TENANCY) {
74
67
  return true;
75
68
  }
76
- const apps = yield backend_core_1.db.getAllApps({ all: true });
69
+ const apps = yield getAllApps({ all: true });
77
70
  return apps.length !== 0;
78
71
  });
79
72
  }
80
- function hasBeenImported(ctx) {
81
- return __awaiter(this, void 0, void 0, function* () {
82
- ctx.body = {
83
- imported: yield checkHasBeenImported(),
84
- };
85
- });
86
- }
87
- exports.hasBeenImported = hasBeenImported;
88
- function importApps(ctx) {
89
- return __awaiter(this, void 0, void 0, function* () {
90
- if (!environment_1.default.SELF_HOSTED || environment_1.default.MULTI_TENANCY) {
91
- ctx.throw(400, "Importing only allowed in self hosted environments.");
92
- }
93
- const beenImported = yield checkHasBeenImported();
94
- if (beenImported || !ctx.request.files || !ctx.request.files.importFile) {
95
- ctx.throw(400, "Import file is required and environment must be fresh to import apps.");
96
- }
97
- if (ctx.request.files.importFile.type !== "application/gzip") {
98
- ctx.throw(400, "Import file must be a gzipped tarball.");
99
- }
100
- // initially get all the app databases out of the tarball
101
- const tmpPath = sdk_1.default.backups.untarFile(ctx.request.files.importFile);
102
- const globalDbImport = sdk_1.default.backups.getGlobalDBFile(tmpPath);
103
- const appNames = sdk_1.default.backups.getListOfAppsInMulti(tmpPath);
104
- const globalDb = backend_core_1.tenancy.getGlobalDB();
105
- // load the global db first
106
- yield globalDb.load((0, utilities_1.stringToReadStream)(globalDbImport));
107
- for (let appName of appNames) {
108
- yield createApp(appName, (0, path_1.join)(tmpPath, appName));
109
- }
110
- // if there are any users make sure to remove them
111
- let users = yield getAllDocType(globalDb, utils_1.DocumentType.USER);
112
- let userDeletionPromises = [];
113
- for (let user of users) {
114
- userDeletionPromises.push(globalDb.remove(user._id, user._rev));
115
- }
116
- if (userDeletionPromises.length > 0) {
117
- yield Promise.all(userDeletionPromises);
118
- }
119
- yield globalDb.bulkDocs(users);
120
- ctx.body = {
121
- message: "Apps successfully imported.",
122
- };
123
- });
124
- }
125
- exports.importApps = importApps;
73
+ exports.hasBeenImported = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
74
+ ctx.body = {
75
+ imported: yield hasBeenImported(),
76
+ };
77
+ });
78
+ exports.importApps = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
79
+ if (!env.SELF_HOSTED || env.MULTI_TENANCY) {
80
+ ctx.throw(400, "Importing only allowed in self hosted environments.");
81
+ }
82
+ const beenImported = yield hasBeenImported();
83
+ if (beenImported || !ctx.request.files || !ctx.request.files.importFile) {
84
+ ctx.throw(400, "Import file is required and environment must be fresh to import apps.");
85
+ }
86
+ if (ctx.request.files.importFile.type !== "application/gzip") {
87
+ ctx.throw(400, "Import file must be a gzipped tarball.");
88
+ }
89
+ // initially get all the app databases out of the tarball
90
+ const tmpPath = sdk.backups.untarFile(ctx.request.files.importFile);
91
+ const globalDbImport = sdk.backups.getGlobalDBFile(tmpPath);
92
+ const appNames = sdk.backups.getListOfAppsInMulti(tmpPath);
93
+ const globalDb = getGlobalDB();
94
+ // load the global db first
95
+ yield globalDb.load(stringToReadStream(globalDbImport));
96
+ for (let appName of appNames) {
97
+ yield createApp(appName, join(tmpPath, appName));
98
+ }
99
+ // if there are any users make sure to remove them
100
+ let users = yield getAllDocType(globalDb, DocumentType.USER);
101
+ let userDeletionPromises = [];
102
+ for (let user of users) {
103
+ userDeletionPromises.push(globalDb.remove(user._id, user._rev));
104
+ }
105
+ if (userDeletionPromises.length > 0) {
106
+ yield Promise.all(userDeletionPromises);
107
+ }
108
+ yield globalDb.bulkDocs(users);
109
+ ctx.body = {
110
+ message: "Apps successfully imported.",
111
+ };
112
+ });
@@ -9,11 +9,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.fetchAppComponentDefinitions = void 0;
13
12
  const utils_1 = require("../../db/utils");
14
13
  const backend_core_1 = require("@budibase/backend-core");
15
14
  const fileSystem_1 = require("../../utilities/fileSystem");
16
- function fetchAppComponentDefinitions(ctx) {
15
+ exports.fetchAppComponentDefinitions = function (ctx) {
17
16
  return __awaiter(this, void 0, void 0, function* () {
18
17
  try {
19
18
  const db = backend_core_1.context.getAppDB();
@@ -55,5 +54,4 @@ function fetchAppComponentDefinitions(ctx) {
55
54
  console.error(`component-definitions=failed`, err);
56
55
  }
57
56
  });
58
- }
59
- exports.fetchAppComponentDefinitions = fetchAppComponentDefinitions;
57
+ };
@@ -8,50 +8,38 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.query = exports.find = exports.destroy = exports.save = exports.update = exports.buildSchemaFromDb = exports.fetch = void 0;
13
- const utils_1 = require("../../db/utils");
14
- const internal_1 = require("./table/internal");
15
- const constants_1 = require("../../constants");
16
- const integrations_1 = require("../../integrations");
17
- const utils_2 = require("./row/utils");
18
- const utils_3 = require("../../threads/utils");
19
- const backend_core_1 = require("@budibase/backend-core");
20
- function fetch(ctx) {
11
+ const { generateDatasourceID, getDatasourceParams, getQueryParams, DocumentType, BudibaseInternalDB, getTableParams, } = require("../../db/utils");
12
+ const { BuildSchemaErrors, InvalidColumns } = require("../../constants");
13
+ const { getIntegration } = require("../../integrations");
14
+ const { getDatasourceAndQuery } = require("./row/utils");
15
+ const { invalidateDynamicVariables } = require("../../threads/utils");
16
+ const { getAppDB } = require("@budibase/backend-core/context");
17
+ const { events } = require("@budibase/backend-core");
18
+ exports.fetch = function (ctx) {
21
19
  return __awaiter(this, void 0, void 0, function* () {
22
20
  // Get internal tables
23
- const db = backend_core_1.context.getAppDB();
24
- const internalTables = yield db.allDocs((0, utils_1.getTableParams)(null, {
21
+ const db = getAppDB();
22
+ const internalTables = yield db.allDocs(getTableParams(null, {
25
23
  include_docs: true,
26
24
  }));
27
- const internal = internalTables.rows.reduce((acc, row) => {
28
- const sourceId = row.doc.sourceId || "bb_internal";
29
- acc[sourceId] = acc[sourceId] || [];
30
- acc[sourceId].push(row.doc);
31
- return acc;
32
- }, {});
33
- const bbInternalDb = Object.assign({}, utils_1.BudibaseInternalDB);
25
+ const internal = internalTables.rows.map(row => row.doc);
26
+ const bbInternalDb = Object.assign(Object.assign({}, BudibaseInternalDB), { entities: internal });
34
27
  // Get external datasources
35
- const datasources = (yield db.allDocs((0, utils_1.getDatasourceParams)(null, {
28
+ const datasources = (yield db.allDocs(getDatasourceParams(null, {
36
29
  include_docs: true,
37
30
  }))).rows.map(row => row.doc);
38
- const allDatasources = [bbInternalDb, ...datasources];
39
- for (let datasource of allDatasources) {
31
+ for (let datasource of datasources) {
40
32
  if (datasource.config && datasource.config.auth) {
41
33
  // strip secrets from response so they don't show in the network request
42
34
  delete datasource.config.auth;
43
35
  }
44
- if (datasource.type === backend_core_1.db.BUDIBASE_DATASOURCE_TYPE) {
45
- datasource.entities = internal[datasource._id];
46
- }
47
36
  }
48
37
  ctx.body = [bbInternalDb, ...datasources];
49
38
  });
50
- }
51
- exports.fetch = fetch;
52
- function buildSchemaFromDb(ctx) {
39
+ };
40
+ exports.buildSchemaFromDb = function (ctx) {
53
41
  return __awaiter(this, void 0, void 0, function* () {
54
- const db = backend_core_1.context.getAppDB();
42
+ const db = getAppDB();
55
43
  const datasource = yield db.get(ctx.params.datasourceId);
56
44
  const tablesFilter = ctx.request.body.tablesFilter;
57
45
  let { tables, error } = yield buildSchemaHelper(datasource);
@@ -60,7 +48,7 @@ function buildSchemaFromDb(ctx) {
60
48
  datasource.entities = {};
61
49
  }
62
50
  for (let key in tables) {
63
- if (tablesFilter.some((filter) => filter.toLowerCase() === key.toLowerCase())) {
51
+ if (tablesFilter.some(filter => filter.toLowerCase() === key.toLowerCase())) {
64
52
  datasource.entities[key] = tables[key];
65
53
  }
66
54
  }
@@ -77,14 +65,13 @@ function buildSchemaFromDb(ctx) {
77
65
  }
78
66
  ctx.body = response;
79
67
  });
80
- }
81
- exports.buildSchemaFromDb = buildSchemaFromDb;
68
+ };
82
69
  /**
83
70
  * Make sure all datasource entities have a display name selected
84
71
  */
85
- function setDefaultDisplayColumns(datasource) {
72
+ const setDefaultDisplayColumns = datasource => {
86
73
  //
87
- for (let entity of Object.values(datasource.entities || {})) {
74
+ for (let entity of Object.values(datasource.entities)) {
88
75
  if (entity.primaryDisplay) {
89
76
  continue;
90
77
  }
@@ -93,40 +80,37 @@ function setDefaultDisplayColumns(datasource) {
93
80
  entity.primaryDisplay = notAutoColumn.name;
94
81
  }
95
82
  }
96
- }
83
+ };
97
84
  /**
98
85
  * Check for variables that have been updated or removed and invalidate them.
99
86
  */
100
- function invalidateVariables(existingDatasource, updatedDatasource) {
101
- var _a, _b;
102
- return __awaiter(this, void 0, void 0, function* () {
103
- const existingVariables = (_a = existingDatasource.config) === null || _a === void 0 ? void 0 : _a.dynamicVariables;
104
- const updatedVariables = (_b = updatedDatasource.config) === null || _b === void 0 ? void 0 : _b.dynamicVariables;
105
- const toInvalidate = [];
106
- if (!existingVariables) {
107
- return;
108
- }
109
- if (!updatedVariables) {
110
- // invalidate all
111
- toInvalidate.push(...existingVariables);
112
- }
113
- else {
114
- // invaldate changed / removed
115
- existingVariables.forEach((existing) => {
116
- const unchanged = updatedVariables.find((updated) => existing.name === updated.name &&
117
- existing.queryId === updated.queryId &&
118
- existing.value === updated.value);
119
- if (!unchanged) {
120
- toInvalidate.push(existing);
121
- }
122
- });
123
- }
124
- yield (0, utils_3.invalidateDynamicVariables)(toInvalidate);
125
- });
126
- }
127
- function update(ctx) {
87
+ const invalidateVariables = (existingDatasource, updatedDatasource) => __awaiter(void 0, void 0, void 0, function* () {
88
+ const existingVariables = existingDatasource.config.dynamicVariables;
89
+ const updatedVariables = updatedDatasource.config.dynamicVariables;
90
+ const toInvalidate = [];
91
+ if (!existingVariables) {
92
+ return;
93
+ }
94
+ if (!updatedVariables) {
95
+ // invalidate all
96
+ toInvalidate.push(...existingVariables);
97
+ }
98
+ else {
99
+ // invaldate changed / removed
100
+ existingVariables.forEach(existing => {
101
+ const unchanged = updatedVariables.find(updated => existing.name === updated.name &&
102
+ existing.queryId === updated.queryId &&
103
+ existing.value === updated.value);
104
+ if (!unchanged) {
105
+ toInvalidate.push(existing);
106
+ }
107
+ });
108
+ }
109
+ yield invalidateDynamicVariables(toInvalidate);
110
+ });
111
+ exports.update = function (ctx) {
128
112
  return __awaiter(this, void 0, void 0, function* () {
129
- const db = backend_core_1.context.getAppDB();
113
+ const db = getAppDB();
130
114
  const datasourceId = ctx.params.datasourceId;
131
115
  let datasource = yield db.get(datasourceId);
132
116
  const auth = datasource.config.auth;
@@ -137,11 +121,11 @@ function update(ctx) {
137
121
  datasource.config.auth = auth;
138
122
  }
139
123
  const response = yield db.put(datasource);
140
- yield backend_core_1.events.datasource.updated(datasource);
124
+ yield events.datasource.updated(datasource);
141
125
  datasource._rev = response.rev;
142
126
  // Drain connection pools when configuration is changed
143
127
  if (datasource.source) {
144
- const source = yield (0, integrations_1.getIntegration)(datasource.source);
128
+ const source = yield getIntegration(datasource.source);
145
129
  if (source && source.pool) {
146
130
  yield source.pool.end();
147
131
  }
@@ -150,14 +134,13 @@ function update(ctx) {
150
134
  ctx.message = "Datasource saved successfully.";
151
135
  ctx.body = { datasource };
152
136
  });
153
- }
154
- exports.update = update;
155
- function save(ctx) {
137
+ };
138
+ exports.save = function (ctx) {
156
139
  return __awaiter(this, void 0, void 0, function* () {
157
- const db = backend_core_1.context.getAppDB();
140
+ const db = getAppDB();
158
141
  const plus = ctx.request.body.datasource.plus;
159
142
  const fetchSchema = ctx.request.body.fetchSchema;
160
- const datasource = Object.assign({ _id: (0, utils_1.generateDatasourceID)({ plus }), type: plus ? utils_1.DocumentType.DATASOURCE_PLUS : utils_1.DocumentType.DATASOURCE }, ctx.request.body.datasource);
143
+ const datasource = Object.assign({ _id: generateDatasourceID({ plus }), type: plus ? DocumentType.DATASOURCE_PLUS : DocumentType.DATASOURCE }, ctx.request.body.datasource);
161
144
  let schemaError = null;
162
145
  if (fetchSchema) {
163
146
  const { tables, error } = yield buildSchemaHelper(datasource);
@@ -166,11 +149,11 @@ function save(ctx) {
166
149
  setDefaultDisplayColumns(datasource);
167
150
  }
168
151
  const dbResp = yield db.put(datasource);
169
- yield backend_core_1.events.datasource.created(datasource);
152
+ yield events.datasource.created(datasource);
170
153
  datasource._rev = dbResp.rev;
171
154
  // Drain connection pools when configuration is changed
172
155
  if (datasource.source) {
173
- const source = yield (0, integrations_1.getIntegration)(datasource.source);
156
+ const source = yield getIntegration(datasource.source);
174
157
  if (source && source.pool) {
175
158
  yield source.pool.end();
176
159
  }
@@ -181,77 +164,44 @@ function save(ctx) {
181
164
  }
182
165
  ctx.body = response;
183
166
  });
184
- }
185
- exports.save = save;
186
- function destroyInternalTablesBySourceId(datasourceId) {
187
- return __awaiter(this, void 0, void 0, function* () {
188
- const db = backend_core_1.context.getAppDB();
189
- // Get all internal tables
190
- const internalTables = yield db.allDocs((0, utils_1.getTableParams)(null, {
191
- include_docs: true,
192
- }));
193
- // Filter by datasource and return the docs.
194
- const datasourceTableDocs = internalTables.rows.reduce((acc, table) => {
195
- if (table.doc.sourceId == datasourceId) {
196
- acc.push(table.doc);
197
- }
198
- return acc;
199
- }, []);
200
- // Destroy the tables.
201
- for (const table of datasourceTableDocs) {
202
- yield (0, internal_1.destroy)({
203
- params: {
204
- tableId: table._id,
205
- },
206
- });
207
- }
208
- });
209
- }
210
- function destroy(ctx) {
167
+ };
168
+ exports.destroy = function (ctx) {
211
169
  return __awaiter(this, void 0, void 0, function* () {
212
- const db = backend_core_1.context.getAppDB();
170
+ const db = getAppDB();
213
171
  const datasourceId = ctx.params.datasourceId;
214
172
  const datasource = yield db.get(datasourceId);
215
173
  // Delete all queries for the datasource
216
- if (datasource.type === backend_core_1.db.BUDIBASE_DATASOURCE_TYPE) {
217
- yield destroyInternalTablesBySourceId(datasourceId);
218
- }
219
- else {
220
- const queries = yield db.allDocs((0, utils_1.getQueryParams)(datasourceId, null));
221
- yield db.bulkDocs(queries.rows.map((row) => ({
222
- _id: row.id,
223
- _rev: row.value.rev,
224
- _deleted: true,
225
- })));
226
- }
174
+ const queries = yield db.allDocs(getQueryParams(datasourceId, null));
175
+ yield db.bulkDocs(queries.rows.map(row => ({
176
+ _id: row.id,
177
+ _rev: row.value.rev,
178
+ _deleted: true,
179
+ })));
227
180
  // delete the datasource
228
181
  yield db.remove(datasourceId, ctx.params.revId);
229
- yield backend_core_1.events.datasource.deleted(datasource);
182
+ yield events.datasource.deleted(datasource);
230
183
  ctx.message = `Datasource deleted.`;
231
184
  ctx.status = 200;
232
185
  });
233
- }
234
- exports.destroy = destroy;
235
- function find(ctx) {
186
+ };
187
+ exports.find = function (ctx) {
236
188
  return __awaiter(this, void 0, void 0, function* () {
237
- const database = backend_core_1.context.getAppDB();
189
+ const database = getAppDB();
238
190
  ctx.body = yield database.get(ctx.params.datasourceId);
239
191
  });
240
- }
241
- exports.find = find;
192
+ };
242
193
  // dynamic query functionality
243
- function query(ctx) {
194
+ exports.query = function (ctx) {
244
195
  return __awaiter(this, void 0, void 0, function* () {
245
196
  const queryJson = ctx.request.body;
246
197
  try {
247
- ctx.body = yield (0, utils_2.getDatasourceAndQuery)(queryJson);
198
+ ctx.body = yield getDatasourceAndQuery(queryJson);
248
199
  }
249
200
  catch (err) {
250
201
  ctx.throw(400, err);
251
202
  }
252
203
  });
253
- }
254
- exports.query = query;
204
+ };
255
205
  function getErrorTables(errors, errorType) {
256
206
  return Object.entries(errors)
257
207
  .filter(entry => entry[1] === errorType)
@@ -267,25 +217,23 @@ function updateError(error, newError, tables) {
267
217
  error += `${newError} ${tables.join(", ")}`;
268
218
  return error;
269
219
  }
270
- function buildSchemaHelper(datasource) {
271
- return __awaiter(this, void 0, void 0, function* () {
272
- const Connector = yield (0, integrations_1.getIntegration)(datasource.source);
273
- // Connect to the DB and build the schema
274
- const connector = new Connector(datasource.config);
275
- yield connector.buildSchema(datasource._id, datasource.entities);
276
- const errors = connector.schemaErrors;
277
- let error = null;
278
- if (errors && Object.keys(errors).length > 0) {
279
- const noKey = getErrorTables(errors, constants_1.BuildSchemaErrors.NO_KEY);
280
- const invalidCol = getErrorTables(errors, constants_1.BuildSchemaErrors.INVALID_COLUMN);
281
- if (noKey.length) {
282
- error = updateError(error, "No primary key constraint found for the following:", noKey);
283
- }
284
- if (invalidCol.length) {
285
- const invalidCols = Object.values(constants_1.InvalidColumns).join(", ");
286
- error = updateError(error, `Cannot use columns ${invalidCols} found in following:`, invalidCol);
287
- }
220
+ const buildSchemaHelper = (datasource) => __awaiter(void 0, void 0, void 0, function* () {
221
+ const Connector = yield getIntegration(datasource.source);
222
+ // Connect to the DB and build the schema
223
+ const connector = new Connector(datasource.config);
224
+ yield connector.buildSchema(datasource._id, datasource.entities);
225
+ const errors = connector.schemaErrors;
226
+ let error = null;
227
+ if (errors && Object.keys(errors).length > 0) {
228
+ const noKey = getErrorTables(errors, BuildSchemaErrors.NO_KEY);
229
+ const invalidCol = getErrorTables(errors, BuildSchemaErrors.INVALID_COLUMN);
230
+ if (noKey.length) {
231
+ error = updateError(error, "No primary key constraint found for the following:", noKey);
232
+ }
233
+ if (invalidCol.length) {
234
+ const invalidCols = Object.values(InvalidColumns).join(", ");
235
+ error = updateError(error, `Cannot use columns ${invalidCols} found in following:`, invalidCol);
288
236
  }
289
- return { tables: connector.tables, error };
290
- });
291
- }
237
+ }
238
+ return { tables: connector.tables, error };
239
+ });
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const newid_1 = __importDefault(require("../../../db/newid"));
7
- const backend_core_1 = require("@budibase/backend-core");
2
+ const newid = require("../../../db/newid");
3
+ const { getAppId } = require("@budibase/backend-core/context");
8
4
  /**
9
5
  * This is used to pass around information about the deployment that is occurring
10
6
  */
11
7
  class Deployment {
12
8
  constructor(id = null) {
13
- this._id = id || (0, newid_1.default)();
9
+ this._id = id || newid();
14
10
  }
15
11
  setVerification(verification) {
16
12
  if (!verification) {
@@ -21,7 +17,7 @@ class Deployment {
21
17
  getVerification() {
22
18
  return this.verification;
23
19
  }
24
- setStatus(status, err) {
20
+ setStatus(status, err = null) {
25
21
  this.status = status;
26
22
  if (err) {
27
23
  this.err = err;
@@ -38,7 +34,7 @@ class Deployment {
38
34
  getJSON() {
39
35
  const obj = {
40
36
  _id: this._id,
41
- appId: backend_core_1.context.getAppId(),
37
+ appId: getAppId(),
42
38
  status: this.status,
43
39
  };
44
40
  if (this.err) {
@@ -50,4 +46,4 @@ class Deployment {
50
46
  return obj;
51
47
  }
52
48
  }
53
- exports.default = Deployment;
49
+ module.exports = Deployment;