@budibase/server 2.2.12-alpha.5 → 2.2.12-alpha.50

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 (577) 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.22dc2872.css +6 -0
  7. package/builder/assets/{index.d930bfc5.js → index.d24b0406.js} +423 -427
  8. package/builder/assets/schnellecke.cf1837a8.png +0 -0
  9. package/builder/index.html +2 -2
  10. package/coverage/clover.xml +5670 -5622
  11. package/coverage/coverage-final.json +282 -279
  12. package/coverage/lcov-report/index.html +458 -413
  13. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +9 -9
  14. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +6 -6
  15. package/coverage/lcov-report/src/api/controllers/application.ts.html +199 -178
  16. package/coverage/lcov-report/src/api/controllers/auth.ts.html +10 -10
  17. package/coverage/lcov-report/src/api/controllers/automation.ts.html +37 -37
  18. package/coverage/lcov-report/src/api/controllers/backup.ts.html +8 -8
  19. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +19 -19
  20. package/coverage/lcov-report/src/api/controllers/component.ts.html +12 -12
  21. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +117 -93
  22. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +18 -18
  23. package/coverage/lcov-report/src/api/controllers/deploy/index.html +7 -7
  24. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +83 -83
  25. package/coverage/lcov-report/src/api/controllers/dev.ts.html +28 -28
  26. package/coverage/lcov-report/src/api/controllers/index.html +105 -105
  27. package/coverage/lcov-report/src/api/controllers/integration.ts.html +5 -5
  28. package/coverage/lcov-report/src/api/controllers/layout.ts.html +9 -9
  29. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +11 -11
  30. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +6 -6
  31. package/coverage/lcov-report/src/api/controllers/permission.ts.html +14 -14
  32. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +4 -4
  33. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +20 -20
  34. package/coverage/lcov-report/src/api/controllers/plugin/index.html +31 -31
  35. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +32 -32
  36. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +10 -10
  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 +4 -4
  39. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +4 -4
  40. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +31 -31
  41. package/coverage/lcov-report/src/api/controllers/public/index.html +58 -58
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +7 -7
  43. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +25 -25
  44. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +9 -9
  45. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +8 -8
  46. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +4 -4
  47. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +4 -4
  48. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +4 -4
  49. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +15 -15
  50. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +21 -21
  51. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +21 -21
  52. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +27 -27
  53. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +8 -8
  54. package/coverage/lcov-report/src/api/controllers/query/import/index.html +8 -8
  55. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +11 -11
  56. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +14 -14
  57. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +14 -14
  58. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +8 -8
  59. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +12 -12
  60. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +23 -23
  61. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +16 -16
  62. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +20 -20
  63. package/coverage/lcov-report/src/api/controllers/query/index.html +16 -16
  64. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +94 -70
  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 +9 -9
  67. package/coverage/lcov-report/src/api/controllers/routing.ts.html +10 -10
  68. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +58 -40
  69. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +87 -57
  70. package/coverage/lcov-report/src/api/controllers/row/index.html +66 -66
  71. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +36 -36
  72. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +155 -83
  73. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +146 -146
  74. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +33 -33
  75. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +153 -39
  76. package/coverage/lcov-report/src/api/controllers/screen.ts.html +12 -12
  77. package/coverage/lcov-report/src/api/controllers/script.ts.html +11 -11
  78. package/coverage/lcov-report/src/api/controllers/static/index.html +15 -15
  79. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +49 -52
  80. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +60 -60
  81. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +56 -50
  82. package/coverage/lcov-report/src/api/controllers/table/index.html +48 -48
  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 +58 -61
  85. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +93 -96
  86. package/coverage/lcov-report/src/api/controllers/templates.ts.html +21 -21
  87. package/coverage/lcov-report/src/api/controllers/user.ts.html +103 -79
  88. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +64 -19
  89. package/coverage/lcov-report/src/api/controllers/view/index.html +38 -38
  90. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +57 -96
  91. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +22 -22
  92. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +8 -8
  93. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +69 -63
  94. package/coverage/lcov-report/src/api/index.html +15 -15
  95. package/coverage/lcov-report/src/api/index.ts.html +35 -35
  96. package/coverage/lcov-report/src/api/routes/analytics.ts.html +10 -10
  97. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +11 -11
  98. package/coverage/lcov-report/src/api/routes/application.ts.html +13 -13
  99. package/coverage/lcov-report/src/api/routes/auth.ts.html +9 -9
  100. package/coverage/lcov-report/src/api/routes/automation.ts.html +14 -14
  101. package/coverage/lcov-report/src/api/routes/backup.ts.html +11 -11
  102. package/coverage/lcov-report/src/api/routes/cloud.ts.html +11 -11
  103. package/coverage/lcov-report/src/api/routes/component.ts.html +11 -11
  104. package/coverage/lcov-report/src/api/routes/datasource.ts.html +12 -12
  105. package/coverage/lcov-report/src/api/routes/deploy.ts.html +11 -11
  106. package/coverage/lcov-report/src/api/routes/dev.ts.html +17 -17
  107. package/coverage/lcov-report/src/api/routes/index.html +67 -67
  108. package/coverage/lcov-report/src/api/routes/index.ts.html +43 -37
  109. package/coverage/lcov-report/src/api/routes/integration.ts.html +11 -11
  110. package/coverage/lcov-report/src/api/routes/layout.ts.html +11 -11
  111. package/coverage/lcov-report/src/api/routes/metadata.ts.html +12 -12
  112. package/coverage/lcov-report/src/api/routes/migrations.ts.html +10 -10
  113. package/coverage/lcov-report/src/api/routes/permission.ts.html +12 -12
  114. package/coverage/lcov-report/src/api/routes/plugin.ts.html +10 -10
  115. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +16 -16
  116. package/coverage/lcov-report/src/api/routes/public/index.html +24 -24
  117. package/coverage/lcov-report/src/api/routes/public/index.ts.html +60 -60
  118. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +5 -5
  119. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +12 -12
  120. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +11 -11
  121. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +14 -14
  122. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +14 -14
  123. package/coverage/lcov-report/src/api/routes/public/tests/index.html +7 -7
  124. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +5 -5
  125. package/coverage/lcov-report/src/api/routes/public/users.ts.html +14 -14
  126. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +21 -21
  127. package/coverage/lcov-report/src/api/routes/public/utils/index.html +5 -5
  128. package/coverage/lcov-report/src/api/routes/query.ts.html +14 -14
  129. package/coverage/lcov-report/src/api/routes/role.ts.html +12 -12
  130. package/coverage/lcov-report/src/api/routes/routing.ts.html +11 -11
  131. package/coverage/lcov-report/src/api/routes/row.ts.html +14 -14
  132. package/coverage/lcov-report/src/api/routes/screen.ts.html +12 -12
  133. package/coverage/lcov-report/src/api/routes/script.ts.html +13 -13
  134. package/coverage/lcov-report/src/api/routes/static.ts.html +18 -18
  135. package/coverage/lcov-report/src/api/routes/table.ts.html +29 -98
  136. package/coverage/lcov-report/src/api/routes/templates.ts.html +11 -11
  137. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +13 -13
  138. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +23 -23
  139. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +14 -14
  140. package/coverage/lcov-report/src/api/routes/user.ts.html +12 -12
  141. package/coverage/lcov-report/src/api/routes/utils/index.html +3 -3
  142. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +44 -44
  143. package/coverage/lcov-report/src/api/routes/view.ts.html +13 -13
  144. package/coverage/lcov-report/src/api/routes/webhook.ts.html +13 -13
  145. package/coverage/lcov-report/src/app.ts.html +22 -16
  146. package/coverage/lcov-report/src/automations/actions.ts.html +31 -31
  147. package/coverage/lcov-report/src/automations/automationUtils.ts.html +61 -61
  148. package/coverage/lcov-report/src/automations/bullboard.ts.html +19 -19
  149. package/coverage/lcov-report/src/automations/index.html +54 -54
  150. package/coverage/lcov-report/src/automations/index.ts.html +23 -23
  151. package/coverage/lcov-report/src/automations/logging/index.html +3 -3
  152. package/coverage/lcov-report/src/automations/logging/index.ts.html +10 -10
  153. package/coverage/lcov-report/src/automations/steps/bash.ts.html +11 -11
  154. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +9 -9
  155. package/coverage/lcov-report/src/automations/steps/delay.ts.html +7 -7
  156. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +9 -9
  157. package/coverage/lcov-report/src/automations/steps/discord.ts.html +11 -11
  158. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +9 -9
  159. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +9 -9
  160. package/coverage/lcov-report/src/automations/steps/filter.ts.html +12 -12
  161. package/coverage/lcov-report/src/automations/steps/index.html +75 -75
  162. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +10 -10
  163. package/coverage/lcov-report/src/automations/steps/loop.ts.html +5 -5
  164. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +19 -19
  165. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +43 -43
  166. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +9 -9
  167. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +10 -10
  168. package/coverage/lcov-report/src/automations/steps/slack.ts.html +10 -10
  169. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +9 -9
  170. package/coverage/lcov-report/src/automations/steps/utils.ts.html +12 -12
  171. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +8 -8
  172. package/coverage/lcov-report/src/automations/tests/utilities/index.html +15 -15
  173. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +24 -24
  174. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +6 -6
  175. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +6 -6
  176. package/coverage/lcov-report/src/automations/triggerInfo/index.html +17 -17
  177. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +10 -10
  178. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +6 -6
  179. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +6 -6
  180. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +6 -6
  181. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +6 -6
  182. package/coverage/lcov-report/src/automations/triggers.ts.html +53 -38
  183. package/coverage/lcov-report/src/automations/utils.ts.html +69 -69
  184. package/coverage/lcov-report/src/constants/index.html +19 -19
  185. package/coverage/lcov-report/src/constants/index.ts.html +80 -80
  186. package/coverage/lcov-report/src/constants/layouts.ts.html +9 -9
  187. package/coverage/lcov-report/src/constants/screens.ts.html +4 -4
  188. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +45 -45
  189. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +8 -8
  190. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +8 -8
  191. package/coverage/lcov-report/src/db/defaultData/index.html +43 -43
  192. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +8 -8
  193. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +8 -8
  194. package/coverage/lcov-report/src/db/dynamoClient.ts.html +26 -26
  195. package/coverage/lcov-report/src/db/inMemoryView.ts.html +13 -13
  196. package/coverage/lcov-report/src/db/index.html +32 -32
  197. package/coverage/lcov-report/src/db/index.ts.html +10 -10
  198. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +38 -38
  199. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +7 -7
  200. package/coverage/lcov-report/src/db/linkedRows/index.html +37 -37
  201. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +40 -40
  202. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +25 -25
  203. package/coverage/lcov-report/src/db/newid.ts.html +5 -5
  204. package/coverage/lcov-report/src/db/utils.ts.html +76 -76
  205. package/coverage/lcov-report/src/definitions/automations.ts.html +9 -6
  206. package/coverage/lcov-report/src/definitions/index.html +5 -20
  207. package/coverage/lcov-report/src/environment.ts.html +16 -16
  208. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +14 -14
  209. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +8 -8
  210. package/coverage/lcov-report/src/events/index.html +20 -20
  211. package/coverage/lcov-report/src/events/index.ts.html +7 -7
  212. package/coverage/lcov-report/src/events/utils.ts.html +11 -11
  213. package/coverage/lcov-report/src/index.html +36 -36
  214. package/coverage/lcov-report/src/index.ts.html +8 -8
  215. package/coverage/lcov-report/src/integrations/airtable.ts.html +10 -10
  216. package/coverage/lcov-report/src/integrations/arangodb.ts.html +9 -9
  217. package/coverage/lcov-report/src/integrations/base/index.html +28 -28
  218. package/coverage/lcov-report/src/integrations/base/query.ts.html +15 -9
  219. package/coverage/lcov-report/src/integrations/base/sql.ts.html +37 -37
  220. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +22 -22
  221. package/coverage/lcov-report/src/integrations/base/utils.ts.html +5 -5
  222. package/coverage/lcov-report/src/integrations/couchdb.ts.html +10 -10
  223. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +17 -17
  224. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +9 -9
  225. package/coverage/lcov-report/src/integrations/firebase.ts.html +12 -12
  226. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +41 -41
  227. package/coverage/lcov-report/src/integrations/index.html +124 -124
  228. package/coverage/lcov-report/src/integrations/index.ts.html +47 -47
  229. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +31 -31
  230. package/coverage/lcov-report/src/integrations/mongodb.ts.html +421 -289
  231. package/coverage/lcov-report/src/integrations/mysql.ts.html +28 -28
  232. package/coverage/lcov-report/src/integrations/oracle.ts.html +31 -31
  233. package/coverage/lcov-report/src/integrations/postgres.ts.html +22 -22
  234. package/coverage/lcov-report/src/integrations/queries/index.html +19 -19
  235. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +18 -153
  236. package/coverage/lcov-report/src/integrations/redis.ts.html +8 -8
  237. package/coverage/lcov-report/src/integrations/rest.ts.html +43 -52
  238. package/coverage/lcov-report/src/integrations/s3.ts.html +17 -17
  239. package/coverage/lcov-report/src/integrations/snowflake.ts.html +15 -15
  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 +49 -49
  243. package/coverage/lcov-report/src/middleware/appInfo.ts.html +11 -11
  244. package/coverage/lcov-report/src/middleware/authorized.ts.html +49 -37
  245. package/coverage/lcov-report/src/middleware/builder.ts.html +26 -26
  246. package/coverage/lcov-report/src/middleware/currentapp.ts.html +50 -47
  247. package/coverage/lcov-report/src/middleware/index.html +40 -40
  248. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +10 -10
  249. package/coverage/lcov-report/src/middleware/publicApi.ts.html +9 -9
  250. package/coverage/lcov-report/src/middleware/resourceId.ts.html +23 -23
  251. package/coverage/lcov-report/src/middleware/selfhost.ts.html +2 -2
  252. package/coverage/lcov-report/src/middleware/utils.ts.html +4 -4
  253. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +6 -6
  254. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +7 -7
  255. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +7 -7
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +31 -31
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +8 -8
  258. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +13 -13
  259. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +7 -7
  260. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +7 -7
  261. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +8 -8
  262. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +21 -21
  263. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +10 -10
  264. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +19 -19
  265. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +9 -9
  266. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +13 -13
  267. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +23 -23
  268. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +26 -26
  269. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +7 -7
  270. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +14 -14
  271. package/coverage/lcov-report/src/migrations/functions/index.html +18 -18
  272. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +8 -8
  273. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +11 -11
  274. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +11 -11
  275. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +3 -3
  276. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +6 -6
  277. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +8 -8
  278. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -7
  279. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
  280. package/coverage/lcov-report/src/migrations/index.html +15 -15
  281. package/coverage/lcov-report/src/migrations/index.ts.html +43 -43
  282. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +4 -4
  283. package/coverage/lcov-report/src/migrations/tests/index.html +6 -6
  284. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +3 -3
  285. package/coverage/lcov-report/src/sdk/app/applications/index.html +11 -11
  286. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +6 -6
  287. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +24 -24
  288. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +15 -15
  289. package/coverage/lcov-report/src/sdk/app/automations/index.html +7 -7
  290. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +5 -5
  291. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +8 -8
  292. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +5 -5
  293. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +30 -30
  294. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +24 -24
  295. package/coverage/lcov-report/src/sdk/app/backups/index.html +27 -27
  296. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +7 -7
  297. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +12 -12
  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/{utilities/statusCodes.ts.html → sdk/app/queries/index.ts.html} +22 -28
  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 +8 -8
  305. package/coverage/lcov-report/src/sdk/app/rows/index.html +8 -8
  306. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +6 -6
  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 +15 -15
  309. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +29 -20
  310. package/coverage/lcov-report/src/sdk/index.html +7 -7
  311. package/coverage/lcov-report/src/sdk/index.ts.html +24 -12
  312. package/coverage/lcov-report/src/sdk/users/index.html +6 -6
  313. package/coverage/lcov-report/src/sdk/users/index.ts.html +5 -5
  314. package/coverage/lcov-report/src/sdk/users/utils.ts.html +29 -29
  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 +40 -55
  318. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +141 -132
  319. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +20 -20
  320. package/coverage/lcov-report/src/tests/utilities/index.html +30 -30
  321. package/coverage/lcov-report/src/tests/utilities/index.ts.html +2 -2
  322. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +232 -43
  323. package/coverage/lcov-report/src/threads/automation.ts.html +225 -195
  324. package/coverage/lcov-report/src/threads/index.html +46 -46
  325. package/coverage/lcov-report/src/threads/index.ts.html +38 -38
  326. package/coverage/lcov-report/src/threads/query.ts.html +73 -34
  327. package/coverage/lcov-report/src/threads/utils.ts.html +26 -26
  328. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +4 -4
  329. package/coverage/lcov-report/src/utilities/centralPath.ts.html +10 -10
  330. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +11 -11
  331. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +12 -12
  332. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +32 -26
  333. package/coverage/lcov-report/src/utilities/fileSystem/index.html +42 -42
  334. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +1 -1
  335. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +10 -13
  336. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +9 -9
  337. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +7 -7
  338. package/coverage/lcov-report/src/utilities/global.ts.html +61 -61
  339. package/coverage/lcov-report/src/utilities/index.html +80 -95
  340. package/coverage/lcov-report/src/utilities/index.ts.html +32 -32
  341. package/coverage/lcov-report/src/utilities/redis.ts.html +35 -35
  342. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  343. package/coverage/lcov-report/src/utilities/routing/index.ts.html +5 -5
  344. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +32 -32
  345. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +67 -67
  346. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +9 -9
  347. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +26 -26
  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 +8 -8
  350. package/coverage/lcov-report/src/utilities/security.ts.html +13 -13
  351. package/coverage/lcov-report/src/utilities/usageQuota/index.html +9 -9
  352. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +8 -8
  353. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +3 -3
  354. package/coverage/lcov-report/src/utilities/users.ts.html +7 -7
  355. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +61 -34
  356. package/coverage/lcov-report/src/watch.ts.html +20 -20
  357. package/coverage/lcov-report/src/websocket.ts.html +5 -5
  358. package/coverage/lcov.info +11919 -11276
  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 +23 -13
  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 +45 -42
  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 +6 -7
  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/view/viewBuilder.js +15 -2
  377. package/dist/api/controllers/webhook.js +45 -43
  378. package/dist/api/routes/analytics.js +2 -1
  379. package/dist/api/routes/apikeys.js +2 -1
  380. package/dist/api/routes/application.js +2 -1
  381. package/dist/api/routes/auth.js +2 -1
  382. package/dist/api/routes/automation.js +2 -1
  383. package/dist/api/routes/backup.js +2 -1
  384. package/dist/api/routes/cloud.js +2 -1
  385. package/dist/api/routes/component.js +2 -1
  386. package/dist/api/routes/datasource.js +2 -1
  387. package/dist/api/routes/deploy.js +2 -1
  388. package/dist/api/routes/dev.js +2 -1
  389. package/dist/api/routes/index.js +2 -0
  390. package/dist/api/routes/integration.js +2 -1
  391. package/dist/api/routes/layout.js +2 -1
  392. package/dist/api/routes/metadata.js +2 -1
  393. package/dist/api/routes/migrations.js +2 -1
  394. package/dist/api/routes/permission.js +2 -1
  395. package/dist/api/routes/query.js +2 -1
  396. package/dist/api/routes/role.js +2 -1
  397. package/dist/api/routes/routing.js +2 -1
  398. package/dist/api/routes/row.js +2 -2
  399. package/dist/api/routes/screen.js +2 -1
  400. package/dist/api/routes/script.js +2 -1
  401. package/dist/api/routes/static.js +6 -5
  402. package/dist/api/routes/table.js +8 -38
  403. package/dist/api/routes/templates.js +2 -1
  404. package/dist/api/routes/user.js +2 -1
  405. package/dist/api/routes/utils/validators.js +1 -1
  406. package/dist/api/routes/view.js +2 -1
  407. package/dist/api/routes/webhook.js +2 -1
  408. package/dist/app.js +9 -7
  409. package/dist/automations/logging/index.js +5 -25
  410. package/dist/automations/triggers.js +1 -0
  411. package/dist/db/index.js +5 -2
  412. package/dist/db/linkedRows/LinkController.js +2 -1
  413. package/dist/db/linkedRows/LinkDocument.js +2 -1
  414. package/dist/db/newid.js +4 -2
  415. package/dist/definitions/datasource.js +0 -6
  416. package/dist/environment.js +2 -1
  417. package/dist/events/AutomationEmitter.js +2 -1
  418. package/dist/events/BudibaseEmitter.js +2 -1
  419. package/dist/events/index.js +2 -1
  420. package/dist/index.js +2 -2
  421. package/dist/integrations/base/query.js +7 -2
  422. package/dist/integrations/base/sqlTable.js +14 -14
  423. package/dist/integrations/dynamodb.js +8 -5
  424. package/dist/integrations/index.js +5 -5
  425. package/dist/integrations/mongodb.js +311 -271
  426. package/dist/integrations/mysql.js +2 -2
  427. package/dist/integrations/queries/sql.js +73 -100
  428. package/dist/integrations/rest.js +16 -18
  429. package/dist/middleware/authorized.js +2 -1
  430. package/dist/middleware/builder.js +4 -2
  431. package/dist/middleware/currentapp.js +6 -3
  432. package/dist/middleware/publicApi.js +4 -2
  433. package/dist/middleware/selfhost.js +4 -1
  434. package/dist/package.json +9 -7
  435. package/dist/sdk/app/datasources/datasources.js +147 -0
  436. package/dist/sdk/app/datasources/index.js +27 -0
  437. package/dist/sdk/app/queries/index.js +27 -0
  438. package/dist/sdk/app/queries/queries.js +60 -0
  439. package/dist/sdk/app/tables/index.js +6 -2
  440. package/dist/sdk/index.js +4 -0
  441. package/dist/sdk/utils/index.js +29 -0
  442. package/dist/startup.js +17 -17
  443. package/dist/threads/automation.js +18 -7
  444. package/dist/threads/index.js +4 -4
  445. package/dist/threads/query.js +27 -13
  446. package/dist/tsconfig.build.tsbuildinfo +1 -1
  447. package/dist/utilities/fileSystem/filesystem.js +38 -36
  448. package/dist/utilities/fileSystem/plugin.js +17 -14
  449. package/dist/utilities/fileSystem/template.js +7 -4
  450. package/dist/utilities/schema.js +108 -0
  451. package/dist/utilities/scriptRunner.js +2 -1
  452. package/dist/utilities/statusCodes.js +2 -1
  453. package/dist/utilities/workerRequests.js +2 -0
  454. package/dist/watch.js +2 -25
  455. package/jest.config.ts +5 -2
  456. package/package.json +10 -8
  457. package/scripts/dev/manage.js +1 -0
  458. package/src/api/controllers/application.ts +81 -74
  459. package/src/api/controllers/cloud.ts +1 -1
  460. package/src/api/controllers/datasource.ts +33 -25
  461. package/src/api/controllers/query/index.ts +49 -41
  462. package/src/api/controllers/row/ExternalRequest.ts +8 -2
  463. package/src/api/controllers/row/external.ts +24 -14
  464. package/src/api/controllers/row/internal.ts +42 -18
  465. package/src/api/controllers/row/utils.ts +40 -2
  466. package/src/api/controllers/static/index.ts +18 -19
  467. package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  468. package/src/api/controllers/table/external.ts +18 -16
  469. package/src/api/controllers/table/index.ts +46 -17
  470. package/src/api/controllers/table/internal.ts +6 -7
  471. package/src/api/controllers/table/utils.ts +12 -13
  472. package/src/api/controllers/user.ts +21 -13
  473. package/src/api/controllers/view/exporters.ts +20 -5
  474. package/src/api/controllers/view/index.ts +22 -35
  475. package/src/api/controllers/view/tests/viewBuilder.spec.js +1 -1
  476. package/src/api/controllers/view/viewBuilder.ts +1 -1
  477. package/src/api/controllers/webhook.ts +48 -46
  478. package/src/api/routes/analytics.ts +1 -1
  479. package/src/api/routes/apikeys.ts +1 -1
  480. package/src/api/routes/application.ts +1 -1
  481. package/src/api/routes/auth.ts +1 -1
  482. package/src/api/routes/automation.ts +1 -1
  483. package/src/api/routes/backup.ts +1 -1
  484. package/src/api/routes/cloud.ts +1 -1
  485. package/src/api/routes/component.ts +1 -1
  486. package/src/api/routes/datasource.ts +1 -1
  487. package/src/api/routes/deploy.ts +1 -1
  488. package/src/api/routes/dev.ts +1 -1
  489. package/src/api/routes/index.ts +2 -0
  490. package/src/api/routes/integration.ts +1 -1
  491. package/src/api/routes/layout.ts +1 -1
  492. package/src/api/routes/metadata.ts +1 -1
  493. package/src/api/routes/migrations.ts +1 -1
  494. package/src/api/routes/permission.ts +1 -1
  495. package/src/api/routes/query.ts +1 -1
  496. package/src/api/routes/role.ts +1 -1
  497. package/src/api/routes/routing.ts +1 -1
  498. package/src/api/routes/row.ts +1 -1
  499. package/src/api/routes/screen.ts +1 -1
  500. package/src/api/routes/script.ts +1 -1
  501. package/src/api/routes/static.ts +2 -2
  502. package/src/api/routes/table.ts +16 -39
  503. package/src/api/routes/templates.ts +1 -1
  504. package/src/api/routes/tests/datasource.spec.ts +35 -1
  505. package/src/api/routes/tests/misc.spec.js +4 -10
  506. package/src/api/routes/tests/plugin.spec.ts +10 -10
  507. package/src/api/routes/tests/table.spec.js +8 -30
  508. package/src/api/routes/tests/user.spec.js +20 -1
  509. package/src/api/routes/tests/utilities/TestFunctions.ts +1 -1
  510. package/src/api/routes/user.ts +1 -1
  511. package/src/api/routes/utils/validators.ts +1 -1
  512. package/src/api/routes/view.ts +1 -1
  513. package/src/api/routes/webhook.ts +1 -1
  514. package/src/app.ts +5 -3
  515. package/src/automations/logging/index.ts +1 -1
  516. package/src/automations/tests/loop.spec.ts +45 -0
  517. package/src/automations/triggers.ts +6 -1
  518. package/src/db/index.ts +1 -1
  519. package/src/db/linkedRows/LinkController.ts +1 -1
  520. package/src/db/linkedRows/LinkDocument.ts +1 -1
  521. package/src/db/newid.ts +1 -1
  522. package/src/db/tests/linkController.spec.js +1 -1
  523. package/src/definitions/automations.ts +1 -0
  524. package/src/definitions/datasource.ts +0 -41
  525. package/src/environment.ts +1 -1
  526. package/src/events/AutomationEmitter.ts +1 -1
  527. package/src/events/BudibaseEmitter.ts +1 -1
  528. package/src/events/index.ts +1 -1
  529. package/src/index.ts +1 -1
  530. package/src/integrations/base/query.ts +3 -1
  531. package/src/integrations/base/sqlTable.ts +1 -1
  532. package/src/integrations/dynamodb.ts +3 -3
  533. package/src/integrations/index.ts +4 -4
  534. package/src/integrations/mongodb.ts +315 -271
  535. package/src/integrations/mysql.ts +1 -1
  536. package/src/integrations/queries/sql.ts +5 -50
  537. package/src/integrations/rest.ts +16 -19
  538. package/src/integrations/tests/rest.spec.ts +19 -15
  539. package/src/middleware/authorized.ts +5 -1
  540. package/src/middleware/builder.ts +1 -1
  541. package/src/middleware/currentapp.ts +4 -3
  542. package/src/middleware/publicApi.ts +1 -1
  543. package/src/middleware/selfhost.ts +1 -1
  544. package/src/middleware/tests/authorized.spec.js +1 -1
  545. package/src/middleware/tests/currentapp.spec.js +1 -1
  546. package/src/middleware/tests/selfhost.spec.js +1 -1
  547. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +10 -6
  548. package/src/sdk/app/datasources/datasources.ts +136 -0
  549. package/src/sdk/app/datasources/index.ts +5 -0
  550. package/src/sdk/app/queries/index.ts +5 -0
  551. package/src/sdk/app/queries/queries.ts +50 -0
  552. package/src/sdk/app/tables/index.ts +6 -3
  553. package/src/sdk/index.ts +4 -0
  554. package/src/sdk/utils/index.ts +16 -0
  555. package/src/startup.ts +3 -8
  556. package/src/tests/jestEnv.ts +13 -0
  557. package/src/tests/jestSetup.ts +0 -14
  558. package/src/tests/utilities/TestConfiguration.ts +16 -13
  559. package/src/tests/utilities/structures.ts +65 -2
  560. package/src/threads/automation.ts +18 -8
  561. package/src/threads/definitions.ts +3 -0
  562. package/src/threads/index.ts +1 -1
  563. package/src/threads/query.ts +28 -15
  564. package/src/utilities/fileSystem/filesystem.ts +7 -5
  565. package/src/utilities/fileSystem/plugin.ts +3 -4
  566. package/src/utilities/fileSystem/template.ts +2 -2
  567. package/src/utilities/schema.ts +141 -0
  568. package/src/utilities/scriptRunner.ts +1 -1
  569. package/src/utilities/statusCodes.ts +1 -1
  570. package/src/utilities/workerRequests.ts +10 -1
  571. package/src/watch.ts +1 -1
  572. package/tsconfig.json +2 -1
  573. package/builder/assets/index.fa480d5b.css +0 -6
  574. package/dist/utilities/csvParser.js +0 -152
  575. package/src/utilities/csvParser.ts +0 -161
  576. package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -15
  577. package/src/utilities/tests/csvParser.spec.js +0 -112
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">86.89% </span>
26
+ <span class="strong">82.37% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>199/229</span>
28
+ <span class='fraction'>201/244</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">58.49% </span>
33
+ <span class="strong">55.07% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>31/53</span>
35
+ <span class='fraction'>38/69</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">92.3% </span>
40
+ <span class="strong">94.59% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>24/26</span>
42
+ <span class='fraction'>35/37</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">86.81% </span>
47
+ <span class="strong">82.27% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>191/220</span>
49
+ <span class='fraction'>195/237</span>
50
50
  </div>
