@budibase/server 2.2.12-alpha.6 → 2.2.12-alpha.61

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 (483) hide show
  1. package/__mocks__/node-fetch.ts +2 -0
  2. package/builder/assets/{bb-emblem.4e4717da.svg → bb-emblem.05f7ae7a.svg} +1 -1
  3. package/builder/assets/bg.c1563288.png +0 -0
  4. package/builder/assets/bulgaria.bd68393d.png +0 -0
  5. package/builder/assets/covanta.72c46c1e.png +0 -0
  6. package/builder/assets/index.9f16f5ff.js +1798 -0
  7. package/builder/assets/index.f87b8d33.css +6 -0
  8. package/builder/assets/schnellecke.cf1837a8.png +0 -0
  9. package/builder/index.html +3 -3
  10. package/coverage/clover.xml +5114 -4925
  11. package/coverage/coverage-final.json +268 -264
  12. package/coverage/lcov-report/index.html +202 -157
  13. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +6 -6
  14. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +5 -5
  15. package/coverage/lcov-report/src/api/controllers/application.ts.html +185 -164
  16. package/coverage/lcov-report/src/api/controllers/auth.ts.html +9 -9
  17. package/coverage/lcov-report/src/api/controllers/automation.ts.html +24 -24
  18. package/coverage/lcov-report/src/api/controllers/backup.ts.html +6 -6
  19. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +15 -15
  20. package/coverage/lcov-report/src/api/controllers/component.ts.html +5 -5
  21. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +112 -88
  22. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +14 -14
  23. package/coverage/lcov-report/src/api/controllers/deploy/index.html +1 -1
  24. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +80 -80
  25. package/coverage/lcov-report/src/api/controllers/dev.ts.html +17 -17
  26. package/coverage/lcov-report/src/api/controllers/index.html +36 -36
  27. package/coverage/lcov-report/src/api/controllers/integration.ts.html +4 -4
  28. package/coverage/lcov-report/src/api/controllers/layout.ts.html +6 -6
  29. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +9 -9
  30. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +4 -4
  31. package/coverage/lcov-report/src/api/controllers/permission.ts.html +13 -13
  32. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +2 -2
  33. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +4 -4
  34. package/coverage/lcov-report/src/api/controllers/plugin/index.html +19 -19
  35. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +29 -29
  36. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +5 -5
  37. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +5 -5
  38. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +3 -3
  39. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +3 -3
  40. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +6 -6
  41. package/coverage/lcov-report/src/api/controllers/public/index.html +1 -1
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +2 -2
  43. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +1 -1
  44. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +7 -7
  45. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +2 -2
  46. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +2 -2
  47. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +2 -2
  48. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +2 -2
  49. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +4 -4
  50. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +5 -5
  51. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +4 -4
  52. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +6 -6
  53. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +4 -4
  54. package/coverage/lcov-report/src/api/controllers/query/import/index.html +1 -1
  55. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +7 -7
  56. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +1 -1
  57. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +3 -3
  58. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +5 -5
  59. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +7 -7
  60. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +1 -1
  61. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +9 -9
  62. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +13 -13
  63. package/coverage/lcov-report/src/api/controllers/query/index.html +7 -7
  64. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +89 -65
  65. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +9 -9
  66. package/coverage/lcov-report/src/api/controllers/role.ts.html +8 -8
  67. package/coverage/lcov-report/src/api/controllers/routing.ts.html +6 -6
  68. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +36 -18
  69. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +60 -30
  70. package/coverage/lcov-report/src/api/controllers/row/index.html +40 -40
  71. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +34 -34
  72. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +142 -70
  73. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +120 -120
  74. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +22 -22
  75. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +152 -38
  76. package/coverage/lcov-report/src/api/controllers/screen.ts.html +7 -7
  77. package/coverage/lcov-report/src/api/controllers/script.ts.html +2 -2
  78. package/coverage/lcov-report/src/api/controllers/static/index.html +1 -1
  79. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +39 -42
  80. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +52 -52
  81. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +43 -37
  82. package/coverage/lcov-report/src/api/controllers/table/index.html +34 -34
  83. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +155 -68
  84. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +47 -47
  85. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +66 -69
  86. package/coverage/lcov-report/src/api/controllers/templates.ts.html +7 -7
  87. package/coverage/lcov-report/src/api/controllers/user.ts.html +99 -75
  88. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +62 -17
  89. package/coverage/lcov-report/src/api/controllers/view/index.html +29 -29
  90. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +53 -92
  91. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +5 -5
  92. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +6 -6
  93. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +69 -63
  94. package/coverage/lcov-report/src/api/index.html +1 -1
  95. package/coverage/lcov-report/src/api/index.ts.html +27 -27
  96. package/coverage/lcov-report/src/api/routes/analytics.ts.html +7 -7
  97. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +8 -8
  98. package/coverage/lcov-report/src/api/routes/application.ts.html +10 -10
  99. package/coverage/lcov-report/src/api/routes/auth.ts.html +6 -6
  100. package/coverage/lcov-report/src/api/routes/automation.ts.html +11 -11
  101. package/coverage/lcov-report/src/api/routes/backup.ts.html +8 -8
  102. package/coverage/lcov-report/src/api/routes/cloud.ts.html +8 -8
  103. package/coverage/lcov-report/src/api/routes/component.ts.html +8 -8
  104. package/coverage/lcov-report/src/api/routes/datasource.ts.html +9 -9
  105. package/coverage/lcov-report/src/api/routes/deploy.ts.html +8 -8
  106. package/coverage/lcov-report/src/api/routes/dev.ts.html +13 -13
  107. package/coverage/lcov-report/src/api/routes/index.html +5 -5
  108. package/coverage/lcov-report/src/api/routes/index.ts.html +42 -36
  109. package/coverage/lcov-report/src/api/routes/integration.ts.html +8 -8
  110. package/coverage/lcov-report/src/api/routes/layout.ts.html +8 -8
  111. package/coverage/lcov-report/src/api/routes/metadata.ts.html +9 -9
  112. package/coverage/lcov-report/src/api/routes/migrations.ts.html +7 -7
  113. package/coverage/lcov-report/src/api/routes/permission.ts.html +9 -9
  114. package/coverage/lcov-report/src/api/routes/plugin.ts.html +8 -8
  115. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +14 -14
  116. package/coverage/lcov-report/src/api/routes/public/index.html +1 -1
  117. package/coverage/lcov-report/src/api/routes/public/index.ts.html +52 -52
  118. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +1 -1
  119. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +4 -4
  120. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +9 -9
  121. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +12 -12
  122. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +12 -12
  123. package/coverage/lcov-report/src/api/routes/public/tests/index.html +1 -1
  124. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +1 -1
  125. package/coverage/lcov-report/src/api/routes/public/users.ts.html +12 -12
  126. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +19 -19
  127. package/coverage/lcov-report/src/api/routes/public/utils/index.html +1 -1
  128. package/coverage/lcov-report/src/api/routes/query.ts.html +11 -11
  129. package/coverage/lcov-report/src/api/routes/role.ts.html +9 -9
  130. package/coverage/lcov-report/src/api/routes/routing.ts.html +8 -8
  131. package/coverage/lcov-report/src/api/routes/row.ts.html +12 -12
  132. package/coverage/lcov-report/src/api/routes/screen.ts.html +9 -9
  133. package/coverage/lcov-report/src/api/routes/script.ts.html +1 -1
  134. package/coverage/lcov-report/src/api/routes/static.ts.html +14 -14
  135. package/coverage/lcov-report/src/api/routes/table.ts.html +26 -95
  136. package/coverage/lcov-report/src/api/routes/templates.ts.html +8 -8
  137. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +1 -1
  138. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +1 -1
  139. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +1 -1
  140. package/coverage/lcov-report/src/api/routes/user.ts.html +9 -9
  141. package/coverage/lcov-report/src/api/routes/utils/index.html +1 -1
  142. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +43 -43
  143. package/coverage/lcov-report/src/api/routes/view.ts.html +10 -10
  144. package/coverage/lcov-report/src/api/routes/webhook.ts.html +10 -10
  145. package/coverage/lcov-report/src/app.ts.html +13 -7
  146. package/coverage/lcov-report/src/automations/actions.ts.html +27 -27
  147. package/coverage/lcov-report/src/automations/automationUtils.ts.html +59 -59
  148. package/coverage/lcov-report/src/automations/bullboard.ts.html +9 -9
  149. package/coverage/lcov-report/src/automations/index.html +30 -30
  150. package/coverage/lcov-report/src/automations/index.ts.html +10 -10
  151. package/coverage/lcov-report/src/automations/logging/index.html +1 -1
  152. package/coverage/lcov-report/src/automations/logging/index.ts.html +7 -7
  153. package/coverage/lcov-report/src/automations/steps/bash.ts.html +8 -8
  154. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +7 -7
  155. package/coverage/lcov-report/src/automations/steps/delay.ts.html +5 -5
  156. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +7 -7
  157. package/coverage/lcov-report/src/automations/steps/discord.ts.html +8 -8
  158. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +7 -7
  159. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +7 -7
  160. package/coverage/lcov-report/src/automations/steps/filter.ts.html +6 -6
  161. package/coverage/lcov-report/src/automations/steps/index.html +15 -15
  162. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +6 -6
  163. package/coverage/lcov-report/src/automations/steps/loop.ts.html +3 -3
  164. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +9 -9
  165. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +38 -38
  166. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +6 -6
  167. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +7 -7
  168. package/coverage/lcov-report/src/automations/steps/slack.ts.html +6 -6
  169. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +7 -7
  170. package/coverage/lcov-report/src/automations/steps/utils.ts.html +10 -10
  171. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +6 -6
  172. package/coverage/lcov-report/src/automations/tests/utilities/index.html +1 -1
  173. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +13 -13
  174. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +3 -3
  175. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +3 -3
  176. package/coverage/lcov-report/src/automations/triggerInfo/index.html +1 -1
  177. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +8 -8
  178. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +3 -3
  179. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +3 -3
  180. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +3 -3
  181. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +3 -3
  182. package/coverage/lcov-report/src/automations/triggers.ts.html +52 -37
  183. package/coverage/lcov-report/src/automations/utils.ts.html +52 -52
  184. package/coverage/lcov-report/src/constants/index.html +1 -1
  185. package/coverage/lcov-report/src/constants/index.ts.html +2 -2
  186. package/coverage/lcov-report/src/constants/layouts.ts.html +4 -4
  187. package/coverage/lcov-report/src/constants/screens.ts.html +3 -3
  188. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +22 -22
  189. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +2 -2
  190. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +2 -2
  191. package/coverage/lcov-report/src/db/defaultData/index.html +1 -1
  192. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +2 -2
  193. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +2 -2
  194. package/coverage/lcov-report/src/db/dynamoClient.ts.html +15 -15
  195. package/coverage/lcov-report/src/db/inMemoryView.ts.html +4 -4
  196. package/coverage/lcov-report/src/db/index.html +1 -1
  197. package/coverage/lcov-report/src/db/index.ts.html +9 -9
  198. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +18 -18
  199. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +4 -4
  200. package/coverage/lcov-report/src/db/linkedRows/index.html +1 -1
  201. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +27 -27
  202. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +13 -13
  203. package/coverage/lcov-report/src/db/newid.ts.html +4 -4
  204. package/coverage/lcov-report/src/db/utils.ts.html +40 -40
  205. package/coverage/lcov-report/src/definitions/automations.ts.html +6 -3
  206. package/coverage/lcov-report/src/definitions/index.html +5 -20
  207. package/coverage/lcov-report/src/environment.ts.html +10 -10
  208. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +8 -8
  209. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +5 -5
  210. package/coverage/lcov-report/src/events/index.html +1 -1
  211. package/coverage/lcov-report/src/events/index.ts.html +4 -4
  212. package/coverage/lcov-report/src/events/utils.ts.html +1 -1
  213. package/coverage/lcov-report/src/index.html +13 -13
  214. package/coverage/lcov-report/src/index.ts.html +5 -5
  215. package/coverage/lcov-report/src/integrations/airtable.ts.html +5 -5
  216. package/coverage/lcov-report/src/integrations/arangodb.ts.html +5 -5
  217. package/coverage/lcov-report/src/integrations/base/index.html +11 -11
  218. package/coverage/lcov-report/src/integrations/base/query.ts.html +14 -8
  219. package/coverage/lcov-report/src/integrations/base/sql.ts.html +12 -12
  220. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +8 -8
  221. package/coverage/lcov-report/src/integrations/base/utils.ts.html +5 -5
  222. package/coverage/lcov-report/src/integrations/couchdb.ts.html +113 -32
  223. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +9 -9
  224. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +26 -14
  225. package/coverage/lcov-report/src/integrations/firebase.ts.html +5 -5
  226. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +11 -11
  227. package/coverage/lcov-report/src/integrations/index.html +47 -47
  228. package/coverage/lcov-report/src/integrations/index.ts.html +49 -49
  229. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +8 -8
  230. package/coverage/lcov-report/src/integrations/mongodb.ts.html +417 -285
  231. package/coverage/lcov-report/src/integrations/mysql.ts.html +11 -11
  232. package/coverage/lcov-report/src/integrations/oracle.ts.html +13 -13
  233. package/coverage/lcov-report/src/integrations/postgres.ts.html +10 -10
  234. package/coverage/lcov-report/src/integrations/queries/index.html +19 -19
  235. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +15 -150
  236. package/coverage/lcov-report/src/integrations/redis.ts.html +5 -5
  237. package/coverage/lcov-report/src/integrations/rest.ts.html +36 -45
  238. package/coverage/lcov-report/src/integrations/s3.ts.html +6 -6
  239. package/coverage/lcov-report/src/integrations/snowflake.ts.html +5 -5
  240. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  241. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  242. package/coverage/lcov-report/src/integrations/utils.ts.html +18 -18
  243. package/coverage/lcov-report/src/middleware/appInfo.ts.html +5 -5
  244. package/coverage/lcov-report/src/middleware/authorized.ts.html +27 -27
  245. package/coverage/lcov-report/src/middleware/builder.ts.html +17 -17
  246. package/coverage/lcov-report/src/middleware/currentapp.ts.html +45 -42
  247. package/coverage/lcov-report/src/middleware/index.html +1 -1
  248. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +1 -1
  249. package/coverage/lcov-report/src/middleware/publicApi.ts.html +4 -4
  250. package/coverage/lcov-report/src/middleware/resourceId.ts.html +21 -21
  251. package/coverage/lcov-report/src/middleware/selfhost.ts.html +1 -1
  252. package/coverage/lcov-report/src/middleware/utils.ts.html +4 -4
  253. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +4 -4
  254. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +5 -5
  255. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +5 -5
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +1 -1
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +5 -5
  258. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +7 -7
  259. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +5 -5
  260. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +5 -5
  261. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +4 -4
  262. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +19 -19
  263. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +6 -6
  264. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +1 -1
  265. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +7 -7
  266. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +6 -6
  267. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +15 -15
  268. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +1 -1
  269. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +5 -5
  270. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +8 -8
  271. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  272. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +6 -6
  273. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +6 -6
  274. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +1 -1
  275. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +2 -2
  276. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +5 -5
  277. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +4 -4
  278. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +6 -6
  279. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +3 -3
  280. package/coverage/lcov-report/src/migrations/index.html +1 -1
  281. package/coverage/lcov-report/src/migrations/index.ts.html +32 -32
  282. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +1 -1
  283. package/coverage/lcov-report/src/migrations/tests/index.html +1 -1
  284. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +1 -1
  285. package/coverage/lcov-report/src/sdk/app/applications/index.html +1 -1
  286. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +4 -4
  287. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +22 -22
  288. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +9 -9
  289. package/coverage/lcov-report/src/sdk/app/automations/index.html +1 -1
  290. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +3 -3
  291. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +3 -3
  292. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +3 -3
  293. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +17 -17
  294. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +18 -18
  295. package/coverage/lcov-report/src/sdk/app/backups/index.html +1 -1
  296. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +5 -5
  297. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +7 -7
  298. package/coverage/lcov-report/src/sdk/app/datasources/datasources.ts.html +493 -0
  299. package/coverage/lcov-report/src/sdk/app/datasources/index.html +131 -0
  300. package/coverage/lcov-report/src/sdk/app/datasources/index.ts.html +100 -0
  301. package/coverage/lcov-report/src/sdk/app/queries/index.html +131 -0
  302. package/coverage/lcov-report/src/sdk/app/queries/index.ts.html +100 -0
  303. package/coverage/lcov-report/src/{definitions/datasource.ts.html → sdk/app/queries/queries.ts.html} +82 -82
  304. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +6 -6
  305. package/coverage/lcov-report/src/sdk/app/rows/index.html +1 -1
  306. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +4 -4
  307. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +4 -4
  308. package/coverage/lcov-report/src/sdk/app/tables/index.html +11 -11
  309. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +27 -18
  310. package/coverage/lcov-report/src/sdk/index.html +5 -5
  311. package/coverage/lcov-report/src/sdk/index.ts.html +23 -11
  312. package/coverage/lcov-report/src/sdk/users/index.html +1 -1
  313. package/coverage/lcov-report/src/sdk/users/index.ts.html +3 -3
  314. package/coverage/lcov-report/src/sdk/users/utils.ts.html +28 -28
  315. package/coverage/lcov-report/src/sdk/utils/index.html +116 -0
  316. package/coverage/lcov-report/src/sdk/utils/index.ts.html +133 -0
  317. package/coverage/lcov-report/src/startup.ts.html +34 -34
  318. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +134 -125
  319. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +15 -15
  320. package/coverage/lcov-report/src/tests/utilities/index.html +21 -21
  321. package/coverage/lcov-report/src/tests/utilities/index.ts.html +1 -1
  322. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +213 -24
  323. package/coverage/lcov-report/src/threads/automation.ts.html +216 -186
  324. package/coverage/lcov-report/src/threads/index.html +30 -30
  325. package/coverage/lcov-report/src/threads/index.ts.html +24 -24
  326. package/coverage/lcov-report/src/threads/query.ts.html +68 -29
  327. package/coverage/lcov-report/src/threads/utils.ts.html +9 -9
  328. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +2 -2
  329. package/coverage/lcov-report/src/utilities/centralPath.ts.html +11 -11
  330. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +9 -9
  331. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +1 -1
  332. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +28 -22
  333. package/coverage/lcov-report/src/utilities/fileSystem/index.html +21 -21
  334. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +1 -1
  335. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +5 -8
  336. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +1 -1
  337. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +3 -3
  338. package/coverage/lcov-report/src/utilities/global.ts.html +40 -40
  339. package/coverage/lcov-report/src/utilities/index.html +39 -39
  340. package/coverage/lcov-report/src/utilities/index.ts.html +12 -12
  341. package/coverage/lcov-report/src/utilities/redis.ts.html +12 -12
  342. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  343. package/coverage/lcov-report/src/utilities/routing/index.ts.html +4 -4
  344. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +1 -1
  345. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +50 -50
  346. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +3 -3
  347. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +14 -14
  348. package/coverage/lcov-report/src/utilities/{csvParser.ts.html → schema.ts.html} +173 -233
  349. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +5 -5
  350. package/coverage/lcov-report/src/utilities/security.ts.html +4 -4
  351. package/coverage/lcov-report/src/utilities/usageQuota/index.html +1 -1
  352. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +4 -4
  353. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +1 -1
  354. package/coverage/lcov-report/src/utilities/users.ts.html +4 -4
  355. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +38 -11
  356. package/coverage/lcov-report/src/watch.ts.html +7 -7
  357. package/coverage/lcov-report/src/websocket.ts.html +3 -3
  358. package/coverage/lcov.info +7899 -7539
  359. package/dist/api/controllers/application.js +73 -74
  360. package/dist/api/controllers/cloud.js +1 -1
  361. package/dist/api/controllers/datasource.js +24 -15
  362. package/dist/api/controllers/query/index.js +18 -11
  363. package/dist/api/controllers/row/ExternalRequest.js +12 -3
  364. package/dist/api/controllers/row/external.js +20 -13
  365. package/dist/api/controllers/row/internal.js +40 -15
  366. package/dist/api/controllers/row/utils.js +35 -3
  367. package/dist/api/controllers/static/index.js +38 -38
  368. package/dist/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  369. package/dist/api/controllers/table/external.js +16 -35
  370. package/dist/api/controllers/table/index.js +44 -15
  371. package/dist/api/controllers/table/internal.js +4 -4
  372. package/dist/api/controllers/table/utils.js +9 -9
  373. package/dist/api/controllers/user.js +14 -6
  374. package/dist/api/controllers/view/exporters.js +22 -6
  375. package/dist/api/controllers/view/index.js +20 -56
  376. package/dist/api/controllers/webhook.js +45 -43
  377. package/dist/api/routes/index.js +2 -0
  378. package/dist/api/routes/row.js +2 -2
  379. package/dist/api/routes/table.js +6 -37
  380. package/dist/api/routes/utils/validators.js +1 -1
  381. package/dist/app.js +1 -0
  382. package/dist/automations/triggers.js +1 -0
  383. package/dist/definitions/datasource.js +0 -6
  384. package/dist/index.js +2 -2
  385. package/dist/integrations/base/query.js +7 -2
  386. package/dist/integrations/base/sqlTable.js +14 -14
  387. package/dist/integrations/couchdb.js +34 -8
  388. package/dist/integrations/dynamodb.js +8 -5
  389. package/dist/integrations/elasticsearch.js +7 -3
  390. package/dist/integrations/index.js +5 -5
  391. package/dist/integrations/mongodb.js +311 -271
  392. package/dist/integrations/mysql.js +2 -2
  393. package/dist/integrations/queries/sql.js +73 -100
  394. package/dist/integrations/rest.js +16 -18
  395. package/dist/middleware/currentapp.js +4 -2
  396. package/dist/package.json +7 -7
  397. package/dist/sdk/app/datasources/datasources.js +147 -0
  398. package/dist/sdk/app/datasources/index.js +27 -0
  399. package/dist/sdk/app/queries/index.js +27 -0
  400. package/dist/sdk/app/queries/queries.js +60 -0
  401. package/dist/sdk/app/tables/index.js +6 -2
  402. package/dist/sdk/index.js +4 -0
  403. package/dist/sdk/utils/index.js +29 -0
  404. package/dist/threads/automation.js +18 -7
  405. package/dist/threads/query.js +27 -13
  406. package/dist/tsconfig.build.tsbuildinfo +1 -1
  407. package/dist/utilities/fileSystem/filesystem.js +36 -34
  408. package/dist/utilities/fileSystem/plugin.js +17 -14
  409. package/dist/utilities/fileSystem/template.js +7 -4
  410. package/dist/utilities/schema.js +108 -0
  411. package/dist/utilities/workerRequests.js +2 -0
  412. package/package.json +8 -8
  413. package/scripts/dev/manage.js +1 -0
  414. package/src/api/controllers/application.ts +81 -74
  415. package/src/api/controllers/cloud.ts +1 -1
  416. package/src/api/controllers/datasource.ts +33 -25
  417. package/src/api/controllers/query/index.ts +47 -39
  418. package/src/api/controllers/row/ExternalRequest.ts +8 -2
  419. package/src/api/controllers/row/external.ts +24 -14
  420. package/src/api/controllers/row/internal.ts +42 -18
  421. package/src/api/controllers/row/utils.ts +40 -2
  422. package/src/api/controllers/static/index.ts +17 -18
  423. package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  424. package/src/api/controllers/table/external.ts +18 -16
  425. package/src/api/controllers/table/index.ts +46 -17
  426. package/src/api/controllers/table/internal.ts +4 -4
  427. package/src/api/controllers/table/utils.ts +12 -13
  428. package/src/api/controllers/user.ts +21 -13
  429. package/src/api/controllers/view/exporters.ts +20 -5
  430. package/src/api/controllers/view/index.ts +22 -35
  431. package/src/api/controllers/webhook.ts +48 -46
  432. package/src/api/routes/index.ts +2 -0
  433. package/src/api/routes/row.ts +1 -1
  434. package/src/api/routes/table.ts +15 -38
  435. package/src/api/routes/tests/datasource.spec.ts +35 -1
  436. package/src/api/routes/tests/misc.spec.js +4 -10
  437. package/src/api/routes/tests/table.spec.js +8 -30
  438. package/src/api/routes/tests/user.spec.js +20 -1
  439. package/src/api/routes/utils/validators.ts +1 -1
  440. package/src/app.ts +3 -1
  441. package/src/automations/tests/loop.spec.ts +45 -0
  442. package/src/automations/triggers.ts +6 -1
  443. package/src/definitions/automations.ts +1 -0
  444. package/src/definitions/datasource.ts +0 -41
  445. package/src/index.ts +1 -1
  446. package/src/integrations/base/query.ts +3 -1
  447. package/src/integrations/base/sqlTable.ts +1 -1
  448. package/src/integrations/couchdb.ts +41 -14
  449. package/src/integrations/dynamodb.ts +3 -3
  450. package/src/integrations/elasticsearch.ts +8 -4
  451. package/src/integrations/index.ts +4 -4
  452. package/src/integrations/mongodb.ts +315 -271
  453. package/src/integrations/mysql.ts +1 -1
  454. package/src/integrations/queries/sql.ts +5 -50
  455. package/src/integrations/rest.ts +16 -19
  456. package/src/integrations/tests/couchdb.spec.ts +33 -21
  457. package/src/integrations/tests/rest.spec.ts +4 -2
  458. package/src/middleware/currentapp.ts +3 -2
  459. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +10 -6
  460. package/src/sdk/app/datasources/datasources.ts +136 -0
  461. package/src/sdk/app/datasources/index.ts +5 -0
  462. package/src/sdk/app/queries/index.ts +5 -0
  463. package/src/sdk/app/queries/queries.ts +50 -0
  464. package/src/sdk/app/tables/index.ts +6 -3
  465. package/src/sdk/index.ts +4 -0
  466. package/src/sdk/utils/index.ts +16 -0
  467. package/src/tests/utilities/TestConfiguration.ts +15 -12
  468. package/src/tests/utilities/structures.ts +65 -2
  469. package/src/threads/automation.ts +18 -8
  470. package/src/threads/definitions.ts +3 -0
  471. package/src/threads/query.ts +28 -15
  472. package/src/utilities/fileSystem/filesystem.ts +6 -4
  473. package/src/utilities/fileSystem/plugin.ts +3 -4
  474. package/src/utilities/fileSystem/template.ts +2 -2
  475. package/src/utilities/schema.ts +141 -0
  476. package/src/utilities/workerRequests.ts +10 -1
  477. package/tsconfig.json +2 -1
  478. package/builder/assets/index.0b010a07.js +0 -1023
  479. package/builder/assets/index.fa480d5b.css +0 -6
  480. package/dist/utilities/csvParser.js +0 -152
  481. package/src/utilities/csvParser.ts +0 -161
  482. package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -15
  483. package/src/utilities/tests/csvParser.spec.js +0 -112
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">5.46% </span>
26
+ <span class="strong">6.15% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>7/128</span>
28
+ <span class='fraction'>8/130</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/46</span>
35
+ <span class='fraction'>0/47</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">5.6% </span>
47
+ <span class="strong">6.29% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>7/125</span>
49
+ <span class='fraction'>8/127</span>
50
50
  </div>
