@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
@@ -251,18 +251,18 @@
251
251
  <a name='L186'></a><a href='#L186'>186</a>
252
252
  <a name='L187'></a><a href='#L187'>187</a>
253
253
  <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
255
- <span class="cline-any cline-yes">55x</span>
256
- <span class="cline-any cline-yes">55x</span>
257
- <span class="cline-any cline-yes">55x</span>
258
- <span class="cline-any cline-yes">55x</span>
259
- <span class="cline-any cline-yes">55x</span>
260
- <span class="cline-any cline-yes">55x</span>
254
+ <a name='L189'></a><a href='#L189'>189</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">56x</span>
255
+ <span class="cline-any cline-yes">56x</span>
256
+ <span class="cline-any cline-yes">56x</span>
257
+ <span class="cline-any cline-yes">56x</span>
258
+ <span class="cline-any cline-yes">56x</span>
259
+ <span class="cline-any cline-yes">56x</span>
260
+ <span class="cline-any cline-yes">56x</span>
261
261
  <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-yes">55x</span>
262
+ <span class="cline-any cline-yes">56x</span>
263
263
  <span class="cline-any cline-neutral">&nbsp;</span>
264
264
  <span class="cline-any cline-neutral">&nbsp;</span>
265
- <span class="cline-any cline-yes">1532x</span>
265
+ <span class="cline-any cline-yes">1544x</span>
266
266
  <span class="cline-any cline-neutral">&nbsp;</span>
267
267
  <span class="cline-any cline-neutral">&nbsp;</span>
268
268
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -273,19 +273,19 @@
273
273
  <span class="cline-any cline-neutral">&nbsp;</span>
274
274
  <span class="cline-any cline-neutral">&nbsp;</span>
275
275
  <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-yes">320x</span>
277
- <span class="cline-any cline-yes">320x</span>
278
- <span class="cline-any cline-yes">320x</span>
276
+ <span class="cline-any cline-yes">324x</span>
277
+ <span class="cline-any cline-yes">324x</span>
278
+ <span class="cline-any cline-yes">324x</span>
279
279
  <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-yes">1214x</span>
281
- <span class="cline-any cline-yes">1214x</span>
280
+ <span class="cline-any cline-yes">1222x</span>
281
+ <span class="cline-any cline-yes">1222x</span>
282
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
283
  <span class="cline-any cline-no">&nbsp;</span>
284
284
  <span class="cline-any cline-no">&nbsp;</span>
285
285
  <span class="cline-any cline-neutral">&nbsp;</span>
286
286
  <span class="cline-any cline-no">&nbsp;</span>
287
287
  <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-yes">320x</span>
288
+ <span class="cline-any cline-yes">324x</span>
289
289
  <span class="cline-any cline-neutral">&nbsp;</span>
290
290
  <span class="cline-any cline-neutral">&nbsp;</span>
291
291
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -297,31 +297,31 @@
297
297
  <span class="cline-any cline-neutral">&nbsp;</span>
298
298
  <span class="cline-any cline-neutral">&nbsp;</span>
299
299
  <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-yes">133x</span>
301
- <span class="cline-any cline-yes">308x</span>
300
+ <span class="cline-any cline-yes">135x</span>
301
+ <span class="cline-any cline-yes">312x</span>
302
302
  <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-yes">133x</span>
304
- <span class="cline-any cline-yes">133x</span>
305
- <span class="cline-any cline-yes">323x</span>
303
+ <span class="cline-any cline-yes">135x</span>
304
+ <span class="cline-any cline-yes">135x</span>
305
+ <span class="cline-any cline-yes">327x</span>
306
306
  <span class="cline-any cline-neutral">&nbsp;</span>
307
307
  <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-yes">133x</span>
309
- <span class="cline-any cline-yes">287x</span>
308
+ <span class="cline-any cline-yes">135x</span>
309
+ <span class="cline-any cline-yes">291x</span>
310
310
  <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-yes">287x</span>
311
+ <span class="cline-any cline-yes">291x</span>
312
312
  <span class="cline-any cline-yes">2x</span>
313
313
  <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-yes">287x</span>
314
+ <span class="cline-any cline-yes">291x</span>
315
315
  <span class="cline-any cline-no">&nbsp;</span>
316
316
  <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-yes">287x</span>
