@budibase/server 2.1.40-alpha.5 → 2.1.41

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 (787) hide show
  1. package/__mocks__/aws-sdk.ts +0 -14
  2. package/__mocks__/node-fetch.ts +1 -5
  3. package/builder/assets/{index.8170ae19.js → index.2467ba90.js} +327 -327
  4. package/builder/assets/{index.144dddb2.css → index.534f6c29.css} +2 -2
  5. package/builder/index.html +2 -2
  6. package/coverage/clover.xml +3740 -10734
  7. package/coverage/coverage-final.json +118 -266
  8. package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +26 -26
  9. package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +75 -75
  10. package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +47 -47
  11. package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +88 -268
  12. package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +71 -53
  13. package/coverage/lcov-report/api/controllers/index.html +326 -0
  14. package/coverage/lcov-report/{src/api/controllers/integration.ts.html → api/controllers/integration.js.html} +22 -19
  15. package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +26 -26
  16. package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +23 -26
  17. package/coverage/lcov-report/{src/api/controllers/migrations.ts.html → api/controllers/migrations.js.html} +15 -18
  18. package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +71 -80
  19. package/coverage/lcov-report/{src/utilities/routing → api/controllers/query}/index.html +8 -8
  20. package/coverage/lcov-report/{src/api/controllers/query/validation.ts.html → api/controllers/query/validation.js.html} +17 -17
  21. package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +56 -44
  22. package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +56 -65
  23. package/coverage/lcov-report/{src/api/controllers/row/external.ts.html → api/controllers/row/external.js.html} +94 -145
  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} +95 -137
  26. package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +110 -182
  27. package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +51 -66
  28. package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +47 -77
  29. package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +14 -17
  30. package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +54 -96
  31. package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +103 -196
  32. package/coverage/lcov-report/{src/utilities/fileSystem → api/controllers/table}/index.html +44 -44
  33. package/coverage/lcov-report/{src/api/controllers/table/index.ts.html → api/controllers/table/index.js.html} +37 -46
  34. package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +25 -34
  35. package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +85 -79
  36. package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +14 -20
  37. package/coverage/lcov-report/{src/api → api}/controllers/view/index.html +36 -36
  38. package/coverage/lcov-report/{src/api/controllers/view/index.ts.html → api/controllers/view/index.js.html} +48 -75
  39. package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +43 -61
  40. package/coverage/lcov-report/{src/api/controllers/view/viewBuilder.ts.html → api/controllers/view/viewBuilder.js.html} +32 -74
  41. package/coverage/lcov-report/{src/api → api}/index.html +23 -23
  42. package/coverage/lcov-report/{src/api/index.ts.html → api/index.js.html} +56 -35
  43. package/coverage/lcov-report/{src/api/routes/analytics.ts.html → api/routes/analytics.js.html} +14 -14
  44. package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/routes/apikeys.js.html} +27 -27
  45. package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +42 -48
  46. package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +21 -21
  47. package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +17 -17
  48. package/coverage/lcov-report/{src/constants/screens.ts.html → api/routes/datasource.js.html} +65 -56
  49. package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +22 -25
  50. package/coverage/lcov-report/{src/automations/index.ts.html → api/routes/dev.js.html} +42 -42
  51. package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
  52. package/coverage/lcov-report/{src/api/routes/apikeys.ts.html → api/routes/integration.js.html} +18 -18
  53. package/coverage/lcov-report/{src/api/routes/layout.ts.html → api/routes/layout.js.html} +18 -18
  54. package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +24 -24
  55. package/coverage/lcov-report/{src/sdk/index.ts.html → api/routes/migrations.js.html} +21 -24
  56. package/coverage/lcov-report/{src/api/routes/permission.ts.html → api/routes/permission.js.html} +24 -48
  57. package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +42 -33
  58. package/coverage/lcov-report/{src/db/index.ts.html → api/routes/role.js.html} +25 -28
  59. package/coverage/lcov-report/{src/api/routes/routing.ts.html → api/routes/routing.js.html} +17 -17
  60. package/coverage/lcov-report/api/routes/screen.js.html +139 -0
  61. package/coverage/lcov-report/{src/api/routes/script.ts.html → api/routes/script.js.html} +17 -17
  62. package/coverage/lcov-report/{src/api/routes/table.ts.html → api/routes/table.js.html} +33 -24
  63. package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +18 -18
  64. package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +35 -29
  65. package/coverage/lcov-report/{src/api → api}/routes/utils/index.html +15 -15
  66. package/coverage/lcov-report/{src/api/routes/utils/validators.ts.html → api/routes/utils/validators.js.html} +58 -46
  67. package/coverage/lcov-report/{src/api/routes/view.ts.html → api/routes/view.js.html} +31 -40
  68. package/coverage/lcov-report/{src/automations/actions.ts.html → automations/actions.js.html} +41 -50
  69. package/coverage/lcov-report/{src/automations/automationUtils.ts.html → automations/automationUtils.js.html} +27 -30
  70. package/coverage/lcov-report/{src/automations/bullboard.ts.html → automations/bullboard.js.html} +33 -30
  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} +25 -40
  74. package/coverage/lcov-report/{src/automations/steps/delay.ts.html → automations/steps/delay.js.html} +17 -32
  75. package/coverage/lcov-report/{src/automations/steps/discord.ts.html → automations/steps/discord.js.html} +23 -38
  76. package/coverage/lcov-report/{src/automations/steps/executeQuery.ts.html → automations/steps/executeQuery.js.html} +26 -41
  77. package/coverage/lcov-report/{src/automations/steps/executeScript.ts.html → automations/steps/executeScript.js.html} +24 -54
  78. package/coverage/lcov-report/{src/automations/steps/filter.ts.html → automations/steps/filter.js.html} +27 -36
  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} +20 -35
  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} +33 -48
  83. package/coverage/lcov-report/{src/automations/steps/queryRows.ts.html → automations/steps/queryRows.js.html} +58 -94
  84. package/coverage/lcov-report/{src/automations/steps/sendSmtpEmail.ts.html → automations/steps/sendSmtpEmail.js.html} +22 -37
  85. package/coverage/lcov-report/{src/automations/steps/serverLog.ts.html → automations/steps/serverLog.js.html} +20 -38
  86. package/coverage/lcov-report/{src/automations/steps/slack.ts.html → automations/steps/slack.js.html} +20 -35
  87. package/coverage/lcov-report/{src/automations/steps/updateRow.ts.html → automations/steps/updateRow.js.html} +21 -36
  88. package/coverage/lcov-report/{src/automations/steps/utils.ts.html → automations/steps/utils.js.html} +26 -44
  89. package/coverage/lcov-report/{src/automations/steps/zapier.ts.html → automations/steps/zapier.js.html} +20 -38
  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/automations/triggerInfo/index.ts.html → automations/triggerInfo/index.js.html} +17 -17
  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} +47 -59
  99. package/coverage/lcov-report/{src/constants → constants}/index.html +26 -26
  100. package/coverage/lcov-report/{src/constants/index.ts.html → constants/index.js.html} +185 -173
  101. package/coverage/lcov-report/{src/constants/layouts.ts.html → constants/layouts.js.html} +34 -16
  102. package/coverage/lcov-report/{src/definitions/datasource.ts.html → constants/screens.js.html} +60 -72
  103. package/coverage/lcov-report/{src/db/inMemoryView.ts.html → db/inMemoryView.js.html} +26 -44
  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} +36 -36
  106. package/coverage/lcov-report/{src/db/linkedRows/LinkController.ts.html → db/linkedRows/LinkController.js.html} +155 -92
  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} +68 -83
  109. package/coverage/lcov-report/{src/db/linkedRows/linkUtils.ts.html → db/linkedRows/linkUtils.js.html} +46 -73
  110. package/coverage/lcov-report/{src/db/newid.ts.html → db/newid.js.html} +11 -11
  111. package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +153 -105
  112. package/coverage/lcov-report/{src/events/AutomationEmitter.ts.html → events/AutomationEmitter.js.html} +21 -36
  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} +26 -23
  115. package/coverage/lcov-report/{src/automations/triggerInfo/app.ts.html → events/utils.js.html} +72 -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} +28 -31
  120. package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +37 -43
  121. package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +68 -77
  122. package/coverage/lcov-report/{src/middleware → middleware}/index.html +63 -78
  123. package/coverage/lcov-report/{src/middleware/joi-validator.ts.html → middleware/joi-validator.js.html} +22 -25
  124. package/coverage/lcov-report/{src/middleware/publicApi.ts.html → middleware/publicApi.js.html} +24 -24
  125. package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +25 -40
  126. package/coverage/lcov-report/{src/tests/utilities/index.ts.html → middleware/selfhost.js.html} +30 -33
  127. package/coverage/lcov-report/{src/middleware/utils.ts.html → middleware/utils.js.html} +13 -19
  128. package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +12 -12
  129. package/coverage/lcov-report/{src/utilities/centralPath.ts.html → utilities/centralPath.js.html} +13 -13
  130. package/coverage/lcov-report/{src/utilities/csvParser.ts.html → utilities/csvParser.js.html} +56 -104
  131. package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +74 -107
  132. package/coverage/lcov-report/{src/utilities → utilities}/index.html +77 -92
  133. package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +54 -78
  134. package/coverage/lcov-report/{src/utilities/plugins.ts.html → utilities/plugins.js.html} +19 -22
  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/routes/role.ts.html → utilities/routing/index.js.html} +42 -39
  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} +346 -115
  141. package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +38 -50
  142. package/coverage/lcov-report/{src/utilities/scriptRunner.ts.html → utilities/scriptRunner.js.html} +16 -28
  143. package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +74 -56
  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} +46 -34
  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} +35 -29
  149. package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +114 -129
  150. package/coverage/lcov.info +6967 -19532
  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/package.json +45 -11
  299. package/dist/sdk/app/backups/exports.js +2 -1
  300. package/dist/sdk/app/backups/imports.js +3 -2
  301. package/dist/sdk/app/tables/index.js +5 -5
  302. package/dist/startup.js +10 -10
  303. package/dist/tests/utilities/TestConfiguration.js +87 -111
  304. package/dist/tests/utilities/controllers.js +15 -38
  305. package/dist/tests/utilities/structures.js +53 -72
  306. package/dist/threads/automation.js +27 -49
  307. package/dist/threads/query.js +19 -17
  308. package/dist/threads/utils.js +8 -33
  309. package/dist/tsconfig.build.tsbuildinfo +1 -1
  310. package/dist/utilities/budibaseDir.js +2 -4
  311. package/dist/utilities/centralPath.js +7 -14
  312. package/dist/utilities/csvParser.js +21 -27
  313. package/dist/utilities/fileSystem/clientLibrary.js +73 -87
  314. package/dist/utilities/fileSystem/index.js +175 -203
  315. package/dist/utilities/fileSystem/processor.js +3 -8
  316. package/dist/utilities/fileSystem/utilities.js +22 -0
  317. package/dist/utilities/global.js +66 -87
  318. package/dist/utilities/index.js +75 -102
  319. package/dist/utilities/plugins.js +9 -15
  320. package/dist/utilities/queue/inMemoryQueue.js +126 -0
  321. package/dist/utilities/redis.js +65 -100
  322. package/dist/utilities/routing/index.js +23 -27
  323. package/dist/utilities/rowProcessor/index.js +191 -133
  324. package/dist/utilities/rowProcessor/utils.js +26 -35
  325. package/dist/utilities/scriptRunner.js +5 -8
  326. package/dist/utilities/security.js +35 -39
  327. package/dist/utilities/usageQuota/rows.js +49 -56
  328. package/dist/utilities/users.js +28 -31
  329. package/dist/utilities/workerRequests.js +82 -115
  330. package/dist/watch.js +2 -1
  331. package/package.json +46 -12
  332. package/scripts/exportAppTemplate.js +2 -2
  333. package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
  334. package/scripts/localdomain.js +6 -34
  335. package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
  336. package/src/api/controllers/application.ts +42 -56
  337. package/src/api/controllers/auth.ts +3 -4
  338. package/src/api/controllers/{automation.ts → automation.js} +48 -48
  339. package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
  340. package/src/api/controllers/component.ts +1 -2
  341. package/src/api/controllers/{datasource.ts → datasource.js} +49 -109
  342. package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
  343. package/src/api/controllers/deploy/index.ts +25 -13
  344. package/src/api/controllers/{dev.ts → dev.js} +37 -31
  345. package/src/api/controllers/integration.js +14 -0
  346. package/src/api/controllers/{layout.ts → layout.js} +8 -8
  347. package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
  348. package/src/api/controllers/migrations.js +13 -0
  349. package/src/api/controllers/{permission.ts → permission.js} +46 -49
  350. package/src/api/controllers/plugin/index.ts +5 -4
  351. package/src/api/controllers/plugin/utils.ts +5 -3
  352. package/src/api/controllers/public/applications.ts +9 -15
  353. package/src/api/controllers/public/rows.ts +1 -1
  354. package/src/api/controllers/public/tables.ts +2 -2
  355. package/src/api/controllers/public/utils.ts +2 -2
  356. package/src/api/controllers/query/import/index.ts +3 -2
  357. package/src/api/controllers/query/index.ts +14 -11
  358. package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
  359. package/src/api/controllers/{role.ts → role.js} +25 -21
  360. package/src/api/controllers/{routing.ts → routing.js} +34 -37
  361. package/src/api/controllers/row/ExternalRequest.ts +624 -602
  362. package/src/api/controllers/row/{external.ts → external.js} +62 -79
  363. package/src/api/controllers/row/index.ts +11 -19
  364. package/src/api/controllers/row/{internal.ts → internal.js} +73 -87
  365. package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
  366. package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +25 -30
  367. package/src/api/controllers/row/{utils.ts → utils.js} +22 -32
  368. package/src/api/controllers/screen.ts +6 -10
  369. package/src/api/controllers/script.js +11 -0
  370. package/src/api/controllers/static/index.ts +16 -14
  371. package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
  372. package/src/api/controllers/table/{external.ts → external.js} +55 -86
  373. package/src/api/controllers/table/{index.ts → index.js} +18 -21
  374. package/src/api/controllers/table/internal.ts +6 -5
  375. package/src/api/controllers/table/utils.ts +21 -26
  376. package/src/api/controllers/{templates.ts → templates.js} +7 -10
  377. package/src/api/controllers/{user.ts → user.js} +49 -47
  378. package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
  379. package/src/api/controllers/view/{index.ts → index.js} +27 -36
  380. package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
  381. package/src/api/controllers/view/{viewBuilder.ts → viewBuilder.js} +11 -25
  382. package/src/api/controllers/webhook.ts +1 -1
  383. package/src/api/{index.ts → index.js} +22 -15
  384. package/src/api/routes/analytics.js +9 -0
  385. package/src/api/routes/apikeys.js +12 -0
  386. package/src/api/routes/application.ts +9 -17
  387. package/src/api/routes/auth.ts +2 -2
  388. package/src/api/routes/automation.js +85 -0
  389. package/src/api/routes/backup.ts +4 -8
  390. package/src/api/routes/cloud.js +14 -0
  391. package/src/api/routes/component.js +14 -0
  392. package/src/api/routes/datasource.js +51 -0
  393. package/src/api/routes/deploy.js +17 -0
  394. package/src/api/routes/dev.js +26 -0
  395. package/src/api/routes/integration.js +12 -0
  396. package/src/api/routes/layout.js +16 -0
  397. package/src/api/routes/{metadata.ts → metadata.js} +13 -13
  398. package/src/api/routes/migrations.js +14 -0
  399. package/src/api/routes/permission.js +33 -0
  400. package/src/api/routes/plugin.ts +6 -14
  401. package/src/api/routes/public/index.ts +14 -11
  402. package/src/api/routes/public/tests/compare.spec.js +1 -1
  403. package/src/api/routes/{query.ts → query.js} +22 -19
  404. package/src/api/routes/role.js +15 -0
  405. package/src/api/routes/routing.js +14 -0
  406. package/src/api/routes/row.ts +15 -13
  407. package/src/api/routes/screen.js +18 -0
  408. package/src/api/routes/script.js +10 -0
  409. package/src/api/routes/static.ts +10 -7
  410. package/src/api/routes/{table.ts → table.js} +13 -10
  411. package/src/api/routes/templates.js +16 -0
  412. package/src/api/routes/tests/analytics.spec.js +1 -1
  413. package/src/api/routes/tests/backup.spec.js +1 -9
  414. package/src/api/routes/tests/deployment.spec.ts +1 -1
  415. package/src/api/routes/tests/permissions.spec.js +1 -2
  416. package/src/api/routes/tests/query.spec.js +10 -15
  417. package/src/api/routes/tests/role.spec.js +9 -7
  418. package/src/api/routes/tests/routing.spec.js +1 -2
  419. package/src/api/routes/tests/row.spec.js +4 -3
  420. package/src/api/routes/tests/static.spec.js +2 -2
  421. package/src/api/routes/tests/table.spec.js +36 -40
  422. package/src/api/routes/tests/user.spec.js +1 -2
  423. package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
  424. package/src/api/routes/tests/utilities/{index.ts → index.js} +12 -12
  425. package/src/api/routes/tests/view.spec.js +3 -3
  426. package/src/api/routes/user.js +53 -0
  427. package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
  428. package/src/api/routes/view.js +31 -0
  429. package/src/api/routes/webhook.ts +2 -2
  430. package/src/app.ts +14 -15
  431. package/src/automations/{actions.ts → actions.js} +23 -26
  432. package/src/automations/{automationUtils.ts → automationUtils.js} +12 -13
  433. package/src/automations/bullboard.js +39 -0
  434. package/src/automations/index.js +29 -0
  435. package/src/automations/steps/{bash.ts → bash.js} +8 -13
  436. package/src/automations/steps/createRow.ts +3 -8
  437. package/src/automations/steps/{delay.ts → delay.js} +4 -9
  438. package/src/automations/steps/deleteRow.ts +3 -8
  439. package/src/automations/steps/{discord.ts → discord.js} +5 -10
  440. package/src/automations/steps/{executeQuery.ts → executeQuery.js} +7 -12
  441. package/src/automations/steps/{executeScript.ts → executeScript.js} +7 -17
  442. package/src/automations/steps/{filter.ts → filter.js} +9 -12
  443. package/src/automations/steps/{integromat.ts → integromat.js} +5 -10
  444. package/src/automations/steps/{loop.ts → loop.js} +2 -4
  445. package/src/automations/steps/{outgoingWebhook.ts → outgoingWebhook.js} +13 -18
  446. package/src/automations/steps/{queryRows.ts → queryRows.js} +36 -48
  447. package/src/automations/steps/{sendSmtpEmail.ts → sendSmtpEmail.js} +5 -10
  448. package/src/automations/steps/{serverLog.ts → serverLog.js} +3 -9
  449. package/src/automations/steps/{slack.ts → slack.js} +5 -10
  450. package/src/automations/steps/{updateRow.ts → updateRow.js} +7 -12
  451. package/src/automations/steps/{utils.ts → utils.js} +4 -10
  452. package/src/automations/steps/{zapier.ts → zapier.js} +5 -11
  453. package/src/automations/tests/updateRow.spec.js +1 -0
  454. package/src/automations/tests/utilities/index.js +51 -0
  455. package/src/automations/triggerInfo/{app.ts → app.js} +2 -7
  456. package/src/automations/triggerInfo/{cron.ts → cron.js} +2 -7
  457. package/src/automations/triggerInfo/index.js +15 -0
  458. package/src/automations/triggerInfo/{rowDeleted.ts → rowDeleted.js} +2 -7
  459. package/src/automations/triggerInfo/{rowSaved.ts → rowSaved.js} +2 -7
  460. package/src/automations/triggerInfo/{rowUpdated.ts → rowUpdated.js} +2 -7
  461. package/src/automations/triggerInfo/{webhook.ts → webhook.js} +2 -7
  462. package/src/automations/{triggers.ts → triggers.js} +26 -30
  463. package/src/automations/utils.ts +12 -9
  464. package/src/constants/index.js +208 -0
  465. package/src/constants/{layouts.ts → layouts.js} +9 -3
  466. package/src/constants/screens.js +46 -0
  467. package/src/db/{dynamoClient.ts → dynamoClient.js} +19 -39
  468. package/src/db/{inMemoryView.ts → inMemoryView.js} +9 -15
  469. package/src/db/index.js +16 -0
  470. package/src/db/linkedRows/{LinkController.ts → LinkController.js} +85 -64
  471. package/src/db/linkedRows/{index.ts → index.js} +38 -43
  472. package/src/db/linkedRows/{linkUtils.ts → linkUtils.js} +24 -33
  473. package/src/db/{newid.ts → newid.js} +1 -1
  474. package/src/db/tests/linkController.spec.js +57 -73
  475. package/src/db/tests/linkTests.spec.js +14 -17
  476. package/src/db/{utils.ts → utils.js} +93 -77
  477. package/src/db/views/{staticViews.ts → staticViews.js} +13 -20
  478. package/src/{environment.ts → environment.js} +7 -11
  479. package/src/events/{AutomationEmitter.ts → AutomationEmitter.js} +7 -12
  480. package/src/events/{BudibaseEmitter.ts → index.js} +8 -7
  481. package/src/events/utils.js +38 -0
  482. package/src/integrations/base/sql.ts +1 -1
  483. package/src/integrations/base/sqlTable.ts +1 -1
  484. package/src/integrations/elasticsearch.ts +2 -32
  485. package/src/integrations/googlesheets.ts +7 -5
  486. package/src/integrations/index.ts +41 -45
  487. package/src/integrations/s3.ts +3 -179
  488. package/src/integrations/tests/s3.spec.ts +1 -85
  489. package/src/integrations/utils.ts +2 -6
  490. package/src/middleware/appInfo.js +19 -0
  491. package/src/middleware/authorized.ts +28 -21
  492. package/src/middleware/{builder.ts → builder.js} +15 -17
  493. package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
  494. package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
  495. package/src/middleware/publicApi.js +21 -0
  496. package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
  497. package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
  498. package/src/middleware/tests/authorized.spec.js +6 -5
  499. package/src/middleware/tests/currentapp.spec.js +63 -118
  500. package/src/middleware/{utils.ts → utils.js} +1 -3
  501. package/src/migrations/functions/appUrls.ts +2 -2
  502. package/src/migrations/functions/backfill/app/tables.ts +5 -2
  503. package/src/migrations/functions/backfill/global.ts +1 -1
  504. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  505. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
  506. package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
  507. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  508. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  509. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  510. package/src/migrations/tests/index.spec.ts +1 -1
  511. package/src/module.d.ts +14 -0
  512. package/src/sdk/app/backups/exports.ts +3 -5
  513. package/src/sdk/app/backups/imports.ts +14 -7
  514. package/src/sdk/app/backups/statistics.ts +18 -9
  515. package/src/sdk/app/tables/index.ts +8 -7
  516. package/src/startup.ts +5 -5
  517. package/src/tests/utilities/{TestConfiguration.ts → TestConfiguration.js} +78 -111
  518. package/src/tests/utilities/controllers.js +16 -0
  519. package/src/tests/utilities/{index.ts → index.js} +2 -2
  520. package/src/tests/utilities/{structures.ts → structures.js} +36 -41
  521. package/src/threads/automation.ts +19 -18
  522. package/src/threads/query.ts +16 -11
  523. package/src/threads/utils.ts +5 -4
  524. package/src/utilities/budibaseDir.js +3 -0
  525. package/src/utilities/{centralPath.ts → centralPath.js} +3 -3
  526. package/src/utilities/{csvParser.ts → csvParser.js} +26 -42
  527. package/src/utilities/fileSystem/{clientLibrary.ts → clientLibrary.js} +20 -20
  528. package/src/utilities/fileSystem/{index.ts → index.js} +65 -61
  529. package/src/utilities/fileSystem/{processor.ts → processor.js} +5 -3
  530. package/src/utilities/fileSystem/utilities.js +36 -0
  531. package/src/utilities/global.js +127 -0
  532. package/src/utilities/{index.ts → index.js} +32 -40
  533. package/src/utilities/{plugins.ts → plugins.js} +4 -5
  534. package/src/utilities/queue/inMemoryQueue.js +122 -0
  535. package/src/utilities/{redis.ts → redis.js} +20 -21
  536. package/src/utilities/routing/index.js +25 -0
  537. package/src/utilities/rowProcessor/{index.ts → index.js} +144 -67
  538. package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
  539. package/src/utilities/{scriptRunner.ts → scriptRunner.js} +4 -8
  540. package/src/utilities/security.js +71 -0
  541. package/src/utilities/{statusCodes.ts → statusCodes.js} +1 -1
  542. package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
  543. package/src/utilities/usageQuota/{usageQuoteReset.ts → usageQuoteReset.js} +1 -1
  544. package/src/utilities/{users.ts → users.js} +13 -11
  545. package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
  546. package/src/watch.ts +3 -2
  547. package/tsconfig.build.json +2 -1
  548. package/tsconfig.json +1 -3
  549. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
  550. package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
  551. package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
  552. package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
  553. package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
  554. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
  555. package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
  556. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
  557. package/coverage/lcov-report/src/api/controllers/index.html +0 -431
  558. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
  559. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
  560. package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
  561. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
  562. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
  563. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
  564. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
  565. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -136
  566. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
  567. package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
  568. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
  569. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
  570. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
  571. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
  572. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
  573. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +0 -163
  574. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
  575. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
  576. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
  577. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
  578. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
  579. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
  580. package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
  581. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
  582. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
  583. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
  584. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
  585. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
  586. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
  587. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
  588. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
  589. package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
  590. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
  591. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2260
  592. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
  593. package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
  594. package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
  595. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -694
  596. package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
  597. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
  598. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
  599. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
  600. package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
  601. package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
  602. package/coverage/lcov-report/src/api/routes/datasource.ts.html +0 -265
  603. package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
  604. package/coverage/lcov-report/src/api/routes/dev.ts.html +0 -199
  605. package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
  606. package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
  607. package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
  608. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
  609. package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
  610. package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -493
  611. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
  612. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
  613. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
  614. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
  615. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
  616. package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
  617. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
  618. package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
  619. package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
  620. package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
  621. package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
  622. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
  623. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
  624. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +0 -367
  625. package/coverage/lcov-report/src/api/routes/webhook.ts.html +0 -166
  626. package/coverage/lcov-report/src/app.ts.html +0 -406
  627. package/coverage/lcov-report/src/automations/logging/index.html +0 -116
  628. package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
  629. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -382
  630. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -349
  631. package/coverage/lcov-report/src/automations/steps/index.html +0 -371
  632. package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
  633. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +0 -265
  634. package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
  635. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +0 -2059
  636. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +0 -541
  637. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +0 -427
  638. package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
  639. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +0 -403
  640. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +0 -559
  641. package/coverage/lcov-report/src/db/dynamoClient.ts.html +0 -526
  642. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +0 -265
  643. package/coverage/lcov-report/src/db/linkedRows/index.html +0 -161
  644. package/coverage/lcov-report/src/environment.ts.html +0 -457
  645. package/coverage/lcov-report/src/events/index.ts.html +0 -100
  646. package/coverage/lcov-report/src/events/utils.ts.html +0 -319
  647. package/coverage/lcov-report/src/index.html +0 -191
  648. package/coverage/lcov-report/src/index.ts.html +0 -133
  649. package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
  650. package/coverage/lcov-report/src/integrations/base/index.html +0 -161
  651. package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
  652. package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
  653. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
  654. package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
  655. package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
  656. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +0 -745
  657. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
  658. package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
  659. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1315
  660. package/coverage/lcov-report/src/integrations/index.html +0 -371
  661. package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
  662. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
  663. package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
  664. package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -964
  665. package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
  666. package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
  667. package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
  668. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
  669. package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
  670. package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
  671. package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
  672. package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
  673. package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1018
  674. package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
  675. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
  676. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
  677. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
  678. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
  679. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
  680. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
  681. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
  682. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
  683. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
  684. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
  685. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
  686. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
  687. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
  688. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
  689. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
  690. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
  691. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
  692. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
  693. package/coverage/lcov-report/src/migrations/functions/index.html +0 -146
  694. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
  695. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
  696. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
  697. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
  698. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
  699. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
  700. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
  701. package/coverage/lcov-report/src/migrations/index.ts.html +0 -403
  702. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
  703. package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
  704. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
  705. package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
  706. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
  707. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
  708. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
  709. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
  710. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
  711. package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
  712. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
  713. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
  714. package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
  715. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
  716. package/coverage/lcov-report/src/startup.ts.html +0 -499
  717. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +0 -1966
  718. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +0 -127
  719. package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
  720. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +0 -667
  721. package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
  722. package/coverage/lcov-report/src/threads/index.html +0 -161
  723. package/coverage/lcov-report/src/threads/index.ts.html +0 -418
  724. package/coverage/lcov-report/src/threads/query.ts.html +0 -961
  725. package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
  726. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +0 -547
  727. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +0 -1129
  728. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +0 -142
  729. package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
  730. package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
  731. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
  732. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +0 -373
  733. package/coverage/lcov-report/src/watch.ts.html +0 -196
  734. package/dist/db/defaultData/datasource_bb_default.js +0 -573
  735. package/dist/db/defaultData/employeeImport.js +0 -155
  736. package/dist/db/defaultData/expensesImport.js +0 -117
  737. package/dist/db/defaultData/inventoryImport.js +0 -109
  738. package/dist/db/defaultData/jobsImport.js +0 -152
  739. package/dist/db/linkedRows/LinkDocument.js +0 -32
  740. package/dist/events/BudibaseEmitter.js +0 -24
  741. package/dist/utilities/rowProcessor/map.js +0 -99
  742. package/jest.config.ts +0 -33
  743. package/src/api/controllers/integration.ts +0 -13
  744. package/src/api/controllers/migrations.ts +0 -14
  745. package/src/api/controllers/script.ts +0 -12
  746. package/src/api/routes/analytics.ts +0 -9
  747. package/src/api/routes/apikeys.ts +0 -12
  748. package/src/api/routes/automation.ts +0 -87
  749. package/src/api/routes/cloud.ts +0 -18
  750. package/src/api/routes/component.ts +0 -14
  751. package/src/api/routes/datasource.ts +0 -60
  752. package/src/api/routes/deploy.ts +0 -21
  753. package/src/api/routes/dev.ts +0 -38
  754. package/src/api/routes/integration.ts +0 -16
  755. package/src/api/routes/layout.ts +0 -16
  756. package/src/api/routes/migrations.ts +0 -14
  757. package/src/api/routes/permission.ts +0 -41
  758. package/src/api/routes/role.ts +0 -24
  759. package/src/api/routes/routing.ts +0 -14
  760. package/src/api/routes/screen.ts +0 -23
  761. package/src/api/routes/script.ts +0 -10
  762. package/src/api/routes/templates.ts +0 -16
  763. package/src/api/routes/user.ts +0 -51
  764. package/src/api/routes/view.ts +0 -34
  765. package/src/automations/bullboard.ts +0 -38
  766. package/src/automations/index.ts +0 -26
  767. package/src/automations/tests/utilities/index.ts +0 -60
  768. package/src/automations/triggerInfo/index.ts +0 -15
  769. package/src/constants/index.ts +0 -204
  770. package/src/constants/screens.ts +0 -48
  771. package/src/db/defaultData/datasource_bb_default.ts +0 -658
  772. package/src/db/defaultData/employeeImport.ts +0 -152
  773. package/src/db/defaultData/expensesImport.ts +0 -114
  774. package/src/db/defaultData/inventoryImport.ts +0 -106
  775. package/src/db/defaultData/jobsImport.ts +0 -158
  776. package/src/db/index.ts +0 -16
  777. package/src/db/linkedRows/LinkDocument.ts +0 -60
  778. package/src/events/index.ts +0 -5
  779. package/src/events/utils.ts +0 -78
  780. package/src/middleware/appInfo.ts +0 -20
  781. package/src/middleware/publicApi.ts +0 -21
  782. package/src/tests/utilities/controllers.ts +0 -14
  783. package/src/utilities/budibaseDir.ts +0 -3
  784. package/src/utilities/global.ts +0 -138
  785. package/src/utilities/routing/index.ts +0 -32
  786. package/src/utilities/rowProcessor/map.ts +0 -96
  787. package/src/utilities/security.ts +0 -65
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/api/controllers/row/external.ts</title>
6
+ <title>Code coverage report for api/controllers/row/external.js</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../../../../sort-arrow-sprite.png);
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,13 +19,13 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/api/controllers/row</a> external.ts</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">api/controllers/row</a> external.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">14.61% </span>
26
+ <span class="strong">14.63% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>19/130</span>
28
+ <span class='fraction'>18/123</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">15.2% </span>
47
+ <span class="strong">15% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>19/125</span>
49
+ <span class='fraction'>18/120</span>
50
50
  </div>