51
51
 
52
52
 
@@ -333,27 +333,40 @@
333
333
  <a name='L268'></a><a href='#L268'>268</a>
334
334
  <a name='L269'></a><a href='#L269'>269</a>
335
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-neutral">&nbsp;</span>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
337
347
  <span class="cline-any cline-neutral">&nbsp;</span>
338
348
  <span class="cline-any cline-neutral">&nbsp;</span>
339
349
  <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-yes">55x</span>
350
+ <span class="cline-any cline-yes">56x</span>
341
351
  <span class="cline-any cline-neutral">&nbsp;</span>
342
352
  <span class="cline-any cline-neutral">&nbsp;</span>
343
353
  <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-yes">55x</span>
345
- <span class="cline-any cline-yes">55x</span>
346
- <span class="cline-any cline-yes">55x</span>
347
- <span class="cline-any cline-yes">55x</span>
348
- <span class="cline-any cline-yes">55x</span>
354
+ <span class="cline-any cline-yes">56x</span>
355
+ <span class="cline-any cline-yes">56x</span>
349
356
  <span class="cline-any cline-neutral">&nbsp;</span>
357
+ <span class="cline-any cline-yes">56x</span>
358
+ <span class="cline-any cline-yes">56x</span>
350
359
  <span class="cline-any cline-neutral">&nbsp;</span>
