@budibase/server 2.2.12-alpha.3 → 2.2.12-alpha.31

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 (500) hide show
  1. package/builder/assets/{bb-emblem.4e4717da.svg → bb-emblem.05f7ae7a.svg} +1 -1
  2. package/builder/assets/index.2203da4c.css +6 -0
  3. package/builder/assets/{index.8a1f534a.js → index.d48f71a4.js} +411 -423
  4. package/builder/index.html +2 -2
  5. package/coverage/clover.xml +1959 -2080
  6. package/coverage/coverage-final.json +278 -279
  7. package/coverage/lcov-report/index.html +391 -391
  8. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +4 -4
  9. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +2 -2
  10. package/coverage/lcov-report/src/api/controllers/application.ts.html +82 -82
  11. package/coverage/lcov-report/src/api/controllers/auth.ts.html +2 -2
  12. package/coverage/lcov-report/src/api/controllers/automation.ts.html +17 -17
  13. package/coverage/lcov-report/src/api/controllers/backup.ts.html +3 -3
  14. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +5 -5
  15. package/coverage/lcov-report/src/api/controllers/component.ts.html +8 -8
  16. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +23 -23
  17. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +16 -16
  18. package/coverage/lcov-report/src/api/controllers/deploy/index.html +7 -7
  19. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +73 -73
  20. package/coverage/lcov-report/src/api/controllers/dev.ts.html +15 -15
  21. package/coverage/lcov-report/src/api/controllers/index.html +98 -98
  22. package/coverage/lcov-report/src/api/controllers/integration.ts.html +2 -2
  23. package/coverage/lcov-report/src/api/controllers/layout.ts.html +5 -5
  24. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +3 -3
  25. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +3 -3
  26. package/coverage/lcov-report/src/api/controllers/permission.ts.html +4 -4
  27. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +4 -4
  28. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +17 -17
  29. package/coverage/lcov-report/src/api/controllers/plugin/index.html +31 -31
  30. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +21 -21
  31. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +7 -7
  32. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +5 -5
  33. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +2 -2
  34. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +2 -2
  35. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +27 -27
  36. package/coverage/lcov-report/src/api/controllers/public/index.html +58 -58
  37. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +6 -6
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +25 -25
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +3 -3
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +7 -7
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +3 -3
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +3 -3
  43. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +3 -3
  44. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +13 -13
  45. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +18 -18
  46. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +19 -19
  47. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +24 -24
  48. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +5 -5
  49. package/coverage/lcov-report/src/api/controllers/query/import/index.html +8 -8
  50. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +5 -5
  51. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +14 -14
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +13 -13
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +5 -5
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +6 -6
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +23 -23
  56. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +8 -8
  57. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +8 -8
  58. package/coverage/lcov-report/src/api/controllers/query/index.html +15 -15
  59. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +20 -20
  60. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +5 -5
  61. package/coverage/lcov-report/src/api/controllers/role.ts.html +4 -4
  62. package/coverage/lcov-report/src/api/controllers/routing.ts.html +5 -5
  63. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +48 -30
  64. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +38 -38
  65. package/coverage/lcov-report/src/api/controllers/row/index.html +58 -58
  66. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +12 -12
  67. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +39 -36
  68. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +28 -28
  69. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +14 -14
  70. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +7 -7
  71. package/coverage/lcov-report/src/api/controllers/screen.ts.html +8 -8
  72. package/coverage/lcov-report/src/api/controllers/script.ts.html +10 -10
  73. package/coverage/lcov-report/src/api/controllers/static/index.html +15 -15
  74. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +17 -17
  75. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +10 -10
  76. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +33 -33
  77. package/coverage/lcov-report/src/api/controllers/table/index.html +48 -48
  78. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +128 -41
  79. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +19 -22
  80. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +52 -55
  81. package/coverage/lcov-report/src/api/controllers/templates.ts.html +15 -15
  82. package/coverage/lcov-report/src/api/controllers/user.ts.html +101 -77
  83. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +63 -18
  84. package/coverage/lcov-report/src/api/controllers/view/index.html +38 -38
  85. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +62 -35
  86. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +19 -19
  87. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +3 -3
  88. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +4 -4
  89. package/coverage/lcov-report/src/api/index.html +15 -15
  90. package/coverage/lcov-report/src/api/index.ts.html +10 -10
  91. package/coverage/lcov-report/src/api/routes/analytics.ts.html +4 -4
  92. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +4 -4
  93. package/coverage/lcov-report/src/api/routes/application.ts.html +4 -4
  94. package/coverage/lcov-report/src/api/routes/auth.ts.html +4 -4
  95. package/coverage/lcov-report/src/api/routes/automation.ts.html +5 -5
  96. package/coverage/lcov-report/src/api/routes/backup.ts.html +4 -4
  97. package/coverage/lcov-report/src/api/routes/cloud.ts.html +4 -4
  98. package/coverage/lcov-report/src/api/routes/component.ts.html +4 -4
  99. package/coverage/lcov-report/src/api/routes/datasource.ts.html +5 -5
  100. package/coverage/lcov-report/src/api/routes/deploy.ts.html +4 -4
  101. package/coverage/lcov-report/src/api/routes/dev.ts.html +5 -5
  102. package/coverage/lcov-report/src/api/routes/index.html +66 -66
  103. package/coverage/lcov-report/src/api/routes/index.ts.html +5 -5
  104. package/coverage/lcov-report/src/api/routes/integration.ts.html +4 -4
  105. package/coverage/lcov-report/src/api/routes/layout.ts.html +4 -4
  106. package/coverage/lcov-report/src/api/routes/metadata.ts.html +5 -5
  107. package/coverage/lcov-report/src/api/routes/migrations.ts.html +4 -4
  108. package/coverage/lcov-report/src/api/routes/permission.ts.html +4 -4
  109. package/coverage/lcov-report/src/api/routes/plugin.ts.html +3 -3
  110. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +3 -3
  111. package/coverage/lcov-report/src/api/routes/public/index.html +24 -24
  112. package/coverage/lcov-report/src/api/routes/public/index.ts.html +10 -10
  113. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +5 -5
  114. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +10 -10
  115. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +3 -3
  116. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +3 -3
  117. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +3 -3
  118. package/coverage/lcov-report/src/api/routes/public/tests/index.html +7 -7
  119. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +5 -5
  120. package/coverage/lcov-report/src/api/routes/public/users.ts.html +3 -3
  121. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +4 -4
  122. package/coverage/lcov-report/src/api/routes/public/utils/index.html +5 -5
  123. package/coverage/lcov-report/src/api/routes/query.ts.html +5 -5
  124. package/coverage/lcov-report/src/api/routes/role.ts.html +4 -4
  125. package/coverage/lcov-report/src/api/routes/routing.ts.html +4 -4
  126. package/coverage/lcov-report/src/api/routes/row.ts.html +3 -3
  127. package/coverage/lcov-report/src/api/routes/screen.ts.html +4 -4
  128. package/coverage/lcov-report/src/api/routes/script.ts.html +13 -13
  129. package/coverage/lcov-report/src/api/routes/static.ts.html +6 -6
  130. package/coverage/lcov-report/src/api/routes/table.ts.html +20 -89
  131. package/coverage/lcov-report/src/api/routes/templates.ts.html +4 -4
  132. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +13 -13
  133. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +23 -23
  134. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +14 -14
  135. package/coverage/lcov-report/src/api/routes/user.ts.html +4 -4
  136. package/coverage/lcov-report/src/api/routes/utils/index.html +3 -3
  137. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +8 -8
  138. package/coverage/lcov-report/src/api/routes/view.ts.html +4 -4
  139. package/coverage/lcov-report/src/api/routes/webhook.ts.html +4 -4
  140. package/coverage/lcov-report/src/app.ts.html +22 -16
  141. package/coverage/lcov-report/src/automations/actions.ts.html +9 -9
  142. package/coverage/lcov-report/src/automations/automationUtils.ts.html +15 -15
  143. package/coverage/lcov-report/src/automations/bullboard.ts.html +12 -12
  144. package/coverage/lcov-report/src/automations/index.html +52 -52
  145. package/coverage/lcov-report/src/automations/index.ts.html +16 -16
  146. package/coverage/lcov-report/src/automations/logging/index.html +3 -3
  147. package/coverage/lcov-report/src/automations/logging/index.ts.html +5 -5
  148. package/coverage/lcov-report/src/automations/steps/bash.ts.html +5 -5
  149. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +4 -4
  150. package/coverage/lcov-report/src/automations/steps/delay.ts.html +4 -4
  151. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +4 -4
  152. package/coverage/lcov-report/src/automations/steps/discord.ts.html +5 -5
  153. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +4 -4
  154. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +4 -4
  155. package/coverage/lcov-report/src/automations/steps/filter.ts.html +8 -8
  156. package/coverage/lcov-report/src/automations/steps/index.html +71 -71
  157. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +6 -6
  158. package/coverage/lcov-report/src/automations/steps/loop.ts.html +3 -3
  159. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +12 -12
  160. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +12 -12
  161. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +5 -5
  162. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +5 -5
  163. package/coverage/lcov-report/src/automations/steps/slack.ts.html +6 -6
  164. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +4 -4
  165. package/coverage/lcov-report/src/automations/steps/utils.ts.html +4 -4
  166. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +4 -4
  167. package/coverage/lcov-report/src/automations/tests/utilities/index.html +15 -15
  168. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +14 -14
  169. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +5 -5
  170. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +5 -5
  171. package/coverage/lcov-report/src/automations/triggerInfo/index.html +17 -17
  172. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +4 -4
  173. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +5 -5
  174. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +5 -5
  175. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +5 -5
  176. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +5 -5
  177. package/coverage/lcov-report/src/automations/triggers.ts.html +11 -11
  178. package/coverage/lcov-report/src/automations/utils.ts.html +37 -37
  179. package/coverage/lcov-report/src/constants/index.html +19 -19
  180. package/coverage/lcov-report/src/constants/index.ts.html +103 -103
  181. package/coverage/lcov-report/src/constants/layouts.ts.html +6 -6
  182. package/coverage/lcov-report/src/constants/screens.ts.html +2 -2
  183. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +25 -25
  184. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +7 -7
  185. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +7 -7
  186. package/coverage/lcov-report/src/db/defaultData/index.html +43 -43
  187. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +7 -7
  188. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +7 -7
  189. package/coverage/lcov-report/src/db/dynamoClient.ts.html +12 -12
  190. package/coverage/lcov-report/src/db/inMemoryView.ts.html +10 -10
  191. package/coverage/lcov-report/src/db/index.html +32 -32
  192. package/coverage/lcov-report/src/db/index.ts.html +3 -3
  193. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +22 -22
  194. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +4 -4
  195. package/coverage/lcov-report/src/db/linkedRows/index.html +37 -37
  196. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +18 -18
  197. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +15 -15
  198. package/coverage/lcov-report/src/db/newid.ts.html +4 -4
  199. package/coverage/lcov-report/src/db/utils.ts.html +59 -59
  200. package/coverage/lcov-report/src/definitions/automations.ts.html +4 -4
  201. package/coverage/lcov-report/src/definitions/datasource.ts.html +4 -4
  202. package/coverage/lcov-report/src/definitions/index.html +4 -4
  203. package/coverage/lcov-report/src/environment.ts.html +25 -25
  204. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +7 -7
  205. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +4 -4
  206. package/coverage/lcov-report/src/events/index.html +20 -20
  207. package/coverage/lcov-report/src/events/index.ts.html +5 -5
  208. package/coverage/lcov-report/src/events/utils.ts.html +11 -11
  209. package/coverage/lcov-report/src/index.html +36 -36
  210. package/coverage/lcov-report/src/index.ts.html +6 -6
  211. package/coverage/lcov-report/src/integrations/airtable.ts.html +8 -8
  212. package/coverage/lcov-report/src/integrations/arangodb.ts.html +7 -7
  213. package/coverage/lcov-report/src/integrations/base/index.html +20 -20
  214. package/coverage/lcov-report/src/integrations/base/query.ts.html +2 -2
  215. package/coverage/lcov-report/src/integrations/base/sql.ts.html +28 -28
  216. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +15 -15
  217. package/coverage/lcov-report/src/integrations/base/utils.ts.html +2 -2
  218. package/coverage/lcov-report/src/integrations/couchdb.ts.html +8 -8
  219. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +12 -12
  220. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +7 -7
  221. package/coverage/lcov-report/src/integrations/firebase.ts.html +10 -10
  222. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +33 -33
  223. package/coverage/lcov-report/src/integrations/index.html +123 -123
  224. package/coverage/lcov-report/src/integrations/index.ts.html +13 -13
  225. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +26 -26
  226. package/coverage/lcov-report/src/integrations/mongodb.ts.html +15 -15
  227. package/coverage/lcov-report/src/integrations/mysql.ts.html +20 -20
  228. package/coverage/lcov-report/src/integrations/oracle.ts.html +21 -21
  229. package/coverage/lcov-report/src/integrations/postgres.ts.html +15 -15
  230. package/coverage/lcov-report/src/integrations/queries/index.html +5 -5
  231. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +6 -6
  232. package/coverage/lcov-report/src/integrations/redis.ts.html +5 -5
  233. package/coverage/lcov-report/src/integrations/rest.ts.html +15 -15
  234. package/coverage/lcov-report/src/integrations/s3.ts.html +14 -14
  235. package/coverage/lcov-report/src/integrations/snowflake.ts.html +12 -12
  236. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  237. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  238. package/coverage/lcov-report/src/integrations/utils.ts.html +34 -34
  239. package/coverage/lcov-report/src/middleware/appInfo.ts.html +8 -8
  240. package/coverage/lcov-report/src/middleware/authorized.ts.html +26 -14
  241. package/coverage/lcov-report/src/middleware/builder.ts.html +12 -12
  242. package/coverage/lcov-report/src/middleware/currentapp.ts.html +14 -11
  243. package/coverage/lcov-report/src/middleware/index.html +40 -40
  244. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +10 -10
  245. package/coverage/lcov-report/src/middleware/publicApi.ts.html +7 -7
  246. package/coverage/lcov-report/src/middleware/resourceId.ts.html +6 -6
  247. package/coverage/lcov-report/src/middleware/selfhost.ts.html +2 -2
  248. package/coverage/lcov-report/src/middleware/utils.ts.html +2 -2
  249. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +4 -4
  250. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +3 -3
  251. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +3 -3
  252. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +31 -31
  253. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +4 -4
  254. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +7 -7
  255. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +3 -3
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +3 -3
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +5 -5
  258. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +3 -3
  259. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +6 -6
  260. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +19 -19
  261. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +3 -3
  262. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +8 -8
  263. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +11 -11
  264. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +26 -26
  265. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +3 -3
  266. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +7 -7
  267. package/coverage/lcov-report/src/migrations/functions/index.html +18 -18
  268. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +4 -4
  269. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +7 -7
  270. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +11 -11
  271. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +2 -2
  272. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +2 -2
  273. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +5 -5
  274. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +2 -2
  275. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +3 -3
  276. package/coverage/lcov-report/src/migrations/index.html +15 -15
  277. package/coverage/lcov-report/src/migrations/index.ts.html +13 -13
  278. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +4 -4
  279. package/coverage/lcov-report/src/migrations/tests/index.html +6 -6
  280. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +3 -3
  281. package/coverage/lcov-report/src/sdk/app/applications/index.html +11 -11
  282. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +3 -3
  283. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +20 -20
  284. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +13 -13
  285. package/coverage/lcov-report/src/sdk/app/automations/index.html +7 -7
  286. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +3 -3
  287. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +6 -6
  288. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +3 -3
  289. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +15 -15
  290. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +8 -8
  291. package/coverage/lcov-report/src/sdk/app/backups/index.html +27 -27
  292. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +3 -3
  293. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +7 -7
  294. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +3 -3
  295. package/coverage/lcov-report/src/sdk/app/rows/index.html +8 -8
  296. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +3 -3
  297. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +1 -1
  298. package/coverage/lcov-report/src/sdk/app/tables/index.html +11 -11
  299. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +7 -7
  300. package/coverage/lcov-report/src/sdk/index.html +5 -5
  301. package/coverage/lcov-report/src/sdk/index.ts.html +4 -4
  302. package/coverage/lcov-report/src/sdk/users/index.html +6 -6
  303. package/coverage/lcov-report/src/sdk/users/index.ts.html +3 -3
  304. package/coverage/lcov-report/src/sdk/users/utils.ts.html +23 -23
  305. package/coverage/lcov-report/src/startup.ts.html +10 -25
  306. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +61 -61
  307. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +11 -11
  308. package/coverage/lcov-report/src/tests/utilities/index.html +26 -26
  309. package/coverage/lcov-report/src/tests/utilities/index.ts.html +2 -2
  310. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +30 -30
  311. package/coverage/lcov-report/src/threads/automation.ts.html +20 -20
  312. package/coverage/lcov-report/src/threads/index.html +39 -39
  313. package/coverage/lcov-report/src/threads/index.ts.html +17 -17
  314. package/coverage/lcov-report/src/threads/query.ts.html +12 -12
  315. package/coverage/lcov-report/src/threads/utils.ts.html +19 -19
  316. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +5 -5
  317. package/coverage/lcov-report/src/utilities/centralPath.ts.html +6 -6
  318. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +22 -22
  319. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +19 -19
  320. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +35 -35
  321. package/coverage/lcov-report/src/utilities/fileSystem/index.html +42 -42
  322. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +6 -6
  323. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +13 -13
  324. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +9 -9
  325. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +11 -11
  326. package/coverage/lcov-report/src/utilities/global.ts.html +51 -51
  327. package/coverage/lcov-report/src/utilities/index.html +74 -89
  328. package/coverage/lcov-report/src/utilities/index.ts.html +25 -25
  329. package/coverage/lcov-report/src/utilities/redis.ts.html +25 -25
  330. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  331. package/coverage/lcov-report/src/utilities/routing/index.ts.html +2 -2
  332. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +32 -32
  333. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +20 -20
  334. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +8 -8
  335. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +15 -15
  336. package/coverage/lcov-report/src/utilities/{csvParser.ts.html → schema.ts.html} +174 -234
  337. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +4 -4
  338. package/coverage/lcov-report/src/utilities/security.ts.html +10 -10
  339. package/coverage/lcov-report/src/utilities/usageQuota/index.html +9 -9
  340. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +5 -5
  341. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +3 -3
  342. package/coverage/lcov-report/src/utilities/users.ts.html +4 -4
  343. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +57 -30
  344. package/coverage/lcov-report/src/watch.ts.html +13 -13
  345. package/coverage/lcov-report/src/websocket.ts.html +3 -3
  346. package/coverage/lcov.info +7522 -7169
  347. package/dist/api/controllers/query/index.js +5 -2
  348. package/dist/api/controllers/row/ExternalRequest.js +7 -0
  349. package/dist/api/controllers/row/internal.js +12 -8
  350. package/dist/api/controllers/static/index.js +7 -4
  351. package/dist/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  352. package/dist/api/controllers/table/external.js +8 -30
  353. package/dist/api/controllers/table/index.js +44 -15
  354. package/dist/api/controllers/table/internal.js +6 -7
  355. package/dist/api/controllers/table/utils.js +9 -9
  356. package/dist/api/controllers/user.js +14 -6
  357. package/dist/api/controllers/view/exporters.js +22 -6
  358. package/dist/api/controllers/view/index.js +19 -34
  359. package/dist/api/controllers/view/viewBuilder.js +15 -2
  360. package/dist/api/routes/analytics.js +2 -1
  361. package/dist/api/routes/apikeys.js +2 -1
  362. package/dist/api/routes/application.js +2 -1
  363. package/dist/api/routes/auth.js +2 -1
  364. package/dist/api/routes/automation.js +2 -1
  365. package/dist/api/routes/backup.js +2 -1
  366. package/dist/api/routes/cloud.js +2 -1
  367. package/dist/api/routes/component.js +2 -1
  368. package/dist/api/routes/datasource.js +2 -1
  369. package/dist/api/routes/deploy.js +2 -1
  370. package/dist/api/routes/dev.js +2 -1
  371. package/dist/api/routes/integration.js +2 -1
  372. package/dist/api/routes/layout.js +2 -1
  373. package/dist/api/routes/metadata.js +2 -1
  374. package/dist/api/routes/migrations.js +2 -1
  375. package/dist/api/routes/permission.js +2 -1
  376. package/dist/api/routes/query.js +2 -1
  377. package/dist/api/routes/role.js +2 -1
  378. package/dist/api/routes/routing.js +2 -1
  379. package/dist/api/routes/screen.js +2 -1
  380. package/dist/api/routes/script.js +2 -1
  381. package/dist/api/routes/static.js +6 -5
  382. package/dist/api/routes/table.js +8 -38
  383. package/dist/api/routes/templates.js +2 -1
  384. package/dist/api/routes/user.js +2 -1
  385. package/dist/api/routes/utils/validators.js +1 -1
  386. package/dist/api/routes/view.js +2 -1
  387. package/dist/api/routes/webhook.js +2 -1
  388. package/dist/app.js +9 -7
  389. package/dist/automations/logging/index.js +5 -25
  390. package/dist/db/index.js +5 -2
  391. package/dist/db/linkedRows/LinkController.js +2 -1
  392. package/dist/db/linkedRows/LinkDocument.js +2 -1
  393. package/dist/db/newid.js +4 -2
  394. package/dist/environment.js +2 -1
  395. package/dist/events/AutomationEmitter.js +2 -1
  396. package/dist/events/BudibaseEmitter.js +2 -1
  397. package/dist/events/index.js +2 -1
  398. package/dist/integrations/index.js +5 -5
  399. package/dist/middleware/authorized.js +2 -1
  400. package/dist/middleware/builder.js +4 -2
  401. package/dist/middleware/currentapp.js +6 -3
  402. package/dist/middleware/publicApi.js +4 -2
  403. package/dist/middleware/selfhost.js +4 -1
  404. package/dist/package.json +9 -7
  405. package/dist/startup.js +17 -17
  406. package/dist/threads/index.js +4 -4
  407. package/dist/tsconfig.build.tsbuildinfo +1 -1
  408. package/dist/utilities/fileSystem/filesystem.js +3 -3
  409. package/dist/utilities/schema.js +108 -0
  410. package/dist/utilities/scriptRunner.js +2 -1
  411. package/dist/utilities/statusCodes.js +2 -1
  412. package/dist/utilities/workerRequests.js +2 -0
  413. package/dist/watch.js +2 -25
  414. package/jest.config.ts +5 -2
  415. package/package.json +10 -8
  416. package/src/api/controllers/query/index.ts +2 -2
  417. package/src/api/controllers/row/ExternalRequest.ts +6 -0
  418. package/src/api/controllers/row/internal.ts +10 -9
  419. package/src/api/controllers/static/index.ts +1 -1
  420. package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  421. package/src/api/controllers/table/external.ts +10 -10
  422. package/src/api/controllers/table/index.ts +46 -17
  423. package/src/api/controllers/table/internal.ts +6 -7
  424. package/src/api/controllers/table/utils.ts +12 -13
  425. package/src/api/controllers/user.ts +21 -13
  426. package/src/api/controllers/view/exporters.ts +20 -5
  427. package/src/api/controllers/view/index.ts +21 -12
  428. package/src/api/controllers/view/tests/viewBuilder.spec.js +1 -1
  429. package/src/api/controllers/view/viewBuilder.ts +1 -1
  430. package/src/api/routes/analytics.ts +1 -1
  431. package/src/api/routes/apikeys.ts +1 -1
  432. package/src/api/routes/application.ts +1 -1
  433. package/src/api/routes/auth.ts +1 -1
  434. package/src/api/routes/automation.ts +1 -1
  435. package/src/api/routes/backup.ts +1 -1
  436. package/src/api/routes/cloud.ts +1 -1
  437. package/src/api/routes/component.ts +1 -1
  438. package/src/api/routes/datasource.ts +1 -1
  439. package/src/api/routes/deploy.ts +1 -1
  440. package/src/api/routes/dev.ts +1 -1
  441. package/src/api/routes/integration.ts +1 -1
  442. package/src/api/routes/layout.ts +1 -1
  443. package/src/api/routes/metadata.ts +1 -1
  444. package/src/api/routes/migrations.ts +1 -1
  445. package/src/api/routes/permission.ts +1 -1
  446. package/src/api/routes/query.ts +1 -1
  447. package/src/api/routes/role.ts +1 -1
  448. package/src/api/routes/routing.ts +1 -1
  449. package/src/api/routes/screen.ts +1 -1
  450. package/src/api/routes/script.ts +1 -1
  451. package/src/api/routes/static.ts +2 -2
  452. package/src/api/routes/table.ts +16 -39
  453. package/src/api/routes/templates.ts +1 -1
  454. package/src/api/routes/tests/misc.spec.js +4 -10
  455. package/src/api/routes/tests/plugin.spec.ts +10 -10
  456. package/src/api/routes/tests/table.spec.js +8 -30
  457. package/src/api/routes/tests/user.spec.js +20 -1
  458. package/src/api/routes/tests/utilities/TestFunctions.ts +1 -1
  459. package/src/api/routes/user.ts +1 -1
  460. package/src/api/routes/utils/validators.ts +1 -1
  461. package/src/api/routes/view.ts +1 -1
  462. package/src/api/routes/webhook.ts +1 -1
  463. package/src/app.ts +5 -3
  464. package/src/automations/logging/index.ts +1 -1
  465. package/src/db/index.ts +1 -1
  466. package/src/db/linkedRows/LinkController.ts +1 -1
  467. package/src/db/linkedRows/LinkDocument.ts +1 -1
  468. package/src/db/newid.ts +1 -1
  469. package/src/db/tests/linkController.spec.js +1 -1
  470. package/src/environment.ts +1 -1
  471. package/src/events/AutomationEmitter.ts +1 -1
  472. package/src/events/BudibaseEmitter.ts +1 -1
  473. package/src/events/index.ts +1 -1
  474. package/src/integrations/index.ts +4 -4
  475. package/src/integrations/tests/rest.spec.ts +15 -13
  476. package/src/middleware/authorized.ts +5 -1
  477. package/src/middleware/builder.ts +1 -1
  478. package/src/middleware/currentapp.ts +4 -3
  479. package/src/middleware/publicApi.ts +1 -1
  480. package/src/middleware/selfhost.ts +1 -1
  481. package/src/middleware/tests/authorized.spec.js +1 -1
  482. package/src/middleware/tests/currentapp.spec.js +1 -1
  483. package/src/middleware/tests/selfhost.spec.js +1 -1
  484. package/src/startup.ts +3 -8
  485. package/src/tests/jestEnv.ts +13 -0
  486. package/src/tests/jestSetup.ts +0 -14
  487. package/src/tests/utilities/TestConfiguration.ts +1 -1
  488. package/src/threads/index.ts +1 -1
  489. package/src/utilities/fileSystem/filesystem.ts +1 -1
  490. package/src/utilities/schema.ts +141 -0
  491. package/src/utilities/scriptRunner.ts +1 -1
  492. package/src/utilities/statusCodes.ts +1 -1
  493. package/src/utilities/workerRequests.ts +10 -1
  494. package/src/watch.ts +1 -1
  495. package/builder/assets/index.fa480d5b.css +0 -6
  496. package/coverage/lcov-report/src/utilities/statusCodes.ts.html +0 -106
  497. package/dist/utilities/csvParser.js +0 -152
  498. package/src/utilities/csvParser.ts +0 -161
  499. package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -15
  500. 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">70.1% </span>