51
51
 
52
52
 
@@ -316,24 +316,7 @@
316
316
  <a name='L251'></a><a href='#L251'>251</a>
317
317
  <a name='L252'></a><a href='#L252'>252</a>
318
318
  <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
319
+ <a name='L254'></a><a href='#L254'>254</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
337
320
  <span class="cline-any cline-neutral">&nbsp;</span>
338
321
  <span class="cline-any cline-neutral">&nbsp;</span>
339
322
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -350,26 +333,13 @@
350
333
  <span class="cline-any cline-neutral">&nbsp;</span>
351
334
  <span class="cline-any cline-neutral">&nbsp;</span>
352
335
  <span class="cline-any cline-neutral">&nbsp;</span>
353
- <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-neutral">&nbsp;</span>
355
- <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-yes">45x</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-neutral">&nbsp;</span>
364
336
  <span class="cline-any cline-no">&nbsp;</span>
365
337
  <span class="cline-any cline-no">&nbsp;</span>
366
338
  <span class="cline-any cline-no">&nbsp;</span>
367
339
  <span class="cline-any cline-no">&nbsp;</span>
368
340
  <span class="cline-any cline-neutral">&nbsp;</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
341
  <span class="cline-any cline-no">&nbsp;</span>
371
342
  <span class="cline-any cline-no">&nbsp;</span>