51
51
 
52
52
 
@@ -547,37 +547,61 @@
547
547
  <a name='L482'></a><a href='#L482'>482</a>
548
548
  <a name='L483'></a><a href='#L483'>483</a>
549
549
  <a name='L484'></a><a href='#L484'>484</a>
550
- <a name='L485'></a><a href='#L485'>485</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
551
- <span class="cline-any cline-yes">55x</span>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a>
552
+ <a name='L487'></a><a href='#L487'>487</a>
553
+ <a name='L488'></a><a href='#L488'>488</a>
554
+ <a name='L489'></a><a href='#L489'>489</a>
555
+ <a name='L490'></a><a href='#L490'>490</a>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a>
561
+ <a name='L496'></a><a href='#L496'>496</a>
562
+ <a name='L497'></a><a href='#L497'>497</a>
563
+ <a name='L498'></a><a href='#L498'>498</a>
564
+ <a name='L499'></a><a href='#L499'>499</a>
565
+ <a name='L500'></a><a href='#L500'>500</a>
566
+ <a name='L501'></a><a href='#L501'>501</a>
567
+ <a name='L502'></a><a href='#L502'>502</a>
568
+ <a name='L503'></a><a href='#L503'>503</a>
569
+ <a name='L504'></a><a href='#L504'>504</a>
570
+ <a name='L505'></a><a href='#L505'>505</a>
571
+ <a name='L506'></a><a href='#L506'>506</a>
572
+ <a name='L507'></a><a href='#L507'>507</a>
573
+ <a name='L508'></a><a href='#L508'>508</a>
574
+ <a name='L509'></a><a href='#L509'>509</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">56x</span>
552
575
  <span class="cline-any cline-neutral">&nbsp;</span>
