@budibase/server 2.1.43-alpha.1 → 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.8935424b.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
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -42,270 +19,225 @@ var __rest = (this && this.__rest) || function (s, e) {
42
19
  }
43
20
  return t;
44
21
  };
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.fetchEnrichedRow = exports.exportRows = exports.validate = exports.search = exports.bulkDestroy = exports.destroy = exports.find = exports.fetch = exports.fetchView = exports.save = exports.patch = exports.handleRequest = void 0;
47
- const constants_1 = require("../../../constants");
48
- const utils_1 = require("../../../integrations/utils");
49
- const ExternalRequest_1 = require("./ExternalRequest");
50
- const backend_core_1 = require("@budibase/backend-core");
51
- const exporters = __importStar(require("../view/exporters"));
52
- const fileSystem_1 = require("../../../utilities/fileSystem");
53
- const types_1 = require("@budibase/types");
54
- function handleRequest(operation, tableId, opts) {
22
+ const { DataSourceOperation, SortDirection, FieldTypes, NoEmptyFilterStrings, } = require("../../../constants");
23
+ const { breakExternalTableId, breakRowIdField, } = require("../../../integrations/utils");
24
+ const ExternalRequest = require("./ExternalRequest");
25
+ const { getAppDB } = require("@budibase/backend-core/context");
26
+ const exporters = require("../view/exporters");
27
+ const { apiFileReturn } = require("../../../utilities/fileSystem");
28
+ function handleRequest(operation, tableId, opts = {}) {
55
29
  return __awaiter(this, void 0, void 0, function* () {
56
30
  // make sure the filters are cleaned up, no empty strings for equals, fuzzy or string
57
31
  if (opts && opts.filters) {
58
- for (let filterField of constants_1.NoEmptyFilterStrings) {
32
+ for (let filterField of NoEmptyFilterStrings) {
59
33
  if (!opts.filters[filterField]) {
60
34
  continue;
61
35
  }
62
- // @ts-ignore
63
36
  for (let [key, value] of Object.entries(opts.filters[filterField])) {
64
37
  if (!value || value === "") {
65
- // @ts-ignore
66
38
  delete opts.filters[filterField][key];
67
39
  }
68
40
  }
69
41
  }
70
42
  }
71
- return new ExternalRequest_1.ExternalRequest(operation, tableId, opts === null || opts === void 0 ? void 0 : opts.datasource).run(opts || {});
43
+ return new ExternalRequest(operation, tableId, opts.datasource).run(opts);
72
44
  });
73
45
  }
74
46
  exports.handleRequest = handleRequest;
75
- function patch(ctx) {
76
- return __awaiter(this, void 0, void 0, function* () {
77
- const inputs = ctx.request.body;
78
- const tableId = ctx.params.tableId;
79
- const id = inputs._id;
80
- // don't save the ID to db
81
- delete inputs._id;
82
- return handleRequest(types_1.Operation.UPDATE, tableId, {
83
- id: (0, utils_1.breakRowIdField)(id),
84
- row: inputs,
85
- });
47
+ exports.patch = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
48
+ const inputs = ctx.request.body;
49
+ const tableId = ctx.params.tableId;
50
+ const id = inputs._id;
51
+ // don't save the ID to db
52
+ delete inputs._id;
53
+ return handleRequest(DataSourceOperation.UPDATE, tableId, {
54
+ id: breakRowIdField(id),
55
+ row: inputs,
86
56
  });
87
- }
88
- exports.patch = patch;
89
- function save(ctx) {
90
- return __awaiter(this, void 0, void 0, function* () {
91
- const inputs = ctx.request.body;
92
- const tableId = ctx.params.tableId;
93
- return handleRequest(types_1.Operation.CREATE, tableId, {
94
- row: inputs,
95
- });
96
- });
97
- }
98
- exports.save = save;
99
- function fetchView(ctx) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- // there are no views in external datasources, shouldn't ever be called
102
- // for now just fetch
103
- const split = ctx.params.viewName.split("all_");
104
- ctx.params.tableId = split[1] ? split[1] : split[0];
105
- return fetch(ctx);
57
+ });
58
+ exports.save = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
59
+ const inputs = ctx.request.body;
60
+ const tableId = ctx.params.tableId;
61
+ return handleRequest(DataSourceOperation.CREATE, tableId, {
62
+ row: inputs,
106
63
  });
107
- }
108
- exports.fetchView = fetchView;
109
- function fetch(ctx) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- const tableId = ctx.params.tableId;
112
- return handleRequest(types_1.Operation.READ, tableId);
64
+ });
65
+ exports.fetchView = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
66
+ // there are no views in external datasources, shouldn't ever be called
67
+ // for now just fetch
68
+ const split = ctx.params.viewName.split("all_");
69
+ ctx.params.tableId = split[1] ? split[1] : split[0];
70
+ return exports.fetch(ctx);
71
+ });
72
+ exports.fetch = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
73
+ const tableId = ctx.params.tableId;
74
+ return handleRequest(DataSourceOperation.READ, tableId);
75
+ });
76
+ exports.find = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
77
+ const id = ctx.params.rowId;
78
+ const tableId = ctx.params.tableId;
79
+ const response = yield handleRequest(DataSourceOperation.READ, tableId, {
80
+ id: breakRowIdField(id),
113
81
  });