26
+ <span class="strong">64.13% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>129/184</span>
28
+ <span class='fraction'>118/184</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">45% </span>
33
+ <span class="strong">45.9% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>27/60</span>
35
+ <span class='fraction'>28/61</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">64.51% </span>
40
+ <span class="strong">51.11% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>20/31</span>
42
+ <span class='fraction'>23/45</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">70.22% </span>
47
+ <span class="strong">64.04% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>125/178</span>
49
+ <span class='fraction'>114/178</span>
50
50
  </div>
51
51
 
52
52
 
@@ -452,9 +452,7 @@
452
452
  <a name='L387'></a><a href='#L387'>387</a>
453
453
  <a name='L388'></a><a href='#L388'>388</a>
454
454
  <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
457
- <span class="cline-any cline-yes">55x</span>
455
+ <a name='L390'></a><a href='#L390'>390</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
458
456
  <span class="cline-any cline-yes">55x</span>
459
457
  <span class="cline-any cline-yes">55x</span>
460
458
  <span class="cline-any cline-yes">55x</span>
@@ -466,6 +464,7 @@
466
464
  <span class="cline-any cline-neutral">&nbsp;</span>
467
465
  <span class="cline-any cline-neutral">&nbsp;</span>
468
466
  <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
469
468
  <span class="cline-any cline-yes">55x</span>