318
- <span class="cline-any cline-yes">287x</span>
317
+ <span class="cline-any cline-yes">291x</span>
318
+ <span class="cline-any cline-yes">291x</span>
319
319
  <span class="cline-any cline-no">&nbsp;</span>
320
320
  <span class="cline-any cline-neutral">&nbsp;</span>
321
321
  <span class="cline-any cline-neutral">&nbsp;</span>
322
322
  <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-yes">287x</span>
324
- <span class="cline-any cline-yes">287x</span>
323
+ <span class="cline-any cline-yes">291x</span>
324
+ <span class="cline-any cline-yes">291x</span>
325
325
  <span class="cline-any cline-neutral">&nbsp;</span>
326
326
  <span class="cline-any cline-no">&nbsp;</span>
327
327
  <span class="cline-any cline-no">&nbsp;</span>
@@ -358,22 +358,22 @@
358
358
  <span class="cline-any cline-neutral">&nbsp;</span>
359
359
  <span class="cline-any cline-neutral">&nbsp;</span>
360
360
  <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-yes">133x</span>
362
- <span class="cline-any cline-yes">133x</span>
361
+ <span class="cline-any cline-yes">135x</span>
362
+ <span class="cline-any cline-yes">135x</span>
363
363
  <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-yes">133x</span>
365
- <span class="cline-any cline-yes">308x</span>
364
+ <span class="cline-any cline-yes">135x</span>
365
+ <span class="cline-any cline-yes">312x</span>
366
366
  <span class="cline-any cline-neutral">&nbsp;</span>
367
367
  <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-yes">133x</span>
368
+ <span class="cline-any cline-yes">135x</span>
369
369
  <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-yes">133x</span>
371
- <span class="cline-any cline-yes">325x</span>
370
+ <span class="cline-any cline-yes">135x</span>
371
+ <span class="cline-any cline-yes">329x</span>
372
372
  <span class="cline-any cline-neutral">&nbsp;</span>
373
373
  <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-yes">133x</span>
375
- <span class="cline-any cline-yes">178x</span>
376
- <span class="cline-any cline-yes">178x</span>
374
+ <span class="cline-any cline-yes">135x</span>
375
+ <span class="cline-any cline-yes">180x</span>
376
+ <span class="cline-any cline-yes">180x</span>
377
377
  <span class="cline-any cline-neutral">&nbsp;</span>
378
378
  <span class="cline-any cline-no">&nbsp;</span>
379
379
  <span class="cline-any cline-no">&nbsp;</span>
@@ -381,8 +381,8 @@
381
381
  <span class="cline-any cline-neutral">&nbsp;</span>
382
382
  <span class="cline-any cline-neutral">&nbsp;</span>
383
383
  <span class="cline-any cline-neutral">&nbsp;</span>
384
- <span class="cline-any cline-yes">133x</span>
385
- <span class="cline-any cline-yes">130x</span>
384
+ <span class="cline-any cline-yes">135x</span>
385
+ <span class="cline-any cline-yes">132x</span>
386
386
  <span class="cline-any cline-yes">33x</span>
387
387
  <span class="cline-any cline-yes">33x</span>
388
388
  <span class="cline-any cline-yes">33x</span>
@@ -403,9 +403,9 @@
403
403
  <span class="cline-any cline-neutral">&nbsp;</span>
404
404
  <span class="cline-any cline-neutral">&nbsp;</span>
405
405
  <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-yes">133x</span>
407
- <span class="cline-any cline-yes">235x</span>
408
- <span class="cline-any cline-yes">178x</span>
406
+ <span class="cline-any cline-yes">135x</span>
407
+ <span class="cline-any cline-yes">237x</span>
408
+ <span class="cline-any cline-yes">180x</span>
409
409
  <span class="cline-any cline-no">&nbsp;</span>
410
410
  <span class="cline-any cline-neutral">&nbsp;</span>
411
411
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -416,27 +416,27 @@
416
416
  <span class="cline-any cline-neutral">&nbsp;</span>
417
417
  <span class="cline-any cline-neutral">&nbsp;</span>
418
418
  <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-yes">130x</span>
419
+ <span class="cline-any cline-yes">132x</span>
420
420
  <span class="cline-any cline-neutral">&nbsp;</span>
421
- <span class="cline-any cline-yes">318x</span>
421
+ <span class="cline-any cline-yes">322x</span>
422
422
  <span class="cline-any cline-neutral">&nbsp;</span>
