@budibase/server 2.1.32-alpha.7 → 2.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (663) hide show
  1. package/__mocks__/aws-sdk.ts +0 -14
  2. package/__mocks__/node-fetch.ts +1 -5
  3. package/builder/assets/{index.7176fd99.css → index.534f6c29.css} +1 -1
  4. package/builder/assets/{index.e0fdcf54.js → index.968304ca.js} +316 -316
  5. package/builder/index.html +2 -2
  6. package/coverage/clover.xml +3681 -10588
  7. package/coverage/coverage-final.json +77 -225
  8. package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +26 -26
  9. package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +75 -75
  10. package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +47 -47
  11. package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +87 -246
  12. package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +71 -53
  13. package/coverage/lcov-report/api/controllers/index.html +326 -0
  14. package/coverage/lcov-report/{src/api → api}/controllers/integration.js.html +10 -10
  15. package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +26 -26
  16. package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +23 -26
  17. package/coverage/lcov-report/{src/api → api}/controllers/migrations.js.html +10 -10
  18. package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +71 -80
  19. package/coverage/lcov-report/{src/utilities/routing → api/controllers/query}/index.html +8 -8
  20. package/coverage/lcov-report/{src/api/controllers/query/validation.ts.html → api/controllers/query/validation.js.html} +17 -17
  21. package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +56 -44
  22. package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +56 -65
  23. package/coverage/lcov-report/{src/api → api}/controllers/row/external.js.html +13 -13
  24. package/coverage/lcov-report/{src/api → api}/controllers/row/index.html +46 -76
  25. package/coverage/lcov-report/{src/api → api}/controllers/row/internal.js.html +29 -26
  26. package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +110 -182
  27. package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +54 -69
  28. package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +43 -64
  29. package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +14 -17
  30. package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +54 -96
  31. package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +100 -196
  32. package/coverage/lcov-report/{src/utilities/fileSystem → api/controllers/table}/index.html +44 -44
  33. package/coverage/lcov-report/{src/api/controllers/table/index.ts.html → api/controllers/table/index.js.html} +35 -35
  34. package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +25 -34
  35. package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +85 -79
  36. package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +14 -20
  37. package/coverage/lcov-report/{src/api → api}/controllers/view/index.html +30 -30
  38. package/coverage/lcov-report/{src/api/controllers/view/index.ts.html → api/controllers/view/index.js.html} +48 -75
  39. package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +43 -61
  40. package/coverage/lcov-report/{src/api → api}/controllers/view/viewBuilder.js.html +10 -10
  41. package/coverage/lcov-report/{src/api → api}/index.html +23 -23
  42. package/coverage/lcov-report/{src/api/index.ts.html → api/index.js.html} +56 -35
  43. package/coverage/lcov-report/{src/api/routes/analytics.ts.html → api/routes/analytics.js.html} +14 -14
  44. package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/routes/apikeys.js.html} +27 -27
  45. package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +42 -48
  46. package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +21 -21
  47. package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +17 -17
  48. package/coverage/lcov-report/{src/api/routes/datasource.ts.html → api/routes/datasource.js.html} +33 -60
  49. package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +22 -25
  50. package/coverage/lcov-report/{src/api/routes/webhook.ts.html → api/routes/dev.js.html} +43 -46
  51. package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
  52. package/coverage/lcov-report/{src/api/routes/apikeys.ts.html → api/routes/integration.js.html} +18 -18
  53. package/coverage/lcov-report/{src/api/routes/layout.ts.html → api/routes/layout.js.html} +18 -18
  54. package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +24 -24
  55. package/coverage/lcov-report/{src/sdk/index.ts.html → api/routes/migrations.js.html} +21 -24
  56. package/coverage/lcov-report/{src/api/routes/view.ts.html → api/routes/permission.js.html} +37 -40
  57. package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +42 -33
  58. package/coverage/lcov-report/api/routes/role.js.html +130 -0
  59. package/coverage/lcov-report/{src/api/routes/routing.ts.html → api/routes/routing.js.html} +17 -17
  60. package/coverage/lcov-report/api/routes/screen.js.html +139 -0
  61. package/coverage/lcov-report/{src/api/routes/script.ts.html → api/routes/script.js.html} +17 -17
  62. package/coverage/lcov-report/{src/api/routes/table.ts.html → api/routes/table.js.html} +33 -24
  63. package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +18 -18
  64. package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +35 -29
  65. package/coverage/lcov-report/{src/api → api}/routes/utils/index.html +15 -15
  66. package/coverage/lcov-report/{src/api/routes/utils/validators.ts.html → api/routes/utils/validators.js.html} +58 -46
  67. package/coverage/lcov-report/{src/definitions/automations.ts.html → api/routes/view.js.html} +41 -44
  68. package/coverage/lcov-report/{src/automations → automations}/actions.js.html +10 -10
  69. package/coverage/lcov-report/{src/automations → automations}/automationUtils.js.html +10 -10
  70. package/coverage/lcov-report/{src/automations → automations}/bullboard.js.html +10 -10
  71. package/coverage/lcov-report/{src/automations → automations}/index.html +24 -39
  72. package/coverage/lcov-report/{src/automations → automations}/index.js.html +10 -10
  73. package/coverage/lcov-report/{src/automations → automations}/steps/bash.js.html +10 -10
  74. package/coverage/lcov-report/{src/automations → automations}/steps/delay.js.html +10 -10
  75. package/coverage/lcov-report/{src/automations → automations}/steps/discord.js.html +10 -10
  76. package/coverage/lcov-report/{src/automations → automations}/steps/executeQuery.js.html +10 -10
  77. package/coverage/lcov-report/{src/automations → automations}/steps/executeScript.js.html +10 -10
  78. package/coverage/lcov-report/{src/automations → automations}/steps/filter.js.html +10 -10
  79. package/coverage/lcov-report/{src/automations → automations}/steps/index.html +26 -56
  80. package/coverage/lcov-report/{src/automations → automations}/steps/integromat.js.html +10 -10
  81. package/coverage/lcov-report/{src/automations → automations}/steps/loop.js.html +10 -10
  82. package/coverage/lcov-report/{src/automations → automations}/steps/outgoingWebhook.js.html +10 -10
  83. package/coverage/lcov-report/{src/automations → automations}/steps/queryRows.js.html +10 -10
  84. package/coverage/lcov-report/{src/automations → automations}/steps/sendSmtpEmail.js.html +10 -10
  85. package/coverage/lcov-report/{src/automations → automations}/steps/serverLog.js.html +10 -10
  86. package/coverage/lcov-report/{src/automations → automations}/steps/slack.js.html +10 -10
  87. package/coverage/lcov-report/{src/automations → automations}/steps/updateRow.js.html +10 -10
  88. package/coverage/lcov-report/{src/automations → automations}/steps/utils.js.html +19 -19
  89. package/coverage/lcov-report/{src/automations → automations}/steps/zapier.js.html +10 -10
  90. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/app.js.html +10 -10
  91. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/cron.js.html +10 -10
  92. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.html +10 -10
  93. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.js.html +10 -10
  94. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowDeleted.js.html +10 -10
  95. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowSaved.js.html +10 -10
  96. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowUpdated.js.html +10 -10
  97. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/webhook.js.html +10 -10
  98. package/coverage/lcov-report/{src/automations → automations}/triggers.js.html +23 -20
  99. package/coverage/lcov-report/{src/constants → constants}/index.html +14 -14
  100. package/coverage/lcov-report/{src/constants → constants}/index.js.html +22 -16
  101. package/coverage/lcov-report/{src/constants → constants}/layouts.js.html +10 -10
  102. package/coverage/lcov-report/{src/constants → constants}/screens.js.html +12 -12
  103. package/coverage/lcov-report/{src/db → db}/inMemoryView.js.html +13 -13
  104. package/coverage/lcov-report/{src/db → db}/index.html +27 -42
  105. package/coverage/lcov-report/{src/db → db}/index.js.html +18 -18
  106. package/coverage/lcov-report/{src/db → db}/linkedRows/LinkController.js.html +160 -22
  107. package/coverage/lcov-report/{src/db → db}/linkedRows/index.html +22 -37
  108. package/coverage/lcov-report/{src/db → db}/linkedRows/index.js.html +12 -12
  109. package/coverage/lcov-report/{src/db → db}/linkedRows/linkUtils.js.html +13 -13
  110. package/coverage/lcov-report/{src/db → db}/newid.js.html +10 -10
  111. package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +153 -105
  112. package/coverage/lcov-report/{src/events → events}/AutomationEmitter.js.html +10 -10
  113. package/coverage/lcov-report/{src/events → events}/index.html +10 -10
  114. package/coverage/lcov-report/{src/events → events}/index.js.html +10 -10
  115. package/coverage/lcov-report/{src/events → events}/utils.js.html +10 -10
  116. package/coverage/lcov-report/index.html +161 -671
  117. package/coverage/lcov-report/{src/integrations → integrations}/tests/TestConfiguration.js.html +10 -10
  118. package/coverage/lcov-report/{src/integrations → integrations}/tests/index.html +10 -10
  119. package/coverage/lcov-report/{src/middleware/appInfo.ts.html → middleware/appInfo.js.html} +28 -31
  120. package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +37 -43
  121. package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +68 -77
  122. package/coverage/lcov-report/{src/middleware → middleware}/index.html +63 -78
  123. package/coverage/lcov-report/{src/middleware/joi-validator.ts.html → middleware/joi-validator.js.html} +22 -25
  124. package/coverage/lcov-report/{src/middleware/publicApi.ts.html → middleware/publicApi.js.html} +24 -24
  125. package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +25 -40
  126. package/coverage/lcov-report/{src/tests/utilities/index.js.html → middleware/selfhost.js.html} +30 -33
  127. package/coverage/lcov-report/{src/middleware/utils.ts.html → middleware/utils.js.html} +13 -19
  128. package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +12 -12
  129. package/coverage/lcov-report/{src/utilities → utilities}/centralPath.js.html +10 -10
  130. package/coverage/lcov-report/{src/utilities → utilities}/csvParser.js.html +10 -10
  131. package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +74 -107
  132. package/coverage/lcov-report/{src/utilities → utilities}/index.html +61 -76
  133. package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +53 -77
  134. package/coverage/lcov-report/{src/utilities → utilities}/plugins.js.html +10 -10
  135. package/coverage/lcov-report/{src/utilities → utilities}/queue/inMemoryQueue.js.html +10 -10
  136. package/coverage/lcov-report/{src/utilities → utilities}/queue/index.html +10 -10
  137. package/coverage/lcov-report/{src/sdk → utilities/routing}/index.html +10 -10
  138. package/coverage/lcov-report/{src/api/routes/role.ts.html → utilities/routing/index.js.html} +42 -39
  139. package/coverage/lcov-report/{src/migrations → utilities/rowProcessor}/index.html +37 -22
  140. package/coverage/lcov-report/{src/utilities/rowProcessor/index.ts.html → utilities/rowProcessor/index.js.html} +344 -113
  141. package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +38 -50
  142. package/coverage/lcov-report/{src/utilities → utilities}/scriptRunner.js.html +10 -10
  143. package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +74 -56
  144. package/coverage/lcov-report/{src/utilities → utilities}/statusCodes.js.html +10 -10
  145. package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/index.html +27 -27
  146. package/coverage/lcov-report/{src/utilities/usageQuota/rows.ts.html → utilities/usageQuota/rows.js.html} +46 -34
  147. package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/usageQuoteReset.js.html +10 -10
  148. package/coverage/lcov-report/{src/utilities/users.ts.html → utilities/users.js.html} +35 -29
  149. package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +61 -76
  150. package/coverage/lcov.info +6772 -19273
  151. package/dist/api/controllers/apikeys.js +9 -12
  152. package/dist/api/controllers/application.js +45 -48
  153. package/dist/api/controllers/automation.js +84 -104
  154. package/dist/api/controllers/cloud.js +71 -84
  155. package/dist/api/controllers/component.js +2 -4
  156. package/dist/api/controllers/datasource.js +92 -144
  157. package/dist/api/controllers/deploy/Deployment.js +6 -10
  158. package/dist/api/controllers/deploy/index.js +16 -13
  159. package/dist/api/controllers/dev.js +81 -96
  160. package/dist/api/controllers/layout.js +15 -18
  161. package/dist/api/controllers/metadata.js +37 -51
  162. package/dist/api/controllers/permission.js +43 -52
  163. package/dist/api/controllers/plugin/index.js +7 -6
  164. package/dist/api/controllers/public/applications.js +9 -17
  165. package/dist/api/controllers/public/tables.js +9 -29
  166. package/dist/api/controllers/query/import/index.js +2 -1
  167. package/dist/api/controllers/query/index.js +13 -10
  168. package/dist/api/controllers/query/validation.js +33 -41
  169. package/dist/api/controllers/role.js +27 -29
  170. package/dist/api/controllers/routing.js +58 -71
  171. package/dist/api/controllers/row/ExternalRequest.js +8 -12
  172. package/dist/api/controllers/row/external.js +3 -3
  173. package/dist/api/controllers/row/index.js +7 -16
  174. package/dist/api/controllers/row/internal.js +12 -11
  175. package/dist/api/controllers/row/internalSearch.js +80 -95
  176. package/dist/api/controllers/row/staticFormula.js +75 -85
  177. package/dist/api/controllers/row/utils.js +84 -118
  178. package/dist/api/controllers/screen.js +66 -81
  179. package/dist/api/controllers/script.js +6 -13
  180. package/dist/api/controllers/static/index.js +11 -9
  181. package/dist/api/controllers/table/bulkFormula.js +35 -47
  182. package/dist/api/controllers/table/external.js +57 -67
  183. package/dist/api/controllers/table/index.js +33 -66
  184. package/dist/api/controllers/table/internal.js +6 -5
  185. package/dist/api/controllers/table/utils.js +35 -39
  186. package/dist/api/controllers/templates.js +10 -17
  187. package/dist/api/controllers/user.js +70 -82
  188. package/dist/api/controllers/view/exporters.js +4 -8
  189. package/dist/api/controllers/view/index.js +153 -201
  190. package/dist/api/controllers/view/utils.js +121 -151
  191. package/dist/api/index.js +34 -38
  192. package/dist/api/routes/analytics.js +3 -29
  193. package/dist/api/routes/apikeys.js +7 -33
  194. package/dist/api/routes/application.js +9 -8
  195. package/dist/api/routes/auth.js +2 -1
  196. package/dist/api/routes/automation.js +20 -46
  197. package/dist/api/routes/backup.js +4 -3
  198. package/dist/api/routes/cloud.js +6 -32
  199. package/dist/api/routes/component.js +6 -32
  200. package/dist/api/routes/datasource.js +13 -39
  201. package/dist/api/routes/deploy.js +8 -34
  202. package/dist/api/routes/dev.js +10 -36
  203. package/dist/api/routes/integration.js +7 -10
  204. package/dist/api/routes/layout.js +7 -33
  205. package/dist/api/routes/metadata.js +10 -36
  206. package/dist/api/routes/migrations.js +6 -32
  207. package/dist/api/routes/permission.js +12 -38
  208. package/dist/api/routes/plugin.js +5 -5
  209. package/dist/api/routes/public/index.js +9 -9
  210. package/dist/api/routes/query.js +15 -42
  211. package/dist/api/routes/role.js +10 -36
  212. package/dist/api/routes/routing.js +6 -32
  213. package/dist/api/routes/row.js +11 -12
  214. package/dist/api/routes/screen.js +9 -35
  215. package/dist/api/routes/script.js +6 -32
  216. package/dist/api/routes/static.js +9 -9
  217. package/dist/api/routes/table.js +13 -40
  218. package/dist/api/routes/templates.js +7 -33
  219. package/dist/api/routes/tests/utilities/TestFunctions.js +8 -6
  220. package/dist/api/routes/user.js +13 -40
  221. package/dist/api/routes/utils/validators.js +126 -142
  222. package/dist/api/routes/view.js +12 -38
  223. package/dist/api/routes/webhook.js +2 -1
  224. package/dist/app.js +4 -3
  225. package/dist/automations/tests/utilities/index.js +12 -21
  226. package/dist/automations/triggers.js +6 -5
  227. package/dist/automations/utils.js +8 -9
  228. package/dist/constants/index.js +5 -3
  229. package/dist/constants/screens.js +2 -2
  230. package/dist/db/inMemoryView.js +3 -3
  231. package/dist/db/linkedRows/LinkController.js +31 -4
  232. package/dist/db/linkedRows/index.js +2 -2
  233. package/dist/db/linkedRows/linkUtils.js +3 -3
  234. package/dist/db/utils.js +119 -146
  235. package/dist/db/views/staticViews.js +4 -4
  236. package/dist/integrations/elasticsearch.js +2 -26
  237. package/dist/integrations/googlesheets.js +6 -4
  238. package/dist/integrations/index.js +6 -15
  239. package/dist/integrations/s3.js +1 -157
  240. package/dist/middleware/appInfo.js +9 -14
  241. package/dist/middleware/authorized.js +21 -22
  242. package/dist/middleware/builder.js +40 -41
  243. package/dist/middleware/currentapp.js +37 -39
  244. package/dist/middleware/joi-validator.js +10 -17
  245. package/dist/middleware/publicApi.js +6 -5
  246. package/dist/middleware/resourceId.js +9 -16
  247. package/dist/middleware/selfhost.js +4 -5
  248. package/dist/middleware/utils.js +2 -5
  249. package/dist/migrations/functions/appUrls.js +2 -2
  250. package/dist/migrations/functions/backfill/global.js +1 -1
  251. package/dist/migrations/functions/usageQuotas/syncApps.js +4 -3
  252. package/dist/migrations/functions/usageQuotas/syncRows.js +4 -3
  253. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  254. package/dist/package.json +44 -10
  255. package/dist/sdk/app/backups/exports.js +2 -1
  256. package/dist/sdk/app/backups/imports.js +3 -2
  257. package/dist/sdk/app/tables/index.js +5 -5
  258. package/dist/startup.js +4 -4
  259. package/dist/tests/utilities/TestConfiguration.js +36 -30
  260. package/dist/tests/utilities/structures.js +4 -3
  261. package/dist/threads/automation.js +16 -15
  262. package/dist/threads/query.js +19 -17
  263. package/dist/threads/utils.js +9 -11
  264. package/dist/tsconfig.build.tsbuildinfo +1 -1
  265. package/dist/utilities/budibaseDir.js +2 -4
  266. package/dist/utilities/fileSystem/clientLibrary.js +12 -12
  267. package/dist/utilities/fileSystem/index.js +3 -3
  268. package/dist/utilities/fileSystem/utilities.js +22 -0
  269. package/dist/utilities/global.js +66 -87
  270. package/dist/utilities/index.js +75 -102
  271. package/dist/utilities/redis.js +65 -100
  272. package/dist/utilities/routing/index.js +23 -27
  273. package/dist/utilities/rowProcessor/index.js +191 -124
  274. package/dist/utilities/rowProcessor/utils.js +26 -35
  275. package/dist/utilities/security.js +35 -39
  276. package/dist/utilities/usageQuota/rows.js +49 -56
  277. package/dist/utilities/users.js +28 -31
  278. package/dist/utilities/workerRequests.js +82 -115
  279. package/dist/watch.js +2 -1
  280. package/package.json +45 -11
  281. package/scripts/exportAppTemplate.js +2 -2
  282. package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
  283. package/scripts/localdomain.js +6 -34
  284. package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
  285. package/src/api/controllers/application.ts +42 -56
  286. package/src/api/controllers/auth.ts +3 -4
  287. package/src/api/controllers/{automation.ts → automation.js} +48 -48
  288. package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
  289. package/src/api/controllers/component.ts +1 -2
  290. package/src/api/controllers/{datasource.ts → datasource.js} +47 -100
  291. package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
  292. package/src/api/controllers/deploy/index.ts +25 -13
  293. package/src/api/controllers/{dev.ts → dev.js} +37 -31
  294. package/src/api/controllers/{layout.ts → layout.js} +8 -8
  295. package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
  296. package/src/api/controllers/{permission.ts → permission.js} +46 -49
  297. package/src/api/controllers/plugin/index.ts +5 -4
  298. package/src/api/controllers/public/applications.ts +9 -15
  299. package/src/api/controllers/public/tables.ts +2 -2
  300. package/src/api/controllers/query/import/index.ts +3 -2
  301. package/src/api/controllers/query/index.ts +14 -11
  302. package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
  303. package/src/api/controllers/{role.ts → role.js} +25 -21
  304. package/src/api/controllers/{routing.ts → routing.js} +34 -37
  305. package/src/api/controllers/row/ExternalRequest.ts +11 -9
  306. package/src/api/controllers/row/external.js +3 -3
  307. package/src/api/controllers/row/index.ts +9 -17
  308. package/src/api/controllers/row/internal.js +12 -11
  309. package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
  310. package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +23 -28
  311. package/src/api/controllers/row/{utils.ts → utils.js} +18 -25
  312. package/src/api/controllers/screen.ts +6 -10
  313. package/src/api/controllers/script.js +11 -0
  314. package/src/api/controllers/static/index.ts +13 -9
  315. package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
  316. package/src/api/controllers/table/{external.ts → external.js} +54 -86
  317. package/src/api/controllers/table/{index.ts → index.js} +17 -17
  318. package/src/api/controllers/table/internal.ts +6 -5
  319. package/src/api/controllers/table/utils.ts +21 -26
  320. package/src/api/controllers/{templates.ts → templates.js} +7 -10
  321. package/src/api/controllers/{user.ts → user.js} +49 -47
  322. package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
  323. package/src/api/controllers/view/{index.ts → index.js} +27 -36
  324. package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
  325. package/src/api/{index.ts → index.js} +22 -15
  326. package/src/api/routes/analytics.js +9 -0
  327. package/src/api/routes/apikeys.js +12 -0
  328. package/src/api/routes/application.ts +9 -17
  329. package/src/api/routes/auth.ts +2 -2
  330. package/src/api/routes/automation.js +85 -0
  331. package/src/api/routes/backup.ts +4 -8
  332. package/src/api/routes/cloud.js +14 -0
  333. package/src/api/routes/component.js +14 -0
  334. package/src/api/routes/datasource.js +51 -0
  335. package/src/api/routes/deploy.js +17 -0
  336. package/src/api/routes/dev.js +26 -0
  337. package/src/api/routes/integration.js +12 -0
  338. package/src/api/routes/layout.js +16 -0
  339. package/src/api/routes/{metadata.ts → metadata.js} +13 -13
  340. package/src/api/routes/migrations.js +14 -0
  341. package/src/api/routes/permission.js +33 -0
  342. package/src/api/routes/plugin.ts +6 -14
  343. package/src/api/routes/public/index.ts +10 -10
  344. package/src/api/routes/public/tests/compare.spec.js +1 -1
  345. package/src/api/routes/{query.ts → query.js} +22 -19
  346. package/src/api/routes/role.js +15 -0
  347. package/src/api/routes/routing.js +14 -0
  348. package/src/api/routes/row.ts +15 -13
  349. package/src/api/routes/screen.js +18 -0
  350. package/src/api/routes/script.js +10 -0
  351. package/src/api/routes/static.ts +10 -7
  352. package/src/api/routes/{table.ts → table.js} +13 -10
  353. package/src/api/routes/templates.js +16 -0
  354. package/src/api/routes/tests/analytics.spec.js +1 -1
  355. package/src/api/routes/tests/backup.spec.js +1 -9
  356. package/src/api/routes/tests/permissions.spec.js +1 -2
  357. package/src/api/routes/tests/query.spec.js +10 -15
  358. package/src/api/routes/tests/role.spec.js +9 -7
  359. package/src/api/routes/tests/routing.spec.js +1 -2
  360. package/src/api/routes/tests/row.spec.js +4 -3
  361. package/src/api/routes/tests/static.spec.js +2 -2
  362. package/src/api/routes/tests/table.spec.js +35 -38
  363. package/src/api/routes/tests/user.spec.js +1 -2
  364. package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
  365. package/src/api/routes/user.js +53 -0
  366. package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
  367. package/src/api/routes/view.js +31 -0
  368. package/src/api/routes/webhook.ts +2 -2
  369. package/src/app.ts +4 -3
  370. package/src/automations/tests/updateRow.spec.js +1 -0
  371. package/src/automations/tests/utilities/index.js +4 -10
  372. package/src/automations/triggers.js +6 -5
  373. package/src/automations/utils.ts +12 -9
  374. package/src/constants/index.js +5 -3
  375. package/src/constants/screens.js +2 -2
  376. package/src/db/inMemoryView.js +3 -3
  377. package/src/db/linkedRows/LinkController.js +50 -4
  378. package/src/db/linkedRows/index.js +2 -2
  379. package/src/db/linkedRows/linkUtils.js +3 -3
  380. package/src/db/tests/linkController.spec.js +57 -73
  381. package/src/db/tests/linkTests.spec.js +14 -17
  382. package/src/db/{utils.ts → utils.js} +93 -77
  383. package/src/db/views/staticViews.js +4 -4
  384. package/src/integrations/base/sql.ts +1 -1
  385. package/src/integrations/base/sqlTable.ts +1 -1
  386. package/src/integrations/elasticsearch.ts +2 -32
  387. package/src/integrations/googlesheets.ts +7 -4
  388. package/src/integrations/index.ts +41 -45
  389. package/src/integrations/s3.ts +3 -179
  390. package/src/integrations/tests/s3.spec.ts +1 -85
  391. package/src/middleware/appInfo.js +19 -0
  392. package/src/middleware/authorized.ts +28 -21
  393. package/src/middleware/{builder.ts → builder.js} +15 -17
  394. package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
  395. package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
  396. package/src/middleware/publicApi.js +21 -0
  397. package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
  398. package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
  399. package/src/middleware/tests/authorized.spec.js +6 -5
  400. package/src/middleware/tests/currentapp.spec.js +63 -118
  401. package/src/middleware/{utils.ts → utils.js} +1 -3
  402. package/src/migrations/functions/appUrls.ts +2 -2
  403. package/src/migrations/functions/backfill/app/tables.ts +5 -2
  404. package/src/migrations/functions/backfill/global.ts +1 -1
  405. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  406. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
  407. package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
  408. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  409. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  410. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  411. package/src/module.d.ts +14 -0
  412. package/src/sdk/app/backups/exports.ts +3 -5
  413. package/src/sdk/app/backups/imports.ts +14 -7
  414. package/src/sdk/app/backups/statistics.ts +18 -9
  415. package/src/sdk/app/tables/index.ts +8 -7
  416. package/src/startup.ts +2 -2
  417. package/src/tests/utilities/TestConfiguration.js +36 -42
  418. package/src/tests/utilities/structures.js +4 -3
  419. package/src/threads/automation.ts +16 -15
  420. package/src/threads/query.ts +16 -11
  421. package/src/threads/utils.ts +5 -4
  422. package/src/utilities/budibaseDir.js +3 -0
  423. package/src/utilities/fileSystem/clientLibrary.js +12 -12
  424. package/src/utilities/fileSystem/index.js +8 -8
  425. package/src/utilities/fileSystem/utilities.js +36 -0
  426. package/src/utilities/global.js +127 -0
  427. package/src/utilities/{index.ts → index.js} +32 -40
  428. package/src/utilities/{redis.ts → redis.js} +20 -21
  429. package/src/utilities/routing/index.js +25 -0
  430. package/src/utilities/rowProcessor/{index.ts → index.js} +142 -65
  431. package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
  432. package/src/utilities/security.js +71 -0
  433. package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
  434. package/src/utilities/{users.ts → users.js} +13 -11
  435. package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
  436. package/src/watch.ts +3 -2
  437. package/tsconfig.json +1 -3
  438. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
  439. package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
  440. package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
  441. package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
  442. package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
  443. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
  444. package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
  445. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
  446. package/coverage/lcov-report/src/api/controllers/index.html +0 -431
  447. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
  448. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
  449. package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
  450. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
  451. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
  452. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
  453. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
  454. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -142
  455. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
  456. package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
  457. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
  458. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
  459. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
  460. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
  461. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
  462. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +0 -163
  463. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
  464. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
  465. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
  466. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
  467. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
  468. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
  469. package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
  470. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
  471. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
  472. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
  473. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
  474. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
  475. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
  476. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
  477. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
  478. package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
  479. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
  480. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2320
  481. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
  482. package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
  483. package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
  484. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -688
  485. package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
  486. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
  487. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
  488. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
  489. package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
  490. package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
  491. package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
  492. package/coverage/lcov-report/src/api/routes/dev.ts.html +0 -199
  493. package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
  494. package/coverage/lcov-report/src/api/routes/integration.ts.html +0 -133
  495. package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
  496. package/coverage/lcov-report/src/api/routes/permission.ts.html +0 -208
  497. package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
  498. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
  499. package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
  500. package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -502
  501. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
  502. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
  503. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
  504. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
  505. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
  506. package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
  507. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
  508. package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
  509. package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
  510. package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
  511. package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
  512. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
  513. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
  514. package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +0 -367
  515. package/coverage/lcov-report/src/app.ts.html +0 -400
  516. package/coverage/lcov-report/src/automations/logging/index.html +0 -116
  517. package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
  518. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -367
  519. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -334
  520. package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
  521. package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +0 -256
  522. package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
  523. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.js.html +0 -2023
  524. package/coverage/lcov-report/src/db/defaultData/employeeImport.js.html +0 -541
  525. package/coverage/lcov-report/src/db/defaultData/expensesImport.js.html +0 -427
  526. package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
  527. package/coverage/lcov-report/src/db/defaultData/inventoryImport.js.html +0 -403
  528. package/coverage/lcov-report/src/db/defaultData/jobsImport.js.html +0 -559
  529. package/coverage/lcov-report/src/db/dynamoClient.js.html +0 -466
  530. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.js.html +0 -226
  531. package/coverage/lcov-report/src/definitions/datasource.ts.html +0 -235
  532. package/coverage/lcov-report/src/definitions/index.html +0 -131
  533. package/coverage/lcov-report/src/environment.js.html +0 -445
  534. package/coverage/lcov-report/src/index.html +0 -191
  535. package/coverage/lcov-report/src/index.ts.html +0 -133
  536. package/coverage/lcov-report/src/integrations/airtable.ts.html +0 -529
  537. package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
  538. package/coverage/lcov-report/src/integrations/base/index.html +0 -161
  539. package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
  540. package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
  541. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
  542. package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
  543. package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
  544. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +0 -745
  545. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
  546. package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
  547. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1312
  548. package/coverage/lcov-report/src/integrations/index.html +0 -371
  549. package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
  550. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
  551. package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
  552. package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -952
  553. package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
  554. package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
  555. package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
  556. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
  557. package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
  558. package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
  559. package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
  560. package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
  561. package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1006
  562. package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
  563. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
  564. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
  565. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
  566. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
  567. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
  568. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
  569. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
  570. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
  571. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
  572. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
  573. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
  574. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
  575. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
  576. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
  577. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
  578. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
  579. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
  580. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
  581. package/coverage/lcov-report/src/migrations/functions/index.html +0 -146
  582. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
  583. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
  584. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
  585. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
  586. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
  587. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
  588. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
  589. package/coverage/lcov-report/src/migrations/index.ts.html +0 -403
  590. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
  591. package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
  592. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
  593. package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
  594. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
  595. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
  596. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
  597. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
  598. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
  599. package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
  600. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
  601. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
  602. package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
  603. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
  604. package/coverage/lcov-report/src/startup.ts.html +0 -499
  605. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +0 -1885
  606. package/coverage/lcov-report/src/tests/utilities/controllers.js.html +0 -133
  607. package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
  608. package/coverage/lcov-report/src/tests/utilities/structures.js.html +0 -649
  609. package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
  610. package/coverage/lcov-report/src/threads/index.html +0 -161
  611. package/coverage/lcov-report/src/threads/index.ts.html +0 -418
  612. package/coverage/lcov-report/src/threads/query.ts.html +0 -961
  613. package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
  614. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +0 -547
  615. package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +0 -1141
  616. package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +0 -148
  617. package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
  618. package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
  619. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
  620. package/coverage/lcov-report/src/utilities/rowProcessor/map.js.html +0 -370
  621. package/coverage/lcov-report/src/watch.ts.html +0 -196
  622. package/coverage/lcov-report/src/websocket.ts.html +0 -163
  623. package/dist/db/defaultData/datasource_bb_default.js +0 -565
  624. package/dist/db/defaultData/employeeImport.js +0 -153
  625. package/dist/db/defaultData/expensesImport.js +0 -115
  626. package/dist/db/defaultData/inventoryImport.js +0 -107
  627. package/dist/db/defaultData/jobsImport.js +0 -150
  628. package/dist/db/linkedRows/LinkDocument.js +0 -32
  629. package/dist/utilities/rowProcessor/map.js +0 -96
  630. package/jest.config.ts +0 -33
  631. package/src/api/controllers/script.ts +0 -12
  632. package/src/api/routes/analytics.ts +0 -9
  633. package/src/api/routes/apikeys.ts +0 -12
  634. package/src/api/routes/automation.ts +0 -87
  635. package/src/api/routes/cloud.ts +0 -18
  636. package/src/api/routes/component.ts +0 -14
  637. package/src/api/routes/datasource.ts +0 -60
  638. package/src/api/routes/deploy.ts +0 -21
  639. package/src/api/routes/dev.ts +0 -38
  640. package/src/api/routes/integration.ts +0 -16
  641. package/src/api/routes/layout.ts +0 -16
  642. package/src/api/routes/migrations.ts +0 -14
  643. package/src/api/routes/permission.ts +0 -41
  644. package/src/api/routes/role.ts +0 -24
  645. package/src/api/routes/routing.ts +0 -14
  646. package/src/api/routes/screen.ts +0 -23
  647. package/src/api/routes/script.ts +0 -10
  648. package/src/api/routes/templates.ts +0 -16
  649. package/src/api/routes/user.ts +0 -51
  650. package/src/api/routes/view.ts +0 -34
  651. package/src/db/defaultData/datasource_bb_default.js +0 -646
  652. package/src/db/defaultData/employeeImport.js +0 -152
  653. package/src/db/defaultData/expensesImport.js +0 -114
  654. package/src/db/defaultData/inventoryImport.js +0 -106
  655. package/src/db/defaultData/jobsImport.js +0 -158
  656. package/src/db/linkedRows/LinkDocument.js +0 -47
  657. package/src/middleware/appInfo.ts +0 -20
  658. package/src/middleware/publicApi.ts +0 -21
  659. package/src/utilities/budibaseDir.ts +0 -3
  660. package/src/utilities/global.ts +0 -138
  661. package/src/utilities/routing/index.ts +0 -32
  662. package/src/utilities/rowProcessor/map.js +0 -95
  663. package/src/utilities/security.ts +0 -65