470
469
  <span class="cline-any cline-yes">55x</span>
471
470
  <span class="cline-any cline-yes">55x</span>
@@ -473,7 +472,7 @@
473
472
  <span class="cline-any cline-yes">55x</span>
474
473
  <span class="cline-any cline-neutral">&nbsp;</span>
475
474
  <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-yes">55x</span>
475
+ <span class="cline-any cline-no">&nbsp;</span>
477
476
  <span class="cline-any cline-no">&nbsp;</span>
478
477
  <span class="cline-any cline-no">&nbsp;</span>
479
478
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -488,7 +487,7 @@
488
487
  <span class="cline-any cline-neutral">&nbsp;</span>
489
488
  <span class="cline-any cline-neutral">&nbsp;</span>
490
489
  <span class="cline-any cline-neutral">&nbsp;</span>
491
- <span class="cline-any cline-yes">55x</span>
490
+ <span class="cline-any cline-no">&nbsp;</span>
492
491
  <span class="cline-any cline-yes">130x</span>
493
492
  <span class="cline-any cline-yes">130x</span>
494
493
  <span class="cline-any cline-yes">130x</span>
@@ -528,7 +527,7 @@
528
527
  <span class="cline-any cline-neutral">&nbsp;</span>
529
528
  <span class="cline-any cline-neutral">&nbsp;</span>