351
360
  <span class="cline-any cline-neutral">&nbsp;</span>
352
361
  <span class="cline-any cline-neutral">&nbsp;</span>
353
362
  <span class="cline-any cline-neutral">&nbsp;</span>
354
363
  <span class="cline-any cline-neutral">&nbsp;</span>
355
364
  <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-yes">55x</span>
365
+ <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-yes">56x</span>
367
+ <span class="cline-any cline-yes">56x</span>
368
+ <span class="cline-any cline-neutral">&nbsp;</span>
369
+ <span class="cline-any cline-yes">56x</span>
357
370
  <span class="cline-any cline-neutral">&nbsp;</span>
358
371
  <span class="cline-any cline-no">&nbsp;</span>
359
372
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -519,8 +532,9 @@
519
532
  <span class="cline-any cline-no">&nbsp;</span>
520
533
  <span class="cline-any cline-no">&nbsp;</span>
521
534
  <span class="cline-any cline-no">&nbsp;</span>
522
- <span class="cline-any cline-no">&nbsp;</span>
523
535
  <span class="cline-any cline-neutral">&nbsp;</span>
536
+ <span class="cline-any cline-neutral">&nbsp;</span>
537
+ <span class="cline-any cline-no">&nbsp;</span>
524
538
  <span class="cline-any cline-no">&nbsp;</span>