114
- }
115
- exports.fetch = fetch;
116
- function find(ctx) {
117
- return __awaiter(this, void 0, void 0, function* () {
118
- const id = ctx.params.rowId;
119
- const tableId = ctx.params.tableId;
120
- const response = (yield handleRequest(types_1.Operation.READ, tableId, {
121
- id: (0, utils_1.breakRowIdField)(id),
122
- }));
123
- return response ? response[0] : response;
82
+ return response ? response[0] : response;
83
+ });
84
+ exports.destroy = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
85
+ const tableId = ctx.params.tableId;
86
+ const id = ctx.request.body._id;
87
+ const { row } = yield handleRequest(DataSourceOperation.DELETE, tableId, {
88
+ id: breakRowIdField(id),
124
89
  });
125
- }
126
- exports.find = find;
127
- function destroy(ctx) {
128
- return __awaiter(this, void 0, void 0, function* () {
129
- const tableId = ctx.params.tableId;
130
- const id = ctx.request.body._id;
131
- const { row } = (yield handleRequest(types_1.Operation.DELETE, tableId, {
132
- id: (0, utils_1.breakRowIdField)(id),
90
+ return { response: { ok: true }, row };
91
+ });
92
+ exports.bulkDestroy = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
93
+ const { rows } = ctx.request.body;
94
+ const tableId = ctx.params.tableId;
95
+ let promises = [];
96
+ for (let row of rows) {
97
+ promises.push(handleRequest(DataSourceOperation.DELETE, tableId, {
98
+ id: breakRowIdField(row._id),
133
99
  }));
134
- return { response: { ok: true }, row };
135
- });
136
- }
137
- exports.destroy = destroy;
138
- function bulkDestroy(ctx) {
139
- return __awaiter(this, void 0, void 0, function* () {
140
- const { rows } = ctx.request.body;
141
- const tableId = ctx.params.tableId;
142
- let promises = [];
143
- for (let row of rows) {
144
- promises.push(handleRequest(types_1.Operation.DELETE, tableId, {
145
- id: (0, utils_1.breakRowIdField)(row._id),
146
- }));
147
- }
148
- const responses = (yield Promise.all(promises));
149
- return { response: { ok: true }, rows: responses.map(resp => resp.row) };
150
- });
151
- }
152
- exports.bulkDestroy = bulkDestroy;
153
- function search(ctx) {
154
- return __awaiter(this, void 0, void 0, function* () {
155
- const tableId = ctx.params.tableId;
156
- const _a = ctx.request.body, { paginate, query } = _a, params = __rest(_a, ["paginate", "query"]);
157
- let { bookmark, limit } = params;
158
- if (!bookmark && paginate) {
159
- bookmark = 1;
160
- }
161
- let paginateObj = {};
162
- if (paginate) {
163
- paginateObj = {
164
- // add one so we can track if there is another page
165
- limit: limit,
166
- page: bookmark,
167
- };
168
- }
169
- else if (params && limit) {
170
- paginateObj = {
171
- limit: limit,
172
- };
173
- }
174
- let sort;
175
- if (params.sort) {
176
- const direction = params.sortOrder === "descending"
177
- ? constants_1.SortDirection.DESCENDING
178
- : constants_1.SortDirection.ASCENDING;
179
- sort = {
180
- [params.sort]: direction,
181
- };
182
- }
183
- try {
184
- const rows = (yield handleRequest(types_1.Operation.READ, tableId, {
100
+ }
101
+ const responses = yield Promise.all(promises);
102
+ return { response: { ok: true }, rows: responses.map(resp => resp.row) };
103
+ });
104
+ exports.search = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
105
+ const tableId = ctx.params.tableId;
106
+ const _a = ctx.request.body, { paginate, query } = _a, params = __rest(_a, ["paginate", "query"]);
107
+ let { bookmark, limit } = params;
108
+ if (!bookmark && paginate) {
109
+ bookmark = 1;
110
+ }
111
+ let paginateObj = {};
112
+ if (paginate) {
113
+ paginateObj = {
114
+ // add one so we can track if there is another page
115
+ limit: limit,
116
+ page: bookmark,
117
+ };
118
+ }
119
+ else if (params && limit) {
120
+ paginateObj = {
121
+ limit: limit,
122
+ };
123
+ }
124
+ let sort;
125
+ if (params.sort) {
126
+ const direction = params.sortOrder === "descending"
127
+ ? SortDirection.DESCENDING
128
+ : SortDirection.ASCENDING;
129
+ sort = {
130
+ [params.sort]: direction,
131
+ };
132
+ }
133
+ try {
134
+ const rows = yield handleRequest(DataSourceOperation.READ, tableId, {
135
+ filters: query,
136
+ sort,
137
+ paginate: paginateObj,
138
+ });
139
+ let hasNextPage = false;
140
+ if (paginate && rows.length === limit) {
141
+ const nextRows = yield handleRequest(DataSourceOperation.READ, tableId, {
185
142
  filters: query,
186
143
  sort,
187
- paginate: paginateObj,
188
- }));
189
- let hasNextPage = false;
190
- if (paginate && rows.length === limit) {
191
- const nextRows = (yield handleRequest(types_1.Operation.READ, tableId, {
192
- filters: query,
193
- sort,
194
- paginate: {
195
- limit: 1,
196
- page: bookmark * limit + 1,
197
- },
198
- }));
199
- hasNextPage = nextRows.length > 0;
200
- }
201
- // need wrapper object for bookmarks etc when paginating
202
- return { rows, hasNextPage, bookmark: bookmark + 1 };
144
+ paginate: {
145
+ limit: 1,
146
+ page: bookmark * limit + 1,
147
+ },
148
+ });
149
+ hasNextPage = nextRows.length > 0;
203
150
  }
204
- catch (err) {
205
- if (err.message && err.message.includes("does not exist")) {
206
- throw new Error(`Table updated externally, please re-fetch - ${err.message}`);
207
- }
208
- else {
209
- throw err;
210
- }
151
+ // need wrapper object for bookmarks etc when paginating
152
+ return { rows, hasNextPage, bookmark: bookmark + 1 };
153
+ }
154
+ catch (err) {
155
+ if (err.message && err.message.includes("does not exist")) {
156
+ throw new Error(`Table updated externally, please re-fetch - ${err.message}`);
211
157
  }
212
- });
213
- }
214
- exports.search = search;
215
- function validate(ctx) {
216
- return __awaiter(this, void 0, void 0, function* () {
217
- // can't validate external right now - maybe in future
218
- return { valid: true };
219
- });
220
- }
221
- exports.validate = validate;
222
- function exportRows(ctx) {
223
- return __awaiter(this, void 0, void 0, function* () {
224
- const { datasourceId } = (0, utils_1.breakExternalTableId)(ctx.params.tableId);
225
- const db = backend_core_1.context.getAppDB();
226
- const format = ctx.query.format;
227
- const { columns } = ctx.request.body;
228
- const datasource = yield db.get(datasourceId);
229
- if (!datasource || !datasource.entities) {
230
- ctx.throw(400, "Datasource has not been configured for plus API.");
158
+ else {
159
+ throw err;
231
160
  }
232
- ctx.request.body = {
233
- query: {
234
- oneOf: {
235
- _id: ctx.request.body.rows.map((row) => JSON.parse(decodeURI(row))[0]),
236
- },
161
+ }
162
+ });
163
+ exports.validate = () => __awaiter(void 0, void 0, void 0, function* () {
164
+ // can't validate external right now - maybe in future
165
+ return { valid: true };
166
+ });
167
+ exports.exportRows = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
168
+ const { datasourceId } = breakExternalTableId(ctx.params.tableId);
169
+ const db = getAppDB();
170
+ const format = ctx.query.format;
171
+ const { columns } = ctx.request.body;
172
+ const datasource = yield db.get(datasourceId);
173
+ if (!datasource || !datasource.entities) {
174
+ ctx.throw(400, "Datasource has not been configured for plus API.");
175
+ }
176
+ ctx.request.body = {
177
+ query: {
178
+ oneOf: {
179
+ _id: ctx.request.body.rows.map(row => JSON.parse(decodeURI(row))[0]),
237
180
  },
238
- };
239
- let result = yield search(ctx);
240
- let rows = [];
241
- // Filter data to only specified columns if required
242
- if (columns && columns.length) {
243
- for (let i = 0; i < result.rows.length; i++) {
244
- rows[i] = {};
245
- for (let column of columns) {
246
- rows[i][column] = result.rows[i][column];
247
- }
181
+ },
182
+ };
183
+ let result = yield exports.search(ctx);
184
+ let rows = [];
185
+ // Filter data to only specified columns if required
186
+ if (columns && columns.length) {
187
+ for (let i = 0; i < result.rows.length; i++) {
188
+ rows[i] = {};
189
+ for (let column of columns) {
190
+ rows[i][column] = result.rows[i][column];
248
191
  }
249
192
  }
250
- else {
251
- rows = result.rows;
252
- }
253
- let headers = Object.keys(rows[0]);
254
- // @ts-ignore
255
- const exporter = exporters[format];
256
- const filename = `export.${format}`;
257
- // send down the file
258
- ctx.attachment(filename);
259
- return (0, fileSystem_1.apiFileReturn)(exporter(headers, rows));
193
+ }
194
+ else {
195
+ rows = result.rows;
196
+ }
197
+ let headers = Object.keys(rows[0]);
198
+ const exporter = exporters[format];
199
+ const filename = `export.${format}`;
200
+ // send down the file
201
+ ctx.attachment(filename);
202
+ return apiFileReturn(exporter(headers, rows));
203
+ });
204
+ exports.fetchEnrichedRow = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
205
+ const id = ctx.params.rowId;
206
+ const tableId = ctx.params.tableId;
207
+ const { datasourceId, tableName } = breakExternalTableId(tableId);
208
+ const db = getAppDB();
209
+ const datasource = yield db.get(datasourceId);
210
+ if (!datasource || !datasource.entities) {
211
+ ctx.throw(400, "Datasource has not been configured for plus API.");
212
+ }
213
+ const tables = datasource.entities;
214
+ const response = yield handleRequest(DataSourceOperation.READ, tableId, {
215
+ id,
216
+ datasource,
260
217
  });
261
- }
262
- exports.exportRows = exportRows;
263
- function fetchEnrichedRow(ctx) {
264
- var _a;
265
- return __awaiter(this, void 0, void 0, function* () {
266
- const id = ctx.params.rowId;
267
- const tableId = ctx.params.tableId;
268
- const { datasourceId, tableName } = (0, utils_1.breakExternalTableId)(tableId);
269
- const db = backend_core_1.context.getAppDB();
270
- const datasource = yield db.get(datasourceId);
271
- if (!tableName) {
272
- ctx.throw(400, "Unable to find table.");
218
+ const table = tables[tableName];
219
+ const row = response[0];
220
+ // this seems like a lot of work, but basically we need to dig deeper for the enrich
221
+ // for a single row, there is probably a better way to do this with some smart multi-layer joins
222
+ for (let [fieldName, field] of Object.entries(table.schema)) {
223
+ if (field.type !== FieldTypes.LINK ||
224
+ !row[fieldName] ||
225
+ row[fieldName].length === 0) {
226
+ continue;
273
227
  }
274
- if (!datasource || !datasource.entities) {
275
- ctx.throw(400, "Datasource has not been configured for plus API.");
276
- }
277
- const tables = datasource.entities;
278
- const response = (yield handleRequest(types_1.Operation.READ, tableId, {
279
- id,
280
- datasource,
281
- }));
282
- const table = tables[tableName];
283
- const row = response[0];
284
- // this seems like a lot of work, but basically we need to dig deeper for the enrich
285
- // for a single row, there is probably a better way to do this with some smart multi-layer joins
286
- for (let [fieldName, field] of Object.entries(table.schema)) {
287
- if (field.type !== constants_1.FieldTypes.LINK ||
288
- !row[fieldName] ||
289
- row[fieldName].length === 0) {
290
- continue;
291
- }
292
- const links = row[fieldName];
293
- const linkedTableId = field.tableId;
294
- const linkedTableName = (0, utils_1.breakExternalTableId)(linkedTableId).tableName;
295
- const linkedTable = tables[linkedTableName];
296
- // don't support composite keys right now
297
- const linkedIds = links.map((link) => (0, utils_1.breakRowIdField)(link._id)[0]);
298
- const primaryLink = (_a = linkedTable.primary) === null || _a === void 0 ? void 0 : _a[0];
299
- row[fieldName] = yield handleRequest(types_1.Operation.READ, linkedTableId, {
300
- tables,
301
- filters: {
302
- oneOf: {
303
- [primaryLink]: linkedIds,
304
- },
228
+ const links = row[fieldName];
229
+ const linkedTableId = field.tableId;
230
+ const linkedTable = tables[breakExternalTableId(linkedTableId).tableName];
231
+ // don't support composite keys right now
232
+ const linkedIds = links.map(link => breakRowIdField(link._id)[0]);
233
+ row[fieldName] = yield handleRequest(DataSourceOperation.READ, linkedTableId, {
234
+ tables,
235
+ filters: {
236
+ oneOf: {
237
+ [linkedTable.primary]: linkedIds,
305
238
  },
306
- });
307
- }
308
- return row;
309
- });
310
- }
311
- exports.fetchEnrichedRow = fetchEnrichedRow;
239
+ },
240
+ });
241
+ }
242
+ return row;
243
+ });
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -31,17 +8,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
31
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
9
  });
33
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
34
14
  Object.defineProperty(exports, "__esModule", { value: true });
35
15
  exports.exportRows = exports.fetchEnrichedRow = exports.validate = exports.search = exports.destroy = exports.find = exports.fetch = exports.fetchView = exports.save = exports.patch = void 0;
36
16
  const pro_1 = require("@budibase/pro");
37
- const internal = __importStar(require("./internal"));
38
- const external = __importStar(require("./external"));
17
+ const internal_1 = __importDefault(require("./internal"));
18
+ const external_1 = __importDefault(require("./external"));
39
19
  const utils_1 = require("../../../integrations/utils");
40
20
  function pickApi(tableId) {
41
21
  if ((0, utils_1.isExternalTable)(tableId)) {
42
- return external;
22
+ return external_1.default;
43
23
  }
44
- return internal;
24
+ return internal_1.default;
45
25
  }
46
26
  function getTableId(ctx) {
47
27
  if (ctx.request.body && ctx.request.body.tableId) {
@@ -63,22 +43,13 @@ function patch(ctx) {
63
43
  if (body && !body._id) {
64
44
  return (0, exports.save)(ctx);
65
45
  }
66
- try {
67
- const { row, table } = yield pro_1.quotas.addQuery(() => pickApi(tableId).patch(ctx), {
68
- datasourceId: tableId,
69
- });
70
- if (!row) {
71
- ctx.throw(404, "Row not found");
72
- }
73
- ctx.status = 200;
74
- ctx.eventEmitter &&
75
- ctx.eventEmitter.emitRow(`row:update`, appId, row, table);
76
- ctx.message = `${table.name} updated successfully.`;
77
- ctx.body = row;
78
- }
79
- catch (err) {
80
- ctx.throw(400, err);
81
- }
46
+ const { row, table } = yield pro_1.quotas.addQuery(() => pickApi(tableId).patch(ctx), {
47
+ datasourceId: tableId,
48
+ });
49
+ ctx.status = 200;
50
+ ctx.eventEmitter && ctx.eventEmitter.emitRow(`row:update`, appId, row, table);
51
+ ctx.message = `${table.name} updated successfully.`;
52
+ ctx.body = row;
82
53
  });
83
54
  }
84
55
  exports.patch = patch;