@budibase/server 2.1.43-alpha.2 → 2.1.43

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 (798) hide show
  1. package/__mocks__/aws-sdk.ts +0 -14
  2. package/__mocks__/node-fetch.ts +1 -5
  3. package/builder/assets/index.534f6c29.css +6 -0
  4. package/builder/assets/index.fb99ddaf.js +1021 -0
  5. package/builder/index.html +2 -2
  6. package/coverage/clover.xml +3875 -10924
  7. package/coverage/coverage-final.json +118 -267
  8. package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +30 -30
  9. package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +99 -99
  10. package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +58 -58
  11. package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +107 -287
  12. package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +87 -69
  13. package/coverage/lcov-report/api/controllers/index.html +326 -0
  14. package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/controllers/integration.js.html} +28 -22
  15. package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +31 -31
  16. package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +30 -33
  17. package/coverage/lcov-report/{src/api/controllers/migrations.ts.html → api/controllers/migrations.js.html} +17 -20
  18. package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +79 -88
  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} +25 -25
  21. package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +60 -48
  22. package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +58 -67
  23. package/coverage/lcov-report/{src/api/controllers/row/external.ts.html → api/controllers/row/external.js.html} +111 -162
  24. package/coverage/lcov-report/{src/api → api}/controllers/row/index.html +52 -82
  25. package/coverage/lcov-report/{src/api/controllers/row/internal.ts.html → api/controllers/row/internal.js.html} +121 -163
  26. package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +117 -189
  27. package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +58 -73
  28. package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +58 -88
  29. package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +16 -19
  30. package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +62 -104
  31. package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +111 -204
  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} +49 -58
  34. package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +29 -38
  35. package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +99 -93
  36. package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +16 -22
  37. package/coverage/lcov-report/{src/api → api}/controllers/view/index.html +36 -36
  38. package/coverage/lcov-report/{src/api/controllers/view/index.ts.html → api/controllers/view/index.js.html} +64 -91
  39. package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +54 -72
  40. package/coverage/lcov-report/{src/api/controllers/view/viewBuilder.ts.html → api/controllers/view/viewBuilder.js.html} +36 -78
  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} +76 -55
  43. package/coverage/lcov-report/{src/middleware/utils.ts.html → api/routes/analytics.js.html} +19 -19
  44. package/coverage/lcov-report/api/routes/apikeys.js.html +121 -0
  45. package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +47 -53
  46. package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +28 -28
  47. package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +24 -24
  48. package/coverage/lcov-report/{src/definitions/datasource.ts.html → api/routes/datasource.js.html} +64 -61
  49. package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +28 -31
  50. package/coverage/lcov-report/{src/automations/index.ts.html → api/routes/dev.js.html} +46 -46
  51. package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
  52. package/coverage/lcov-report/api/routes/integration.js.html +121 -0
  53. package/coverage/lcov-report/{src/db/index.ts.html → api/routes/layout.js.html} +28 -28
  54. package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +31 -31
  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/permission.ts.html → api/routes/permission.js.html} +31 -55
  57. package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +50 -41
  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} +24 -24
  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} +41 -32
  63. package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +25 -25
  64. package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +41 -35
  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} +98 -86
  67. package/coverage/lcov-report/{src/api/routes/view.ts.html → api/routes/view.js.html} +36 -45
  68. package/coverage/lcov-report/{src/automations/actions.ts.html → automations/actions.js.html} +60 -69
  69. package/coverage/lcov-report/{src/automations/automationUtils.ts.html → automations/automationUtils.js.html} +33 -36
  70. package/coverage/lcov-report/{src/automations/bullboard.ts.html → automations/bullboard.js.html} +42 -39
  71. package/coverage/lcov-report/{src/automations → automations}/index.html +48 -63
  72. package/coverage/lcov-report/{src/websocket.ts.html → automations/index.js.html} +50 -41
  73. package/coverage/lcov-report/{src/automations/steps/bash.ts.html → automations/steps/bash.js.html} +30 -45
  74. package/coverage/lcov-report/{src/automations/steps/delay.ts.html → automations/steps/delay.js.html} +19 -34
  75. package/coverage/lcov-report/{src/automations/steps/discord.ts.html → automations/steps/discord.js.html} +28 -43
  76. package/coverage/lcov-report/{src/automations/steps/executeQuery.ts.html → automations/steps/executeQuery.js.html} +30 -45
  77. package/coverage/lcov-report/{src/automations/steps/executeScript.ts.html → automations/steps/executeScript.js.html} +28 -58
  78. package/coverage/lcov-report/{src/automations/steps/filter.ts.html → automations/steps/filter.js.html} +30 -39
  79. package/coverage/lcov-report/automations/steps/index.html +341 -0
  80. package/coverage/lcov-report/{src/automations/steps/integromat.ts.html → automations/steps/integromat.js.html} +23 -38
  81. package/coverage/lcov-report/{src/automations/steps/loop.ts.html → automations/steps/loop.js.html} +15 -21
  82. package/coverage/lcov-report/{src/automations/steps/outgoingWebhook.ts.html → automations/steps/outgoingWebhook.js.html} +39 -54
  83. package/coverage/lcov-report/{src/automations/steps/queryRows.ts.html → automations/steps/queryRows.js.html} +66 -102
  84. package/coverage/lcov-report/{src/automations/steps/sendSmtpEmail.ts.html → automations/steps/sendSmtpEmail.js.html} +25 -40
  85. package/coverage/lcov-report/{src/automations/steps/serverLog.ts.html → automations/steps/serverLog.js.html} +22 -40
  86. package/coverage/lcov-report/{src/automations/steps/slack.ts.html → automations/steps/slack.js.html} +23 -38
  87. package/coverage/lcov-report/{src/automations/steps/updateRow.ts.html → automations/steps/updateRow.js.html} +25 -40
  88. package/coverage/lcov-report/{src/automations/steps/utils.ts.html → automations/steps/utils.js.html} +27 -45
  89. package/coverage/lcov-report/{src/automations/steps/zapier.ts.html → automations/steps/zapier.js.html} +23 -41
  90. package/coverage/lcov-report/{src/definitions/automations.ts.html → automations/triggerInfo/app.js.html} +42 -42
  91. package/coverage/lcov-report/{src/automations/triggerInfo/cron.ts.html → automations/triggerInfo/cron.js.html} +15 -30
  92. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.html +31 -31
  93. package/coverage/lcov-report/{src/api/routes/layout.ts.html → automations/triggerInfo/index.js.html} +26 -29
  94. package/coverage/lcov-report/{src/automations/triggerInfo/rowDeleted.ts.html → automations/triggerInfo/rowDeleted.js.html} +15 -30
  95. package/coverage/lcov-report/{src/automations/triggerInfo/rowSaved.ts.html → automations/triggerInfo/rowSaved.js.html} +15 -30
  96. package/coverage/lcov-report/{src/automations/triggerInfo/rowUpdated.ts.html → automations/triggerInfo/rowUpdated.js.html} +15 -30
  97. package/coverage/lcov-report/{src/automations/triggerInfo/webhook.ts.html → automations/triggerInfo/webhook.js.html} +15 -30
  98. package/coverage/lcov-report/{src/automations/triggers.ts.html → automations/triggers.js.html} +66 -78
  99. package/coverage/lcov-report/{src/constants → constants}/index.html +26 -26
  100. package/coverage/lcov-report/{src/integrations/dynamodb.ts.html → constants/index.js.html} +227 -263
  101. package/coverage/lcov-report/{src/constants/layouts.ts.html → constants/layouts.js.html} +36 -18
  102. package/coverage/lcov-report/{src/constants/screens.ts.html → constants/screens.js.html} +58 -64
  103. package/coverage/lcov-report/{src/db/inMemoryView.ts.html → db/inMemoryView.js.html} +29 -47
  104. package/coverage/lcov-report/{src/db → db}/index.html +33 -48
  105. package/coverage/lcov-report/{src/api/routes/integration.ts.html → db/index.js.html} +33 -33
  106. package/coverage/lcov-report/{src/db/linkedRows/LinkController.ts.html → db/linkedRows/LinkController.js.html} +160 -97
  107. package/coverage/lcov-report/db/linkedRows/index.html +146 -0
  108. package/coverage/lcov-report/{src/db/linkedRows/index.ts.html → db/linkedRows/index.js.html} +78 -93
  109. package/coverage/lcov-report/{src/db/linkedRows/linkUtils.ts.html → db/linkedRows/linkUtils.js.html} +56 -83
  110. package/coverage/lcov-report/{src/db/newid.ts.html → db/newid.js.html} +14 -14
  111. package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +211 -163
  112. package/coverage/lcov-report/{src/events/AutomationEmitter.ts.html → events/AutomationEmitter.js.html} +25 -40
  113. package/coverage/lcov-report/{src/events → events}/index.html +33 -48
  114. package/coverage/lcov-report/{src/events/BudibaseEmitter.ts.html → events/index.js.html} +29 -26
  115. package/coverage/lcov-report/{src/api/routes/dev.ts.html → events/utils.js.html} +69 -69
  116. package/coverage/lcov-report/index.html +184 -679
  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} +30 -33
  120. package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +40 -46
  121. package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +72 -81
  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} +27 -27
  125. package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +45 -60
  126. package/coverage/lcov-report/{src/tests/utilities/index.ts.html → middleware/selfhost.js.html} +30 -33
  127. package/coverage/lcov-report/{src/events/index.ts.html → middleware/utils.js.html} +24 -18
  128. package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +14 -14
  129. package/coverage/lcov-report/{src/utilities/centralPath.ts.html → utilities/centralPath.js.html} +16 -16
  130. package/coverage/lcov-report/{src/utilities/csvParser.ts.html → utilities/csvParser.js.html} +59 -107
  131. package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +82 -115
  132. package/coverage/lcov-report/{src/utilities → utilities}/index.html +77 -92
  133. package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +74 -98
  134. package/coverage/lcov-report/{src/utilities/plugins.ts.html → utilities/plugins.js.html} +22 -25
  135. package/coverage/lcov-report/{src/integrations/airtable.ts.html → utilities/queue/inMemoryQueue.js.html} +135 -213
  136. package/coverage/lcov-report/{src/migrations → utilities/queue}/index.html +23 -23
  137. package/coverage/lcov-report/{src/sdk → utilities/routing}/index.html +10 -10
  138. package/coverage/lcov-report/{src/api/controllers/public/mapping/tables.ts.html → utilities/routing/index.js.html} +43 -46
  139. package/coverage/lcov-report/{src/definitions → utilities/rowProcessor}/index.html +34 -34
  140. package/coverage/lcov-report/{src/utilities/rowProcessor/index.ts.html → utilities/rowProcessor/index.js.html} +359 -128
  141. package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +42 -54
  142. package/coverage/lcov-report/{src/utilities/scriptRunner.ts.html → utilities/scriptRunner.js.html} +19 -31
  143. package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +78 -60
  144. package/coverage/lcov-report/{src/utilities/statusCodes.ts.html → utilities/statusCodes.js.html} +11 -11
  145. package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/index.html +28 -28
  146. package/coverage/lcov-report/{src/utilities/usageQuota/rows.ts.html → utilities/usageQuota/rows.js.html} +48 -36
  147. package/coverage/lcov-report/{src/utilities/usageQuota/usageQuoteReset.ts.html → utilities/usageQuota/usageQuoteReset.js.html} +13 -13
  148. package/coverage/lcov-report/{src/utilities/users.ts.html → utilities/users.js.html} +40 -34
  149. package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +112 -127
  150. package/coverage/lcov.info +7069 -19741
  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 +82 -122
  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 +94 -151
  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/integration.js +8 -11
  161. package/dist/api/controllers/layout.js +15 -18
  162. package/dist/api/controllers/metadata.js +37 -51
  163. package/dist/api/controllers/migrations.js +11 -19
  164. package/dist/api/controllers/permission.js +43 -52
  165. package/dist/api/controllers/plugin/index.js +7 -6
  166. package/dist/api/controllers/plugin/utils.js +1 -2
  167. package/dist/api/controllers/public/applications.js +9 -17
  168. package/dist/api/controllers/public/tables.js +9 -29
  169. package/dist/api/controllers/public/utils.js +2 -2
  170. package/dist/api/controllers/query/import/index.js +2 -1
  171. package/dist/api/controllers/query/index.js +13 -10
  172. package/dist/api/controllers/query/validation.js +33 -41
  173. package/dist/api/controllers/role.js +27 -29
  174. package/dist/api/controllers/routing.js +58 -71
  175. package/dist/api/controllers/row/ExternalRequest.js +542 -538
  176. package/dist/api/controllers/row/external.js +190 -258
  177. package/dist/api/controllers/row/index.js +14 -43
  178. package/dist/api/controllers/row/internal.js +295 -354
  179. package/dist/api/controllers/row/internalSearch.js +80 -95
  180. package/dist/api/controllers/row/staticFormula.js +112 -125
  181. package/dist/api/controllers/row/utils.js +84 -122
  182. package/dist/api/controllers/screen.js +66 -81
  183. package/dist/api/controllers/script.js +6 -13
  184. package/dist/api/controllers/static/index.js +14 -11
  185. package/dist/api/controllers/table/bulkFormula.js +35 -47
  186. package/dist/api/controllers/table/external.js +53 -89
  187. package/dist/api/controllers/table/index.js +31 -64
  188. package/dist/api/controllers/table/internal.js +6 -5
  189. package/dist/api/controllers/table/utils.js +35 -39
  190. package/dist/api/controllers/templates.js +10 -17
  191. package/dist/api/controllers/user.js +70 -82
  192. package/dist/api/controllers/view/exporters.js +4 -8
  193. package/dist/api/controllers/view/index.js +153 -201
  194. package/dist/api/controllers/view/utils.js +121 -151
  195. package/dist/api/controllers/view/viewBuilder.js +16 -4
  196. package/dist/api/controllers/webhook.js +2 -25
  197. package/dist/api/index.js +34 -38
  198. package/dist/api/routes/analytics.js +3 -29
  199. package/dist/api/routes/apikeys.js +7 -33
  200. package/dist/api/routes/application.js +9 -8
  201. package/dist/api/routes/auth.js +2 -1
  202. package/dist/api/routes/automation.js +20 -46
  203. package/dist/api/routes/backup.js +4 -3
  204. package/dist/api/routes/cloud.js +6 -32
  205. package/dist/api/routes/component.js +6 -32
  206. package/dist/api/routes/datasource.js +13 -39
  207. package/dist/api/routes/deploy.js +8 -34
  208. package/dist/api/routes/dev.js +10 -36
  209. package/dist/api/routes/integration.js +7 -33
  210. package/dist/api/routes/layout.js +7 -33
  211. package/dist/api/routes/metadata.js +10 -36
  212. package/dist/api/routes/migrations.js +6 -32
  213. package/dist/api/routes/permission.js +12 -38
  214. package/dist/api/routes/plugin.js +5 -5
  215. package/dist/api/routes/public/index.js +11 -11
  216. package/dist/api/routes/query.js +15 -42
  217. package/dist/api/routes/role.js +10 -36
  218. package/dist/api/routes/routing.js +6 -32
  219. package/dist/api/routes/row.js +11 -12
  220. package/dist/api/routes/screen.js +9 -35
  221. package/dist/api/routes/script.js +6 -32
  222. package/dist/api/routes/static.js +9 -9
  223. package/dist/api/routes/table.js +13 -40
  224. package/dist/api/routes/templates.js +7 -33
  225. package/dist/api/routes/tests/utilities/TestFunctions.js +8 -6
  226. package/dist/api/routes/tests/utilities/index.js +32 -69
  227. package/dist/api/routes/user.js +13 -40
  228. package/dist/api/routes/utils/validators.js +126 -142
  229. package/dist/api/routes/view.js +12 -38
  230. package/dist/api/routes/webhook.js +2 -1
  231. package/dist/app.js +22 -22
  232. package/dist/automations/actions.js +24 -53
  233. package/dist/automations/automationUtils.js +19 -31
  234. package/dist/automations/bullboard.js +29 -59
  235. package/dist/automations/index.js +18 -23
  236. package/dist/automations/steps/bash.js +10 -40
  237. package/dist/automations/steps/createRow.js +1 -2
  238. package/dist/automations/steps/delay.js +5 -9
  239. package/dist/automations/steps/deleteRow.js +1 -2
  240. package/dist/automations/steps/discord.js +7 -14
  241. package/dist/automations/steps/executeQuery.js +7 -34
  242. package/dist/automations/steps/executeScript.js +7 -34
  243. package/dist/automations/steps/filter.js +18 -20
  244. package/dist/automations/steps/integromat.js +7 -14
  245. package/dist/automations/steps/loop.js +1 -4
  246. package/dist/automations/steps/outgoingWebhook.js +14 -45
  247. package/dist/automations/steps/queryRows.js +38 -71
  248. package/dist/automations/steps/sendSmtpEmail.js +6 -33
  249. package/dist/automations/steps/serverLog.js +8 -12
  250. package/dist/automations/steps/slack.js +7 -14
  251. package/dist/automations/steps/updateRow.js +7 -34
  252. package/dist/automations/steps/utils.js +16 -22
  253. package/dist/automations/steps/zapier.js +7 -15
  254. package/dist/automations/tests/utilities/index.js +38 -62
  255. package/dist/automations/triggerInfo/app.js +1 -4
  256. package/dist/automations/triggerInfo/cron.js +1 -4
  257. package/dist/automations/triggerInfo/index.js +6 -31
  258. package/dist/automations/triggerInfo/rowDeleted.js +1 -4
  259. package/dist/automations/triggerInfo/rowSaved.js +1 -4
  260. package/dist/automations/triggerInfo/rowUpdated.js +1 -4
  261. package/dist/automations/triggerInfo/webhook.js +1 -4
  262. package/dist/automations/triggers.js +57 -90
  263. package/dist/automations/utils.js +8 -9
  264. package/dist/constants/index.js +104 -118
  265. package/dist/constants/layouts.js +10 -7
  266. package/dist/constants/screens.js +44 -49
  267. package/dist/db/dynamoClient.js +20 -20
  268. package/dist/db/inMemoryView.js +38 -47
  269. package/dist/db/index.js +4 -7
  270. package/dist/db/linkedRows/LinkController.js +70 -51
  271. package/dist/db/linkedRows/index.js +81 -93
  272. package/dist/db/linkedRows/linkUtils.js +32 -42
  273. package/dist/db/utils.js +119 -146
  274. package/dist/db/views/staticViews.js +74 -91
  275. package/dist/environment.js +6 -9
  276. package/dist/events/AutomationEmitter.js +10 -13
  277. package/dist/events/index.js +23 -5
  278. package/dist/events/utils.js +10 -18
  279. package/dist/integrations/elasticsearch.js +2 -26
  280. package/dist/integrations/googlesheets.js +6 -5
  281. package/dist/integrations/index.js +6 -15
  282. package/dist/integrations/s3.js +1 -157
  283. package/dist/integrations/tests/TestConfiguration.js +1 -0
  284. package/dist/middleware/appInfo.js +9 -14
  285. package/dist/middleware/authorized.js +21 -22
  286. package/dist/middleware/builder.js +40 -41
  287. package/dist/middleware/currentapp.js +37 -39
  288. package/dist/middleware/joi-validator.js +10 -17
  289. package/dist/middleware/publicApi.js +6 -5
  290. package/dist/middleware/resourceId.js +9 -16
  291. package/dist/middleware/selfhost.js +4 -5
  292. package/dist/middleware/utils.js +2 -5
  293. package/dist/migrations/functions/appUrls.js +2 -2
  294. package/dist/migrations/functions/backfill/global.js +1 -1
  295. package/dist/migrations/functions/usageQuotas/syncApps.js +4 -3
  296. package/dist/migrations/functions/usageQuotas/syncRows.js +4 -3
  297. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  298. package/dist/migrations/index.js +0 -5
  299. package/dist/package.json +45 -11
  300. package/dist/sdk/app/backups/exports.js +2 -1
  301. package/dist/sdk/app/backups/imports.js +3 -2
  302. package/dist/sdk/app/tables/index.js +5 -5
  303. package/dist/startup.js +10 -10
  304. package/dist/tests/utilities/TestConfiguration.js +87 -111
  305. package/dist/tests/utilities/controllers.js +15 -38
  306. package/dist/tests/utilities/structures.js +53 -72
  307. package/dist/threads/automation.js +27 -49
  308. package/dist/threads/query.js +19 -17
  309. package/dist/threads/utils.js +8 -33
  310. package/dist/tsconfig.build.tsbuildinfo +1 -1
  311. package/dist/utilities/budibaseDir.js +2 -4
  312. package/dist/utilities/centralPath.js +7 -14
  313. package/dist/utilities/csvParser.js +21 -27
  314. package/dist/utilities/fileSystem/clientLibrary.js +73 -87
  315. package/dist/utilities/fileSystem/index.js +175 -203
  316. package/dist/utilities/fileSystem/processor.js +3 -8
  317. package/dist/utilities/fileSystem/utilities.js +22 -0
  318. package/dist/utilities/global.js +66 -87
  319. package/dist/utilities/index.js +75 -102
  320. package/dist/utilities/plugins.js +9 -15
  321. package/dist/utilities/queue/inMemoryQueue.js +126 -0
  322. package/dist/utilities/redis.js +65 -100
  323. package/dist/utilities/routing/index.js +23 -27
  324. package/dist/utilities/rowProcessor/index.js +191 -133
  325. package/dist/utilities/rowProcessor/utils.js +26 -35
  326. package/dist/utilities/scriptRunner.js +5 -8
  327. package/dist/utilities/security.js +35 -39
  328. package/dist/utilities/usageQuota/rows.js +49 -56
  329. package/dist/utilities/users.js +28 -31
  330. package/dist/utilities/workerRequests.js +82 -115
  331. package/dist/watch.js +2 -1
  332. package/package.json +46 -12
  333. package/scripts/exportAppTemplate.js +2 -2
  334. package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
  335. package/scripts/localdomain.js +6 -34
  336. package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
  337. package/src/api/controllers/application.ts +42 -56
  338. package/src/api/controllers/auth.ts +3 -4
  339. package/src/api/controllers/{automation.ts → automation.js} +48 -48
  340. package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
  341. package/src/api/controllers/component.ts +1 -2
  342. package/src/api/controllers/{datasource.ts → datasource.js} +49 -109
  343. package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
  344. package/src/api/controllers/deploy/index.ts +25 -13
  345. package/src/api/controllers/{dev.ts → dev.js} +37 -31
  346. package/src/api/controllers/integration.js +14 -0
  347. package/src/api/controllers/{layout.ts → layout.js} +8 -8
  348. package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
  349. package/src/api/controllers/migrations.js +13 -0
  350. package/src/api/controllers/{permission.ts → permission.js} +46 -49
  351. package/src/api/controllers/plugin/index.ts +5 -4
  352. package/src/api/controllers/plugin/utils.ts +5 -3
  353. package/src/api/controllers/public/applications.ts +9 -15
  354. package/src/api/controllers/public/rows.ts +1 -1
  355. package/src/api/controllers/public/tables.ts +2 -2
  356. package/src/api/controllers/public/utils.ts +2 -2
  357. package/src/api/controllers/query/import/index.ts +3 -2
  358. package/src/api/controllers/query/index.ts +14 -11
  359. package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
  360. package/src/api/controllers/{role.ts → role.js} +25 -21
  361. package/src/api/controllers/{routing.ts → routing.js} +34 -37
  362. package/src/api/controllers/row/ExternalRequest.ts +624 -602
  363. package/src/api/controllers/row/{external.ts → external.js} +62 -79
  364. package/src/api/controllers/row/index.ts +11 -19
  365. package/src/api/controllers/row/{internal.ts → internal.js} +73 -87
  366. package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
  367. package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +25 -30
  368. package/src/api/controllers/row/{utils.ts → utils.js} +22 -32
  369. package/src/api/controllers/screen.ts +6 -10
  370. package/src/api/controllers/script.js +11 -0
  371. package/src/api/controllers/static/index.ts +16 -14
  372. package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
  373. package/src/api/controllers/table/{external.ts → external.js} +55 -86
  374. package/src/api/controllers/table/{index.ts → index.js} +18 -21
  375. package/src/api/controllers/table/internal.ts +6 -5
  376. package/src/api/controllers/table/utils.ts +21 -26
  377. package/src/api/controllers/{templates.ts → templates.js} +7 -10
  378. package/src/api/controllers/{user.ts → user.js} +49 -47
  379. package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
  380. package/src/api/controllers/view/{index.ts → index.js} +27 -36
  381. package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
  382. package/src/api/controllers/view/{viewBuilder.ts → viewBuilder.js} +11 -25
  383. package/src/api/controllers/webhook.ts +1 -1
  384. package/src/api/{index.ts → index.js} +22 -15
  385. package/src/api/routes/analytics.js +9 -0
  386. package/src/api/routes/apikeys.js +12 -0
  387. package/src/api/routes/application.ts +9 -17
  388. package/src/api/routes/auth.ts +2 -2
  389. package/src/api/routes/automation.js +85 -0
  390. package/src/api/routes/backup.ts +4 -8
  391. package/src/api/routes/cloud.js +14 -0
  392. package/src/api/routes/component.js +14 -0
  393. package/src/api/routes/datasource.js +51 -0
  394. package/src/api/routes/deploy.js +17 -0
  395. package/src/api/routes/dev.js +26 -0
  396. package/src/api/routes/integration.js +12 -0
  397. package/src/api/routes/layout.js +16 -0
  398. package/src/api/routes/{metadata.ts → metadata.js} +13 -13
  399. package/src/api/routes/migrations.js +14 -0
  400. package/src/api/routes/permission.js +33 -0
  401. package/src/api/routes/plugin.ts +6 -14
  402. package/src/api/routes/public/index.ts +14 -11
  403. package/src/api/routes/public/tests/compare.spec.js +1 -1
  404. package/src/api/routes/{query.ts → query.js} +22 -19
  405. package/src/api/routes/role.js +15 -0
  406. package/src/api/routes/routing.js +14 -0
  407. package/src/api/routes/row.ts +15 -13
  408. package/src/api/routes/screen.js +18 -0
  409. package/src/api/routes/script.js +10 -0
  410. package/src/api/routes/static.ts +10 -7
  411. package/src/api/routes/{table.ts → table.js} +13 -10
  412. package/src/api/routes/templates.js +16 -0
  413. package/src/api/routes/tests/analytics.spec.js +1 -1
  414. package/src/api/routes/tests/backup.spec.js +1 -9
  415. package/src/api/routes/tests/deployment.spec.ts +1 -1
  416. package/src/api/routes/tests/permissions.spec.js +1 -2
  417. package/src/api/routes/tests/query.spec.js +10 -15
  418. package/src/api/routes/tests/role.spec.js +9 -7
  419. package/src/api/routes/tests/routing.spec.js +1 -2
  420. package/src/api/routes/tests/row.spec.js +4 -3
  421. package/src/api/routes/tests/static.spec.js +2 -2
  422. package/src/api/routes/tests/table.spec.js +36 -40
  423. package/src/api/routes/tests/user.spec.js +1 -2
  424. package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
  425. package/src/api/routes/tests/utilities/{index.ts → index.js} +12 -12
  426. package/src/api/routes/tests/view.spec.js +3 -3
  427. package/src/api/routes/user.js +53 -0
  428. package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
  429. package/src/api/routes/view.js +31 -0
  430. package/src/api/routes/webhook.ts +2 -2
  431. package/src/app.ts +14 -15
  432. package/src/automations/{actions.ts → actions.js} +23 -26
  433. package/src/automations/{automationUtils.ts → automationUtils.js} +12 -13
  434. package/src/automations/bullboard.js +39 -0
  435. package/src/automations/index.js +29 -0
  436. package/src/automations/steps/{bash.ts → bash.js} +8 -13
  437. package/src/automations/steps/createRow.ts +3 -8
  438. package/src/automations/steps/{delay.ts → delay.js} +4 -9
  439. package/src/automations/steps/deleteRow.ts +3 -8
  440. package/src/automations/steps/{discord.ts → discord.js} +5 -10
  441. package/src/automations/steps/{executeQuery.ts → executeQuery.js} +7 -12
  442. package/src/automations/steps/{executeScript.ts → executeScript.js} +7 -17
  443. package/src/automations/steps/{filter.ts → filter.js} +9 -12
  444. package/src/automations/steps/{integromat.ts → integromat.js} +5 -10
  445. package/src/automations/steps/{loop.ts → loop.js} +2 -4
  446. package/src/automations/steps/{outgoingWebhook.ts → outgoingWebhook.js} +13 -18
  447. package/src/automations/steps/{queryRows.ts → queryRows.js} +36 -48
  448. package/src/automations/steps/{sendSmtpEmail.ts → sendSmtpEmail.js} +5 -10
  449. package/src/automations/steps/{serverLog.ts → serverLog.js} +3 -9
  450. package/src/automations/steps/{slack.ts → slack.js} +5 -10
  451. package/src/automations/steps/{updateRow.ts → updateRow.js} +7 -12
  452. package/src/automations/steps/{utils.ts → utils.js} +4 -10
  453. package/src/automations/steps/{zapier.ts → zapier.js} +5 -11
  454. package/src/automations/tests/updateRow.spec.js +1 -0
  455. package/src/automations/tests/utilities/index.js +51 -0
  456. package/src/automations/triggerInfo/{app.ts → app.js} +2 -7
  457. package/src/automations/triggerInfo/{cron.ts → cron.js} +2 -7
  458. package/src/automations/triggerInfo/index.js +15 -0
  459. package/src/automations/triggerInfo/{rowDeleted.ts → rowDeleted.js} +2 -7
  460. package/src/automations/triggerInfo/{rowSaved.ts → rowSaved.js} +2 -7
  461. package/src/automations/triggerInfo/{rowUpdated.ts → rowUpdated.js} +2 -7
  462. package/src/automations/triggerInfo/{webhook.ts → webhook.js} +2 -7
  463. package/src/automations/{triggers.ts → triggers.js} +26 -30
  464. package/src/automations/utils.ts +12 -9
  465. package/src/constants/index.js +208 -0
  466. package/src/constants/{layouts.ts → layouts.js} +9 -3
  467. package/src/constants/screens.js +46 -0
  468. package/src/db/{dynamoClient.ts → dynamoClient.js} +19 -39
  469. package/src/db/{inMemoryView.ts → inMemoryView.js} +9 -15
  470. package/src/db/index.js +16 -0
  471. package/src/db/linkedRows/{LinkController.ts → LinkController.js} +85 -64
  472. package/src/db/linkedRows/{index.ts → index.js} +38 -43
  473. package/src/db/linkedRows/{linkUtils.ts → linkUtils.js} +24 -33
  474. package/src/db/{newid.ts → newid.js} +1 -1
  475. package/src/db/tests/linkController.spec.js +57 -73
  476. package/src/db/tests/linkTests.spec.js +14 -17
  477. package/src/db/{utils.ts → utils.js} +93 -77
  478. package/src/db/views/{staticViews.ts → staticViews.js} +13 -20
  479. package/src/{environment.ts → environment.js} +7 -11
  480. package/src/events/{AutomationEmitter.ts → AutomationEmitter.js} +7 -12
  481. package/src/events/{BudibaseEmitter.ts → index.js} +8 -7
  482. package/src/events/utils.js +38 -0
  483. package/src/integrations/base/sql.ts +1 -1
  484. package/src/integrations/base/sqlTable.ts +1 -1
  485. package/src/integrations/elasticsearch.ts +2 -32
  486. package/src/integrations/googlesheets.ts +7 -5
  487. package/src/integrations/index.ts +41 -45
  488. package/src/integrations/s3.ts +3 -179
  489. package/src/integrations/tests/s3.spec.ts +1 -85
  490. package/src/integrations/utils.ts +2 -6
  491. package/src/middleware/appInfo.js +19 -0
  492. package/src/middleware/authorized.ts +28 -21
  493. package/src/middleware/{builder.ts → builder.js} +15 -17
  494. package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
  495. package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
  496. package/src/middleware/publicApi.js +21 -0
  497. package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
  498. package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
  499. package/src/middleware/tests/authorized.spec.js +6 -5
  500. package/src/middleware/tests/currentapp.spec.js +63 -118
  501. package/src/middleware/{utils.ts → utils.js} +1 -3
  502. package/src/migrations/functions/appUrls.ts +2 -2
  503. package/src/migrations/functions/backfill/app/tables.ts +5 -2
  504. package/src/migrations/functions/backfill/global.ts +1 -1
  505. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  506. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
  507. package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
  508. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  509. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  510. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  511. package/src/migrations/index.ts +0 -9
  512. package/src/migrations/tests/index.spec.ts +1 -1
  513. package/src/module.d.ts +14 -0
  514. package/src/sdk/app/backups/exports.ts +3 -5
  515. package/src/sdk/app/backups/imports.ts +14 -7
  516. package/src/sdk/app/backups/statistics.ts +18 -9
  517. package/src/sdk/app/tables/index.ts +8 -7
  518. package/src/startup.ts +5 -5
  519. package/src/tests/utilities/{TestConfiguration.ts → TestConfiguration.js} +78 -111
  520. package/src/tests/utilities/controllers.js +16 -0
  521. package/src/tests/utilities/{index.ts → index.js} +2 -2
  522. package/src/tests/utilities/{structures.ts → structures.js} +36 -41
  523. package/src/threads/automation.ts +19 -18
  524. package/src/threads/query.ts +16 -11
  525. package/src/threads/utils.ts +5 -4
  526. package/src/utilities/budibaseDir.js +3 -0
  527. package/src/utilities/{centralPath.ts → centralPath.js} +3 -3
  528. package/src/utilities/{csvParser.ts → csvParser.js} +26 -42
  529. package/src/utilities/fileSystem/{clientLibrary.ts → clientLibrary.js} +20 -20
  530. package/src/utilities/fileSystem/{index.ts → index.js} +65 -61
  531. package/src/utilities/fileSystem/{processor.ts → processor.js} +5 -3
  532. package/src/utilities/fileSystem/utilities.js +36 -0
  533. package/src/utilities/global.js +127 -0
  534. package/src/utilities/{index.ts → index.js} +32 -40
  535. package/src/utilities/{plugins.ts → plugins.js} +4 -5
  536. package/src/utilities/queue/inMemoryQueue.js +122 -0
  537. package/src/utilities/{redis.ts → redis.js} +20 -21
  538. package/src/utilities/routing/index.js +25 -0
  539. package/src/utilities/rowProcessor/{index.ts → index.js} +144 -67
  540. package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
  541. package/src/utilities/{scriptRunner.ts → scriptRunner.js} +4 -8
  542. package/src/utilities/security.js +71 -0
  543. package/src/utilities/{statusCodes.ts → statusCodes.js} +1 -1
  544. package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
  545. package/src/utilities/usageQuota/{usageQuoteReset.ts → usageQuoteReset.js} +1 -1
  546. package/src/utilities/{users.ts → users.js} +13 -11
  547. package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
  548. package/src/watch.ts +3 -2
  549. package/tsconfig.build.json +2 -1
  550. package/tsconfig.json +1 -3
  551. package/builder/assets/index.0c44dac3.css +0 -6
  552. package/builder/assets/index.cdf540dc.js +0 -1021
  553. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
  554. package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
  555. package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
  556. package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
  557. package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
  558. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
  559. package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
  560. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
  561. package/coverage/lcov-report/src/api/controllers/index.html +0 -431
  562. package/coverage/lcov-report/src/api/controllers/integration.ts.html +0 -124
  563. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
  564. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
  565. package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
  566. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
  567. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
  568. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
  569. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
  570. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -136
  571. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
  572. package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
  573. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
  574. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
  575. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
  576. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
  577. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
  578. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
  579. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
  580. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
  581. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
  582. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
  583. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
  584. package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
  585. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
  586. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
  587. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
  588. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
  589. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
  590. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
  591. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
  592. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
  593. package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
  594. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
  595. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2260
  596. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
  597. package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
  598. package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
  599. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -694
  600. package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
  601. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
  602. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
  603. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
  604. package/coverage/lcov-report/src/api/routes/analytics.ts.html +0 -112
  605. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +0 -121
  606. package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
  607. package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
  608. package/coverage/lcov-report/src/api/routes/datasource.ts.html +0 -265
  609. package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
  610. package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
  611. package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
  612. package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
  613. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
  614. package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
  615. package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -493
  616. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
  617. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
  618. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
  619. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
  620. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
  621. package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
  622. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
  623. package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
  624. package/coverage/lcov-report/src/api/routes/role.ts.html +0 -157
  625. package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
  626. package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
  627. package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
  628. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
  629. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
  630. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +0 -367
  631. package/coverage/lcov-report/src/api/routes/webhook.ts.html +0 -166
  632. package/coverage/lcov-report/src/app.ts.html +0 -406
  633. package/coverage/lcov-report/src/automations/logging/index.html +0 -116
  634. package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
  635. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -382
  636. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -349
  637. package/coverage/lcov-report/src/automations/steps/index.html +0 -371
  638. package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
  639. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +0 -265
  640. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +0 -196
  641. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +0 -130
  642. package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
  643. package/coverage/lcov-report/src/constants/index.ts.html +0 -697
  644. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +0 -2059
  645. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +0 -541
  646. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +0 -427
  647. package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
  648. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +0 -403
  649. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +0 -559
  650. package/coverage/lcov-report/src/db/dynamoClient.ts.html +0 -526
  651. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +0 -265
  652. package/coverage/lcov-report/src/db/linkedRows/index.html +0 -161
  653. package/coverage/lcov-report/src/environment.ts.html +0 -457
  654. package/coverage/lcov-report/src/events/utils.ts.html +0 -319
  655. package/coverage/lcov-report/src/index.html +0 -191
  656. package/coverage/lcov-report/src/index.ts.html +0 -133
  657. package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
  658. package/coverage/lcov-report/src/integrations/base/index.html +0 -161
  659. package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
  660. package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
  661. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
  662. package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
  663. package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
  664. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
  665. package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
  666. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1315
  667. package/coverage/lcov-report/src/integrations/index.html +0 -371
  668. package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
  669. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
  670. package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
  671. package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -964
  672. package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
  673. package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
  674. package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
  675. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
  676. package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
  677. package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
  678. package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
  679. package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
  680. package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1018
  681. package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
  682. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
  683. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
  684. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
  685. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
  686. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
  687. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
  688. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
  689. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
  690. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
  691. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
  692. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
  693. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
  694. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
  695. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
  696. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
  697. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
  698. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
  699. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
  700. package/coverage/lcov-report/src/migrations/functions/index.html +0 -161
  701. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
  702. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +0 -520
  703. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
  704. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
  705. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
  706. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
  707. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
  708. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
  709. package/coverage/lcov-report/src/migrations/index.ts.html +0 -430
  710. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
  711. package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
  712. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
  713. package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
  714. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
  715. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
  716. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
  717. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
  718. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
  719. package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
  720. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
  721. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
  722. package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
  723. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
  724. package/coverage/lcov-report/src/startup.ts.html +0 -499
  725. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +0 -1966
  726. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +0 -127
  727. package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
  728. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +0 -667
  729. package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
  730. package/coverage/lcov-report/src/threads/index.html +0 -161
  731. package/coverage/lcov-report/src/threads/index.ts.html +0 -418
  732. package/coverage/lcov-report/src/threads/query.ts.html +0 -961
  733. package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
  734. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +0 -547
  735. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +0 -1129
  736. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +0 -142
  737. package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
  738. package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
  739. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
  740. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +0 -373
  741. package/coverage/lcov-report/src/watch.ts.html +0 -196
  742. package/dist/db/defaultData/datasource_bb_default.js +0 -573
  743. package/dist/db/defaultData/employeeImport.js +0 -155
  744. package/dist/db/defaultData/expensesImport.js +0 -117
  745. package/dist/db/defaultData/inventoryImport.js +0 -109
  746. package/dist/db/defaultData/jobsImport.js +0 -152
  747. package/dist/db/linkedRows/LinkDocument.js +0 -32
  748. package/dist/events/BudibaseEmitter.js +0 -24
  749. package/dist/migrations/functions/tableSettings.js +0 -130
  750. package/dist/utilities/rowProcessor/map.js +0 -99
  751. package/jest.config.ts +0 -33
  752. package/src/api/controllers/integration.ts +0 -13
  753. package/src/api/controllers/migrations.ts +0 -14
  754. package/src/api/controllers/script.ts +0 -12
  755. package/src/api/routes/analytics.ts +0 -9
  756. package/src/api/routes/apikeys.ts +0 -12
  757. package/src/api/routes/automation.ts +0 -87
  758. package/src/api/routes/cloud.ts +0 -18
  759. package/src/api/routes/component.ts +0 -14
  760. package/src/api/routes/datasource.ts +0 -60
  761. package/src/api/routes/deploy.ts +0 -21
  762. package/src/api/routes/dev.ts +0 -38
  763. package/src/api/routes/integration.ts +0 -16
  764. package/src/api/routes/layout.ts +0 -16
  765. package/src/api/routes/migrations.ts +0 -14
  766. package/src/api/routes/permission.ts +0 -41
  767. package/src/api/routes/role.ts +0 -24
  768. package/src/api/routes/routing.ts +0 -14
  769. package/src/api/routes/screen.ts +0 -23
  770. package/src/api/routes/script.ts +0 -10
  771. package/src/api/routes/templates.ts +0 -16
  772. package/src/api/routes/user.ts +0 -51
  773. package/src/api/routes/view.ts +0 -34
  774. package/src/automations/bullboard.ts +0 -38
  775. package/src/automations/index.ts +0 -26
  776. package/src/automations/tests/utilities/index.ts +0 -60
  777. package/src/automations/triggerInfo/index.ts +0 -15
  778. package/src/constants/index.ts +0 -204
  779. package/src/constants/screens.ts +0 -48
  780. package/src/db/defaultData/datasource_bb_default.ts +0 -658
  781. package/src/db/defaultData/employeeImport.ts +0 -152
  782. package/src/db/defaultData/expensesImport.ts +0 -114
  783. package/src/db/defaultData/inventoryImport.ts +0 -106
  784. package/src/db/defaultData/jobsImport.ts +0 -158
  785. package/src/db/index.ts +0 -16
  786. package/src/db/linkedRows/LinkDocument.ts +0 -60
  787. package/src/events/index.ts +0 -5
  788. package/src/events/utils.ts +0 -78
  789. package/src/middleware/appInfo.ts +0 -20
  790. package/src/middleware/publicApi.ts +0 -21
  791. package/src/migrations/functions/tableSettings.ts +0 -145
  792. package/src/migrations/functions/tests/tableSettings.spec.ts +0 -144
  793. package/src/tests/utilities/controllers.ts +0 -14
  794. package/src/utilities/budibaseDir.ts +0 -3
  795. package/src/utilities/global.ts +0 -138
  796. package/src/utilities/routing/index.ts +0 -32
  797. package/src/utilities/rowProcessor/map.ts +0 -96
  798. package/src/utilities/security.ts +0 -65