525
539
  <span class="cline-any cline-neutral">&nbsp;</span>
526
540
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -531,10 +545,12 @@
531
545
  <span class="cline-any cline-neutral">&nbsp;</span>
532
546
  <span class="cline-any cline-neutral">&nbsp;</span>
533
547
  <span class="cline-any cline-neutral">&nbsp;</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
534
549
  <span class="cline-any cline-no">&nbsp;</span>
535
550
  <span class="cline-any cline-no">&nbsp;</span>
536
551
  <span class="cline-any cline-neutral">&nbsp;</span>
537
552
  <span class="cline-any cline-neutral">&nbsp;</span>
553
+ <span class="cline-any cline-neutral">&nbsp;</span>
538
554
  <span class="cline-any cline-no">&nbsp;</span>
539
555
  <span class="cline-any cline-no">&nbsp;</span>
540
556
  <span class="cline-any cline-no">&nbsp;</span>
@@ -546,11 +562,12 @@
546
562
  <span class="cline-any cline-no">&nbsp;</span>
547
563
  <span class="cline-any cline-neutral">&nbsp;</span>
548
564
  <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-no">&nbsp;</span>
550
565
  <span class="cline-any cline-neutral">&nbsp;</span>
551
566
  <span class="cline-any cline-no">&nbsp;</span>