372
- <span class="cline-any cline-neutral">&nbsp;</span>
373
343
  <span class="cline-any cline-no">&nbsp;</span>
374
344
  <span class="cline-any cline-neutral">&nbsp;</span>
375
345
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -378,7 +348,7 @@
378
348
  <span class="cline-any cline-no">&nbsp;</span>
379
349
  <span class="cline-any cline-neutral">&nbsp;</span>
380
350
  <span class="cline-any cline-neutral">&nbsp;</span>
381
- <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-yes">45x</span>
382
352
  <span class="cline-any cline-neutral">&nbsp;</span>
383
353
  <span class="cline-any cline-yes">45x</span>
384
354
  <span class="cline-any cline-no">&nbsp;</span>
@@ -524,13 +494,11 @@
524
494
  <span class="cline-any cline-no">&nbsp;</span>
525
495
  <span class="cline-any cline-neutral">&nbsp;</span>
526
496
  <span class="cline-any cline-neutral">&nbsp;</span>
527
- <span class="cline-any cline-neutral">&nbsp;</span>
528
497
  <span class="cline-any cline-no">&nbsp;</span>
529
498
  <span class="cline-any cline-neutral">&nbsp;</span>
530
499
  <span class="cline-any cline-neutral">&nbsp;</span>
531
500
  <span class="cline-any cline-neutral">&nbsp;</span>