423
423
  <span class="cline-any cline-neutral">&nbsp;</span>
424
424
  <span class="cline-any cline-neutral">&nbsp;</span>
425
425
  <span class="cline-any cline-neutral">&nbsp;</span>
426
426
  <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-yes">130x</span>
427
+ <span class="cline-any cline-yes">132x</span>
428
428
  <span class="cline-any cline-no">&nbsp;</span>
429
429
  <span class="cline-any cline-neutral">&nbsp;</span>
430
430
  <span class="cline-any cline-neutral">&nbsp;</span>
431
431
  <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-yes">133x</span>
432
+ <span class="cline-any cline-yes">135x</span>
433
433
  <span class="cline-any cline-neutral">&nbsp;</span>
434
434
  <span class="cline-any cline-neutral">&nbsp;</span>
435
435
  <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-yes">133x</span>
437
- <span class="cline-any cline-yes">133x</span>
438
- <span class="cline-any cline-yes">133x</span>
439
- <span class="cline-any cline-yes">130x</span>
436
+ <span class="cline-any cline-yes">135x</span>
437
+ <span class="cline-any cline-yes">135x</span>
438
+ <span class="cline-any cline-yes">135x</span>
439
+ <span class="cline-any cline-yes">132x</span>
440
440
  <span class="cline-any cline-neutral">&nbsp;</span>
441
441
  <span class="cline-any cline-neutral">&nbsp;</span>