530
529
  <span class="cline-any cline-neutral">&nbsp;</span>
531
- <span class="cline-any cline-yes">55x</span>
530
+ <span class="cline-any cline-no">&nbsp;</span>
532
531
  <span class="cline-any cline-yes">6x</span>
533
532
  <span class="cline-any cline-no">&nbsp;</span>
534
533
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -550,7 +549,7 @@
550
549
  <span class="cline-any cline-yes">6x</span>
551
550
  <span class="cline-any cline-neutral">&nbsp;</span>
552
551
  <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-yes">55x</span>
552
+ <span class="cline-any cline-no">&nbsp;</span>
554
553
  <span class="cline-any cline-yes">3x</span>
555
554
  <span class="cline-any cline-yes">3x</span>
556
555
  <span class="cline-any cline-yes">3x</span>
@@ -583,28 +582,27 @@
583
582
  <span class="cline-any cline-yes">3x</span>
584
583
  <span class="cline-any cline-neutral">&nbsp;</span>
585
584
  <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-yes">55x</span>
585
+ <span class="cline-any cline-yes">2x</span>
586
+ <span class="cline-any cline-yes">132x</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
587
588
  <span class="cline-any cline-yes">132x</span>
588
589
  <span class="cline-any cline-yes">129x</span>
589
590
  <span class="cline-any cline-neutral">&nbsp;</span>