@@ -14,14 +14,19 @@ const {
14
14
  } = require("../../../utilities/fileSystem")
15
15
  const env = require("../../../environment")
16
16
  const { clientLibraryPath } = require("../../../utilities")
17
+ const { upload, deleteFiles } = require("../../../utilities/fileSystem")
17
18
  const { attachmentsRelativeURL } = require("../../../utilities")
18
19
  const { DocumentType } = require("../../../db/utils")
19
- const { context, objectStore, utils } = require("@budibase/backend-core")
20
+ const { getAppDB, getAppId } = require("@budibase/backend-core/context")
21
+ const { setCookie, clearCookie } = require("@budibase/backend-core/utils")
20
22
  const AWS = require("aws-sdk")
21
23
  const fs = require("fs")
24
+ const {
25
+ downloadTarballDirect,
26
+ } = require("../../../utilities/fileSystem/utilities")
22
27
 
23
28
  async function prepareUpload({ s3Key, bucket, metadata, file }: any) {
24
- const response = await objectStore.upload({
29
+ const response = await upload({
25
30
  bucket,
26
31
  metadata,
27
32
  filename: s3Key,
@@ -43,7 +48,7 @@ export const toggleBetaUiFeature = async function (ctx: any) {
43
48
  const cookieName = `beta:${ctx.params.feature}`
44
49
 
45
50
  if (ctx.cookies.get(cookieName)) {
46
- utils.clearCookie(ctx, cookieName)
51
+ clearCookie(ctx, cookieName)
47
52
  ctx.body = {
48
53
  message: `${ctx.params.feature} disabled`,
49
54
  }
@@ -56,11 +61,11 @@ export const toggleBetaUiFeature = async function (ctx: any) {
56
61
  if (!fs.existsSync(builderPath)) {
57
62
  fs.mkdirSync(builderPath)
58
63
  }
59
- await objectStore.downloadTarballDirect(
64
+ await downloadTarballDirect(
60
65
  "https://cdn.budi.live/beta:design_ui/new_ui.tar.gz",
61
66
  builderPath
62
67
  )
63
- utils.setCookie(ctx, {}, cookieName)
68
+ setCookie(ctx, {}, cookieName)
64
69
 
65
70
  ctx.body = {
66
71
  message: `${ctx.params.feature} enabled`,
@@ -94,16 +99,13 @@ export const uploadFile = async function (ctx: any) {
94
99
  }
95
100
 
96
101
  export const deleteObjects = async function (ctx: any) {
97
- ctx.body = await objectStore.deleteFiles(
98
- ObjectStoreBuckets.APPS,
99
- ctx.request.body.keys
100
- )
102
+ ctx.body = await deleteFiles(ObjectStoreBuckets.APPS, ctx.request.body.keys)
101
103
  }
102
104
 
103
105
  export const serveApp = async function (ctx: any) {
104
- const db = context.getAppDB({ skip_setup: true })
106
+ const db = getAppDB({ skip_setup: true })
105
107
  const appInfo = await db.get(DocumentType.APP_METADATA)
106
- let appId = context.getAppId()
108
+ let appId = getAppId()
107
109
 
108
110
  if (!env.isJest()) {
109
111
  const App = require("./templates/BudibaseApp.svelte").default
@@ -132,11 +134,11 @@ export const serveApp = async function (ctx: any) {
132
134
  }
133
135
 
134
136
  export const serveBuilderPreview = async function (ctx: any) {
135
- const db = context.getAppDB({ skip_setup: true })
137
+ const db = getAppDB({ skip_setup: true })
136
138
  const appInfo = await db.get(DocumentType.APP_METADATA)
137
139
 
138
140
  if (!env.isJest()) {
139
- let appId = context.getAppId()
141
+ let appId = getAppId()
140
142
  const previewHbs = loadHandlebarsFile(`${__dirname}/templates/preview.hbs`)
141
143
  ctx.body = await processString(previewHbs, {
142
144
  clientLibPath: clientLibraryPath(appId, appInfo.version, ctx),
@@ -154,7 +156,7 @@ export const serveClientLibrary = async function (ctx: any) {
154
156
  }
155
157
 
156
158
  export const getSignedUploadURL = async function (ctx: any) {
157
- const database = context.getAppDB()
159
+ const database = getAppDB()
158
160
 
159
161
  // Ensure datasource is valid
160
162
  let datasource
@@ -1,14 +1,13 @@
1
- import { FieldTypes, FormulaTypes } from "../../../constants"
2
- import { clearColumns } from "./utils"
3
- import { doesContainStrings } from "@budibase/string-templates"
4
- import { cloneDeep } from "lodash/fp"
5
- import { isEqual, uniq } from "lodash"
6
- import { updateAllFormulasInTable } from "../row/staticFormula"
7
- import { context } from "@budibase/backend-core"
8
- import { FieldSchema, Table } from "@budibase/types"
9
- import sdk from "../../../sdk"
1
+ const { FieldTypes, FormulaTypes } = require("../../../constants")
2
+ const { clearColumns } = require("./utils")
3
+ const { doesContainStrings } = require("@budibase/string-templates")
4
+ const { cloneDeep } = require("lodash/fp")
5
+ const { isEqual, uniq } = require("lodash")
6
+ const { updateAllFormulasInTable } = require("../row/staticFormula")
7
+ const { getAppDB } = require("@budibase/backend-core/context")
8
+ const sdk = require("../../../sdk")
10
9
 
11
- function isStaticFormula(column: FieldSchema) {
10
+ function isStaticFormula(column) {
12
11
  return (
13
12
  column.type === FieldTypes.FORMULA &&
14
13
  column.formulaType === FormulaTypes.STATIC
@@ -19,8 +18,8 @@ function isStaticFormula(column: FieldSchema) {
19
18
  * This retrieves the formula columns from a table schema that use a specified column name
20
19
  * in the formula.
21
20
  */
22
- function getFormulaThatUseColumn(table: Table, columnNames: string[] | string) {
23
- let formula: string[] = []
21
+ function getFormulaThatUseColumn(table, columnNames) {
22
+ let formula = []
24
23
  columnNames = Array.isArray(columnNames) ? columnNames : [columnNames]
25
24
  for (let column of Object.values(table.schema)) {
26
25
  // not a static formula, or doesn't contain a relationship
@@ -39,10 +38,7 @@ function getFormulaThatUseColumn(table: Table, columnNames: string[] | string) {
39
38
  * This functions checks for when a related table, column or related column is deleted, if any
40
39
  * tables need to have the formula column removed.
41
40
  */
42
- async function checkIfFormulaNeedsCleared(
43
- table: Table,
44
- { oldTable, deletion }: { oldTable?: Table; deletion?: boolean }
45
- ) {
41
+ async function checkIfFormulaNeedsCleared(table, { oldTable, deletion }) {
46
42
  // start by retrieving all tables, remove the current table from the list
47
43
  const tables = (await sdk.tables.getAllInternalTables()).filter(
48
44
  tbl => tbl._id !== table._id
@@ -53,14 +49,11 @@ async function checkIfFormulaNeedsCleared(
53
49
  )
54
50
  // remove any formula columns that used related columns
55
51
  for (let removed of removedColumns) {
56
- let tableToUse: Table | undefined = table
52
+ let tableToUse = table
57
53
  // if relationship, get the related table
58
54
  if (removed.type === FieldTypes.LINK) {
59
55
  tableToUse = tables.find(table => table._id === removed.tableId)
60
56
  }
61
- if (!tableToUse) {
62
- continue
63
- }
64
57
  const columnsToDelete = getFormulaThatUseColumn(tableToUse, removed.name)
65
58
  if (columnsToDelete.length > 0) {
66
59
  await clearColumns(table, columnsToDelete)
@@ -78,11 +71,11 @@ async function checkIfFormulaNeedsCleared(
78
71
  // look to see if the column was used in a relationship formula,
79
72
  // relationships won't be used for this
80
73
  if (relatedTable && relatedColumns && removed.type !== FieldTypes.LINK) {
81
- let relatedFormulaToRemove: string[] = []
74
+ let relatedFormulaToRemove = []
82
75
  for (let column of relatedColumns) {
83
76
  relatedFormulaToRemove = relatedFormulaToRemove.concat(
84
77
  getFormulaThatUseColumn(relatedTable, [
85
- column.fieldName!,
78
+ column.fieldName,
86
79
  removed.name,
87
80
  ])
88
81
  )
@@ -102,14 +95,13 @@ async function checkIfFormulaNeedsCleared(
102
95
  * specifically only for static formula.
103
96
  */
104
97
  async function updateRelatedFormulaLinksOnTables(
105
- table: Table,
106
- { deletion }: { deletion?: boolean } = {}
98
+ table,
99
+ { deletion } = { deletion: false }
107
100
  ) {
108
- const tableId: string = table._id!
109
- const db = context.getAppDB()
101
+ const db = getAppDB()
110
102
  // start by retrieving all tables, remove the current table from the list
111
103
  const tables = (await sdk.tables.getAllInternalTables()).filter(
112
- tbl => tbl._id !== tableId
104
+ tbl => tbl._id !== table._id
113
105
  )
114
106
  // clone the tables, so we can compare at end
115
107
  const initialTables = cloneDeep(tables)
@@ -122,7 +114,7 @@ async function updateRelatedFormulaLinksOnTables(
122
114
  if (!otherTable.relatedFormula) {
123
115
  continue
124
116
  }
125
- const index = otherTable.relatedFormula.indexOf(tableId)
117
+ const index = otherTable.relatedFormula.indexOf(table._id)
126
118
  if (index !== -1) {
127
119
  otherTable.relatedFormula.splice(index, 1)
128
120
  }
@@ -141,11 +133,11 @@ async function updateRelatedFormulaLinksOnTables(
141
133
  if (
142
134
  relatedTable &&
143
135
  (!relatedTable.relatedFormula ||
144
- !relatedTable.relatedFormula.includes(tableId))
136
+ !relatedTable.relatedFormula.includes(table._id))
145
137
  ) {
146
138
  relatedTable.relatedFormula = relatedTable.relatedFormula
147
- ? [...relatedTable.relatedFormula, tableId]
148
- : [tableId]
139
+ ? [...relatedTable.relatedFormula, table._id]
140
+ : [table._id]
149
141
  }
150
142
  }
151
143
  }
@@ -158,10 +150,7 @@ async function updateRelatedFormulaLinksOnTables(
158
150
  }
159
151
  }
160
152
 
161
- async function checkIfFormulaUpdated(
162
- table: Table,
163
- { oldTable }: { oldTable?: Table }
164
- ) {
153
+ async function checkIfFormulaUpdated(table, { oldTable }) {
165
154
  // look to see if any formula values have changed
166
155
  const shouldUpdate = Object.values(table.schema).find(
167
156
  column =>
@@ -176,10 +165,7 @@ async function checkIfFormulaUpdated(
176
165
  }
177
166
  }
178
167
 
179
- export async function runStaticFormulaChecks(
180
- table: Table,
181
- { oldTable, deletion }: { oldTable?: Table; deletion?: boolean }
182
- ) {
168
+ exports.runStaticFormulaChecks = async (table, { oldTable, deletion }) => {
183
169
  await updateRelatedFormulaLinksOnTables(table, { deletion })
184
170
  await checkIfFormulaNeedsCleared(table, { oldTable, deletion })
185
171
  if (!deletion) {
@@ -1,43 +1,38 @@
1
- import {
1
+ const {
2
2
  buildExternalTableId,
3
3
  breakExternalTableId,
4
- } from "../../../integrations/utils"
5
- import {
4
+ } = require("../../../integrations/utils")
5
+ const {
6
6
  generateForeignKey,
7
7
  generateJunctionTableName,
8
8
  foreignKeyStructure,
9
9
  hasTypeChanged,
10
- } from "./utils"
11
- import { FieldTypes, RelationshipTypes } from "../../../constants"
12
- import { makeExternalQuery } from "../../../integrations/base/query"
13
- import * as csvParser from "../../../utilities/csvParser"
14
- import { handleRequest } from "../row/external"
15
- import { events, context } from "@budibase/backend-core"
16
- import {
17
- Datasource,
18
- Table,
19
- QueryJson,
20
- Operation,
21
- RenameColumn,
22
- FieldSchema,
23
- BBContext,
24
- TableRequest,
25
- } from "@budibase/types"
26
- import sdk from "../../../sdk"
10
+ } = require("./utils")
11
+ const {
12
+ DataSourceOperation,
13
+ FieldTypes,
14
+ RelationshipTypes,
15
+ } = require("../../../constants")
16
+ const { makeExternalQuery } = require("../../../integrations/base/query")
27
17
  const { cloneDeep } = require("lodash/fp")
18
+ const csvParser = require("../../../utilities/csvParser")
19
+ const { handleRequest } = require("../row/external")
20
+ const { getAppDB } = require("@budibase/backend-core/context")
21
+ const { events } = require("@budibase/backend-core")
22
+ const sdk = require("../../../sdk")
28
23
 
29
24
  async function makeTableRequest(
30
- datasource: Datasource,
31
- operation: Operation,
32
- table: Table,
33
- tables: Record<string, Table>,
34
- oldTable?: Table,
35
- renamed?: RenameColumn
25
+ datasource,
26
+ operation,
27
+ table,
28
+ tables,
29
+ oldTable = null,
30
+ renamed = null
36
31
  ) {
37
- const json: QueryJson = {
32
+ const json = {
38
33
  endpoint: {
39
- datasourceId: datasource._id!,
40
- entityId: table._id!,
34
+ datasourceId: datasource._id,
35
+ entityId: table._id,
41
36
  operation,
42
37
  },
43
38
  meta: {
@@ -46,19 +41,15 @@ async function makeTableRequest(
46
41
  table,
47
42
  }
48
43
  if (oldTable) {
49
- json.meta!.table = oldTable
44
+ json.meta.table = oldTable
50
45
  }
51
46
  if (renamed) {
52
- json.meta!.renamed = renamed
47
+ json.meta.renamed = renamed
53
48
  }
54
49
  return makeExternalQuery(datasource, json)
55
50
  }
56
51
 
57
- function cleanupRelationships(
58
- table: Table,
59
- tables: Record<string, Table>,
60
- oldTable?: Table
61
- ) {
52
+ function cleanupRelationships(table, tables, oldTable = null) {
62
53
  const tableToIterate = oldTable ? oldTable : table
63
54
  // clean up relationships in couch table schemas
64
55
  for (let [key, schema] of Object.entries(tableToIterate.schema)) {
@@ -87,7 +78,7 @@ function cleanupRelationships(
87
78
  }
88
79
  }
89
80
 
90
- function getDatasourceId(table: Table) {
81
+ function getDatasourceId(table) {
91
82
  if (!table) {
92
83
  throw "No table supplied"
93
84
  }
@@ -97,7 +88,7 @@ function getDatasourceId(table: Table) {
97
88
  return breakExternalTableId(table._id).datasourceId
98
89
  }
99
90
 
100
- function otherRelationshipType(type?: string) {
91
+ function otherRelationshipType(type) {
101
92
  if (type === RelationshipTypes.MANY_TO_MANY) {
102
93
  return RelationshipTypes.MANY_TO_MANY
103
94
  }
@@ -106,21 +97,13 @@ function otherRelationshipType(type?: string) {
106
97
  : RelationshipTypes.ONE_TO_MANY
107
98
  }
108
99
 
109
- function generateManyLinkSchema(
110
- datasource: Datasource,
111
- column: FieldSchema,
112
- table: Table,
113
- relatedTable: Table
114
- ): Table {
115
- if (!table.primary || !relatedTable.primary) {
116
- throw new Error("Unable to generate many link schema, no primary keys")
117
- }
100
+ function generateManyLinkSchema(datasource, column, table, relatedTable) {
118
101
  const primary = table.name + table.primary[0]
119
102
  const relatedPrimary = relatedTable.name + relatedTable.primary[0]
120
103
  const jcTblName = generateJunctionTableName(column, table, relatedTable)
121
104
  // first create the new table
122
105
  const junctionTable = {
123
- _id: buildExternalTableId(datasource._id!, jcTblName),
106
+ _id: buildExternalTableId(datasource._id, jcTblName),
124
107
  name: jcTblName,
125
108
  primary: [primary, relatedPrimary],
126
109
  constrained: [primary, relatedPrimary],
@@ -142,15 +125,7 @@ function generateManyLinkSchema(
142
125
  return junctionTable
143
126
  }
144
127
 
145
- function generateLinkSchema(
146
- column: FieldSchema,
147
- table: Table,
148
- relatedTable: Table,
149
- type: string
150
- ) {
151
- if (!table.primary || !relatedTable.primary) {
152
- throw new Error("Unable to generate link schema, no primary keys")
153
- }
128
+ function generateLinkSchema(column, table, relatedTable, type) {
154
129
  const isOneSide = type === RelationshipTypes.ONE_TO_MANY
155
130
  const primary = isOneSide ? relatedTable.primary[0] : table.primary[0]
156
131
  // generate a foreign key
@@ -161,12 +136,7 @@ function generateLinkSchema(
161
136
  return foreignKey
162
137
  }
163
138
 
164
- function generateRelatedSchema(
165
- linkColumn: FieldSchema,
166
- table: Table,
167
- relatedTable: Table,
168
- columnName: string
169
- ) {
139
+ function generateRelatedSchema(linkColumn, table, relatedTable, columnName) {
170
140
  // generate column for other table
171
141
  const relatedSchema = cloneDeep(linkColumn)
172
142
  // swap them from the main link
@@ -189,21 +159,21 @@ function generateRelatedSchema(
189
159
  table.schema[columnName] = relatedSchema
190
160
  }
191
161
 
192
- function isRelationshipSetup(column: FieldSchema) {
162
+ function isRelationshipSetup(column) {
193
163
  return column.foreignKey || column.through
194
164
  }
195
165
 
196
- export async function save(ctx: BBContext) {
197
- const table: TableRequest = ctx.request.body
198
- const renamed = table?._rename
166
+ exports.save = async function (ctx) {
167
+ const table = ctx.request.body
168
+ const { _rename: renamed } = table
199
169
  // can't do this right now
200
170
  delete table.dataImport
201
- const datasourceId = getDatasourceId(ctx.request.body)!
171
+ const datasourceId = getDatasourceId(ctx.request.body)
202
172
  // table doesn't exist already, note that it is created
203
173
  if (!table._id) {
204
174
  table.created = true
205
175
  }
206
- let tableToSave: TableRequest = {
176
+ let tableToSave = {
207
177
  type: "table",
208
178
  _id: buildExternalTableId(datasourceId, table.name),
209
179
  ...table,
@@ -218,13 +188,13 @@ export async function save(ctx: BBContext) {
218
188
  ctx.throw(400, "A column type has changed.")
219
189
  }
220
190
 
221
- const db = context.getAppDB()
191
+ const db = getAppDB()
222
192
  const datasource = await db.get(datasourceId)
223
193
  if (!datasource.entities) {
224
194
  datasource.entities = {}
225
195
  }
226
196
  const oldTables = cloneDeep(datasource.entities)
227
- const tables: Record<string, Table> = datasource.entities
197
+ const tables = datasource.entities
228
198
 
229
199
  const extraTablesToUpdate = []
230
200
 
@@ -236,11 +206,8 @@ export async function save(ctx: BBContext) {
236
206
  const relatedTable = Object.values(tables).find(
237
207
  table => table._id === schema.tableId
238
208
  )
239
- if (!relatedTable) {
240
- continue
241
- }
242
- const relatedColumnName = schema.fieldName!
243
- const relationType = schema.relationshipType!
209
+ const relatedColumnName = schema.fieldName
210
+ const relationType = schema.relationshipType
244
211
  if (relationType === RelationshipTypes.MANY_TO_MANY) {
245
212
  const junctionTable = generateManyLinkSchema(
246
213
  datasource,
@@ -280,7 +247,9 @@ export async function save(ctx: BBContext) {
280
247
 
281
248
  cleanupRelationships(tableToSave, tables, oldTable)
282
249
 
283
- const operation = oldTable ? Operation.UPDATE_TABLE : Operation.CREATE_TABLE
250
+ const operation = oldTable
251
+ ? DataSourceOperation.UPDATE_TABLE
252
+ : DataSourceOperation.CREATE_TABLE
284
253
  await makeTableRequest(
285
254
  datasource,
286
255
  operation,
@@ -292,7 +261,9 @@ export async function save(ctx: BBContext) {
292
261
  // update any extra tables (like foreign keys in other tables)
293
262
  for (let extraTable of extraTablesToUpdate) {
294
263
  const oldExtraTable = oldTables[extraTable.name]
295
- let op = oldExtraTable ? Operation.UPDATE_TABLE : Operation.CREATE_TABLE
264
+ let op = oldExtraTable
265
+ ? DataSourceOperation.UPDATE_TABLE
266
+ : DataSourceOperation.CREATE_TABLE
296
267
  await makeTableRequest(datasource, op, extraTable, tables, oldExtraTable)
297
268
  }
298
269
 
@@ -312,20 +283,18 @@ export async function save(ctx: BBContext) {
312
283
  return tableToSave
313
284
  }
314
285
 
315
- export async function destroy(ctx: BBContext) {
316
- const tableToDelete: TableRequest = await sdk.tables.getTable(
317
- ctx.params.tableId
318
- )
286
+ exports.destroy = async function (ctx) {
287
+ const tableToDelete = await sdk.tables.getTable(ctx.params.tableId)
319
288
  if (!tableToDelete || !tableToDelete.created) {
320
289
  ctx.throw(400, "Cannot delete tables which weren't created in Budibase.")
321
290
  }
322
291
  const datasourceId = getDatasourceId(tableToDelete)
323
292
 
324
- const db = context.getAppDB()
293
+ const db = getAppDB()
325
294
  const datasource = await db.get(datasourceId)
326
295
  const tables = datasource.entities
327
296
 
328
- const operation = Operation.DELETE_TABLE
297
+ const operation = DataSourceOperation.DELETE_TABLE
329
298
  await makeTableRequest(datasource, operation, tableToDelete, tables)
330
299
 
331
300
  cleanupRelationships(tableToDelete, tables)
@@ -336,7 +305,7 @@ export async function destroy(ctx: BBContext) {
336
305
  return tableToDelete
337
306
  }
338
307
 
339
- export async function bulkImport(ctx: BBContext) {
308
+ exports.bulkImport = async function (ctx) {
340
309
  const table = await sdk.tables.getTable(ctx.params.tableId)
341
310
  const { dataImport } = ctx.request.body
342
311
  if (!dataImport || !dataImport.schema || !dataImport.csvString) {
@@ -346,7 +315,7 @@ export async function bulkImport(ctx: BBContext) {
346
315
  ...dataImport,
347
316
  existingTable: table,
348
317
  })
349
- await handleRequest(Operation.BULK_CREATE, table._id!, {
318
+ await handleRequest(DataSourceOperation.BULK_CREATE, table._id, {
350
319
  rows,
351
320
  })
352
321
  await events.rows.imported(table, "csv", rows.length)
@@ -1,13 +1,13 @@
1
- import * as internal from "./internal"
2
- import * as external from "./external"
3
- import * as csvParser from "../../../utilities/csvParser"
4
- import { isExternalTable, isSQL } from "../../../integrations/utils"
5
- import { getDatasourceParams } from "../../../db/utils"
6
- import { context, events } from "@budibase/backend-core"
7
- import { Table, BBContext } from "@budibase/types"
8
- import sdk from "../../../sdk"
1
+ const internal = require("./internal")
2
+ const external = require("./external")
3
+ const csvParser = require("../../../utilities/csvParser")
4
+ const { isExternalTable, isSQL } = require("../../../integrations/utils")
5
+ const { getDatasourceParams } = require("../../../db/utils")
6
+ const { getAppDB } = require("@budibase/backend-core/context")
7
+ const { events } = require("@budibase/backend-core")
8
+ const sdk = require("../../../sdk")
9
9
 
10
- function pickApi({ tableId, table }: { tableId?: string; table?: Table }) {
10
+ function pickApi({ tableId, table }) {
11
11
  if (table && !tableId) {
12
12
  tableId = table._id
13
13
  }
@@ -20,8 +20,8 @@ function pickApi({ tableId, table }: { tableId?: string; table?: Table }) {
20
20
  }
21
21
 
22
22
  // covers both internal and external
23
- export async function fetch(ctx: BBContext) {
24
- const db = context.getAppDB()
23
+ exports.fetch = async function (ctx) {
24
+ const db = getAppDB()
25
25
 
26
26
  const internal = await sdk.tables.getAllInternalTables()
27
27
 
@@ -34,7 +34,7 @@ export async function fetch(ctx: BBContext) {
34
34
  const external = externalTables.rows.flatMap(tableDoc => {
35
35
  let entities = tableDoc.doc.entities
36
36
  if (entities) {
37
- return Object.values(entities).map((entity: any) => ({
37
+ return Object.values(entities).map(entity => ({
38
38
  ...entity,
39
39
  type: "external",
40
40
  sourceId: tableDoc.doc._id,
@@ -48,12 +48,12 @@ export async function fetch(ctx: BBContext) {
48
48
  ctx.body = [...internal, ...external]
49
49
  }
50
50
 
51
- export async function find(ctx: BBContext) {
51
+ exports.find = async function (ctx) {
52
52
  const tableId = ctx.params.tableId
53
53
  ctx.body = await sdk.tables.getTable(tableId)
54
54
  }
55
55
 
56
- export async function save(ctx: BBContext) {
56
+ exports.save = async function (ctx) {
57
57
  const appId = ctx.appId
58
58
  const table = ctx.request.body
59
59
  const importFormat =
@@ -74,7 +74,7 @@ export async function save(ctx: BBContext) {
74
74
  ctx.body = savedTable
75
75
  }
76
76
 
77
- export async function destroy(ctx: BBContext) {
77
+ exports.destroy = async function (ctx) {
78
78
  const appId = ctx.appId
79
79
  const tableId = ctx.params.tableId
80
80
  const deletedTable = await pickApi({ tableId }).destroy(ctx)
@@ -86,7 +86,7 @@ export async function destroy(ctx: BBContext) {
86
86
  ctx.body = { message: `Table ${tableId} deleted.` }
87
87
  }
88
88
 
89
- export async function bulkImport(ctx: BBContext) {
89
+ exports.bulkImport = async function (ctx) {
90
90
  const tableId = ctx.params.tableId
91
91
  await pickApi({ tableId }).bulkImport(ctx)
92
92
  // right now we don't trigger anything for bulk import because it
@@ -96,17 +96,14 @@ export async function bulkImport(ctx: BBContext) {
96
96
  ctx.body = { message: `Bulk rows created.` }
97
97
  }
98
98
 
99
- export async function validateCSVSchema(ctx: BBContext) {
99
+ exports.validateCSVSchema = async function (ctx) {
100
100
  // tableId being specified means its an import to an existing table
101
101
  const { csvString, schema = {}, tableId } = ctx.request.body
102
102
  let existingTable
103
103
  if (tableId) {
104
104
  existingTable = await sdk.tables.getTable(tableId)
105
105
  }
106
- let result: Record<string, any> | undefined = await csvParser.parse(
107
- csvString,
108
- schema
109
- )
106
+ let result = await csvParser.parse(csvString, schema)
110
107
  if (existingTable) {
111
108
  result = csvParser.updateSchema({ schema: result, existingTable })
112
109
  }
@@ -2,7 +2,7 @@ import { updateLinks, EventType } from "../../../db/linkedRows"
2
2
  import { getRowParams, generateTableID } from "../../../db/utils"
3
3
  import { FieldTypes } from "../../../constants"
4
4
  import { TableSaveFunctions, hasTypeChanged, handleDataImport } from "./utils"
5
- import { context } from "@budibase/backend-core"
5
+ const { getAppDB } = require("@budibase/backend-core/context")
6
6
  import { isTest } from "../../../environment"
7
7
  import {
8
8
  cleanupAttachments,
@@ -35,7 +35,7 @@ function checkAutoColumns(table: Table, oldTable: Table) {
35
35
  }
36
36
 
37
37
  export async function save(ctx: any) {
38
- const db = context.getAppDB()
38
+ const db = getAppDB()
39
39
  const { dataImport, ...rest } = ctx.request.body
40
40
  let tableToSave = {
41
41
  type: "table",
@@ -133,12 +133,12 @@ export async function save(ctx: any) {
133
133
  tableToSave._rev = result.rev
134
134
  }
135
135
  // has to run after, make sure it has _id
136
- await runStaticFormulaChecks(tableToSave, { oldTable, deletion: false })
136
+ await runStaticFormulaChecks(tableToSave, { oldTable, deletion: null })
137
137
  return tableToSave
138
138
  }
139
139
 
140
140
  export async function destroy(ctx: any) {
141
- const db = context.getAppDB()
141
+ const db = getAppDB()
142
142
  const tableToDelete = await db.get(ctx.params.tableId)
143
143
 
144
144
  // Delete all rows for that table
@@ -161,7 +161,7 @@ export async function destroy(ctx: any) {
161
161
  })
162
162
 
163
163
  // don't remove the table itself until very end
164
- await db.remove(tableToDelete._id, tableToDelete._rev)
164
+ await db.remove(tableToDelete)
165
165
 
166
166
  // remove table search index
167
167
  if (!isTest() || env.COUCH_DB_URL) {
@@ -176,6 +176,7 @@ export async function destroy(ctx: any) {
176
176
 
177
177
  // has to run after, make sure it has _id
178
178
  await runStaticFormulaChecks(tableToDelete, {
179
+ oldTable: null,
179
180
  deletion: true,
180
181
  })
181
182
  await cleanupAttachments(tableToDelete, {