553
576
  <span class="cline-any cline-neutral">&nbsp;</span>
554
577
  <span class="cline-any cline-neutral">&nbsp;</span>
555
578
  <span class="cline-any cline-neutral">&nbsp;</span>
556
579
  <span class="cline-any cline-neutral">&nbsp;</span>
557
580
  <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-yes">55x</span>
559
- <span class="cline-any cline-yes">55x</span>
581
+ <span class="cline-any cline-yes">56x</span>
582
+ <span class="cline-any cline-yes">56x</span>
560
583
  <span class="cline-any cline-neutral">&nbsp;</span>
561
584
  <span class="cline-any cline-neutral">&nbsp;</span>
562
585
  <span class="cline-any cline-neutral">&nbsp;</span>
563
586
  <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-yes">55x</span>
565
- <span class="cline-any cline-yes">55x</span>
566
- <span class="cline-any cline-yes">55x</span>
567
- <span class="cline-any cline-yes">55x</span>
568
- <span class="cline-any cline-yes">55x</span>
569
- <span class="cline-any cline-yes">55x</span>
570
- <span class="cline-any cline-yes">55x</span>
587
+ <span class="cline-any cline-yes">56x</span>
588
+ <span class="cline-any cline-yes">56x</span>
589
+ <span class="cline-any cline-yes">56x</span>
590
+ <span class="cline-any cline-yes">56x</span>
591
+ <span class="cline-any cline-yes">56x</span>
592
+ <span class="cline-any cline-yes">56x</span>
593
+ <span class="cline-any cline-yes">56x</span>
571
594
  <span class="cline-any cline-neutral">&nbsp;</span>