590
591
  <span class="cline-any cline-neutral">&nbsp;</span>
591
592
  <span class="cline-any cline-yes">3x</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
593
593
  <span class="cline-any cline-yes">3x</span>
594
594
  <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
595
  <span class="cline-any cline-yes">3x</span>
599
596
  <span class="cline-any cline-neutral">&nbsp;</span>
600
597
  <span class="cline-any cline-yes">3x</span>
601
598
  <span class="cline-any cline-neutral">&nbsp;</span>
602
599
  <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
603
601
  <span class="cline-any cline-yes">3x</span>
604
602
  <span class="cline-any cline-yes">3x</span>
605
603
  <span class="cline-any cline-neutral">&nbsp;</span>
606
604
  <span class="cline-any cline-neutral">&nbsp;</span>
607
- <span class="cline-any cline-yes">55x</span>
605
+ <span class="cline-any cline-no">&nbsp;</span>
608
606
  <span class="cline-any cline-yes">130x</span>
609
607
  <span class="cline-any cline-neutral">&nbsp;</span>
610
608
  <span class="cline-any cline-yes">130x</span>
@@ -648,7 +646,7 @@
648
646
  <span class="cline-any cline-yes">130x</span>
649
647
  <span class="cline-any cline-neutral">&nbsp;</span>