552
567
  <span class="cline-any cline-no">&nbsp;</span>
553
568
  <span class="cline-any cline-neutral">&nbsp;</span>
569
+ <span class="cline-any cline-no">&nbsp;</span>
570
+ <span class="cline-any cline-neutral">&nbsp;</span>
554
571
  <span class="cline-any cline-neutral">&nbsp;</span>
555
572
  <span class="cline-any cline-no">&nbsp;</span>
556
573
  <span class="cline-any cline-no">&nbsp;</span>
@@ -558,6 +575,9 @@
558
575
  <span class="cline-any cline-neutral">&nbsp;</span>
559
576
  <span class="cline-any cline-no">&nbsp;</span>
560
577
  <span class="cline-any cline-no">&nbsp;</span>
578
+ <span class="cline-any cline-neutral">&nbsp;</span>
579
+ <span class="cline-any cline-neutral">&nbsp;</span>
580
+ <span class="cline-any cline-no">&nbsp;</span>
561
581
  <span class="cline-any cline-no">&nbsp;</span>
562
582
  <span class="cline-any cline-no">&nbsp;</span>
563
583
  <span class="cline-any cline-no">&nbsp;</span>
@@ -624,6 +644,9 @@ import {
624
644
  Table,
625
645
  Datasource,
626
646
  } from "@budibase/types"