442
442
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { FieldTypes, FormulaTypes } from "../../../constants"
@@ -634,7 +634,7 @@ export async function runStaticFormulaChecks(
634
634
  <div class='footer quiet pad2 space-top1 center small'>
635
635
  Code coverage generated by
636
636
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
637
- at Wed Jan 11 2023 09:50:52 GMT+0000 (Coordinated Universal Time)
637
+ at Wed Feb 01 2023 18:03:38 GMT+0000 (Coordinated Universal Time)
638
638
  </div>
639
639
  <script src="../../../../prettify.js"></script>
640
640
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">6.71% </span>
26
+ <span class="strong">6.57% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>10/149</span>
28
+ <span class='fraction'>10/152</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/65</span>
35
+ <span class='fraction'>0/66</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">6.71% </span>
47
+ <span class="strong">6.57% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>10/149</span>
49
+ <span class='fraction'>10/152</span>
50
50
  </div>
51
51
 
52
52
 
@@ -417,21 +417,23 @@
417
417
  <a name='L352'></a><a href='#L352'>352</a>
418
418
  <a name='L353'></a><a href='#L353'>353</a>
419
419
  <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
421
423
  <span class="cline-any cline-neutral">&nbsp;</span>
422
424
  <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-yes">55x</span>
425
+ <span class="cline-any cline-yes">56x</span>
424
426
  <span class="cline-any cline-neutral">&nbsp;</span>
425
427
  <span class="cline-any cline-neutral">&nbsp;</span>
426
428
  <span class="cline-any cline-neutral">&nbsp;</span>
427
429
  <span class="cline-any cline-neutral">&nbsp;</span>
428
430
  <span class="cline-any cline-neutral">&nbsp;</span>
429
- <span class="cline-any cline-yes">55x</span>
430
- <span class="cline-any cline-yes">55x</span>
431
- <span class="cline-any cline-yes">55x</span>
432
- <span class="cline-any cline-yes">55x</span>
433
- <span class="cline-any cline-yes">55x</span>
434
- <span class="cline-any cline-yes">55x</span>
431
+ <span class="cline-any cline-yes">56x</span>
432
+ <span class="cline-any cline-yes">56x</span>
433
+ <span class="cline-any cline-yes">56x</span>
434
+ <span class="cline-any cline-yes">56x</span>
435
+ <span class="cline-any cline-yes">56x</span>
436
+ <span class="cline-any cline-yes">56x</span>
435
437
  <span class="cline-any cline-neutral">&nbsp;</span>
436
438
  <span class="cline-any cline-neutral">&nbsp;</span>
437
439
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -441,9 +443,9 @@
441
443
  <span class="cline-any cline-neutral">&nbsp;</span>
442
444
  <span class="cline-any cline-neutral">&nbsp;</span>
443
445
  <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-yes">55x</span>
445
- <span class="cline-any cline-yes">55x</span>
446
- <span class="cline-any cline-yes">55x</span>
446
+ <span class="cline-any cline-yes">56x</span>
447
+ <span class="cline-any cline-yes">56x</span>
448
+ <span class="cline-any cline-yes">56x</span>
447
449
  <span class="cline-any cline-neutral">&nbsp;</span>
448
450
  <span class="cline-any cline-neutral">&nbsp;</span>
449
451
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -746,25 +748,27 @@
746
748
  <span class="cline-any cline-neutral">&nbsp;</span>
747
749
  <span class="cline-any cline-no">&nbsp;</span>
748
750
  <span class="cline-any cline-no">&nbsp;</span>
749
- <span class="cline-any cline-neutral">&nbsp;</span>
750
751
  <span class="cline-any cline-no">&nbsp;</span>
751
- <span class="cline-any cline-neutral">&nbsp;</span>
752
752
  <span class="cline-any cline-no">&nbsp;</span>
753
753
  <span class="cline-any cline-no">&nbsp;</span>
754
- <span class="cline-any cline-neutral">&nbsp;</span>
755
754
  <span class="cline-any cline-no">&nbsp;</span>
756
755
  <span class="cline-any cline-neutral">&nbsp;</span>
757
756
  <span class="cline-any cline-neutral">&nbsp;</span>
758
757
  <span class="cline-any cline-no">&nbsp;</span>
758
+ <span class="cline-any cline-neutral">&nbsp;</span>
759
+ <span class="cline-any cline-no">&nbsp;</span>
760
+ <span class="cline-any cline-neutral">&nbsp;</span>
761
+ <span class="cline-any cline-neutral">&nbsp;</span>
759
762
  <span class="cline-any cline-no">&nbsp;</span>
760
763
  <span class="cline-any cline-no">&nbsp;</span>
761
764
  <span class="cline-any cline-no">&nbsp;</span>
762
765
  <span class="cline-any cline-no">&nbsp;</span>
763
766
  <span class="cline-any cline-neutral">&nbsp;</span>
764
767
  <span class="cline-any cline-no">&nbsp;</span>
768
+ <span class="cline-any cline-no">&nbsp;</span>
765
769
  <span class="cline-any cline-neutral">&nbsp;</span>
766
770
  <span class="cline-any cline-neutral">&nbsp;</span>
767
- <span class="cline-any cline-neutral">&nbsp;</span>
771
+ <span class="cline-any cline-no">&nbsp;</span>
768
772
  <span class="cline-any cline-no">&nbsp;</span>
769
773
  <span class="cline-any cline-neutral">&nbsp;</span>
770
774
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -783,9 +787,9 @@ import {
783
787
  } from "./utils"
784
788
  import { FieldTypes, RelationshipTypes } from "../../../constants"
785
789
  import { makeExternalQuery } from "../../../integrations/base/query"
786
- import * as csvParser from "../../../utilities/csvParser"
787
790
  import { handleRequest } from "../row/external"
788
791
  import { events, context } from "@budibase/backend-core"
792
+ import { parse, isRows, isSchema } from "../../../utilities/schema"
789
793
  import {
790
794
  Datasource,
791
795
  Table,
@@ -970,7 +974,7 @@ export async function <span class="cstat-no" title="statement not covered" ><spa
970
974
  const table: TableRequest = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
971
975
  const renamed = <span class="cstat-no" title="statement not covered" >table?._rename</span>
972
976
  // can't do this right now
973
- <span class="cstat-no" title="statement not covered" > delete table.dataImport</span>
977
+ <span class="cstat-no" title="statement not covered" > delete table.rows</span>
974
978
  const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(ctx.request.body)!</span>
975
979
  // table doesn't exist already, note that it is created
976
980
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table._id) {</span>
@@ -992,7 +996,7 @@ export async function <span class="cstat-no" title="statement not covered" ><spa
992
996
  }
993
997
  &nbsp;
994
998
  const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
995
- const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
999
+ const datasource = <span class="cstat-no" title="statement not covered" >await sdk.datasources.get(datasourceId)</span>
996
1000
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!datasource.entities) {</span>
997
1001
  <span class="cstat-no" title="statement not covered" > datasource.entities = {}</span>
998
1002
  }
@@ -1095,15 +1099,17 @@ export async function <span class="cstat-no" title="statement not covered" ><spa
1095
1099
  const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(tableToDelete)</span>
1096
1100
  &nbsp;
1097
1101
  const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