650
648
  <span class="cline-any cline-neutral">&nbsp;</span>
651
- <span class="cline-any cline-yes">55x</span>
649
+ <span class="cline-any cline-no">&nbsp;</span>
652
650
  <span class="cline-any cline-neutral">&nbsp;</span>
653
651
  <span class="cline-any cline-yes">130x</span>
654
652
  <span class="cline-any cline-yes">1x</span>
@@ -705,7 +703,7 @@
705
703
  <span class="cline-any cline-neutral">&nbsp;</span>
706
704
  <span class="cline-any cline-neutral">&nbsp;</span>
707
705
  <span class="cline-any cline-neutral">&nbsp;</span>
708
- <span class="cline-any cline-yes">55x</span>
706
+ <span class="cline-any cline-no">&nbsp;</span>
709
707
  <span class="cline-any cline-neutral">&nbsp;</span>
710
708
  <span class="cline-any cline-neutral">&nbsp;</span>
711
709
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -781,11 +779,11 @@
781
779
  <span class="cline-any cline-neutral">&nbsp;</span>
782
780
  <span class="cline-any cline-neutral">&nbsp;</span>
783
781
  <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-yes">55x</span>
782
+ <span class="cline-any cline-no">&nbsp;</span>
785
783
  <span class="cline-any cline-no">&nbsp;</span>
786
784
  <span class="cline-any cline-neutral">&nbsp;</span>
787
785
  <span class="cline-any cline-neutral">&nbsp;</span>
788
- <span class="cline-any cline-yes">55x</span>
786
+ <span class="cline-any cline-no">&nbsp;</span>
789
787
  <span class="cline-any cline-neutral">&nbsp;</span>
790
788
  <span class="cline-any cline-neutral">&nbsp;</span>
791
789
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -793,7 +791,7 @@
793
791
  <span class="cline-any cline-no">&nbsp;</span>
794
792
  <span class="cline-any cline-neutral">&nbsp;</span>
795
793
  <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-yes">55x</span>
794
+ <span class="cline-any cline-no">&nbsp;</span>
797
795
  <span class="cline-any cline-no">&nbsp;</span>
798
796
  <span class="cline-any cline-neutral">&nbsp;</span>
799
797
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -805,7 +803,7 @@
805
803
  <span class="cline-any cline-no">&nbsp;</span>
806
804
  <span class="cline-any cline-neutral">&nbsp;</span>
807
805
  <span class="cline-any cline-neutral">&nbsp;</span>
808
- <span class="cline-any cline-yes">55x</span>
806
+ <span class="cline-any cline-no">&nbsp;</span>
809
807
  <span class="cline-any cline-no">&nbsp;</span>
810
808
  <span class="cline-any cline-neutral">&nbsp;</span>
811
809
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -822,7 +820,7 @@
822
820
  <span class="cline-any cline-no">&nbsp;</span>
823
821
  <span class="cline-any cline-neutral">&nbsp;</span>
824
822
  <span class="cline-any cline-neutral">&nbsp;</span>
825
- <span class="cline-any cline-yes">55x</span>
823
+ <span class="cline-any cline-yes">130x</span>
826
824
  <span class="cline-any cline-yes">130x</span>
827
825
  <span class="cline-any cline-yes">124x</span>
828
826
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -842,8 +840,8 @@
842
840
  <span class="cline-any cline-neutral">&nbsp;</span>
843
841
  <span class="cline-any cline-neutral">&nbsp;</span>
844
842
  <span class="cline-any cline-yes">55x</span>
845
- <span class="cline-any cline-yes">55x</span>
846
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { transform } from "../../../utilities/csvParser"
843
+ <span class="cline-any cline-yes">130x</span>
844
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { parse, isSchema, isRows } from "../../../utilities/schema"
847
845
  import { getRowParams, generateRowID, InternalTables } from "../../../db/utils"
848
846
  import { isEqual } from "lodash"
849
847
  import { AutoFieldSubTypes, FieldTypes } from "../../../constants"