572
595
  <span class="cline-any cline-neutral">&nbsp;</span>
573
596
  <span class="cline-any cline-neutral">&nbsp;</span>
574
597
  <span class="cline-any cline-neutral">&nbsp;</span>
575
598
  <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-yes">55x</span>
577
- <span class="cline-any cline-yes">55x</span>
578
- <span class="cline-any cline-yes">55x</span>
579
- <span class="cline-any cline-yes">55x</span>
580
- <span class="cline-any cline-yes">55x</span>
599
+ <span class="cline-any cline-yes">56x</span>
600
+ <span class="cline-any cline-yes">56x</span>
601
+ <span class="cline-any cline-yes">56x</span>
602
+ <span class="cline-any cline-yes">56x</span>
603
+ <span class="cline-any cline-yes">56x</span>
604
+ <span class="cline-any cline-yes">56x</span>
581
605
  <span class="cline-any cline-neutral">&nbsp;</span>
582
606
  <span class="cline-any cline-neutral">&nbsp;</span>
583
607
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -587,7 +611,9 @@
587
611
  <span class="cline-any cline-neutral">&nbsp;</span>
588
612
  <span class="cline-any cline-neutral">&nbsp;</span>
589
613
  <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-yes">55x</span>
614
+ <span class="cline-any cline-yes">56x</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-yes">56x</span>
591
617
  <span class="cline-any cline-neutral">&nbsp;</span>
