@budibase/server 2.1.40-alpha.6 → 2.1.42

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 (797) 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.137fb5a9.js → index.843230be.js} +313 -313
  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.66c1c272.css +0 -6
  552. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
  553. package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
  554. package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
  555. package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
  556. package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
  557. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
  558. package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
  559. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
  560. package/coverage/lcov-report/src/api/controllers/index.html +0 -431
  561. package/coverage/lcov-report/src/api/controllers/integration.ts.html +0 -124
  562. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
  563. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
  564. package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
  565. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
  566. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
  567. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
  568. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
  569. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -136
  570. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
  571. package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
  572. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
  573. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
  574. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
  575. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
  576. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
  577. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
  578. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
  579. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
  580. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
  581. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
  582. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
  583. package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
  584. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
  585. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
  586. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
  587. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
  588. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
  589. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
  590. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
  591. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
  592. package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
  593. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
  594. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2260
  595. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
  596. package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
  597. package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
  598. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -694
  599. package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
  600. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
  601. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
  602. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
  603. package/coverage/lcov-report/src/api/routes/analytics.ts.html +0 -112
  604. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +0 -121
  605. package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
  606. package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
  607. package/coverage/lcov-report/src/api/routes/datasource.ts.html +0 -265
  608. package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
  609. package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
  610. package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
  611. package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
  612. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
  613. package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
  614. package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -493
  615. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
  616. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
  617. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
  618. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
  619. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
  620. package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
  621. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
  622. package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
  623. package/coverage/lcov-report/src/api/routes/role.ts.html +0 -157
  624. package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
  625. package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
  626. package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
  627. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
  628. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
  629. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +0 -367
  630. package/coverage/lcov-report/src/api/routes/webhook.ts.html +0 -166
  631. package/coverage/lcov-report/src/app.ts.html +0 -406
  632. package/coverage/lcov-report/src/automations/logging/index.html +0 -116
  633. package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
  634. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -382
  635. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -349
  636. package/coverage/lcov-report/src/automations/steps/index.html +0 -371
  637. package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
  638. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +0 -265
  639. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +0 -196
  640. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +0 -130
  641. package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
  642. package/coverage/lcov-report/src/constants/index.ts.html +0 -697
  643. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +0 -2059
  644. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +0 -541
  645. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +0 -427
  646. package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
  647. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +0 -403
  648. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +0 -559
  649. package/coverage/lcov-report/src/db/dynamoClient.ts.html +0 -526
  650. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +0 -265
  651. package/coverage/lcov-report/src/db/linkedRows/index.html +0 -161
  652. package/coverage/lcov-report/src/environment.ts.html +0 -457
  653. package/coverage/lcov-report/src/events/utils.ts.html +0 -319
  654. package/coverage/lcov-report/src/index.html +0 -191
  655. package/coverage/lcov-report/src/index.ts.html +0 -133
  656. package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
  657. package/coverage/lcov-report/src/integrations/base/index.html +0 -161
  658. package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
  659. package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
  660. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
  661. package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
  662. package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
  663. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
  664. package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
  665. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1315
  666. package/coverage/lcov-report/src/integrations/index.html +0 -371
  667. package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
  668. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
  669. package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
  670. package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -964
  671. package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
  672. package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
  673. package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
  674. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
  675. package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
  676. package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
  677. package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
  678. package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
  679. package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1018
  680. package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
  681. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
  682. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
  683. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
  684. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
  685. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
  686. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
  687. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
  688. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
  689. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
  690. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
  691. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
  692. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
  693. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
  694. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
  695. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
  696. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
  697. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
  698. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
  699. package/coverage/lcov-report/src/migrations/functions/index.html +0 -161
  700. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
  701. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +0 -520
  702. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
  703. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
  704. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
  705. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
  706. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
  707. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
  708. package/coverage/lcov-report/src/migrations/index.ts.html +0 -430
  709. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
  710. package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
  711. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
  712. package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
  713. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
  714. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
  715. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
  716. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
  717. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
  718. package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
  719. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
  720. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
  721. package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
  722. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
  723. package/coverage/lcov-report/src/startup.ts.html +0 -499
  724. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +0 -1966
  725. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +0 -127
  726. package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
  727. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +0 -667
  728. package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
  729. package/coverage/lcov-report/src/threads/index.html +0 -161
  730. package/coverage/lcov-report/src/threads/index.ts.html +0 -418
  731. package/coverage/lcov-report/src/threads/query.ts.html +0 -961
  732. package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
  733. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +0 -547
  734. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +0 -1129
  735. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +0 -142
  736. package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
  737. package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
  738. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
  739. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +0 -373
  740. package/coverage/lcov-report/src/watch.ts.html +0 -196
  741. package/dist/db/defaultData/datasource_bb_default.js +0 -573
  742. package/dist/db/defaultData/employeeImport.js +0 -155
  743. package/dist/db/defaultData/expensesImport.js +0 -117
  744. package/dist/db/defaultData/inventoryImport.js +0 -109
  745. package/dist/db/defaultData/jobsImport.js +0 -152
  746. package/dist/db/linkedRows/LinkDocument.js +0 -32
  747. package/dist/events/BudibaseEmitter.js +0 -24
  748. package/dist/migrations/functions/tableSettings.js +0 -130
  749. package/dist/utilities/rowProcessor/map.js +0 -99
  750. package/jest.config.ts +0 -33
  751. package/src/api/controllers/integration.ts +0 -13
  752. package/src/api/controllers/migrations.ts +0 -14
  753. package/src/api/controllers/script.ts +0 -12
  754. package/src/api/routes/analytics.ts +0 -9
  755. package/src/api/routes/apikeys.ts +0 -12
  756. package/src/api/routes/automation.ts +0 -87
  757. package/src/api/routes/cloud.ts +0 -18
  758. package/src/api/routes/component.ts +0 -14
  759. package/src/api/routes/datasource.ts +0 -60
  760. package/src/api/routes/deploy.ts +0 -21
  761. package/src/api/routes/dev.ts +0 -38
  762. package/src/api/routes/integration.ts +0 -16
  763. package/src/api/routes/layout.ts +0 -16
  764. package/src/api/routes/migrations.ts +0 -14
  765. package/src/api/routes/permission.ts +0 -41
  766. package/src/api/routes/role.ts +0 -24
  767. package/src/api/routes/routing.ts +0 -14
  768. package/src/api/routes/screen.ts +0 -23
  769. package/src/api/routes/script.ts +0 -10
  770. package/src/api/routes/templates.ts +0 -16
  771. package/src/api/routes/user.ts +0 -51
  772. package/src/api/routes/view.ts +0 -34
  773. package/src/automations/bullboard.ts +0 -38
  774. package/src/automations/index.ts +0 -26
  775. package/src/automations/tests/utilities/index.ts +0 -60
  776. package/src/automations/triggerInfo/index.ts +0 -15
  777. package/src/constants/index.ts +0 -204
  778. package/src/constants/screens.ts +0 -48
  779. package/src/db/defaultData/datasource_bb_default.ts +0 -658
  780. package/src/db/defaultData/employeeImport.ts +0 -152
  781. package/src/db/defaultData/expensesImport.ts +0 -114
  782. package/src/db/defaultData/inventoryImport.ts +0 -106
  783. package/src/db/defaultData/jobsImport.ts +0 -158
  784. package/src/db/index.ts +0 -16
  785. package/src/db/linkedRows/LinkDocument.ts +0 -60
  786. package/src/events/index.ts +0 -5
  787. package/src/events/utils.ts +0 -78
  788. package/src/middleware/appInfo.ts +0 -20
  789. package/src/middleware/publicApi.ts +0 -21
  790. package/src/migrations/functions/tableSettings.ts +0 -145
  791. package/src/migrations/functions/tests/tableSettings.spec.ts +0 -144
  792. package/src/tests/utilities/controllers.ts +0 -14
  793. package/src/utilities/budibaseDir.ts +0 -3
  794. package/src/utilities/global.ts +0 -138
  795. package/src/utilities/routing/index.ts +0 -32
  796. package/src/utilities/rowProcessor/map.ts +0 -96
  797. package/src/utilities/security.ts +0 -65