532
501
  <span class="cline-any cline-neutral">&nbsp;</span>
533
- <span class="cline-any cline-neutral">&nbsp;</span>
534
502
  <span class="cline-any cline-no">&nbsp;</span>
535
503
  <span class="cline-any cline-no">&nbsp;</span>
536
504
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -547,7 +515,6 @@
547
515
  <span class="cline-any cline-neutral">&nbsp;</span>
548
516
  <span class="cline-any cline-neutral">&nbsp;</span>
549
517
  <span class="cline-any cline-no">&nbsp;</span>
550
- <span class="cline-any cline-neutral">&nbsp;</span>
551
518
  <span class="cline-any cline-no">&nbsp;</span>
552
519
  <span class="cline-any cline-no">&nbsp;</span>
553
520
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -568,9 +535,6 @@
568
535
  <span class="cline-any cline-no">&nbsp;</span>
569
536
  <span class="cline-any cline-no">&nbsp;</span>
570
537
  <span class="cline-any cline-neutral">&nbsp;</span>
571
- <span class="cline-any cline-no">&nbsp;</span>
572
- <span class="cline-any cline-no">&nbsp;</span>
573
- <span class="cline-any cline-neutral">&nbsp;</span>
574
538
  <span class="cline-any cline-neutral">&nbsp;</span>