592
618
  <span class="cline-any cline-neutral">&nbsp;</span>
593
619
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -635,7 +661,7 @@
635
661
  <span class="cline-any cline-yes">7x</span>
636
662
  <span class="cline-any cline-neutral">&nbsp;</span>
637
663
  <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-yes">55x</span>
664
+ <span class="cline-any cline-yes">6x</span>
639
665
  <span class="cline-any cline-yes">6x</span>
640
666
  <span class="cline-any cline-yes">6x</span>
641
667
  <span class="cline-any cline-yes">6x</span>
@@ -700,42 +726,42 @@
700
726
  <span class="cline-any cline-neutral">&nbsp;</span>
701
727
  <span class="cline-any cline-neutral">&nbsp;</span>
702
728
  <span class="cline-any cline-neutral">&nbsp;</span>
703
- <span class="cline-any cline-yes">55x</span>
704
- <span class="cline-any cline-yes">77x</span>
705
- <span class="cline-any cline-yes">77x</span>
706
- <span class="cline-any cline-yes">77x</span>
729
+ <span class="cline-any cline-yes">79x</span>
730
+ <span class="cline-any cline-yes">79x</span>
731
+ <span class="cline-any cline-yes">79x</span>
732
+ <span class="cline-any cline-yes">79x</span>
707
733
  <span class="cline-any cline-neutral">&nbsp;</span>