@@ -1,41 +1,35 @@
1
- import * as linkRows from "../../../db/linkedRows"
2
- import {
1
+ const linkRows = require("../../../db/linkedRows")
2
+ const {
3
3
  generateRowID,
4
4
  getRowParams,
5
5
  getTableIDFromRowID,
6
6
  DocumentType,
7
7
  InternalTables,
8
- } from "../../../db/utils"
9
- import * as userController from "../user"
10
- import {
8
+ } = require("../../../db/utils")
9
+ const { dangerousGetDB } = require("@budibase/backend-core/db")
10
+ const userController = require("../user")
11
+ const {
11
12
  inputProcessing,
12
13
  outputProcessing,
13
14
  cleanupAttachments,
14
- } from "../../../utilities/rowProcessor"
15
- import { FieldTypes } from "../../../constants"
16
- import { validate as rowValidate, findRow } from "./utils"
17
- import { fullSearch, paginatedSearch } from "./internalSearch"
18
- import { getGlobalUsersFromMetadata } from "../../../utilities/global"
19
- import * as inMemoryViews from "../../../db/inMemoryView"
20
- import env from "../../../environment"
21
- import {
15
+ } = require("../../../utilities/rowProcessor")
16
+ const { FieldTypes } = require("../../../constants")
17
+ const { validate, findRow } = require("./utils")
18
+ const { fullSearch, paginatedSearch } = require("./internalSearch")
19
+ const { getGlobalUsersFromMetadata } = require("../../../utilities/global")
20
+ const inMemoryViews = require("../../../db/inMemoryView")
21
+ const env = require("../../../environment")
22
+ const {
22
23
  migrateToInMemoryView,
23
24
  migrateToDesignView,
24
25
  getFromDesignDoc,
25
26
  getFromMemoryDoc,
26
- } from "../view/utils"
27
- import { cloneDeep } from "lodash/fp"
28
- import { context, db as dbCore } from "@budibase/backend-core"
29
- import { finaliseRow, updateRelatedFormula } from "./staticFormula"
30
- import * as exporters from "../view/exporters"
31
- import { apiFileReturn } from "../../../utilities/fileSystem"
32
- import {
33
- BBContext,
34
- Database,
35
- LinkDocumentValue,
36
- Row,
37
- Table,
38
- } from "@budibase/types"
27
+ } = require("../view/utils")
28
+ const { cloneDeep } = require("lodash/fp")
29
+ const { getAppDB } = require("@budibase/backend-core/context")
30
+ const { finaliseRow, updateRelatedFormula } = require("./staticFormula")
31
+ const exporters = require("../view/exporters")
32
+ const { apiFileReturn } = require("../../../utilities/fileSystem")
39
33
 