1098
- const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
1102
+ const datasource = <span class="cstat-no" title="statement not covered" >await sdk.datasources.get(datasourceId!)</span>
1099
1103
  const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
1100
1104
  &nbsp;
1101
1105
  const operation = <span class="cstat-no" title="statement not covered" >Operation.DELETE_TABLE</span>
1102
- <span class="cstat-no" title="statement not covered" > await makeTableRequest(datasource, operation, tableToDelete, tables)</span>
1103
- &nbsp;
1104
- <span class="cstat-no" title="statement not covered" > cleanupRelationships(tableToDelete, tables)</span>
1106
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (tables) {</span>
1107
+ <span class="cstat-no" title="statement not covered" > await makeTableRequest(datasource, operation, tableToDelete, tables)</span>
1108
+ <span class="cstat-no" title="statement not covered" > cleanupRelationships(tableToDelete, tables)</span>
1109
+ <span class="cstat-no" title="statement not covered" > delete tables[tableToDelete.name]</span>
1110
+ <span class="cstat-no" title="statement not covered" > datasource.entities = tables</span>
1111
+ }
1105
1112
  &nbsp;
1106
- <span class="cstat-no" title="statement not covered" > delete datasource.entities[tableToDelete.name]</span>
1107
1113
  <span class="cstat-no" title="statement not covered" > await db.put(datasource)</span>
1108
1114
  &nbsp;
1109
1115
  <span class="cstat-no" title="statement not covered" > return tableToDelete</span>
@@ -1111,18 +1117,18 @@ export async function <span class="cstat-no" title="statement not covered" ><spa
1111
1117
  &nbsp;
1112
1118
  export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >bulkImport<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext) {
1113
1119
  const table = <span class="cstat-no" title="statement not covered" >await sdk.tables.getTable(ctx.params.tableId)</span>
1114
- const { dataImport } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
1115
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!dataImport || !dataImport.schema || !dataImport.csvString) {</span>
1120
+ const { rows }: { rows: unknown } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
1121
+ const schema: unknown = <span class="cstat-no" title="statement not covered" >table.schema</span>
1122
+ &nbsp;
1123
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!rows || !isRows(rows) || !isSchema(schema)) {</span>
1116
1124
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Provided data import information is invalid.")</span>
1117
1125
  }
1118
- const rows = <span class="cstat-no" title="statement not covered" >await csvParser.transform({</span>
1119
- ...dataImport,
1120
- existingTable: table,
1121
- })
1126
+ &nbsp;
1127
+ const parsedRows = <span class="cstat-no" title="statement not covered" >await parse(rows, schema)</span>
1122
1128
  <span class="cstat-no" title="statement not covered" > await handleRequest(Operation.BULK_CREATE, table._id!, {</span>
1123
- rows,
1129
+ rows: parsedRows,
1124
1130
  })
1125
- <span class="cstat-no" title="statement not covered" > await events.rows.imported(table, "csv", rows.length)</span>
1131
+ <span class="cstat-no" title="statement not covered" > await events.rows.imported(table, parsedRows.length)</span>
1126
1132
  <span class="cstat-no" title="statement not covered" > return table</span>
1127
1133
  }
1128
1134
  &nbsp;</pre></td></tr></table></pre>
@@ -1132,7 +1138,7 @@ export async function <span class="cstat-no" title="statement not covered" ><spa
1132
1138
  <div class='footer quiet pad2 space-top1 center small'>
1133
1139
  Code coverage generated by
1134
1140
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1135
- at Wed Jan 11 2023 09:50:52 GMT+0000 (Coordinated Universal Time)
1141
+ at Wed Feb 01 2023 18:03:38 GMT+0000 (Coordinated Universal Time)
1136
1142
  </div>
1137
1143
  <script src="../../../../prettify.js"></script>
1138
1144
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">54.24% </span>
26
+ <span class="strong">52.21% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>307/566</span>
28
+ <span class='fraction'>306/586</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">38.96% </span>
33
+ <span class="strong">36.28% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>90/231</span>
35
+ <span class='fraction'>86/237</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">54.36% </span>
40
+ <span class="strong">53.27% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>56/103</span>
42
+ <span class='fraction'>57/107</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">54.33% </span>
47
+ <span class="strong">52.26% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>301/554</span>
49
+ <span class='fraction'>300/574</span>
50
50
  </div>
51
51
 
52
52
 