708
- <span class="cline-any cline-yes">77x</span>
709
- <span class="cline-any cline-yes">77x</span>
734
+ <span class="cline-any cline-yes">79x</span>
735
+ <span class="cline-any cline-yes">79x</span>
710
736
  <span class="cline-any cline-neutral">&nbsp;</span>
711
737
  <span class="cline-any cline-neutral">&nbsp;</span>
712
738
  <span class="cline-any cline-neutral">&nbsp;</span>
713
- <span class="cline-any cline-yes">77x</span>
714
- <span class="cline-any cline-yes">77x</span>
715
- <span class="cline-any cline-yes">77x</span>
739
+ <span class="cline-any cline-yes">79x</span>
740
+ <span class="cline-any cline-yes">79x</span>
741
+ <span class="cline-any cline-yes">79x</span>
716
742
  <span class="cline-any cline-neutral">&nbsp;</span>
717
743
  <span class="cline-any cline-neutral">&nbsp;</span>
718
744
  <span class="cline-any cline-neutral">&nbsp;</span>
719
745
  <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-yes">77x</span>
746
+ <span class="cline-any cline-yes">79x</span>
721
747
  <span class="cline-any cline-no">&nbsp;</span>
722
748
  <span class="cline-any cline-neutral">&nbsp;</span>
723
749
  <span class="cline-any cline-neutral">&nbsp;</span>
724
750
  <span class="cline-any cline-neutral">&nbsp;</span>
725
- <span class="cline-any cline-yes">77x</span>
751
+ <span class="cline-any cline-yes">79x</span>
726
752
  <span class="cline-any cline-neutral">&nbsp;</span>
727
753
  <span class="cline-any cline-neutral">&nbsp;</span>
728
754
  <span class="cline-any cline-neutral">&nbsp;</span>
729
755
  <span class="cline-any cline-neutral">&nbsp;</span>
730
756
  <span class="cline-any cline-neutral">&nbsp;</span>
731
757
  <span class="cline-any cline-neutral">&nbsp;</span>
732
- <span class="cline-any cline-yes">76x</span>
758
+ <span class="cline-any cline-yes">78x</span>
733
759
  <span class="cline-any cline-neutral">&nbsp;</span>
734
760
  <span class="cline-any cline-neutral">&nbsp;</span>
735
761
  <span class="cline-any cline-neutral">&nbsp;</span>
736
762
  <span class="cline-any cline-neutral">&nbsp;</span>
737
763
  <span class="cline-any cline-neutral">&nbsp;</span>
738
- <span class="cline-any cline-yes">55x</span>
764
+ <span class="cline-any cline-yes">9x</span>
739
765
  <span class="cline-any cline-yes">9x</span>
740
766
  <span class="cline-any cline-neutral">&nbsp;</span>
741
767
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -802,7 +828,7 @@
802
828
  <span class="cline-any cline-yes">5x</span>
803
829
  <span class="cline-any cline-neutral">&nbsp;</span>
804
830
  <span class="cline-any cline-neutral">&nbsp;</span>
805
- <span class="cline-any cline-yes">55x</span>
831
+ <span class="cline-any cline-yes">4x</span>
806
832
  <span class="cline-any cline-yes">7x</span>
807
833
  <span class="cline-any cline-neutral">&nbsp;</span>
808
834
  <span class="cline-any cline-yes">7x</span>
@@ -811,7 +837,7 @@
811
837
  <span class="cline-any cline-yes">7x</span>
812
838
  <span class="cline-any cline-neutral">&nbsp;</span>
813
839
  <span class="cline-any cline-neutral">&nbsp;</span>
814
- <span class="cline-any cline-yes">55x</span>
840
+ <span class="cline-any cline-yes">18x</span>
815
841
  <span class="cline-any cline-yes">18x</span>
816
842
  <span class="cline-any cline-yes">18x</span>
817
843
  <span class="cline-any cline-yes">18x</span>
@@ -819,7 +845,7 @@
819
845
  <span class="cline-any cline-yes">15x</span>
820
846
  <span class="cline-any cline-neutral">&nbsp;</span>
821
847
  <span class="cline-any cline-neutral">&nbsp;</span>
822
- <span class="cline-any cline-yes">55x</span>
848
+ <span class="cline-any cline-yes">4x</span>
823
849
  <span class="cline-any cline-yes">4x</span>
824
850
  <span class="cline-any cline-yes">4x</span>
825
851
  <span class="cline-any cline-yes">4x</span>
@@ -855,7 +881,7 @@
855
881
  <span class="cline-any cline-yes">3x</span>
856
882
  <span class="cline-any cline-neutral">&nbsp;</span>
857
883
  <span class="cline-any cline-neutral">&nbsp;</span>
858
- <span class="cline-any cline-yes">55x</span>
884
+ <span class="cline-any cline-yes">2x</span>
859
885
  <span class="cline-any cline-yes">2x</span>
860
886
  <span class="cline-any cline-yes">2x</span>
861
887
  <span class="cline-any cline-yes">2x</span>
@@ -894,46 +920,53 @@
894
920
  <span class="cline-any cline-yes">2x</span>
895
921
  <span class="cline-any cline-neutral">&nbsp;</span>
896
922
  <span class="cline-any cline-neutral">&nbsp;</span>
897
- <span class="cline-any cline-yes">55x</span>
923
+ <span class="cline-any cline-yes">6x</span>
898
924
  <span class="cline-any cline-neutral">&nbsp;</span>
899
- <span class="cline-any cline-yes">4x</span>
925
+ <span class="cline-any cline-yes">6x</span>
900
926
  <span class="cline-any cline-no">&nbsp;</span>
901
927
  <span class="cline-any cline-neutral">&nbsp;</span>
902
928
  <span class="cline-any cline-neutral">&nbsp;</span>