@@ -1,222 +1,207 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.applicationValidator = exports.automationValidator = exports.screenValidator = exports.permissionValidator = exports.roleValidator = exports.webhookValidator = exports.datasourceQueryValidator = exports.externalSearchValidator = exports.internalSearchValidator = exports.datasourceValidator = exports.nameValidator = exports.tableValidator = void 0;
7
- const backend_core_1 = require("@budibase/backend-core");
8
- const constants_1 = require("../../../constants");
9
- const types_1 = require("@budibase/types");
10
- const joi_1 = __importDefault(require("joi"));
11
- const OPTIONAL_STRING = joi_1.default.string().optional().allow(null).allow("");
12
- const OPTIONAL_NUMBER = joi_1.default.number().optional().allow(null);
13
- const OPTIONAL_BOOLEAN = joi_1.default.boolean().optional().allow(null);
2
+ const { joiValidator } = require("@budibase/backend-core/auth");
3
+ const { DataSourceOperation } = require("../../../constants");
4
+ const { BUILTIN_PERMISSION_IDS, PermissionLevels, } = require("@budibase/backend-core/permissions");
5
+ const { WebhookActionType } = require("@budibase/types");
6
+ const Joi = require("joi");
7
+ const OPTIONAL_STRING = Joi.string().optional().allow(null).allow("");
8
+ const OPTIONAL_NUMBER = Joi.number().optional().allow(null);
9
+ const OPTIONAL_BOOLEAN = Joi.boolean().optional().allow(null);
14
10
  const APP_NAME_REGEX = /^[\w\s]+$/;