@@ -95,32 +95,32 @@
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="6.71" class="pic low">
98
+ <td data-value="6.57" class="pic low">
99
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="6.71" class="pct low">6.71%</td>
102
- <td data-value="149" class="abs low">10/149</td>
101
+ <td data-value="6.57" class="pct low">6.57%</td>
102
+ <td data-value="152" class="abs low">10/152</td>
103
103
  <td data-value="0" class="pct low">0%</td>
104
- <td data-value="65" class="abs low">0/65</td>
104
+ <td data-value="66" class="abs low">0/66</td>
105
105
  <td data-value="0" class="pct low">0%</td>
106
106
  <td data-value="17" class="abs low">0/17</td>
107
- <td data-value="6.71" class="pct low">6.71%</td>
108
- <td data-value="149" class="abs low">10/149</td>
107
+ <td data-value="6.57" class="pct low">6.57%</td>
108
+ <td data-value="152" class="abs low">10/152</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
112
- <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
113
- <td data-value="85.93" class="pic high">
114
- <div class="chart"><div class="cover-fill" style="width: 85%"></div><div class="cover-empty" style="width: 15%"></div></div>
112
+ <td class="file medium" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
113
+ <td data-value="66.25" class="pic medium">
114
+ <div class="chart"><div class="cover-fill" style="width: 66%"></div><div class="cover-empty" style="width: 34%"></div></div>
115
115
  </td>
116
- <td data-value="85.93" class="pct high">85.93%</td>
117
- <td data-value="64" class="abs high">55/64</td>
118
- <td data-value="76.92" class="pct medium">76.92%</td>
119
- <td data-value="26" class="abs medium">20/26</td>
120
- <td data-value="86.66" class="pct high">86.66%</td>
121
- <td data-value="15" class="abs high">13/15</td>
122
- <td data-value="87.3" class="pct high">87.3%</td>
123
- <td data-value="63" class="abs high">55/63</td>
116
+ <td data-value="66.25" class="pct medium">66.25%</td>
117
+ <td data-value="80" class="abs medium">53/80</td>
118
+ <td data-value="50" class="pct medium">50%</td>
119
+ <td data-value="30" class="abs medium">15/30</td>
120
+ <td data-value="73.68" class="pct medium">73.68%</td>
121
+ <td data-value="19" class="abs medium">14/19</td>
122
+ <td data-value="67.08" class="pct medium">67.08%</td>
123
+ <td data-value="79" class="abs medium">53/79</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -140,17 +140,17 @@
140
140
 
141
141
  <tr>
142
142
  <td class="file medium" data-value="utils.ts"><a href="utils.ts.html">utils.ts</a></td>
143
- <td data-value="63.93" class="pic medium">
144
- <div class="chart"><div class="cover-fill" style="width: 63%"></div><div class="cover-empty" style="width: 37%"></div></div>
143
+ <td data-value="64.13" class="pic medium">
144
+ <div class="chart"><div class="cover-fill" style="width: 64%"></div><div class="cover-empty" style="width: 36%"></div></div>
145
145
  </td>
146
- <td data-value="63.93" class="pct medium">63.93%</td>
147
- <td data-value="183" class="abs medium">117/183</td>
148
- <td data-value="45" class="pct low">45%</td>
149
- <td data-value="60" class="abs low">27/60</td>
146
+ <td data-value="64.13" class="pct medium">64.13%</td>
147
+ <td data-value="184" class="abs medium">118/184</td>
148
+ <td data-value="45.9" class="pct low">45.9%</td>
149
+ <td data-value="61" class="abs low">28/61</td>
150
150
  <td data-value="51.11" class="pct medium">51.11%</td>
151
151
  <td data-value="45" class="abs medium">23/45</td>
152
- <td data-value="63.84" class="pct medium">63.84%</td>
153
- <td data-value="177" class="abs medium">113/177</td>
152
+ <td data-value="64.04" class="pct medium">64.04%</td>
153
+ <td data-value="178" class="abs medium">114/178</td>
154
154
  </tr>
155
155
 
156
156
  </tbody>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at Wed Jan 11 2023 09:50:52 GMT+0000 (Coordinated Universal Time)
164
+ at Wed Feb 01 2023 18:03:38 GMT+0000 (Coordinated Universal Time)
165
165
  </div>
166
166
  <script src="../../../../prettify.js"></script>
167
167
  <script>