903
- <span class="cline-any cline-yes">4x</span>
904
- <span class="cline-any cline-yes">4x</span>
905
- <span class="cline-any cline-yes">4x</span>
906
- <span class="cline-any cline-yes">4x</span>
907
- <span class="cline-any cline-yes">4x</span>
929
+ <span class="cline-any cline-yes">6x</span>
930
+ <span class="cline-any cline-yes">6x</span>
931
+ <span class="cline-any cline-yes">6x</span>
932
+ <span class="cline-any cline-yes">6x</span>
933
+ <span class="cline-any cline-yes">6x</span>
908
934
  <span class="cline-any cline-neutral">&nbsp;</span>
909
935
  <span class="cline-any cline-neutral">&nbsp;</span>
910
- <span class="cline-any cline-yes">4x</span>
936
+ <span class="cline-any cline-yes">6x</span>
937
+ <span class="cline-any cline-no">&nbsp;</span>
938
+ <span class="cline-any cline-no">&nbsp;</span>
939
+ <span class="cline-any cline-no">&nbsp;</span>
911
940
  <span class="cline-any cline-no">&nbsp;</span>
912
941
  <span class="cline-any cline-neutral">&nbsp;</span>
913
- <span class="cline-any cline-yes">4x</span>
914
942
  <span class="cline-any cline-neutral">&nbsp;</span>
915
943
  <span class="cline-any cline-neutral">&nbsp;</span>
944
+ <span class="cline-any cline-yes">6x</span>
945
+ <span class="cline-any cline-no">&nbsp;</span>
916
946
  <span class="cline-any cline-neutral">&nbsp;</span>
917
- <span class="cline-any cline-yes">4x</span>
947
+ <span class="cline-any cline-yes">6x</span>
918
948
  <span class="cline-any cline-neutral">&nbsp;</span>
919
- <span class="cline-any cline-yes">4x</span>
949
+ <span class="cline-any cline-neutral">&nbsp;</span>
950
+ <span class="cline-any cline-neutral">&nbsp;</span>
951
+ <span class="cline-any cline-yes">6x</span>
952
+ <span class="cline-any cline-neutral">&nbsp;</span>
953
+ <span class="cline-any cline-yes">6x</span>
920
954
  <span class="cline-any cline-no">&nbsp;</span>
921
955
  <span class="cline-any cline-neutral">&nbsp;</span>
922
- <span class="cline-any cline-yes">4x</span>
923
- <span class="cline-any cline-yes">4x</span>
956
+ <span class="cline-any cline-yes">6x</span>
957
+ <span class="cline-any cline-yes">6x</span>
924
958
  <span class="cline-any cline-neutral">&nbsp;</span>
925
959
  <span class="cline-any cline-neutral">&nbsp;</span>
926
960
  <span class="cline-any cline-yes">4x</span>
927
961
  <span class="cline-any cline-neutral">&nbsp;</span>
928
962
  <span class="cline-any cline-neutral">&nbsp;</span>
929
- <span class="cline-any cline-yes">55x</span>
963
+ <span class="cline-any cline-yes">2x</span>
930
964
  <span class="cline-any cline-yes">2x</span>
931
965
  <span class="cline-any cline-neutral">&nbsp;</span>
932
966
  <span class="cline-any cline-neutral">&nbsp;</span>
933
967
  <span class="cline-any cline-neutral">&nbsp;</span>
934
968
  <span class="cline-any cline-neutral">&nbsp;</span>
935
969
  <span class="cline-any cline-neutral">&nbsp;</span>
936
- <span class="cline-any cline-yes">55x</span>
937
970
  <span class="cline-any cline-yes">2x</span>
938
971
  <span class="cline-any cline-yes">2x</span>
939
972
  <span class="cline-any cline-yes">2x</span>
@@ -942,11 +975,21 @@
942
975
  <span class="cline-any cline-yes">2x</span>
943
976
  <span class="cline-any cline-neutral">&nbsp;</span>
944
977
  <span class="cline-any cline-neutral">&nbsp;</span>
978
+ <span class="cline-any cline-yes">2x</span>
979
+ <span class="cline-any cline-yes">2x</span>
980
+ <span class="cline-any cline-neutral">&nbsp;</span>
981
+ <span class="cline-any cline-neutral">&nbsp;</span>
945
982
  <span class="cline-any cline-neutral">&nbsp;</span>
946
983
  <span class="cline-any cline-neutral">&nbsp;</span>
947
984
  <span class="cline-any cline-yes">2x</span>
948
985
  <span class="cline-any cline-neutral">&nbsp;</span>
949
986
  <span class="cline-any cline-yes">2x</span>
987
+ <span class="cline-any cline-no">&nbsp;</span>
988
+ <span class="cline-any cline-no">&nbsp;</span>
989
+ <span class="cline-any cline-no">&nbsp;</span>
990
+ <span class="cline-any cline-neutral">&nbsp;</span>
991
+ <span class="cline-any cline-neutral">&nbsp;</span>
992
+ <span class="cline-any cline-yes">2x</span>
950
993
  <span class="cline-any cline-yes">2x</span>
951
994
  <span class="cline-any cline-neutral">&nbsp;</span>
952
995
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -962,16 +1005,21 @@
962
1005
  <span class="cline-any cline-neutral">&nbsp;</span>
963
1006
  <span class="cline-any cline-neutral">&nbsp;</span>
964
1007
  <span class="cline-any cline-yes">2x</span>
965
- <span class="cline-any cline-neutral">&nbsp;</span>
966
1008
  <span class="cline-any cline-yes">2x</span>
1009
+ <span class="cline-any cline-no">&nbsp;</span>
1010
+ <span class="cline-any cline-no">&nbsp;</span>
967
1011
  <span class="cline-any cline-yes">2x</span>
968
- <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-neutral">&nbsp;</span>
970
1012
  <span class="cline-any cline-yes">2x</span>
971
1013
  <span class="cline-any cline-yes">2x</span>
1014
+ <span class="cline-any cline-no">&nbsp;</span>
1015
+ <span class="cline-any cline-no">&nbsp;</span>
1016
+ <span class="cline-any cline-no">&nbsp;</span>
972
1017
  <span class="cline-any cline-neutral">&nbsp;</span>
1018
+ <span class="cline-any cline-no">&nbsp;</span>
973
1019
  <span class="cline-any cline-neutral">&nbsp;</span>
974
- <span class="cline-any cline-yes">55x</span>
1020
+ <span class="cline-any cline-neutral">&nbsp;</span>
1021
+ <span class="cline-any cline-neutral">&nbsp;</span>
1022
+ <span class="cline-any cline-yes">2x</span>
975
1023
  <span class="cline-any cline-yes">2x</span>
976
1024
  <span class="cline-any cline-yes">2x</span>
977
1025
  <span class="cline-any cline-yes">2x</span>