15
- function tableValidator() {
11
+ exports.tableValidator = () => {
16
12
  // prettier-ignore
17
- return backend_core_1.auth.joiValidator.body(joi_1.default.object({
13
+ return joiValidator.body(Joi.object({
18
14
  _id: OPTIONAL_STRING,
19
15
  _rev: OPTIONAL_STRING,
20
16
  type: OPTIONAL_STRING.valid("table", "internal", "external"),
21
17
  primaryDisplay: OPTIONAL_STRING,
22
- schema: joi_1.default.object().required(),
23
- name: joi_1.default.string().required(),
24
- views: joi_1.default.object(),
25
- dataImport: joi_1.default.object(),
18
+ schema: Joi.object().required(),
19
+ name: Joi.string().required(),
20
+ views: Joi.object(),
21
+ dataImport: Joi.object(),
26
22
  }).unknown(true));
27
- }
28
- exports.tableValidator = tableValidator;
29
- function nameValidator() {
23
+ };
24
+ exports.nameValidator = () => {
30
25
  // prettier-ignore
31
- return backend_core_1.auth.joiValidator.body(joi_1.default.object({
26
+ return joiValidator.body(Joi.object({
32
27
  name: OPTIONAL_STRING,
33
28
  }));
34
- }
35
- exports.nameValidator = nameValidator;
36
- function datasourceValidator() {
29
+ };
30
+ exports.datasourceValidator = () => {
37
31
  // prettier-ignore
38
- return backend_core_1.auth.joiValidator.body(joi_1.default.object({
39
- _id: joi_1.default.string(),
40
- _rev: joi_1.default.string(),
32
+ return joiValidator.body(Joi.object({
33
+ _id: Joi.string(),
34
+ _rev: Joi.string(),
41
35
  type: OPTIONAL_STRING.allow("datasource_plus"),
42
- relationships: joi_1.default.array().items(joi_1.default.object({
43
- from: joi_1.default.string().required(),
44
- to: joi_1.default.string().required(),
45
- cardinality: joi_1.default.valid("1:N", "1:1", "N:N").required()
36
+ relationships: Joi.array().items(Joi.object({
37
+ from: Joi.string().required(),
38
+ to: Joi.string().required(),
39
+ cardinality: Joi.valid("1:N", "1:1", "N:N").required()
46
40
  })),
47
41
  }).unknown(true));
48
- }
49
- exports.datasourceValidator = datasourceValidator;
42
+ };
50
43
  function filterObject() {
51
44
  // prettier-ignore
52
- return joi_1.default.object({
53
- string: joi_1.default.object().optional(),
54
- fuzzy: joi_1.default.object().optional(),
55
- range: joi_1.default.object().optional(),
56
- equal: joi_1.default.object().optional(),
57
- notEqual: joi_1.default.object().optional(),
58
- empty: joi_1.default.object().optional(),
59
- notEmpty: joi_1.default.object().optional(),
60
- oneOf: joi_1.default.object().optional(),
61
- contains: joi_1.default.object().optional(),
62
- notContains: joi_1.default.object().optional(),
63
- allOr: joi_1.default.boolean().optional(),
45
+ return Joi.object({
46
+ string: Joi.object().optional(),
47
+ fuzzy: Joi.object().optional(),
48
+ range: Joi.object().optional(),
49
+ equal: Joi.object().optional(),
50
+ notEqual: Joi.object().optional(),
51
+ empty: Joi.object().optional(),
52
+ notEmpty: Joi.object().optional(),
53
+ oneOf: Joi.object().optional(),
54
+ contains: Joi.object().optional(),
55
+ notContains: Joi.object().optional(),
56
+ allOr: Joi.boolean().optional(),
64
57
  }).unknown(true);
65
58
  }
66
- function internalSearchValidator() {
59
+ exports.internalSearchValidator = () => {
67
60
  // prettier-ignore
68
- return backend_core_1.auth.joiValidator.body(joi_1.default.object({
61
+ return joiValidator.body(Joi.object({
69
62
  tableId: OPTIONAL_STRING,
70
63
  query: filterObject(),
71
64
  limit: OPTIONAL_NUMBER,
72
65
  sort: OPTIONAL_STRING,
73
66
  sortOrder: OPTIONAL_STRING,
74
67
  sortType: OPTIONAL_STRING,
75
- paginate: joi_1.default.boolean(),
76
- bookmark: joi_1.default.alternatives().try(OPTIONAL_STRING, OPTIONAL_NUMBER).optional(),
68
+ paginate: Joi.boolean(),
69
+ bookmark: Joi.alternatives().try(OPTIONAL_STRING, OPTIONAL_NUMBER).optional(),
77
70
  }));
78
- }
79
- exports.internalSearchValidator = internalSearchValidator;
80
- function externalSearchValidator() {
81
- return backend_core_1.auth.joiValidator.body(joi_1.default.object({
71
+ };
72
+ exports.externalSearchValidator = () => {
73
+ return joiValidator.body(Joi.object({
82
74
  query: filterObject(),
83
- paginate: joi_1.default.boolean().optional(),
84
- bookmark: joi_1.default.alternatives()
75
+ paginate: Joi.boolean().optional(),
76
+ bookmark: Joi.alternatives()
85
77
  .try(OPTIONAL_STRING, OPTIONAL_NUMBER)
86
78
  .optional(),
87
79
  limit: OPTIONAL_NUMBER,
88
- sort: joi_1.default.object({
89
- column: joi_1.default.string(),
80
+ sort: Joi.object({
81
+ column: Joi.string(),
90
82
  order: OPTIONAL_STRING.valid("ascending", "descending"),
91
83
  type: OPTIONAL_STRING.valid("string", "number"),
92
84
  }).optional(),
93
85
  }));
94
- }
95
- exports.externalSearchValidator = externalSearchValidator;
96
- function datasourceQueryValidator() {
86
+ };
87
+ exports.datasourceQueryValidator = () => {
97
88
  // prettier-ignore
98
- return backend_core_1.auth.joiValidator.body(joi_1.default.object({
99
- endpoint: joi_1.default.object({
100
- datasourceId: joi_1.default.string().required(),
101
- operation: joi_1.default.string().required().valid(...Object.values(constants_1.DataSourceOperation)),
102
- entityId: joi_1.default.string().required(),
89
+ return joiValidator.body(Joi.object({
90
+ endpoint: Joi.object({
91
+ datasourceId: Joi.string().required(),
92
+ operation: Joi.string().required().valid(...Object.values(DataSourceOperation)),
93
+ entityId: Joi.string().required(),
103
94
  }).required(),
104
- resource: joi_1.default.object({
105
- fields: joi_1.default.array().items(joi_1.default.string()).optional(),
95
+ resource: Joi.object({
96
+ fields: Joi.array().items(Joi.string()).optional(),
106
97
  }).optional(),
107
- body: joi_1.default.object().optional(),
108
- sort: joi_1.default.object().optional(),
98
+ body: Joi.object().optional(),
99
+ sort: Joi.object().optional(),
109
100
  filters: filterObject().optional(),
110
- paginate: joi_1.default.object({
111
- page: joi_1.default.string().alphanum().optional(),
112
- limit: joi_1.default.number().optional(),
101
+ paginate: Joi.object({
102
+ page: Joi.string().alphanum().optional(),
103
+ limit: Joi.number().optional(),
113
104
  }).optional(),
114
105
  }));
115
- }
116
- exports.datasourceQueryValidator = datasourceQueryValidator;
117
- function webhookValidator() {
106
+ };
107
+ exports.webhookValidator = () => {
118
108
  // prettier-ignore
119
- return backend_core_1.auth.joiValidator.body(joi_1.default.object({
120
- live: joi_1.default.bool(),
109
+ return joiValidator.body(Joi.object({
110
+ live: Joi.bool(),
121
111
  _id: OPTIONAL_STRING,
122
112
  _rev: OPTIONAL_STRING,
123
- name: joi_1.default.string().required(),
124
- bodySchema: joi_1.default.object().optional(),
125
- action: joi_1.default.object({
126
- type: joi_1.default.string().required().valid(types_1.WebhookActionType.AUTOMATION),
127
- target: joi_1.default.string().required(),
113
+ name: Joi.string().required(),
114
+ bodySchema: Joi.object().optional(),
115
+ action: Joi.object({
116
+ type: Joi.string().required().valid(WebhookActionType.AUTOMATION),
117
+ target: Joi.string().required(),
128
118
  }).required(),
129
119
  }).unknown(true));
130
- }
131
- exports.webhookValidator = webhookValidator;
132
- function roleValidator() {
133
- const permLevelArray = Object.values(backend_core_1.permissions.PermissionLevel);
120
+ };
121
+ exports.roleValidator = () => {
122
+ const permLevelArray = Object.values(PermissionLevels);
134
123
  // prettier-ignore
135
- return backend_core_1.auth.joiValidator.body(joi_1.default.object({
124
+ return joiValidator.body(Joi.object({
136
125
  _id: OPTIONAL_STRING,
137
126
  _rev: OPTIONAL_STRING,
138
- name: joi_1.default.string().required(),
127
+ name: Joi.string().required(),
139
128
  // this is the base permission ID (for now a built in)
140
- permissionId: joi_1.default.string().valid(...Object.values(backend_core_1.permissions.BuiltinPermissionID)).required(),
141
- permissions: joi_1.default.object()
142
- .pattern(/.*/, [joi_1.default.string().valid(...permLevelArray)])
129
+ permissionId: Joi.string().valid(...Object.values(BUILTIN_PERMISSION_IDS)).required(),
130
+ permissions: Joi.object()
131
+ .pattern(/.*/, [Joi.string().valid(...permLevelArray)])
143
132
  .optional(),
144
133
  inherits: OPTIONAL_STRING,
145
134
  }).unknown(true));
146
- }
147
- exports.roleValidator = roleValidator;
148
- function permissionValidator() {
149
- const permLevelArray = Object.values(backend_core_1.permissions.PermissionLevel);
135
+ };
136
+ exports.permissionValidator = () => {
137
+ const permLevelArray = Object.values(PermissionLevels);
150
138
  // prettier-ignore
151
- return backend_core_1.auth.joiValidator.params(joi_1.default.object({
152
- level: joi_1.default.string().valid(...permLevelArray).required(),
153
- resourceId: joi_1.default.string(),
154
- roleId: joi_1.default.string(),
139
+ return joiValidator.params(Joi.object({
140
+ level: Joi.string().valid(...permLevelArray).required(),
141
+ resourceId: Joi.string(),
142
+ roleId: Joi.string(),
155
143
  }).unknown(true));
156
- }
157
- exports.permissionValidator = permissionValidator;
158
- function screenValidator() {
144
+ };
145
+ exports.screenValidator = () => {
159
146
  // prettier-ignore
160
- return backend_core_1.auth.joiValidator.body(joi_1.default.object({
161
- name: joi_1.default.string().required(),
147
+ return joiValidator.body(Joi.object({
148
+ name: Joi.string().required(),
162
149
  showNavigation: OPTIONAL_BOOLEAN,
163
150
  width: OPTIONAL_STRING,
164
- routing: joi_1.default.object({
165
- route: joi_1.default.string().required(),
166
- roleId: joi_1.default.string().required().allow(""),
151
+ routing: Joi.object({
152
+ route: Joi.string().required(),
153
+ roleId: Joi.string().required().allow(""),
167
154
  homeScreen: OPTIONAL_BOOLEAN,
168
155
  }).required().unknown(true),
169
- props: joi_1.default.object({
170
- _id: joi_1.default.string().required(),
171
- _component: joi_1.default.string().required(),
172
- _children: joi_1.default.array().required(),
173
- _styles: joi_1.default.object().required(),
156
+ props: Joi.object({
157
+ _id: Joi.string().required(),
158
+ _component: Joi.string().required(),
159
+ _children: Joi.array().required(),
160
+ _styles: Joi.object().required(),
174
161
  type: OPTIONAL_STRING,
175
162
  table: OPTIONAL_STRING,
176
163
  layoutId: OPTIONAL_STRING,
177
164
  }).required().unknown(true),
178
165
  }).unknown(true));
179
- }
180
- exports.screenValidator = screenValidator;
166
+ };
181
167
  function generateStepSchema(allowStepTypes) {
182
168
  // prettier-ignore
183
- return joi_1.default.object({
184
- stepId: joi_1.default.string().required(),
185
- id: joi_1.default.string().required(),
186
- description: joi_1.default.string().required(),
187
- name: joi_1.default.string().required(),
188
- tagline: joi_1.default.string().required(),
189
- icon: joi_1.default.string().required(),
190
- params: joi_1.default.object(),
191
- args: joi_1.default.object(),
192
- type: joi_1.default.string().required().valid(...allowStepTypes),
169
+ return Joi.object({
170
+ stepId: Joi.string().required(),
171
+ id: Joi.string().required(),
172
+ description: Joi.string().required(),
173
+ name: Joi.string().required(),
174
+ tagline: Joi.string().required(),
175
+ icon: Joi.string().required(),
176
+ params: Joi.object(),
177
+ args: Joi.object(),
178
+ type: Joi.string().required().valid(...allowStepTypes),
193
179
  }).unknown(true);
194
180
  }
195
- function automationValidator(existing = false) {
181
+ exports.automationValidator = (existing = false) => {
196
182
  // prettier-ignore
197
- return backend_core_1.auth.joiValidator.body(joi_1.default.object({
198
- _id: existing ? joi_1.default.string().required() : OPTIONAL_STRING,
199
- _rev: existing ? joi_1.default.string().required() : OPTIONAL_STRING,
200
- name: joi_1.default.string().required(),
201
- type: joi_1.default.string().valid("automation").required(),
202
- definition: joi_1.default.object({
203
- steps: joi_1.default.array().required().items(generateStepSchema(["ACTION", "LOGIC"])),
183
+ return joiValidator.body(Joi.object({
184
+ _id: existing ? Joi.string().required() : OPTIONAL_STRING,
185
+ _rev: existing ? Joi.string().required() : OPTIONAL_STRING,
186
+ name: Joi.string().required(),
187
+ type: Joi.string().valid("automation").required(),
188
+ definition: Joi.object({
189
+ steps: Joi.array().required().items(generateStepSchema(["ACTION", "LOGIC"])),
204
190
  trigger: generateStepSchema(["TRIGGER"]).allow(null),
205
191
  }).required().unknown(true),
206
192
  }).unknown(true));
207
- }
208
- exports.automationValidator = automationValidator;
209
- function applicationValidator(opts = { isCreate: true }) {
193
+ };
194
+ exports.applicationValidator = (opts = { isCreate: true }) => {
210
195
  // prettier-ignore
211
196
  const base = {
212
197
  _id: OPTIONAL_STRING,
213
198
  _rev: OPTIONAL_STRING,
214
199
  url: OPTIONAL_STRING,
215
- template: joi_1.default.object({
200
+ template: Joi.object({
216
201
  templateString: OPTIONAL_STRING,
217
202
  })
218
203
  };
219
- const appNameValidator = joi_1.default.string()
204
+ const appNameValidator = Joi.string()
220
205
  .pattern(new RegExp(APP_NAME_REGEX))
221
206
  .error(new Error("App name must be letters, numbers and spaces only"));
222
207
  if (opts.isCreate) {
@@ -225,14 +210,13 @@ function applicationValidator(opts = { isCreate: true }) {
225
210
  else {
226
211
  base.name = appNameValidator.optional();
227
212
  }
228
- return backend_core_1.auth.joiValidator.body(joi_1.default.object({
213
+ return joiValidator.body(Joi.object({
229
214
  _id: OPTIONAL_STRING,
230
215
  _rev: OPTIONAL_STRING,
231
216
  name: appNameValidator,
232
217
  url: OPTIONAL_STRING,
233
- template: joi_1.default.object({
218
+ template: Joi.object({
234
219
  templateString: OPTIONAL_STRING,
235
220
  }).unknown(true),
236
221
  }).unknown(true));
237
- }
238
- exports.applicationValidator = applicationValidator;
222
+ };
@@ -1,41 +1,15 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- const router_1 = __importDefault(require("@koa/router"));
29
- const viewController = __importStar(require("../controllers/view"));
30
- const rowController = __importStar(require("../controllers/row"));
31
- const authorized_1 = __importDefault(require("../../middleware/authorized"));
32
- const resourceId_1 = require("../../middleware/resourceId");
33
- const backend_core_1 = require("@budibase/backend-core");
34
- const router = new router_1.default();
2
+ const Router = require("@koa/router");
3
+ const viewController = require("../controllers/view");
4
+ const rowController = require("../controllers/row");
5
+ const authorized = require("../../middleware/authorized");
6
+ const { paramResource } = require("../../middleware/resourceId");
7
+ const { BUILDER, PermissionTypes, PermissionLevels, } = require("@budibase/backend-core/permissions");
8
+ const router = new Router();
35
9
  router
36
- .get("/api/views/export", (0, authorized_1.default)(backend_core_1.permissions.BUILDER), viewController.exportView)
37
- .get("/api/views/:viewName", (0, resourceId_1.paramResource)("viewName"), (0, authorized_1.default)(backend_core_1.permissions.PermissionType.VIEW, backend_core_1.permissions.PermissionLevel.READ), rowController.fetchView)
38
- .get("/api/views", (0, authorized_1.default)(backend_core_1.permissions.BUILDER), viewController.fetch)
39
- .delete("/api/views/:viewName", (0, resourceId_1.paramResource)("viewName"), (0, authorized_1.default)(backend_core_1.permissions.BUILDER), viewController.destroy)
40
- .post("/api/views", (0, authorized_1.default)(backend_core_1.permissions.BUILDER), viewController.save);
10
+ .get("/api/views/export", authorized(BUILDER), viewController.exportView)
11
+ .get("/api/views/:viewName", paramResource("viewName"), authorized(PermissionTypes.VIEW, PermissionLevels.READ), rowController.fetchView)
12
+ .get("/api/views", authorized(BUILDER), viewController.fetch)
13
+ .delete("/api/views/:viewName", paramResource("viewName"), authorized(BUILDER), viewController.destroy)
14
+ .post("/api/views", authorized(BUILDER), viewController.save);
41
15
  module.exports = router;
@@ -25,6 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
28
29
  const router_1 = __importDefault(require("@koa/router"));
29
30
  const controller = __importStar(require("../controllers/webhook"));
30
31
  const authorized_1 = __importDefault(require("../../middleware/authorized"));
@@ -39,4 +40,4 @@ router
39
40
  .post("/api/webhooks/schema/:instance/:id", (0, authorized_1.default)(BUILDER), controller.buildSchema)
40
41
  // this shouldn't have authorisation, right now its always public
41
42
  .post("/api/webhooks/trigger/:instance/:id", controller.trigger);
42
- module.exports = router;
43
+ exports.default = router;
package/dist/app.js CHANGED
@@ -53,8 +53,9 @@ const http = require("http");
53
53
  const api = require("./api");
54
54
  const automations = require("./automations/index");
55
55
  const Sentry = require("@sentry/node");
56
+ const { logAlert } = require("@budibase/backend-core/logging");
56
57
  const { Thread } = require("./threads");
57
- const redis = __importStar(require("./utilities/redis"));
58
+ const redis_1 = __importDefault(require("./utilities/redis"));
58
59
  const backend_core_1 = require("@budibase/backend-core");
59
60
  const websocket_1 = require("./websocket");
60
61
  const startup_1 = require("./startup");
@@ -92,7 +93,7 @@ server.on("close", () => __awaiter(void 0, void 0, void 0, function* () {
92
93
  shuttingDown = true;
93
94
  console.log("Server Closed");
94
95
  yield automations.shutdown();
95
- yield redis.shutdown();
96
+ yield redis_1.default.shutdown();
96
97
  yield backend_core_1.events.shutdown();
97
98
  yield Thread.shutdown();
98
99
  api.shutdown();
@@ -114,7 +115,7 @@ process.on("uncaughtException", err => {
114
115
  return;
115
116
  }
116
117
  errCode = -1;
117
- backend_core_1.logging.logAlert("Uncaught exception.", err);
118
+ logAlert("Uncaught exception.", err);
118
119
  shutdown();
119
120
  });
120
121
  process.on("SIGTERM", () => {
@@ -9,7 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  const TestConfig = require("../../../tests/utilities/TestConfiguration");
12
- const { context } = require("@budibase/backend-core");
12
+ const { TENANT_ID } = require("../../../tests/utilities/structures");
13
+ const { doInTenant } = require("@budibase/backend-core/tenancy");
13
14
  const actions = require("../../actions");
14
15
  const emitter = require("../../../events/index");
15
16
  const env = require("../../../environment");
@@ -39,27 +40,17 @@ exports.runInProd = (fn) => __awaiter(void 0, void 0, void 0, function* () {
39
40
  });
40
41
  exports.runStep = function runStep(stepId, inputs) {
41
42
  return __awaiter(this, void 0, void 0, function* () {
42
- function run() {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- let step = yield actions.getAction(stepId);
45
- expect(step).toBeDefined();
46
- return step({
47
- inputs,
48
- appId: config ? config.getAppId() : null,
49
- // don't really need an API key, mocked out usage quota, not being tested here
50
- apiKey: exports.apiKey,
51
- emitter,
52
- });
43
+ return doInTenant(TENANT_ID, () => __awaiter(this, void 0, void 0, function* () {
44
+ let step = yield actions.getAction(stepId);
45
+ expect(step).toBeDefined();
46
+ return step({
47
+ inputs,
48
+ appId: config ? config.getAppId() : null,
49
+ // don't really need an API key, mocked out usage quota, not being tested here
50
+ apiKey: exports.apiKey,
51
+ emitter,
53
52
  });
54
- }
55
- if (config === null || config === void 0 ? void 0 : config.appId) {
56
- return context.doInContext(config === null || config === void 0 ? void 0 : config.appId, () => __awaiter(this, void 0, void 0, function* () {
57
- return run();
58
- }));
59
- }
60
- else {
61
- return run();
62
- }
53
+ }));
63
54
  });
64
55
  };
65
56
  exports.apiKey = "test";
@@ -18,7 +18,8 @@ const { automationQueue } = require("./bullboard");
18
18
  const { checkTestFlag } = require("../utilities/redis");
19
19
  const utils = require("./utils");
20
20
  const env = require("../environment");
21
- const { context, db: dbCore } = require("@budibase/backend-core");
21
+ const { doInAppContext, getAppDB } = require("@budibase/backend-core/context");
22
+ const { getAllApps } = require("@budibase/backend-core/db");
22
23
  const TRIGGER_DEFINITIONS = definitions;
23
24
  const JOB_OPTS = {
24
25
  removeOnComplete: true,
@@ -26,7 +27,7 @@ const JOB_OPTS = {
26
27
  };
27
28
  function getAllAutomations() {
28
29
  return __awaiter(this, void 0, void 0, function* () {
29
- const db = context.getAppDB();
30
+ const db = getAppDB();
30
31
  let automations = yield db.allDocs(getAutomationParams(null, { include_docs: true }));
31
32
  return automations.rows.map(row => row.doc);
32
33
  });
@@ -36,7 +37,7 @@ function queueRelevantRowAutomations(event, eventType) {
36
37
  if (event.appId == null) {
37
38
  throw `No appId specified for ${eventType} - check event emitters.`;
38
39
  }
39
- context.doInAppContext(event.appId, () => __awaiter(this, void 0, void 0, function* () {
40
+ doInAppContext(event.appId, () => __awaiter(this, void 0, void 0, function* () {
40
41
  let automations = yield getAllAutomations();
41
42
  // filter down to the correct event type
42
43
  automations = automations.filter(automation => {
@@ -121,9 +122,9 @@ exports.rebootTrigger = () => __awaiter(void 0, void 0, void 0, function* () {
121
122
  }
122
123
  // iterate through all production apps, find the reboot crons
123
124
  // and trigger events for them
124
- const appIds = yield dbCore.getAllApps({ dev: false, idsOnly: true });
125
+ const appIds = yield getAllApps({ dev: false, idsOnly: true });
125
126
  for (let prodAppId of appIds) {
126
- yield context.doInAppContext(prodAppId, () => __awaiter(void 0, void 0, void 0, function* () {
127
+ yield doInAppContext(prodAppId, () => __awaiter(void 0, void 0, void 0, function* () {
127
128
  let automations = yield getAllAutomations();
128
129
  let rebootEvents = [];
129
130
  for (let automation of automations) {
@@ -19,9 +19,11 @@ const bullboard_1 = require("./bullboard");
19
19
  const newid_1 = __importDefault(require("../db/newid"));
20
20
  const utilities_1 = require("../utilities");
21
21
  const constants_1 = require("../constants");
22
- const backend_core_1 = require("@budibase/backend-core");
22
+ const db_1 = require("@budibase/backend-core/db");
23
23
  const utils_1 = require("../db/utils");
24
24
  const fp_1 = require("lodash/fp");
25
+ const context_1 = require("@budibase/backend-core/context");
26
+ const backend_core_1 = require("@budibase/backend-core");
25
27
  const pro_1 = require("@budibase/pro");
26
28
  const types_1 = require("@budibase/types");
27
29
  const sdk_1 = __importDefault(require("../sdk"));
@@ -111,7 +113,7 @@ function disableCronById(jobId) {
111
113
  exports.disableCronById = disableCronById;
112
114
  function clearMetadata() {
113
115
  return __awaiter(this, void 0, void 0, function* () {
114
- const db = backend_core_1.context.getProdAppDB();
116
+ const db = (0, context_1.getProdAppDB)();
115
117
  const automationMetadata = (yield db.allDocs((0, utils_1.getAutomationMetadataParams)({
116
118
  include_docs: true,
117
119
  }))).rows.map((row) => row.doc);
@@ -156,7 +158,7 @@ function enableCronTrigger(appId, automation) {
156
158
  // can't use getAppDB here as this is likely to be called from dev app,
157
159
  // but this call could be for dev app or prod app, need to just use what
158
160
  // was passed in
159
- yield backend_core_1.db.doWithDB(appId, (db) => __awaiter(this, void 0, void 0, function* () {
161
+ yield (0, db_1.doWithDB)(appId, (db) => __awaiter(this, void 0, void 0, function* () {
160
162
  const response = yield db.put(automation);
161
163
  automation._id = response.id;
162
164
  automation._rev = response.rev;
@@ -176,10 +178,7 @@ exports.enableCronTrigger = enableCronTrigger;
176
178
  */
177
179
  function checkForWebhooks({ oldAuto, newAuto }) {
178
180
  return __awaiter(this, void 0, void 0, function* () {
179
- const appId = backend_core_1.context.getAppId();
180
- if (!appId) {
181
- throw new Error("Unable to check webhooks - no app ID in context.");
182
- }
181
+ const appId = (0, context_1.getAppId)();
183
182
  const oldTrigger = oldAuto ? oldAuto.definition.trigger : null;
184
183
  const newTrigger = newAuto ? newAuto.definition.trigger : null;
185
184
  const triggerChanged = oldTrigger && newTrigger && oldTrigger.id !== newTrigger.id;
@@ -193,7 +192,7 @@ function checkForWebhooks({ oldAuto, newAuto }) {
193
192
  (!isWebhookTrigger(newAuto) || triggerChanged) &&
194
193
  oldTrigger.webhookId) {
195
194
  try {
196
- let db = backend_core_1.context.getAppDB();
195
+ let db = (0, context_1.getAppDB)();
197
196
  // need to get the webhook to get the rev
198
197
  const webhook = yield db.get(oldTrigger.webhookId);
199
198
  // might be updating - reset the inputs to remove the URLs
@@ -216,7 +215,7 @@ function checkForWebhooks({ oldAuto, newAuto }) {
216
215
  // the app ID has to be development for this endpoint
217
216
  // it can only be used when building the app
218
217
  // but the trigger endpoint will always be used in production
219
- const prodAppId = backend_core_1.db.getProdAppID(appId);
218
+ const prodAppId = (0, db_1.getProdAppID)(appId);
220
219
  newTrigger.inputs = {
221
220
  schemaUrl: `api/webhooks/schema/${appId}/${id}`,
222
221
  triggerUrl: `api/webhooks/trigger/${prodAppId}/${id}`,
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
- const { objectStore, roles, constants } = require("@budibase/backend-core");
2
+ const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles");
3
+ const { UserStatus } = require("@budibase/backend-core/constants");
4
+ const { objectStore } = require("@budibase/backend-core");
3
5
  const FilterTypes = {
4
6
  STRING: "string",
5
7
  FUZZY: "fuzzy",
@@ -124,7 +126,7 @@ exports.USERS_TABLE_SCHEMA = {
124
126
  constraints: {
125
127
  type: exports.FieldTypes.STRING,
126
128
  presence: false,
127
- inclusion: Object.values(roles.BUILTIN_ROLE_IDS),
129
+ inclusion: Object.values(BUILTIN_ROLE_IDS),
128
130
  },
129
131
  },
130
132
  status: {
@@ -134,7 +136,7 @@ exports.USERS_TABLE_SCHEMA = {
134
136
  constraints: {
135
137
  type: exports.FieldTypes.STRING,
136
138
  presence: false,
137
- inclusion: Object.values(constants.UserStatus),
139
+ inclusion: Object.values(UserStatus),
138
140
  },
139
141
  },
140
142
  },