647
+ import sdk from "../../../sdk"
648
+ &nbsp;
649
+ const { cleanExportRows } = require("./utils")
627
650
  &nbsp;
628
651
  export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >handleRequest<span class="fstat-no" title="function not covered" >(</span></span></span>
629
652
  operation: Operation,
@@ -704,7 +727,7 @@ export async function <span class="cstat-no" title="statement not covered" ><spa
704
727
  export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >bulkDestroy<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext) {
705
728
  const { rows } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
706
729
  const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
707
- let promises = <span class="cstat-no" title="statement not covered" >[]</span>
730
+ let promises: Promise&lt;Row[] | { row: Row; table: Table }&gt;[] = <span class="cstat-no" title="statement not covered" >[]</span>
708
731
  <span class="cstat-no" title="statement not covered" > for (let row of rows) {</span>
709
732
  <span class="cstat-no" title="statement not covered" > promises.push(</span>
710
733
  handleRequest(Operation.DELETE, tableId, {
@@ -784,27 +807,30 @@ export async function <span class="cstat-no" title="statement not covered" ><spa
784
807
  &nbsp;
785
808
  export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >exportRows<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext) {
786
809
  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>
788
810
  const format = <span class="cstat-no" title="statement not covered" >ctx.query.format</span>
789
811
  const { columns } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
790
- const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
812
+ const datasource = <span class="cstat-no" title="statement not covered" >await sdk.datasources.get(datasourceId!)</span>
791
813
  <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>
792
814
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Datasource has not been configured for plus API.")</span>
793
815
  }
794
- <span class="cstat-no" title="statement not covered" > ctx.request.body = {</span>
795
- query: {
796
- 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
- ),
816
+ &nbsp;
817
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.request.body.rows) {</span>
818
+ <span class="cstat-no" title="statement not covered" > ctx.request.body = {</span>
819
+ query: {
820
+ oneOf: {
821
+ _id: ctx.request.body.rows.map(
822
+ <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>
823
+ ),
824
+ },
800
825
  },
801
- },
826
+ }
802
827
  }
803
828
  &nbsp;
804
829
  let result = <span class="cstat-no" title="statement not covered" >await search(ctx)</span>
805
830
  let rows: Row[] = <span class="cstat-no" title="statement not covered" >[]</span>
806
831
  &nbsp;
807
832
  // Filter data to only specified columns if required
833
+ &nbsp;
808
834
  <span class="cstat-no" title="statement not covered" > if (columns &amp;&amp; columns.length) {</span>
809
835
  <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0; i</span> &lt; result.rows.length; i++) {</span>
810
836
  <span class="cstat-no" title="statement not covered" > rows[i] = {}</span>
@@ -816,22 +842,26 @@ export async function <span class="cstat-no" title="statement not covered" ><spa
816
842
  <span class="cstat-no" title="statement not covered" > rows = result.rows</span>
817
843
  }
818
844
  &nbsp;
819
- let headers = <span class="cstat-no" title="statement not covered" >Object.keys(rows[0])</span>
845
+ // @ts-ignore
846
+ let schema = <span class="cstat-no" title="statement not covered" >datasource.entities[tableName].schema</span>
847
+ let exportRows = <span class="cstat-no" title="statement not covered" >cleanExportRows(rows, schema, format, columns)</span>
848
+ &nbsp;
849
+ let headers = <span class="cstat-no" title="statement not covered" >Object.keys(schema)</span>
850
+ &nbsp;
820
851
  // @ts-ignore
821
852
  const exporter = <span class="cstat-no" title="statement not covered" >exporters[format]</span>
822
853
  const filename = <span class="cstat-no" title="statement not covered" >`export.${format}`</span>
823
854
  &nbsp;
824
855
  // send down the file
825
856
  <span class="cstat-no" title="statement not covered" > ctx.attachment(filename)</span>
826
- <span class="cstat-no" title="statement not covered" > return apiFileReturn(exporter(headers, rows))</span>
857
+ <span class="cstat-no" title="statement not covered" > return apiFileReturn(exporter(headers, exportRows))</span>
827
858
  }
828
859
  &nbsp;
829
860
  export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >fetchEnrichedRow<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext) {
830
861
  const id = <span class="cstat-no" title="statement not covered" >ctx.params.rowId</span>
831
862
  const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
832
863
  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>
864
+ const datasource: Datasource = <span class="cstat-no" title="statement not covered" >await sdk.datasources.get(datasourceId!)</span>
835
865
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!tableName) {</span>
836
866
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Unable to find table.")</span>
837
867
  }
@@ -880,7 +910,7 @@ export async function <span class="cstat-no" title="statement not covered" ><spa
880
910
  <div class='footer quiet pad2 space-top1 center small'>
881
911
  Code coverage generated by
882
912
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
883
- at Wed Jan 11 2023 09:50:52 GMT+0000 (Coordinated Universal Time)
913
+ at Wed Feb 01 2023 18:03:38 GMT+0000 (Coordinated Universal Time)
884
914
  </div>
885
915
  <script src="../../../../prettify.js"></script>
886
916
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">49.16% </span>
26
+ <span class="strong">49.01% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>529/1076</span>
28
+ <span class='fraction'>547/1116</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">31.5% </span>
33
+ <span class="strong">31.74% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>144/457</span>
35
+ <span class='fraction'>153/482</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">56.99% </span>
40
+ <span class="strong">56.78% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>110/193</span>
42
+ <span class='fraction'>113/199</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">48.37% </span>
47
+ <span class="strong">48.25% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>507/1048</span>
49
+ <span class='fraction'>525/1088</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,32 +80,32 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file low" data-value="ExternalRequest.ts"><a href="ExternalRequest.ts.html">ExternalRequest.ts</a></td>
83
- <td data-value="2.74" class="pic low">
83
+ <td data-value="2.73" class="pic low">
84
84
  <div class="chart"><div class="cover-fill" style="width: 2%"></div><div class="cover-empty" style="width: 98%"></div></div>
85
85
  </td>
86
- <td data-value="2.74" class="pct low">2.74%</td>
87
- <td data-value="291" class="abs low">8/291</td>
86
+ <td data-value="2.73" class="pct low">2.73%</td>
87
+ <td data-value="293" class="abs low">8/293</td>
88
88
  <td data-value="0" class="pct low">0%</td>
89
- <td data-value="183" class="abs low">0/183</td>
89
+ <td data-value="186" class="abs low">0/186</td>
90
90
  <td data-value="0" class="pct low">0%</td>
91
91
  <td data-value="33" class="abs low">0/33</td>
92
- <td data-value="2.76" class="pct low">2.76%</td>
93
- <td data-value="289" class="abs low">8/289</td>
92
+ <td data-value="2.74" class="pct low">2.74%</td>
93
+ <td data-value="291" class="abs low">8/291</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
97
  <td class="file low" data-value="external.ts"><a href="external.ts.html">external.ts</a></td>
98
- <td data-value="5.46" class="pic low">
99
- <div class="chart"><div class="cover-fill" style="width: 5%"></div><div class="cover-empty" style="width: 95%"></div></div>
98
+ <td data-value="6.15" class="pic low">
99
+ <div class="chart"><div class="cover-fill" style="width: 6%"></div><div class="cover-empty" style="width: 94%"></div></div>
100
100
  </td>
101
- <td data-value="5.46" class="pct low">5.46%</td>
102
- <td data-value="128" class="abs low">7/128</td>
101
+ <td data-value="6.15" class="pct low">6.15%</td>
102
+ <td data-value="130" class="abs low">8/130</td>
103
103
  <td data-value="0" class="pct low">0%</td>
104
- <td data-value="46" class="abs low">0/46</td>
104
+ <td data-value="47" class="abs low">0/47</td>
105
105
  <td data-value="0" class="pct low">0%</td>
106
106
  <td data-value="27" class="abs low">0/27</td>
107
- <td data-value="5.6" class="pct low">5.6%</td>
108
- <td data-value="125" class="abs low">7/125</td>
107
+ <td data-value="6.29" class="pct low">6.29%</td>
108
+ <td data-value="127" class="abs low">8/127</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -125,17 +125,17 @@
125
125
 
126
126
  <tr>
127
127
  <td class="file high" data-value="internal.ts"><a href="internal.ts.html">internal.ts</a></td>
128
- <td data-value="86.78" class="pic high">
129
- <div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
128
+ <td data-value="82.37" class="pic high">
129
+ <div class="chart"><div class="cover-fill" style="width: 82%"></div><div class="cover-empty" style="width: 18%"></div></div>
130
130
  </td>
131
- <td data-value="86.78" class="pct high">86.78%</td>
132
- <td data-value="227" class="abs high">197/227</td>
133
- <td data-value="58.49" class="pct medium">58.49%</td>
134
- <td data-value="53" class="abs medium">31/53</td>
131
+ <td data-value="82.37" class="pct high">82.37%</td>
132
+ <td data-value="244" class="abs high">201/244</td>
133
+ <td data-value="55.07" class="pct medium">55.07%</td>
134
+ <td data-value="69" class="abs medium">38/69</td>
135
135
  <td data-value="94.59" class="pct high">94.59%</td>
136
136
  <td data-value="37" class="abs high">35/37</td>
137
- <td data-value="86.81" class="pct high">86.81%</td>
138
- <td data-value="220" class="abs high">191/220</td>
137
+ <td data-value="82.27" class="pct high">82.27%</td>
138
+ <td data-value="237" class="abs high">195/237</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
@@ -170,17 +170,17 @@
170
170
 
171
171
  <tr>
172
172
  <td class="file medium" data-value="utils.ts"><a href="utils.ts.html">utils.ts</a></td>
173
- <td data-value="63.93" class="pic medium">
174
- <div class="chart"><div class="cover-fill" style="width: 63%"></div><div class="cover-empty" style="width: 37%"></div></div>
173
+ <td data-value="65" class="pic medium">
174
+ <div class="chart"><div class="cover-fill" style="width: 65%"></div><div class="cover-empty" style="width: 35%"></div></div>
175
175
  </td>
176
- <td data-value="63.93" class="pct medium">63.93%</td>
177
- <td data-value="61" class="abs medium">39/61</td>
178
- <td data-value="35.48" class="pct low">35.48%</td>
179
- <td data-value="31" class="abs low">11/31</td>
180
- <td data-value="80" class="pct high">80%</td>
181
- <td data-value="10" class="abs high">8/10</td>
182
- <td data-value="62.71" class="pct medium">62.71%</td>
183
- <td data-value="59" class="abs medium">37/59</td>
176
+ <td data-value="65" class="pct medium">65%</td>
177
+ <td data-value="80" class="abs medium">52/80</td>
178
+ <td data-value="36.11" class="pct low">36.11%</td>
179
+ <td data-value="36" class="abs low">13/36</td>
180
+ <td data-value="68.75" class="pct medium">68.75%</td>
181
+ <td data-value="16" class="abs medium">11/16</td>
182
+ <td data-value="64.1" class="pct medium">64.1%</td>
183
+ <td data-value="78" class="abs medium">50/78</td>
184
184
  </tr>
185
185
 
186
186
  </tbody>
@@ -191,7 +191,7 @@
191
191
  <div class='footer quiet pad2 space-top1 center small'>
192
192
  Code coverage generated by
193
193
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
194
- at Wed Jan 11 2023 09:50:52 GMT+0000 (Coordinated Universal Time)
194
+ at Wed Feb 01 2023 18:03:38 GMT+0000 (Coordinated Universal Time)
195
195
  </div>
196
196
  <script src="../../../../prettify.js"></script>
197
197
  <script>
@@ -215,31 +215,31 @@
215
215
  <a name='L150'></a><a href='#L150'>150</a>
216
216
  <a name='L151'></a><a href='#L151'>151</a>
217
217
  <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
219
- <span class="cline-any cline-yes">55x</span>
220
- <span class="cline-any cline-yes">55x</span>
221
- <span class="cline-any cline-yes">55x</span>
218
+ <a name='L153'></a><a href='#L153'>153</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">56x</span>
219
+ <span class="cline-any cline-yes">56x</span>
220
+ <span class="cline-any cline-yes">56x</span>
221
+ <span class="cline-any cline-yes">56x</span>
222
222
  <span class="cline-any cline-neutral">&nbsp;</span>
223
223
  <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-yes">131x</span>
224
+ <span class="cline-any cline-yes">135x</span>
225
225
  <span class="cline-any cline-no">&nbsp;</span>
226
226
  <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-yes">130x</span>
227
+ <span class="cline-any cline-yes">134x</span>
228
228
  <span class="cline-any cline-neutral">&nbsp;</span>
229
229
  <span class="cline-any cline-neutral">&nbsp;</span>
230
230
  <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-yes">134x</span>
232
- <span class="cline-any cline-yes">82x</span>
231
+ <span class="cline-any cline-yes">138x</span>
232
+ <span class="cline-any cline-yes">84x</span>
233
233
  <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-yes">52x</span>
235
- <span class="cline-any cline-yes">42x</span>
234
+ <span class="cline-any cline-yes">54x</span>
235
+ <span class="cline-any cline-yes">44x</span>
236
236
  <span class="cline-any cline-neutral">&nbsp;</span>
237
237
  <span class="cline-any cline-yes">10x</span>
238
238
  <span class="cline-any cline-yes">9x</span>
239
239
  <span class="cline-any cline-neutral">&nbsp;</span>
240
240
  <span class="cline-any cline-neutral">&nbsp;</span>
241
241
  <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-yes">56x</span>
242
+ <span class="cline-any cline-yes">57x</span>
243
243
  <span class="cline-any cline-yes">7x</span>
244
244
  <span class="cline-any cline-yes">7x</span>
245
245
  <span class="cline-any cline-yes">7x</span>
@@ -267,46 +267,46 @@
267
267
  <span class="cline-any cline-neutral">&nbsp;</span>
268
268
  <span class="cline-any cline-neutral">&nbsp;</span>
269
269
  <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-yes">131x</span>
271
- <span class="cline-any cline-yes">80x</span>
272
- <span class="cline-any cline-yes">80x</span>
273
- <span class="cline-any cline-yes">80x</span>
270
+ <span class="cline-any cline-yes">134x</span>
271
+ <span class="cline-any cline-yes">82x</span>
272
+ <span class="cline-any cline-yes">82x</span>
273
+ <span class="cline-any cline-yes">82x</span>
274
274
  <span class="cline-any cline-neutral">&nbsp;</span>
275
- <span class="cline-any cline-yes">80x</span>
275
+ <span class="cline-any cline-yes">82x</span>
276
276
  <span class="cline-any cline-yes">3x</span>
277
277
  <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-yes">77x</span>
279
- <span class="cline-any cline-yes">77x</span>
278
+ <span class="cline-any cline-yes">79x</span>
279
+ <span class="cline-any cline-yes">79x</span>
280
280
  <span class="cline-any cline-neutral">&nbsp;</span>
281
281
  <span class="cline-any cline-neutral">&nbsp;</span>
282
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-yes">76x</span>
284
- <span class="cline-any cline-yes">76x</span>
285
- <span class="cline-any cline-yes">76x</span>
286
- <span class="cline-any cline-yes">76x</span>
283
+ <span class="cline-any cline-yes">78x</span>
284
+ <span class="cline-any cline-yes">78x</span>
285
+ <span class="cline-any cline-yes">78x</span>
286
+ <span class="cline-any cline-yes">78x</span>
287
287
  <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-yes">58x</span>
288
+ <span class="cline-any cline-yes">59x</span>
289
289
  <span class="cline-any cline-yes">9x</span>
290
290
  <span class="cline-any cline-yes">9x</span>
291
291
  <span class="cline-any cline-neutral">&nbsp;</span>
292
292
  <span class="cline-any cline-neutral">&nbsp;</span>
293
293
  <span class="cline-any cline-neutral">&nbsp;</span>
294
294
  <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-yes">56x</span>
295
+ <span class="cline-any cline-yes">57x</span>
296
296
  <span class="cline-any cline-yes">4x</span>
297
297
  <span class="cline-any cline-yes">4x</span>
298
298
  <span class="cline-any cline-neutral">&nbsp;</span>
299
299
  <span class="cline-any cline-neutral">&nbsp;</span>
300
300
  <span class="cline-any cline-neutral">&nbsp;</span>
301
301
  <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-yes">65x</span>
302
+ <span class="cline-any cline-yes">66x</span>
303
303
  <span class="cline-any cline-yes">18x</span>
304
304
  <span class="cline-any cline-yes">18x</span>
305
305
  <span class="cline-any cline-neutral">&nbsp;</span>
306
306
  <span class="cline-any cline-neutral">&nbsp;</span>
307
307
  <span class="cline-any cline-neutral">&nbsp;</span>
308
308
  <span class="cline-any cline-neutral">&nbsp;</span>
309
- <span class="cline-any cline-yes">58x</span>
309
+ <span class="cline-any cline-yes">59x</span>
310
310
  <span class="cline-any cline-yes">6x</span>
311
311
  <span class="cline-any cline-yes">6x</span>
312
312
  <span class="cline-any cline-yes">6x</span>
@@ -338,20 +338,20 @@
338
338
  <span class="cline-any cline-yes">5x</span>
339
339
  <span class="cline-any cline-neutral">&nbsp;</span>
340
340
  <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-yes">112x</span>
342
- <span class="cline-any cline-yes">4x</span>
343
- <span class="cline-any cline-yes">4x</span>
344
- <span class="cline-any cline-yes">4x</span>
341
+ <span class="cline-any cline-yes">116x</span>
342
+ <span class="cline-any cline-yes">6x</span>
343
+ <span class="cline-any cline-yes">6x</span>
344
+ <span class="cline-any cline-yes">6x</span>
345
345
  <span class="cline-any cline-neutral">&nbsp;</span>
346
346
  <span class="cline-any cline-neutral">&nbsp;</span>
347
347
  <span class="cline-any cline-neutral">&nbsp;</span>
348
348
  <span class="cline-any cline-neutral">&nbsp;</span>
349
- <span class="cline-any cline-yes">54x</span>
349
+ <span class="cline-any cline-yes">55x</span>
350
350
  <span class="cline-any cline-yes">2x</span>
351
351
  <span class="cline-any cline-yes">2x</span>
352
352
  <span class="cline-any cline-neutral">&nbsp;</span>
353
353
  <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-yes">55x</span>
354
+ <span class="cline-any cline-yes">56x</span>
355
355
  <span class="cline-any cline-yes">2x</span>
356
356
  <span class="cline-any cline-yes">2x</span>
357
357
  <span class="cline-any cline-yes">2x</span>
@@ -361,7 +361,7 @@
361
361
  <span class="cline-any cline-neutral">&nbsp;</span>
362
362
  <span class="cline-any cline-neutral">&nbsp;</span>
363
363
  <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-yes">55x</span>
364
+ <span class="cline-any cline-yes">56x</span>
365
365
  <span class="cline-any cline-yes">2x</span>
366
366
  <span class="cline-any cline-yes">2x</span>
367
367
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -526,7 +526,7 @@ export const exportRows = async (ctx: any) =&gt; {
526
526
  <div class='footer quiet pad2 space-top1 center small'>
527
527
  Code coverage generated by
528
528
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
529
- at Wed Jan 11 2023 09:50:52 GMT+0000 (Coordinated Universal Time)
529
+ at Wed Feb 01 2023 18:03:38 GMT+0000 (Coordinated Universal Time)
530
530
  </div>
531
531
  <script src="../../../../prettify.js"></script>
532
532
  <script>