@@ -1060,7 +1108,7 @@ import {
1060
1108
  import { cloneDeep } from "lodash/fp"
1061
1109
  import { context, db as dbCore } from "@budibase/backend-core"
1062
1110
  import { finaliseRow, updateRelatedFormula } from "./staticFormula"
1063
- import * as exporters from "../view/exporters"
1111
+ import { csv, json, jsonWithSchema, Format } from "../view/exporters"
1064
1112
  import { apiFileReturn } from "../../../utilities/fileSystem"
1065
1113
  import {
1066
1114
  Ctx,
@@ -1071,6 +1119,8 @@ import {
1071
1119
  Table,
1072
1120
  } from "@budibase/types"
1073
1121
  &nbsp;
1122
+ const { cleanExportRows } = require("./utils")
1123
+ &nbsp;
1074
1124
  const CALCULATION_TYPES = {
1075
1125
  SUM: "sum",
1076
1126
  COUNT: "count",
@@ -1277,7 +1327,7 @@ export async function fetchView(ctx: Ctx) {
1277
1327
  calculation === CALCULATION_TYPES.COUNT ||
1278
1328
  calculation === CALCULATION_TYPES.SUM
1279
1329
  ) {
1280
- <span class="cstat-no" title="statement not covered" > rows = response.rows.map(<span class="fstat-no" title="function not covered" >row </span>=&gt; (<span class="cstat-no" title="statement not covered" >{</span></span>
1330
+ <span class="cstat-no" title="statement not covered" > rows = response.rows.map(<span class="fstat-no" title="function not covered" >row =&gt; (<span class="cstat-no" title="statement not covered" >{</span></span></span>
1281
1331
  group: row.key,
1282
1332
  field,
1283
1333
  value: row.value,
@@ -1361,7 +1411,7 @@ export async function bulkDestroy(ctx: Ctx) {
1361
1411
  )
1362
1412
  <span class="missing-if-branch" title="if path not taken" >I</span>if (tableId === InternalTables.USER_METADATA) {
1363
1413
  <span class="cstat-no" title="statement not covered" > updates = updates.concat(</span>
1364
- processedRows.map(<span class="fstat-no" title="function not covered" >row </span>=&gt; {
1414
+ processedRows.map(<span class="fstat-no" title="function not covered" >row =&gt; {</span>
1365
1415
  <span class="cstat-no" title="statement not covered" > ctx.params = {</span>
1366
1416
  id: row._id,
1367
1417
  }
@@ -1389,6 +1439,14 @@ export async function search(ctx: Ctx) {
1389
1439
  const { paginate, query, ...params } = ctx.request.body
1390
1440
  params.version = ctx.version
1391
1441
  params.tableId = tableId
1442
+ &nbsp;
1443
+ let table
1444
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (params.sort &amp;&amp; !params.sortType) {
1445
+ <span class="cstat-no" title="statement not covered" > table = await db.get(tableId)</span>
1446
+ const schema = <span class="cstat-no" title="statement not covered" >table.schema</span>
1447
+ const sortField = <span class="cstat-no" title="statement not covered" >schema[params.sort]</span>
1448
+ <span class="cstat-no" title="statement not covered" > params.sortType = sortField.type == "number" ? "number" : "string"</span>
1449
+ }
1392
1450
  &nbsp;
1393
1451
  let response
1394
1452
  <span class="missing-if-branch" title="if path not taken" >I</span>if (paginate) {
@@ -1403,7 +1461,7 @@ export async function search(ctx: Ctx) {
1403
1461
  <span class="missing-if-branch" title="if path not taken" >I</span>if (tableId === InternalTables.USER_METADATA) {
1404
1462
  <span class="cstat-no" title="statement not covered" > response.rows = await getGlobalUsersFromMetadata(response.rows)</span>
1405
1463
  }
1406
- const table = await db.get(tableId)
1464
+ table = table || (await db.get(tableId))
1407
1465
  response.rows = await outputProcessing(table, response.rows)
1408
1466
  }
1409
1467
  &nbsp;
@@ -1422,16 +1480,25 @@ export async function exportRows(ctx: Ctx) {
1422
1480
  const table = await db.get(ctx.params.tableId)
1423
1481
  const rowIds = ctx.request.body.rows
1424
1482
  let format = ctx.query.format
1425
- const { columns } = ctx.request.body
1426
- let response = (
1427
- await db.allDocs({
1428
- include_docs: true,
1429
- keys: rowIds,
1430
- })
1431
- ).rows.map(row =&gt; row.doc)
1483
+ const { columns, query } = ctx.request.body
1484
+ &nbsp;
1485
+ let result
1486
+ if (rowIds) {
1487
+ let response = (
1488
+ await db.allDocs({
1489
+ include_docs: true,
1490
+ keys: rowIds,
1491
+ })
1492
+ ).rows.map(row =&gt; row.doc)
1493
+ &nbsp;
1494
+ result = await outputProcessing(table, response)
1495
+ } else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span><span class="missing-if-branch" title="else path not taken" >E</span>if (query) {</span>
1496
+ let searchResponse = <span class="cstat-no" title="statement not covered" >await exports.search(ctx)</span>
1497
+ <span class="cstat-no" title="statement not covered" > result = searchResponse.rows</span>
1498
+ }
1432
1499
  &nbsp;
1433
- let result = (await outputProcessing(table, response)) as Row[]
1434
1500
  let rows: Row[] = []
1501
+ let schema = table.schema
1435
1502
  &nbsp;
1436
1503
  // Filter data to only specified columns if required
1437
1504
  if (columns &amp;&amp; columns.length) {
@@ -1445,14 +1512,19 @@ export async function exportRows(ctx: Ctx) {
1445
1512
  rows = result
1446
1513
  }
1447
1514
  &nbsp;
1448
- let headers = Object.keys(rows[0])
1449
- // @ts-ignore
1450
- const exporter = exporters[format]
1451
- const filename = `export.${format}`
1452
- &nbsp;
1453
- // send down the file
1454
- ctx.attachment(filename)
1455
- return apiFileReturn(exporter(headers, rows))
1515
+ let exportRows = cleanExportRows(rows, schema, format, columns)
1516
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (format === Format.CSV) {
1517
+ <span class="cstat-no" title="statement not covered" > ctx.attachment("export.csv")</span>
1518
+ <span class="cstat-no" title="statement not covered" > return apiFileReturn(csv(Object.keys(rows[0]), exportRows))</span>
1519
+ } else if (format === Format.JSON) {
1520
+ ctx.attachment("export.json")
1521
+ return apiFileReturn(json(exportRows))
1522
+ } else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="else path not taken" >E</span>if (format === Format.JSON_WITH_SCHEMA) {</span>
1523
+ <span class="cstat-no" title="statement not covered" > ctx.attachment("export.json")</span>
1524
+ <span class="cstat-no" title="statement not covered" > return apiFileReturn(jsonWithSchema(schema, exportRows))</span>
1525
+ } else {
1526
+ <span class="cstat-no" title="statement not covered" > throw "Format not recognised"</span>
1527
+ }
1456
1528
  }
1457
1529
  &nbsp;
1458
1530
  export async function fetchEnrichedRow(ctx: Ctx) {
@@ -1522,7 +1594,7 @@ export async function fetchEnrichedRow(ctx: Ctx) {
1522
1594
  <div class='footer quiet pad2 space-top1 center small'>
1523
1595
  Code coverage generated by
1524
1596
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1525
- at Tue Jan 10 2023 17:21:59 GMT+0000 (Coordinated Universal Time)
1597
+ at Tue Jan 31 2023 16:24:59 GMT+0000 (Coordinated Universal Time)
1526
1598
  </div>
1527
1599
  <script src="../../../../prettify.js"></script>
1528
1600
  <script>