40
34
  const CALCULATION_TYPES = {
41
35
  SUM: "sum",
@@ -43,7 +37,7 @@ const CALCULATION_TYPES = {
43
37
  STATS: "stats",
44
38
  }
45
39
 
46
- async function getView(db: Database, viewName: string) {
40
+ async function getView(db, viewName) {
47
41
  let mainGetter = env.SELF_HOSTED ? getFromDesignDoc : getFromMemoryDoc
48
42
  let secondaryGetter = env.SELF_HOSTED ? getFromMemoryDoc : getFromDesignDoc
49
43
  let migration = env.SELF_HOSTED ? migrateToDesignView : migrateToInMemoryView
@@ -51,7 +45,7 @@ async function getView(db: Database, viewName: string) {
51
45
  migrate = false
52
46
  try {
53
47
  viewInfo = await mainGetter(db, viewName)
54
- } catch (err: any) {
48
+ } catch (err) {
55
49
  // check if it can be retrieved from design doc (needs migrated)
56
50
  if (err.status !== 404) {
57
51
  viewInfo = null
@@ -69,7 +63,7 @@ async function getView(db: Database, viewName: string) {
69
63
  return viewInfo
70
64
  }
71
65
 
72
- async function getRawTableData(ctx: BBContext, db: Database, tableId: string) {
66
+ async function getRawTableData(ctx, db, tableId) {
73
67
  let rows
74
68
  if (tableId === InternalTables.USER_METADATA) {
75
69
  await userController.fetchMetadata(ctx)
@@ -82,11 +76,11 @@ async function getRawTableData(ctx: BBContext, db: Database, tableId: string) {
82
76
  )
83
77
  rows = response.rows.map(row => row.doc)
84
78
  }
85
- return rows as Row[]
79
+ return rows
86
80
  }
87
81
 
88
- export async function patch(ctx: BBContext) {
89
- const db = context.getAppDB()
82
+ exports.patch = async ctx => {
83
+ const db = getAppDB()
90
84
  const inputs = ctx.request.body
91
85
  const tableId = inputs.tableId
92
86
  const isUserTable = tableId === InternalTables.USER_METADATA
@@ -110,15 +104,15 @@ export async function patch(ctx: BBContext) {
110
104
  }
111
105
  let dbTable = await db.get(tableId)
112
106
  // need to build up full patch fields before coerce
113
- let combinedRow: any = cloneDeep(oldRow)
107
+ let combinedRow = cloneDeep(oldRow)
114
108
  for (let key of Object.keys(inputs)) {
115
109
  if (!dbTable.schema[key]) continue
116
110
  combinedRow[key] = inputs[key]
117
111
  }
118
112
 
119
113
  // this returns the table and row incase they have been updated
120
- let { table, row } = inputProcessing(ctx.user!, dbTable, combinedRow)
121
- const validateResult = await rowValidate({
114
+ let { table, row } = inputProcessing(ctx.user, dbTable, combinedRow)
115
+ const validateResult = await validate({
122
116
  row,
123
117
  table,
124
118
  })
@@ -128,12 +122,12 @@ export async function patch(ctx: BBContext) {
128
122
  }
129
123
 
130
124
  // returned row is cleaned and prepared for writing to DB
131
- row = (await linkRows.updateLinks({
125
+ row = await linkRows.updateLinks({
132
126
  eventType: linkRows.EventType.ROW_UPDATE,
133
127
  row,
134
128
  tableId: row.tableId,
135
129
  table,
136
- })) as Row
130
+ })
137
131
  // check if any attachments removed
138
132
  await cleanupAttachments(table, { oldRow, row })
139
133
 
@@ -150,8 +144,8 @@ export async function patch(ctx: BBContext) {
150
144
  })
151
145
  }
152
146
 
153
- export async function save(ctx: BBContext) {
154
- const db = context.getAppDB()
147
+ exports.save = async function (ctx) {
148
+ const db = getAppDB()
155
149
  let inputs = ctx.request.body
156
150
  inputs.tableId = ctx.params.tableId
157
151
 
@@ -161,8 +155,8 @@ export async function save(ctx: BBContext) {
161
155
 
162
156
  // this returns the table and row incase they have been updated
163
157
  const dbTable = await db.get(inputs.tableId)
164
- let { table, row } = inputProcessing(ctx.user!, dbTable, inputs)
165
- const validateResult = await rowValidate({
158
+ let { table, row } = inputProcessing(ctx.user, dbTable, inputs)
159
+ const validateResult = await validate({
166
160
  row,
167
161
  table,
168
162
  })
@@ -172,12 +166,12 @@ export async function save(ctx: BBContext) {
172
166
  }
173
167
 
174
168
  // make sure link rows are up to date
175
- row = (await linkRows.updateLinks({
169
+ row = await linkRows.updateLinks({
176
170
  eventType: linkRows.EventType.ROW_SAVE,
177
171
  row,
178
172
  tableId: row.tableId,
179
173
  table,
180
- })) as Row
174
+ })
181
175
 
182
176
  return finaliseRow(table, row, {
183
177
  oldTable: dbTable,
@@ -185,16 +179,16 @@ export async function save(ctx: BBContext) {
185
179
  })
186
180
  }
187
181
 
188
- export async function fetchView(ctx: BBContext) {
182
+ exports.fetchView = async ctx => {
189
183
  const viewName = ctx.params.viewName
190
184
 
191
185
  // if this is a table view being looked for just transfer to that
192
186
  if (viewName.startsWith(DocumentType.TABLE)) {
193
187
  ctx.params.tableId = viewName
194
- return fetch(ctx)
188
+ return exports.fetch(ctx)
195
189
  }
196
190
 
197
- const db = context.getAppDB()
191
+ const db = getAppDB()
198
192
  const { calculation, group, field } = ctx.query
199
193
  const viewInfo = await getView(db, viewName)
200
194
  let response
@@ -206,12 +200,7 @@ export async function fetchView(ctx: BBContext) {
206
200
  } else {
207
201
  const tableId = viewInfo.meta.tableId
208
202
  const data = await getRawTableData(ctx, db, tableId)
209
- response = await inMemoryViews.runView(
210
- viewInfo,
211
- calculation as string,
212
- !!group,
213
- data
214
- )
203
+ response = await inMemoryViews.runView(viewInfo, calculation, group, data)
215
204
  }
216
205
 
217
206
  let rows
@@ -252,8 +241,8 @@ export async function fetchView(ctx: BBContext) {
252
241
  return rows
253
242
  }
254
243
 
255
- export async function fetch(ctx: BBContext) {
256
- const db = context.getAppDB()
244
+ exports.fetch = async ctx => {
245
+ const db = getAppDB()
257
246
 
258
247
  const tableId = ctx.params.tableId
259
248
  let table = await db.get(tableId)
@@ -261,16 +250,16 @@ export async function fetch(ctx: BBContext) {
261
250
  return outputProcessing(table, rows)
262
251
  }
263
252
 
264
- export async function find(ctx: BBContext) {
265
- const db = dbCore.getDB(ctx.appId)
253
+ exports.find = async ctx => {
254
+ const db = dangerousGetDB(ctx.appId)
266
255
  const table = await db.get(ctx.params.tableId)
267
256
  let row = await findRow(ctx, ctx.params.tableId, ctx.params.rowId)
268
257
  row = await outputProcessing(table, row)
269
258
  return row
270
259
  }
271
260
 
272
- export async function destroy(ctx: BBContext) {
273
- const db = context.getAppDB()
261
+ exports.destroy = async function (ctx) {
262
+ const db = getAppDB()
274
263
  const { _id } = ctx.request.body
275
264
  let row = await db.get(_id)
276
265
  let _rev = ctx.request.body._rev || row._rev
@@ -305,20 +294,18 @@ export async function destroy(ctx: BBContext) {
305
294
  return { response, row }
306
295
  }
307
296
 
308
- export async function bulkDestroy(ctx: BBContext) {
309
- const db = context.getAppDB()
297
+ exports.bulkDestroy = async ctx => {
298
+ const db = getAppDB()
310
299
  const tableId = ctx.params.tableId
311
300
  const table = await db.get(tableId)
312
301
  let { rows } = ctx.request.body
313
302
 
314
303
  // before carrying out any updates, make sure the rows are ready to be returned
315
304
  // they need to be the full rows (including previous relationships) for automations
316
- const processedRows = (await outputProcessing(table, rows, {
317
- squash: false,
318
- })) as Row[]
305
+ rows = await outputProcessing(table, rows, { squash: false })
319
306
 
320
307
  // remove the relationships first
321
- let updates: Promise<any>[] = processedRows.map(row =>
308
+ let updates = rows.map(row =>
322
309
  linkRows.updateLinks({
323
310
  eventType: linkRows.EventType.ROW_DELETE,
324
311
  row,
@@ -327,7 +314,7 @@ export async function bulkDestroy(ctx: BBContext) {
327
314
  )
328
315
  if (tableId === InternalTables.USER_METADATA) {
329
316
  updates = updates.concat(
330
- processedRows.map(row => {
317
+ rows.map(row => {
331
318
  ctx.params = {
332
319
  id: row._id,
333
320
  }
@@ -335,23 +322,23 @@ export async function bulkDestroy(ctx: BBContext) {
335
322
  })
336
323
  )
337
324
  } else {
338
- await db.bulkDocs(processedRows.map(row => ({ ...row, _deleted: true })))
325
+ await db.bulkDocs(rows.map(row => ({ ...row, _deleted: true })))
339
326
  }
340
327
  // remove any attachments that were on the rows from object storage
341
- await cleanupAttachments(table, { rows: processedRows })
342
- await updateRelatedFormula(table, processedRows)
328
+ await cleanupAttachments(table, { rows })
329
+ await updateRelatedFormula(table, rows)
343
330
  await Promise.all(updates)
344
- return { response: { ok: true }, rows: processedRows }
331
+ return { response: { ok: true }, rows }
345
332
  }
346
333
 
347
- export async function search(ctx: BBContext) {
334
+ exports.search = async ctx => {
348
335
  // Fetch the whole table when running in cypress, as search doesn't work
349
336
  if (!env.COUCH_DB_URL && env.isCypress()) {
350
- return { rows: await fetch(ctx) }
337
+ return { rows: await exports.fetch(ctx) }
351
338
  }
352
339
 
353
340
  const { tableId } = ctx.params
354
- const db = context.getAppDB()
341
+ const db = getAppDB()
355
342
  const { paginate, query, ...params } = ctx.request.body
356
343
  params.version = ctx.version
357
344
  params.tableId = tableId
@@ -376,15 +363,15 @@ export async function search(ctx: BBContext) {
376
363
  return response
377
364
  }
378
365
 
379
- export async function validate(ctx: BBContext) {
380
- return rowValidate({
366
+ exports.validate = async ctx => {
367
+ return validate({
381
368
  tableId: ctx.params.tableId,
382
369
  row: ctx.request.body,
383
370
  })
384
371
  }
385
372
 
386
- export async function exportRows(ctx: BBContext) {
387
- const db = context.getAppDB()
373
+ exports.exportRows = async ctx => {
374
+ const db = getAppDB()
388
375
  const table = await db.get(ctx.params.tableId)
389
376
  const rowIds = ctx.request.body.rows
390
377
  let format = ctx.query.format
@@ -396,8 +383,8 @@ export async function exportRows(ctx: BBContext) {
396
383
  })
397
384
  ).rows.map(row => row.doc)
398
385
 
399
- let result = (await outputProcessing(table, response)) as Row[]
400
- let rows: Row[] = []
386
+ let result = await outputProcessing(table, response)
387
+ let rows = []
401
388
 
402
389
  // Filter data to only specified columns if required
403
390
  if (columns && columns.length) {
@@ -412,7 +399,6 @@ export async function exportRows(ctx: BBContext) {
412
399
  }
413
400
 
414
401
  let headers = Object.keys(rows[0])
415
- // @ts-ignore
416
402
  const exporter = exporters[format]
417
403
  const filename = `export.${format}`
418
404
 
@@ -421,8 +407,8 @@ export async function exportRows(ctx: BBContext) {
421
407
  return apiFileReturn(exporter(headers, rows))
422
408
  }
423
409
 
424
- export async function fetchEnrichedRow(ctx: BBContext) {
425
- const db = context.getAppDB()
410
+ exports.fetchEnrichedRow = async ctx => {
411
+ const db = getAppDB()
426
412
  const tableId = ctx.params.tableId
427
413
  const rowId = ctx.params.rowId
428
414
  // need table to work out where links go in row
@@ -431,10 +417,10 @@ export async function fetchEnrichedRow(ctx: BBContext) {
431
417
  findRow(ctx, tableId, rowId),
432
418
  ])
433
419
  // get the link docs
434
- const linkVals = (await linkRows.getLinkDocuments({
420
+ const linkVals = await linkRows.getLinkDocuments({
435
421
  tableId,
436
422
  rowId,
437
- })) as LinkDocumentValue[]
423
+ })
438
424
  // look up the actual rows based on the ids
439
425
  let response = (
440
426
  await db.allDocs({
@@ -443,8 +429,8 @@ export async function fetchEnrichedRow(ctx: BBContext) {
443
429
  })
444
430
  ).rows.map(row => row.doc)
445
431
  // group responses by table
446
- let groups: any = {},
447
- tables: Record<string, Table> = {}
432
+ let groups = {},
433
+ tables = {}
448
434
  for (let row of response) {
449
435
  if (!row.tableId) {
450
436
  row.tableId = getTableIDFromRowID(row._id)
@@ -457,11 +443,11 @@ export async function fetchEnrichedRow(ctx: BBContext) {
457
443
  groups[linkedTableId].push(row)
458
444
  }
459
445
  }
460
- let linkedRows: Row[] = []
446
+ let linkedRows = []
461
447
  for (let [tableId, rows] of Object.entries(groups)) {
462
448
  // need to include the IDs in these rows for any links they may have
463
449
  linkedRows = linkedRows.concat(
464
- await outputProcessing(tables[tableId], rows as Row[])
450
+ await outputProcessing(tables[tableId], rows)
465
451
  )
466
452
  }
467
453