@@ -863,7 +861,7 @@ import { quotas } from "@budibase/pro"
863
861
  import { events, context } from "@budibase/backend-core"
864
862
  import { Database } from "@budibase/types"
865
863
  &nbsp;
866
- export async function <span class="fstat-no" title="function not covered" >clearColumns(</span>table: any, columnNames: any) {
864
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >clearColumns<span class="fstat-no" title="function not covered" >(</span></span>t</span>able: any, columnNames: any) {
867
865
  const db: Database = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
868
866
  const rows = <span class="cstat-no" title="statement not covered" >await db.allDocs(</span>
869
867
  getRowParams(table._id, null, {
@@ -878,7 +876,7 @@ export async function <span class="fstat-no" title="function not covered" >clear
878
876
  )) as { id: string; _rev?: string }[]
879
877
  }
880
878
  &nbsp;
881
- export async function checkForColumnUpdates(oldTable: any, updatedTable: any) {
879
+ export async function <span class="cstat-no" title="statement not covered" >checkForColumnUpdates<span class="fstat-no" title="function not covered" >(</span>o</span>ldTable: any, updatedTable: any) {
882
880
  const db = context.getAppDB()
883
881
  let updatedRows = []
884
882
  const rename = updatedTable._rename
@@ -918,7 +916,7 @@ export async function checkForColumnUpdates(oldTable: any, updatedTable: any) {
918
916
  }
919
917
  &nbsp;
920
918
  // makes sure the passed in table isn't going to reset the auto ID
921
- export function makeSureTableUpToDate(table: any, tableToSave: any) {
919
+ export function <span class="cstat-no" title="statement not covered" >makeSureTableUpToDate<span class="fstat-no" title="function not covered" >(</span>t</span>able: any, tableToSave: any) {
922
920
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!table) {
923
921
  <span class="cstat-no" title="statement not covered" > return tableToSave</span>
924
922
  }
@@ -940,7 +938,7 @@ export function makeSureTableUpToDate(table: any, tableToSave: any) {
940
938
  return tableToSave
941
939
  }
942
940
  &nbsp;
943
- export function importToRows(data: any, table: any, user: any = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
941
+ export function <span class="cstat-no" title="statement not covered" >importToRows<span class="fstat-no" title="function not covered" >(</span>d</span>ata: any, table: any, user: any = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
944
942
  let finalData: any = []
945
943
  for (let i = 0; i &lt; data.length; i++) {
946
944
  let row = data[i]
@@ -973,28 +971,27 @@ export function importToRows(data: any, table: any, user: any = <span class="bra
973
971
  return finalData
974
972
  }
975
973
  &nbsp;
976
- export async function handleDataImport(user: any, table: any, dataImport: any) {
977
- if (!dataImport || !dataImport.csvString) {
974
+ export async function handleDataImport(user: any, table: any, rows: any) {
975
+ const schema: unknown = table.schema
976
+ &nbsp;
977
+ if (!rows || !isRows(rows) || !isSchema(schema)) {
978
978
  return table
979
979
  }
980
980
  &nbsp;
981
981
  const db = context.getAppDB()
982
- // Populate the table with rows imported from CSV in a bulk update
983
- const data = await transform({
984
- ...dataImport,
985
- existingTable: table,
986
- })
982
+ const data = parse(rows, schema)
987
983
  &nbsp;
988
984
  let finalData: any = importToRows(data, table, user)
989
985
  &nbsp;
990
986
  await quotas.addRows(finalData.length, () =&gt; db.bulkDocs(finalData), {
991
987
  tableId: table._id,
992
988
  })
993
- await events.rows.imported(table, "csv", finalData.length)
989
+ &nbsp;
990
+ await events.rows.imported(table, finalData.length)
994
991
  return table
995
992
  }
996
993
  &nbsp;
997
- export async function handleSearchIndexes(table: any) {
994
+ export async function <span class="cstat-no" title="statement not covered" >handleSearchIndexes<span class="fstat-no" title="function not covered" >(</span>t</span>able: any) {
998
995
  const db = context.getAppDB()
999
996
  // create relevant search indexes
1000
997
  if (table.indexes &amp;&amp; table.indexes.length &gt; 0) {
@@ -1038,7 +1035,7 @@ export async function handleSearchIndexes(table: any) {
1038
1035
  return table
1039
1036
  }
1040
1037
  &nbsp;
1041
- export function checkStaticTables(table: any) {
1038
+ export function <span class="cstat-no" title="statement not covered" >checkStaticTables<span class="fstat-no" title="function not covered" >(</span>t</span>able: any) {
1042
1039
  // check user schema has all required elements
1043
1040
  if (table._id === InternalTables.USER_METADATA) {
1044
1041
  for (let [key, schema] of Object.entries(USERS_TABLE_SCHEMA.schema)) {
@@ -1055,14 +1052,14 @@ class TableSaveFunctions {
1055
1052
  db: any
1056
1053
  user: any
1057
1054
  oldTable: any
1058
- dataImport: any
1055
+ importRows: any
1059
1056
  rows: any
1060
1057
  &nbsp;
1061
- constructor({ user, oldTable, dataImport }: any) {
1058
+ constructor({ user, oldTable, importRows }: any) {
1062
1059
  this.db = context.getAppDB()
1063
1060
  this.user = user
1064
1061
  this.oldTable = oldTable
1065
- this.dataImport = dataImport
1062
+ this.importRows = importRows
1066
1063
  // any rows that need updated
1067
1064
  this.rows = []
1068
1065
  }
@@ -1086,7 +1083,7 @@ class TableSaveFunctions {
1086
1083
  // after saving
1087
1084
  async after(table: any) {
1088
1085
  table = await handleSearchIndexes(table)
1089
- table = await handleDataImport(this.user, table, this.dataImport)
1086
+ table = await handleDataImport(this.user, table, this.importRows)
1090
1087
  return table
1091
1088
  }
1092
1089
  &nbsp;
@@ -1095,7 +1092,7 @@ class TableSaveFunctions {
1095
1092
  }
1096
1093
  }
1097
1094
  &nbsp;
1098
- export async function checkForViewUpdates(
1095
+ export async function <span class="cstat-no" title="statement not covered" >checkForViewUpdates<span class="fstat-no" title="function not covered" >(</span></span>
1099
1096
  table: any,
1100
1097
  rename: any,
1101
1098
  deletedColumns: any
@@ -1171,11 +1168,11 @@ export async function checkForViewUpdates(
1171
1168
  }
1172
1169
  }
1173
1170
  &nbsp;
1174
- export function <span class="fstat-no" title="function not covered" >generateForeignKey(</span>column: any, relatedTable: any) {
1171
+ export function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >generateForeignKey<span class="fstat-no" title="function not covered" >(</span></span>c</span>olumn: any, relatedTable: any) {
1175
1172
  <span class="cstat-no" title="statement not covered" > return `fk_${relatedTable.name}_${column.fieldName}`</span>
1176
1173
  }
1177
1174
  &nbsp;
1178
- export function <span class="fstat-no" title="function not covered" >generateJunctionTableName(</span>
1175
+ export function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >generateJunctionTableName<span class="fstat-no" title="function not covered" >(</span></span></span>
1179
1176
  column: any,
1180
1177
  table: any,
1181
1178
  relatedTable: any
@@ -1183,7 +1180,7 @@ export function <span class="fstat-no" title="function not covered" >generateJun
1183
1180
  <span class="cstat-no" title="statement not covered" > return `jt_${table.name}_${relatedTable.name}_${column.name}_${column.fieldName}`</span>
1184
1181
  }
1185
1182
  &nbsp;
1186
- export function <span class="fstat-no" title="function not covered" >foreignKeyStructure(</span>keyName: any, meta?: any) {
1183
+ export function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >foreignKeyStructure<span class="fstat-no" title="function not covered" >(</span></span>k</span>eyName: any, meta?: any) {
1187
1184
  const structure: any = <span class="cstat-no" title="statement not covered" >{</span>
1188
1185
  type: FieldTypes.NUMBER,
1189
1186
  constraints: {},
@@ -1195,7 +1192,7 @@ export function <span class="fstat-no" title="function not covered" >foreignKeyS
1195
1192
  <span class="cstat-no" title="statement not covered" > return structure</span>
1196
1193
  }
1197
1194
  &nbsp;
1198
- export function <span class="fstat-no" title="function not covered" >areSwitchableTypes(</span>type1: any, type2: any) {
1195
+ export function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >areSwitchableTypes<span class="fstat-no" title="function not covered" >(</span></span>t</span>ype1: any, type2: any) {
1199
1196
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
1200
1197
  SwitchableTypes.indexOf(type1) === -1 &amp;&amp;
1201
1198
  SwitchableTypes.indexOf(type2) === -1
@@ -1224,7 +1221,7 @@ export function hasTypeChanged(table: any, oldTable: any) {
1224
1221
  continue
1225
1222
  }
1226
1223
  const newType = table.schema[key].type
1227
- <span class="missing-if-branch" title="if path not taken" >I</span>if (oldType !== newType &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!areSwitchableTypes(oldType, newType))</span> {
1224
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (oldType !== newType &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!areSwitchableTypes(oldType, newType)) {</span>
1228
1225
  <span class="cstat-no" title="statement not covered" > return true</span>
1229
1226
  }
1230
1227
  }
@@ -1240,7 +1237,7 @@ export { _TableSaveFunctions as TableSaveFunctions }
1240
1237
  <div class='footer quiet pad2 space-top1 center small'>
1241
1238
  Code coverage generated by
1242
1239
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1243
- at Tue Jan 10 2023 11:12:48 GMT+0000 (Coordinated Universal Time)
1240
+ at Fri Jan 20 2023 13:27:05 GMT+0000 (Coordinated Universal Time)
1244
1241
  </div>
1245
1242
  <script src="../../../../prettify.js"></script>
1246
1243
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">82.35% </span>
26
+ <span class="strong">70% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>14/17</span>
28
+ <span class='fraction'>14/20</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
40
+ <span class="strong">75% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>1/1</span>
42
+ <span class='fraction'>3/4</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">82.35% </span>
47
+ <span class="strong">70% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>14/17</span>
49
+ <span class='fraction'>14/20</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line high'></div>
64
+ <div class='status-line medium'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -141,11 +141,11 @@
141
141
  <span class="cline-any cline-neutral">&nbsp;</span>
142
142
  <span class="cline-any cline-neutral">&nbsp;</span>
143
143
  <span class="cline-any cline-yes">54x</span>
144
+ <span class="cline-any cline-no">&nbsp;</span>
144
145
  <span class="cline-any cline-neutral">&nbsp;</span>
146
+ <span class="cline-any cline-no">&nbsp;</span>
145
147
  <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-neutral">&nbsp;</span>
148
+ <span class="cline-any cline-no">&nbsp;</span>
149
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
150
  <span class="cline-any cline-neutral">&nbsp;</span>
151
151
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -183,12 +183,12 @@ export async function fetch(ctx: BBContext) {
183
183
  &nbsp;
184
184
  // can't currently test this, have to ignore from coverage
185
185
  /* istanbul ignore next */
186
- export async function downloadTemplate(ctx: BBContext) {
187
- const { type, name } = ctx.params
186
+ export async function <span class="fstat-no" title="function not covered" >downloadTemplate(</span>ctx: BBContext) {
187
+ const { type, name } = <span class="cstat-no" title="statement not covered" >ctx.params</span>
188
188
  &nbsp;
189
- await dlTemplate(type, name)
189
+ <span class="cstat-no" title="statement not covered" > await dlTemplate(type, name)</span>
190
190
  &nbsp;
191
- ctx.body = {
191
+ <span class="cstat-no" title="statement not covered" > ctx.body = {</span>
192
192
  message: `template ${type}:${name} downloaded successfully.`,
193
193
  }
194
194
  }
@@ -199,7 +199,7 @@ export async function downloadTemplate(ctx: BBContext) {
199
199
  <div class='footer quiet pad2 space-top1 center small'>
200
200
  Code coverage generated by
201
201
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
202
- at Tue Jan 10 2023 11:12:48 GMT+0000 (Coordinated Universal Time)
202
+ at Fri Jan 20 2023 13:27:05 GMT+0000 (Coordinated Universal Time)
203
203
  </div>
204
204
  <script src="../../../prettify.js"></script>
205
205
  <script>