575
539
  <span class="cline-any cline-neutral">&nbsp;</span>
576
540
  <span class="cline-any cline-no">&nbsp;</span>
@@ -588,11 +552,13 @@
588
552
  <span class="cline-any cline-no">&nbsp;</span>
589
553
  <span class="cline-any cline-no">&nbsp;</span>
590
554
  <span class="cline-any cline-no">&nbsp;</span>
591
- <span class="cline-any cline-no">&nbsp;</span>
592
555
  <span class="cline-any cline-neutral">&nbsp;</span>
593
556
  <span class="cline-any cline-no">&nbsp;</span>
594
557
  <span class="cline-any cline-no">&nbsp;</span>
595
- <span class="cline-any cline-no">&nbsp;</span>
558
+ <span class="cline-any cline-neutral">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-neutral">&nbsp;</span>
561
+ <span class="cline-any cline-neutral">&nbsp;</span>
596
562
  <span class="cline-any cline-neutral">&nbsp;</span>
597
563
  <span class="cline-any cline-neutral">&nbsp;</span>
598
564
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -603,124 +569,111 @@
603
569
  <span class="cline-any cline-neutral">&nbsp;</span>
604
570
  <span class="cline-any cline-no">&nbsp;</span>
605
571
  <span class="cline-any cline-neutral">&nbsp;</span>
606
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
572
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
573
+ DataSourceOperation,
607
574
  SortDirection,
608
575
  FieldTypes,
609
576
  NoEmptyFilterStrings,
610
- } from "../../../constants"
611
- import {
577
+ } = require("../../../constants")
578
+ const {
612
579
  breakExternalTableId,
613
580
  breakRowIdField,
614
- } from "../../../integrations/utils"
615
- import { ExternalRequest, RunConfig } from "./ExternalRequest"
616
- import { context } from "@budibase/backend-core"
617
- import * as exporters from "../view/exporters"
618
- import { apiFileReturn } from "../../../utilities/fileSystem"
619
- import {
620
- Operation,
621
- BBContext,
622
- Row,
623
- PaginationJson,
624
- Table,
625
- Datasource,
626
- } from "@budibase/types"
581
+ } = require("../../../integrations/utils")
582
+ const ExternalRequest = require("./ExternalRequest")
583
+ const { getAppDB } = require("@budibase/backend-core/context")
584
+ const exporters = require("../view/exporters")
585
+ const { apiFileReturn } = require("../../../utilities/fileSystem")
627
586
  &nbsp;
628
- export async function <span class="fstat-no" title="function not covered" >handleRequest(</span>
629
- operation: Operation,
630
- tableId: string,
631
- opts?: RunConfig
632
- ) {
587
+ async function <span class="fstat-no" title="function not covered" >handleRequest(</span>operation, tableId, opts = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
633
588
  // make sure the filters are cleaned up, no empty strings for equals, fuzzy or string
634
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (opts &amp;&amp; opts.filters) {</span>
589
+ <span class="cstat-no" title="statement not covered" > if (opts &amp;&amp; opts.filters) {</span>
635
590
  <span class="cstat-no" title="statement not covered" > for (let filterField of NoEmptyFilterStrings) {</span>
636
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!opts.filters[filterField]) {</span>
591
+ <span class="cstat-no" title="statement not covered" > if (!opts.filters[filterField]) {</span>
637
592
  <span class="cstat-no" title="statement not covered" > continue</span>
638
593
  }
639
- // @ts-ignore
640
594
  <span class="cstat-no" title="statement not covered" > for (let [key, value] of Object.entries(opts.filters[filterField])) {</span>
641
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!value || value === "") {</span>
642
- // @ts-ignore
595
+ <span class="cstat-no" title="statement not covered" > if (!value || value === "") {</span>
643
596
  <span class="cstat-no" title="statement not covered" > delete opts.filters[filterField][key]</span>
644
597
  }
645
598
  }
646
599
  }
647
600
  }
648
- <span class="cstat-no" title="statement not covered" > return new ExternalRequest(operation, tableId, opts?.datasource).run(</span>
649
- opts || {}
650
- )
601
+ <span class="cstat-no" title="statement not covered" > return new ExternalRequest(operation, tableId, opts.datasource).run(opts)</span>
651
602
  }
652
603
  &nbsp;
653
- export async function <span class="fstat-no" title="function not covered" >patch(</span>ctx: BBContext) {
604
+ exports.handleRequest = handleRequest
605
+ &nbsp;
606
+ exports.patch = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
654
607
  const inputs = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
655
608
  const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
656
609
  const id = <span class="cstat-no" title="statement not covered" >inputs._id</span>
657
610
  // don't save the ID to db
658
611
  <span class="cstat-no" title="statement not covered" > delete inputs._id</span>
659
- <span class="cstat-no" title="statement not covered" > return handleRequest(Operation.UPDATE, tableId, {</span>
612
+ <span class="cstat-no" title="statement not covered" > return handleRequest(DataSourceOperation.UPDATE, tableId, {</span>
660
613
  id: breakRowIdField(id),
661
614
  row: inputs,
662
615
  })
663
616
  }
664
617
  &nbsp;
665
- export async function <span class="fstat-no" title="function not covered" >save(</span>ctx: BBContext) {
618
+ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
666
619
  const inputs = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
667
620
  const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
668
- <span class="cstat-no" title="statement not covered" > return handleRequest(Operation.CREATE, tableId, {</span>
621
+ <span class="cstat-no" title="statement not covered" > return handleRequest(DataSourceOperation.CREATE, tableId, {</span>
669
622
  row: inputs,
670
623
  })
671
624
  }
672
625
  &nbsp;
673
- export async function <span class="fstat-no" title="function not covered" >fetchView(</span>ctx: BBContext) {
626
+ exports.fetchView = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
674
627
  // there are no views in external datasources, shouldn't ever be called
675
628
  // for now just fetch
676
629
  const split = <span class="cstat-no" title="statement not covered" >ctx.params.viewName.split("all_")</span>
677
630
  <span class="cstat-no" title="statement not covered" > ctx.params.tableId = split[1] ? split[1] : split[0]</span>
678
- <span class="cstat-no" title="statement not covered" > return fetch(ctx)</span>
631
+ <span class="cstat-no" title="statement not covered" > return exports.fetch(ctx)</span>
679
632
  }
680
633
  &nbsp;
681
- export async function <span class="fstat-no" title="function not covered" >fetch(</span>ctx: BBContext) {
634
+ exports.fetch = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
682
635
  const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
683
- <span class="cstat-no" title="statement not covered" > return handleRequest(Operation.READ, tableId)</span>
636
+ <span class="cstat-no" title="statement not covered" > return handleRequest(DataSourceOperation.READ, tableId)</span>
684
637
  }
685
638
  &nbsp;
686
- export async function <span class="fstat-no" title="function not covered" >find(</span>ctx: BBContext) {
639
+ exports.find = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
687
640
  const id = <span class="cstat-no" title="statement not covered" >ctx.params.rowId</span>
688
641
  const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
689
- const response = (<span class="cstat-no" title="statement not covered" >await handleRequest(Operation.READ, tableId, {</span>
642
+ const response = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
690
643
  id: breakRowIdField(id),
691
- })) as Row[]
644
+ })
692
645
  <span class="cstat-no" title="statement not covered" > return response ? response[0] : response</span>
693
646
  }
694
647
  &nbsp;
695
- export async function <span class="fstat-no" title="function not covered" >destroy(</span>ctx: BBContext) {
648
+ exports.destroy = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
696
649
  const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
697
650
  const id = <span class="cstat-no" title="statement not covered" >ctx.request.body._id</span>
698
- const { row } = (<span class="cstat-no" title="statement not covered" >await handleRequest(Operation.DELETE, tableId, {</span>
651
+ const { row } = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.DELETE, tableId, {</span>
699
652
  id: breakRowIdField(id),
700
- })) as { row: Row }
653
+ })
701
654
  <span class="cstat-no" title="statement not covered" > return { response: { ok: true }, row }</span>
702
655
  }
703
656
  &nbsp;
704
- export async function <span class="fstat-no" title="function not covered" >bulkDestroy(</span>ctx: BBContext) {
657
+ exports.bulkDestroy = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
705
658
  const { rows } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
706
659
  const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
707
660
  let promises = <span class="cstat-no" title="statement not covered" >[]</span>
708
661
  <span class="cstat-no" title="statement not covered" > for (let row of rows) {</span>
709
662
  <span class="cstat-no" title="statement not covered" > promises.push(</span>
710
- handleRequest(Operation.DELETE, tableId, {
663
+ handleRequest(DataSourceOperation.DELETE, tableId, {
711
664
  id: breakRowIdField(row._id),
712
665
  })
713
666
  )
714
667
  }
715
- const responses = (<span class="cstat-no" title="statement not covered" >await Promise.all(promises))</span> as { row: Row }[]
716
- <span class="cstat-no" title="statement not covered" > return { response: { ok: true }, rows: responses.map(<span class="fstat-no" title="function not covered" >resp </span>=&gt; <span class="cstat-no" title="statement not covered" >resp.row)</span> }</span>
668
+ const responses = <span class="cstat-no" title="statement not covered" >await Promise.all(promises)</span>
669
+ <span class="cstat-no" title="statement not covered" > return { response: { ok: true }, rows: responses.map(<span class="fstat-no" title="function not covered" >re</span>sp =&gt; <span class="cstat-no" title="statement not covered" >resp.row)</span> }</span>
717
670
  }
718
671
  &nbsp;
719
- export async function <span class="fstat-no" title="function not covered" >search(</span>ctx: BBContext) {
672
+ exports.search = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
720
673
  const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
721
- const { paginate, query<span class="cstat-no" title="statement not covered" >, ...p</span>arams<span class="cstat-no" title="statement not covered" > } = <span class="cstat-no" title="statement not covered" >c</span>tx.request.body</span>
674
+ const { paginate, query, ...params } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
722
675
  let { bookmark, limit } = <span class="cstat-no" title="statement not covered" >params</span>
723
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!bookmark &amp;&amp; paginate) {</span>
676
+ <span class="cstat-no" title="statement not covered" > if (!bookmark &amp;&amp; paginate) {</span>
724
677
  <span class="cstat-no" title="statement not covered" > bookmark = 1</span>
725
678
  }
726
679
  let paginateObj = <span class="cstat-no" title="statement not covered" >{}</span>
@@ -731,13 +684,13 @@ export async function <span class="fstat-no" title="function not covered" >searc
731
684
  limit: limit,
732
685
  page: bookmark,
733
686
  }
734
- } else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>if (params &amp;&amp; limit) {</span>
687
+ } else <span class="cstat-no" title="statement not covered" >if (params &amp;&amp; limit) {</span>
735
688
  <span class="cstat-no" title="statement not covered" > paginateObj = {</span>
736
689
  limit: limit,
737
690
  }
738
691
  }
739
692
  let sort
740
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (params.sort) {</span>
693
+ <span class="cstat-no" title="statement not covered" > if (params.sort) {</span>
741
694
  const direction =
742
695
  <span class="cstat-no" title="statement not covered" > params.sortOrder === "descending"</span>
743
696
  ? SortDirection.DESCENDING
@@ -747,26 +700,26 @@ export async function <span class="fstat-no" title="function not covered" >searc
747
700
  }
748
701
  }
749
702
  <span class="cstat-no" title="statement not covered" > try {</span>
750
- const rows = (<span class="cstat-no" title="statement not covered" >await handleRequest(Operation.READ, tableId, {</span>
703
+ const rows = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
751
704
  filters: query,
752
705
  sort,
753
- paginate: paginateObj as PaginationJson,
754
- })) as Row[]
706
+ paginate: paginateObj,
707
+ })
755
708
  let hasNextPage = <span class="cstat-no" title="statement not covered" >false</span>
756
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (paginate &amp;&amp; rows.length === limit) {</span>
757
- const nextRows = (<span class="cstat-no" title="statement not covered" >await handleRequest(Operation.READ, tableId, {</span>
709
+ <span class="cstat-no" title="statement not covered" > if (paginate &amp;&amp; rows.length === limit) {</span>
710
+ const nextRows = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
758
711
  filters: query,
759
712
  sort,
760
713
  paginate: {
761
714
  limit: 1,
762
715
  page: bookmark * limit + 1,
763
716
  },
764
- })) as Row[]
717
+ })
765
718
  <span class="cstat-no" title="statement not covered" > hasNextPage = nextRows.length &gt; 0</span>
766
719
  }
767
720
  // need wrapper object for bookmarks etc when paginating
768
721
  <span class="cstat-no" title="statement not covered" > return { rows, hasNextPage, bookmark: bookmark + 1 }</span>
769
- } catch (err: any) {
722
+ } catch (err) {
770
723
  <span class="cstat-no" title="statement not covered" > if (err.message &amp;&amp; err.message.includes("does not exist")) {</span>
771
724
  <span class="cstat-no" title="statement not covered" > throw new Error(</span>
772
725
  `Table updated externally, please re-fetch - ${err.message}`
@@ -777,32 +730,30 @@ export async function <span class="fstat-no" title="function not covered" >searc
777
730
  }
778
731
  }
779
732
  &nbsp;
780
- export async function <span class="fstat-no" title="function not covered" >validate(</span>ctx: BBContext) {
733
+ exports.validate = <span class="fstat-no" title="function not covered" >as</span>ync () =&gt; {
781
734
  // can't validate external right now - maybe in future
782
735
  <span class="cstat-no" title="statement not covered" > return { valid: true }</span>
783
736
  }
784
737
  &nbsp;
785
- export async function <span class="fstat-no" title="function not covered" >exportRows(</span>ctx: BBContext) {
738
+ exports.exportRows = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
786
739
  const { datasourceId } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(ctx.params.tableId)</span>
787
- const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
740
+ const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
788
741
  const format = <span class="cstat-no" title="statement not covered" >ctx.query.format</span>
789
742
  const { columns } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
790
743
  const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
791
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!datasource || !datasource.entities) {</span>
744
+ <span class="cstat-no" title="statement not covered" > if (!datasource || !datasource.entities) {</span>
792
745
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Datasource has not been configured for plus API.")</span>
793
746
  }
794
747
  <span class="cstat-no" title="statement not covered" > ctx.request.body = {</span>
795
748
  query: {
796
749
  oneOf: {
797
- _id: ctx.request.body.rows.map(
798
- <span class="fstat-no" title="function not covered" > (r</span>ow: string) =&gt; <span class="cstat-no" title="statement not covered" >JSON.parse(decodeURI(row))[0]</span>
799
- ),
750
+ _id: ctx.request.body.rows.map(<span class="fstat-no" title="function not covered" >ro</span>w =&gt; <span class="cstat-no" title="statement not covered" >JSON.parse(decodeURI(row))[0])</span>,
800
751
  },
801
752
  },
802
753
  }
803
754
  &nbsp;
804
- let result = <span class="cstat-no" title="statement not covered" >await search(ctx)</span>
805
- let rows: Row[] = <span class="cstat-no" title="statement not covered" >[]</span>
755
+ let result = <span class="cstat-no" title="statement not covered" >await exports.search(ctx)</span>
756
+ let rows = <span class="cstat-no" title="statement not covered" >[]</span>
806
757
  &nbsp;
807
758
  // Filter data to only specified columns if required
808
759
  <span class="cstat-no" title="statement not covered" > if (columns &amp;&amp; columns.length) {</span>
@@ -817,7 +768,6 @@ export async function <span class="fstat-no" title="function not covered" >expor
817
768
  }
818
769
  &nbsp;
819
770
  let headers = <span class="cstat-no" title="statement not covered" >Object.keys(rows[0])</span>
820
- // @ts-ignore
821
771
  const exporter = <span class="cstat-no" title="statement not covered" >exporters[format]</span>
822
772
  const filename = <span class="cstat-no" title="statement not covered" >`export.${format}`</span>
823
773
  &nbsp;
@@ -826,29 +776,26 @@ export async function <span class="fstat-no" title="function not covered" >expor
826
776
  <span class="cstat-no" title="statement not covered" > return apiFileReturn(exporter(headers, rows))</span>
827
777
  }
828
778
  &nbsp;
829
- export async function <span class="fstat-no" title="function not covered" >fetchEnrichedRow(</span>ctx: BBContext) {
779
+ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
830
780
  const id = <span class="cstat-no" title="statement not covered" >ctx.params.rowId</span>
831
781
  const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
832
782
  const { datasourceId, tableName } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(tableId)</span>
833
- const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
834
- const datasource: Datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
835
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!tableName) {</span>
836
- <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Unable to find table.")</span>
837
- }
838
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!datasource || !datasource.entities) {</span>
783
+ const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
784
+ const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
785
+ <span class="cstat-no" title="statement not covered" > if (!datasource || !datasource.entities) {</span>
839
786
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Datasource has not been configured for plus API.")</span>
840
787
  }
841
788
  const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
842
- const response = (<span class="cstat-no" title="statement not covered" >await handleRequest(Operation.READ, tableId, {</span>
789
+ const response = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
843
790
  id,
844
791
  datasource,
845
- })) as Row[]
846
- const table: Table = <span class="cstat-no" title="statement not covered" >tables[tableName]</span>
792
+ })
793
+ const table = <span class="cstat-no" title="statement not covered" >tables[tableName]</span>
847
794
  const row = <span class="cstat-no" title="statement not covered" >response[0]</span>
848
795
  // this seems like a lot of work, but basically we need to dig deeper for the enrich
849
796
  // for a single row, there is probably a better way to do this with some smart multi-layer joins
850
797
  <span class="cstat-no" title="statement not covered" > for (let [fieldName, field] of Object.entries(table.schema)) {</span>
851
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
798
+ <span class="cstat-no" title="statement not covered" > if (</span>
852
799
  field.type !== FieldTypes.LINK ||
853
800
  !row[fieldName] ||
854
801
  row[fieldName].length === 0
@@ -857,19 +804,21 @@ export async function <span class="fstat-no" title="function not covered" >fetch
857
804
  }
858
805
  const links = <span class="cstat-no" title="statement not covered" >row[fieldName]</span>
859
806
  const linkedTableId = <span class="cstat-no" title="statement not covered" >field.tableId</span>
860
- const linkedTableName = <span class="cstat-no" title="statement not covered" >breakExternalTableId(linkedTableId).tableName!</span>
861
- const linkedTable = <span class="cstat-no" title="statement not covered" >tables[linkedTableName]</span>
807
+ const linkedTable = <span class="cstat-no" title="statement not covered" >tables[breakExternalTableId(linkedTableId).tableName]</span>
862
808
  // don't support composite keys right now
863
- const linkedIds = <span class="cstat-no" title="statement not covered" >links.map(<span class="fstat-no" title="function not covered" >(l</span>ink: Row) =&gt; <span class="cstat-no" title="statement not covered" >breakRowIdField(link._id!)[0])</span></span>
864
- const primaryLink = <span class="cstat-no" title="statement not covered" >linkedTable.primary?.[0] as string</span>
865
- <span class="cstat-no" title="statement not covered" > row[fieldName] = await handleRequest(Operation.READ, linkedTableId!, {</span>
866
- tables,
867
- filters: {
868
- oneOf: {
869
- [primaryLink]: linkedIds,
809
+ const linkedIds = <span class="cstat-no" title="statement not covered" >links.map(<span class="fstat-no" title="function not covered" >li</span>nk =&gt; <span class="cstat-no" title="statement not covered" >breakRowIdField(link._id)[0])</span></span>
810
+ <span class="cstat-no" title="statement not covered" > row[fieldName] = await handleRequest(</span>
811
+ DataSourceOperation.READ,
812
+ linkedTableId,
813
+ {
814
+ tables,
815
+ filters: {
816
+ oneOf: {
817
+ [linkedTable.primary]: linkedIds,
818
+ },
870
819
  },
871
- },
872
- })
820
+ }
821
+ )
873
822
  }
874
823
  <span class="cstat-no" title="statement not covered" > return row</span>
875
824
  }
@@ -880,16 +829,16 @@ export async function <span class="fstat-no" title="function not covered" >fetch
880
829
  <div class='footer quiet pad2 space-top1 center small'>
881
830
  Code coverage generated by
882
831
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
883
- at Wed Nov 30 2022 09:23:32 GMT+0000 (Coordinated Universal Time)
832
+ at Wed Nov 30 2022 09:49:44 GMT+0000 (Coordinated Universal Time)
884
833
  </div>
885
- <script src="../../../../prettify.js"></script>
834
+ <script src="../../../prettify.js"></script>
886
835
  <script>
887
836
  window.onload = function () {
888
837
  prettyPrint();
889
838
  };
890
839
  </script>
891
- <script src="../../../../sorter.js"></script>
892
- <script src="../../../../block-navigation.js"></script>
840
+ <script src="../../../sorter.js"></script>
841
+ <script src="../../../block-navigation.js"></script>
893
842
  </body>
894
843
  </html>
895
844