@budibase/server 2.2.12-alpha.4 → 2.2.12-alpha.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. package/builder/assets/{bb-emblem.4e4717da.svg → bb-emblem.05f7ae7a.svg} +1 -1
  2. package/builder/assets/{index.11f4795c.js → index.5d8a522b.js} +408 -419
  3. package/builder/assets/index.80229ab4.css +6 -0
  4. package/builder/index.html +2 -2
  5. package/coverage/clover.xml +4294 -4395
  6. package/coverage/coverage-final.json +278 -279
  7. package/coverage/lcov-report/index.html +395 -395
  8. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +9 -9
  9. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +6 -6
  10. package/coverage/lcov-report/src/api/controllers/application.ts.html +105 -105
  11. package/coverage/lcov-report/src/api/controllers/auth.ts.html +10 -10
  12. package/coverage/lcov-report/src/api/controllers/automation.ts.html +37 -37
  13. package/coverage/lcov-report/src/api/controllers/backup.ts.html +8 -8
  14. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +16 -16
  15. package/coverage/lcov-report/src/api/controllers/component.ts.html +12 -12
  16. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +24 -24
  17. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +18 -18
  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 +83 -83
  20. package/coverage/lcov-report/src/api/controllers/dev.ts.html +28 -28
  21. package/coverage/lcov-report/src/api/controllers/index.html +98 -98
  22. package/coverage/lcov-report/src/api/controllers/integration.ts.html +5 -5
  23. package/coverage/lcov-report/src/api/controllers/layout.ts.html +9 -9
  24. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +11 -11
  25. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +6 -6
  26. package/coverage/lcov-report/src/api/controllers/permission.ts.html +14 -14
  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 +20 -20
  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 +26 -26
  31. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +10 -10
  32. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +3 -3
  33. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +4 -4
  34. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +4 -4
  35. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +31 -31
  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 +7 -7
  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 +9 -9
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +8 -8
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +4 -4
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +4 -4
  43. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +4 -4
  44. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +15 -15
  45. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +21 -21
  46. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +21 -21
  47. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +27 -27
  48. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +8 -8
  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 +11 -11
  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 +14 -14
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +8 -8
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +12 -12
  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 +16 -16
  57. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +20 -20
  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 +28 -28
  60. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +9 -9
  61. package/coverage/lcov-report/src/api/controllers/role.ts.html +9 -9
  62. package/coverage/lcov-report/src/api/controllers/routing.ts.html +10 -10
  63. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +55 -37
  64. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +44 -44
  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 +36 -36
  67. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +77 -74
  68. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +146 -146
  69. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +33 -33
  70. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +28 -28
  71. package/coverage/lcov-report/src/api/controllers/screen.ts.html +12 -12
  72. package/coverage/lcov-report/src/api/controllers/script.ts.html +11 -11
  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 +34 -34
  75. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +60 -60
  76. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +42 -42
  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 +155 -68
  79. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +58 -61
  80. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +93 -96
  81. package/coverage/lcov-report/src/api/controllers/templates.ts.html +21 -21
  82. package/coverage/lcov-report/src/api/controllers/user.ts.html +103 -79
  83. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +64 -19
  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 +74 -47
  86. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +22 -22
  87. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +8 -8
  88. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +15 -15
  89. package/coverage/lcov-report/src/api/index.html +15 -15
  90. package/coverage/lcov-report/src/api/index.ts.html +31 -31
  91. package/coverage/lcov-report/src/api/routes/analytics.ts.html +10 -10
  92. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +11 -11
  93. package/coverage/lcov-report/src/api/routes/application.ts.html +13 -13
  94. package/coverage/lcov-report/src/api/routes/auth.ts.html +9 -9
  95. package/coverage/lcov-report/src/api/routes/automation.ts.html +14 -14
  96. package/coverage/lcov-report/src/api/routes/backup.ts.html +11 -11
  97. package/coverage/lcov-report/src/api/routes/cloud.ts.html +11 -11
  98. package/coverage/lcov-report/src/api/routes/component.ts.html +11 -11
  99. package/coverage/lcov-report/src/api/routes/datasource.ts.html +12 -12
  100. package/coverage/lcov-report/src/api/routes/deploy.ts.html +11 -11
  101. package/coverage/lcov-report/src/api/routes/dev.ts.html +17 -17
  102. package/coverage/lcov-report/src/api/routes/index.html +66 -66
  103. package/coverage/lcov-report/src/api/routes/index.ts.html +36 -36
  104. package/coverage/lcov-report/src/api/routes/integration.ts.html +11 -11
  105. package/coverage/lcov-report/src/api/routes/layout.ts.html +11 -11
  106. package/coverage/lcov-report/src/api/routes/metadata.ts.html +12 -12
  107. package/coverage/lcov-report/src/api/routes/migrations.ts.html +10 -10
  108. package/coverage/lcov-report/src/api/routes/permission.ts.html +12 -12
  109. package/coverage/lcov-report/src/api/routes/plugin.ts.html +10 -10
  110. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +16 -16
  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 +60 -60
  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 +12 -12
  115. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +11 -11
  116. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +14 -14
  117. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +14 -14
  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 +14 -14
  121. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +21 -21
  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 +14 -14
  124. package/coverage/lcov-report/src/api/routes/role.ts.html +12 -12
  125. package/coverage/lcov-report/src/api/routes/routing.ts.html +11 -11
  126. package/coverage/lcov-report/src/api/routes/row.ts.html +13 -13
  127. package/coverage/lcov-report/src/api/routes/screen.ts.html +12 -12
  128. package/coverage/lcov-report/src/api/routes/script.ts.html +13 -13
  129. package/coverage/lcov-report/src/api/routes/static.ts.html +18 -18
  130. package/coverage/lcov-report/src/api/routes/table.ts.html +29 -98
  131. package/coverage/lcov-report/src/api/routes/templates.ts.html +11 -11
  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 +12 -12
  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 +44 -44
  138. package/coverage/lcov-report/src/api/routes/view.ts.html +13 -13
  139. package/coverage/lcov-report/src/api/routes/webhook.ts.html +13 -13
  140. package/coverage/lcov-report/src/app.ts.html +22 -16
  141. package/coverage/lcov-report/src/automations/actions.ts.html +31 -31
  142. package/coverage/lcov-report/src/automations/automationUtils.ts.html +61 -61
  143. package/coverage/lcov-report/src/automations/bullboard.ts.html +19 -19
  144. package/coverage/lcov-report/src/automations/index.html +53 -53
  145. package/coverage/lcov-report/src/automations/index.ts.html +23 -23
  146. package/coverage/lcov-report/src/automations/logging/index.html +3 -3
  147. package/coverage/lcov-report/src/automations/logging/index.ts.html +10 -10
  148. package/coverage/lcov-report/src/automations/steps/bash.ts.html +11 -11
  149. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +9 -9
  150. package/coverage/lcov-report/src/automations/steps/delay.ts.html +7 -7
  151. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +9 -9
  152. package/coverage/lcov-report/src/automations/steps/discord.ts.html +11 -11
  153. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +9 -9
  154. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +9 -9
  155. package/coverage/lcov-report/src/automations/steps/filter.ts.html +12 -12
  156. package/coverage/lcov-report/src/automations/steps/index.html +75 -75
  157. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +10 -10
  158. package/coverage/lcov-report/src/automations/steps/loop.ts.html +5 -5
  159. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +19 -19
  160. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +43 -43
  161. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +9 -9
  162. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +10 -10
  163. package/coverage/lcov-report/src/automations/steps/slack.ts.html +10 -10
  164. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +9 -9
  165. package/coverage/lcov-report/src/automations/steps/utils.ts.html +12 -12
  166. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +8 -8
  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 +24 -24
  169. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +6 -6
  170. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +6 -6
  171. package/coverage/lcov-report/src/automations/triggerInfo/index.html +17 -17
  172. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +10 -10
  173. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +6 -6
  174. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +6 -6
  175. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +6 -6
  176. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +6 -6
  177. package/coverage/lcov-report/src/automations/triggers.ts.html +53 -38
  178. package/coverage/lcov-report/src/automations/utils.ts.html +65 -65
  179. package/coverage/lcov-report/src/constants/index.html +19 -19
  180. package/coverage/lcov-report/src/constants/index.ts.html +80 -80
  181. package/coverage/lcov-report/src/constants/layouts.ts.html +9 -9
  182. package/coverage/lcov-report/src/constants/screens.ts.html +4 -4
  183. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +45 -45
  184. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +8 -8
  185. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +8 -8
  186. package/coverage/lcov-report/src/db/defaultData/index.html +43 -43
  187. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +8 -8
  188. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +8 -8
  189. package/coverage/lcov-report/src/db/dynamoClient.ts.html +26 -26
  190. package/coverage/lcov-report/src/db/inMemoryView.ts.html +13 -13
  191. package/coverage/lcov-report/src/db/index.html +32 -32
  192. package/coverage/lcov-report/src/db/index.ts.html +10 -10
  193. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +38 -38
  194. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +7 -7
  195. package/coverage/lcov-report/src/db/linkedRows/index.html +37 -37
  196. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +40 -40
  197. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +25 -25
  198. package/coverage/lcov-report/src/db/newid.ts.html +5 -5
  199. package/coverage/lcov-report/src/db/utils.ts.html +75 -75
  200. package/coverage/lcov-report/src/definitions/automations.ts.html +5 -5
  201. package/coverage/lcov-report/src/definitions/datasource.ts.html +5 -5
  202. package/coverage/lcov-report/src/definitions/index.html +4 -4
  203. package/coverage/lcov-report/src/environment.ts.html +16 -16
  204. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +14 -14
  205. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +8 -8
  206. package/coverage/lcov-report/src/events/index.html +20 -20
  207. package/coverage/lcov-report/src/events/index.ts.html +7 -7
  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 +10 -10
  212. package/coverage/lcov-report/src/integrations/arangodb.ts.html +9 -9
  213. package/coverage/lcov-report/src/integrations/base/index.html +20 -20
  214. package/coverage/lcov-report/src/integrations/base/query.ts.html +3 -3
  215. package/coverage/lcov-report/src/integrations/base/sql.ts.html +37 -37
  216. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +21 -21
  217. package/coverage/lcov-report/src/integrations/base/utils.ts.html +5 -5
  218. package/coverage/lcov-report/src/integrations/couchdb.ts.html +10 -10
  219. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +15 -15
  220. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +9 -9
  221. package/coverage/lcov-report/src/integrations/firebase.ts.html +12 -12
  222. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +41 -41
  223. package/coverage/lcov-report/src/integrations/index.html +125 -125
  224. package/coverage/lcov-report/src/integrations/index.ts.html +40 -40
  225. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +31 -31
  226. package/coverage/lcov-report/src/integrations/mongodb.ts.html +421 -289
  227. package/coverage/lcov-report/src/integrations/mysql.ts.html +27 -27
  228. package/coverage/lcov-report/src/integrations/oracle.ts.html +31 -31
  229. package/coverage/lcov-report/src/integrations/postgres.ts.html +22 -22
  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 +8 -8
  233. package/coverage/lcov-report/src/integrations/rest.ts.html +28 -28
  234. package/coverage/lcov-report/src/integrations/s3.ts.html +17 -17
  235. package/coverage/lcov-report/src/integrations/snowflake.ts.html +15 -15
  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 +49 -49
  239. package/coverage/lcov-report/src/middleware/appInfo.ts.html +11 -11
  240. package/coverage/lcov-report/src/middleware/authorized.ts.html +31 -19
  241. package/coverage/lcov-report/src/middleware/builder.ts.html +15 -15
  242. package/coverage/lcov-report/src/middleware/currentapp.ts.html +18 -15
  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 +9 -9
  246. package/coverage/lcov-report/src/middleware/resourceId.ts.html +23 -23
  247. package/coverage/lcov-report/src/middleware/selfhost.ts.html +2 -2
  248. package/coverage/lcov-report/src/middleware/utils.ts.html +3 -3
  249. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +6 -6
  250. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +7 -7
  251. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +7 -7
  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 +8 -8
  254. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +13 -13
  255. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +7 -7
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +7 -7
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +8 -8
  258. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +21 -21
  259. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +10 -10
  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 +9 -9
  262. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +13 -13
  263. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +23 -23
  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 +7 -7
  266. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +14 -14
  267. package/coverage/lcov-report/src/migrations/functions/index.html +18 -18
  268. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +8 -8
  269. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +11 -11
  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 +3 -3
  272. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +6 -6
  273. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +8 -8
  274. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -7
  275. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
  276. package/coverage/lcov-report/src/migrations/index.html +15 -15
  277. package/coverage/lcov-report/src/migrations/index.ts.html +43 -43
  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 +6 -6
  283. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +24 -24
  284. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +15 -15
  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 +5 -5
  287. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +8 -8
  288. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +5 -5
  289. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +30 -30
  290. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +24 -24
  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 +7 -7
  293. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +12 -12
  294. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +8 -8
  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 +6 -6
  297. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +4 -4
  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 +16 -16
  300. package/coverage/lcov-report/src/sdk/index.html +5 -5
  301. package/coverage/lcov-report/src/sdk/index.ts.html +11 -11
  302. package/coverage/lcov-report/src/sdk/users/index.html +6 -6
  303. package/coverage/lcov-report/src/sdk/users/index.ts.html +5 -5
  304. package/coverage/lcov-report/src/sdk/users/utils.ts.html +29 -29
  305. package/coverage/lcov-report/src/startup.ts.html +40 -55
  306. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +108 -108
  307. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +20 -20
  308. package/coverage/lcov-report/src/tests/utilities/index.html +30 -30
  309. package/coverage/lcov-report/src/tests/utilities/index.ts.html +2 -2
  310. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +231 -42
  311. package/coverage/lcov-report/src/threads/automation.ts.html +202 -190
  312. package/coverage/lcov-report/src/threads/index.html +43 -43
  313. package/coverage/lcov-report/src/threads/index.ts.html +38 -38
  314. package/coverage/lcov-report/src/threads/query.ts.html +12 -12
  315. package/coverage/lcov-report/src/threads/utils.ts.html +26 -26
  316. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +4 -4
  317. package/coverage/lcov-report/src/utilities/centralPath.ts.html +5 -5
  318. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +10 -10
  319. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +12 -12
  320. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +20 -20
  321. package/coverage/lcov-report/src/utilities/fileSystem/index.html +42 -42
  322. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +1 -1
  323. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +6 -6
  324. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +9 -9
  325. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +5 -5
  326. package/coverage/lcov-report/src/utilities/global.ts.html +54 -54
  327. package/coverage/lcov-report/src/utilities/index.html +74 -89
  328. package/coverage/lcov-report/src/utilities/index.ts.html +32 -32
  329. package/coverage/lcov-report/src/utilities/redis.ts.html +35 -35
  330. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  331. package/coverage/lcov-report/src/utilities/routing/index.ts.html +5 -5
  332. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +32 -32
  333. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +67 -67
  334. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +9 -9
  335. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +26 -26
  336. package/coverage/lcov-report/src/utilities/{csvParser.ts.html → schema.ts.html} +173 -233
  337. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +8 -8
  338. package/coverage/lcov-report/src/utilities/security.ts.html +13 -13
  339. package/coverage/lcov-report/src/utilities/usageQuota/index.html +9 -9
  340. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +8 -8
  341. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +3 -3
  342. package/coverage/lcov-report/src/utilities/users.ts.html +7 -7
  343. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +61 -34
  344. package/coverage/lcov-report/src/watch.ts.html +20 -20
  345. package/coverage/lcov-report/src/websocket.ts.html +5 -5
  346. package/coverage/lcov.info +10214 -9826
  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/automations/triggers.js +1 -0
  391. package/dist/db/index.js +5 -2
  392. package/dist/db/linkedRows/LinkController.js +2 -1
  393. package/dist/db/linkedRows/LinkDocument.js +2 -1
  394. package/dist/db/newid.js +4 -2
  395. package/dist/environment.js +2 -1
  396. package/dist/events/AutomationEmitter.js +2 -1
  397. package/dist/events/BudibaseEmitter.js +2 -1
  398. package/dist/events/index.js +2 -1
  399. package/dist/integrations/index.js +5 -5
  400. package/dist/integrations/mongodb.js +311 -271
  401. package/dist/middleware/authorized.js +2 -1
  402. package/dist/middleware/builder.js +4 -2
  403. package/dist/middleware/currentapp.js +6 -3
  404. package/dist/middleware/publicApi.js +4 -2
  405. package/dist/middleware/selfhost.js +4 -1
  406. package/dist/package.json +9 -7
  407. package/dist/startup.js +17 -17
  408. package/dist/threads/automation.js +9 -5
  409. package/dist/threads/index.js +4 -4
  410. package/dist/tsconfig.build.tsbuildinfo +1 -1
  411. package/dist/utilities/fileSystem/filesystem.js +3 -3
  412. package/dist/utilities/schema.js +108 -0
  413. package/dist/utilities/scriptRunner.js +2 -1
  414. package/dist/utilities/statusCodes.js +2 -1
  415. package/dist/utilities/workerRequests.js +2 -0
  416. package/dist/watch.js +2 -25
  417. package/jest.config.ts +5 -2
  418. package/package.json +10 -8
  419. package/src/api/controllers/query/index.ts +2 -2
  420. package/src/api/controllers/row/ExternalRequest.ts +6 -0
  421. package/src/api/controllers/row/internal.ts +10 -9
  422. package/src/api/controllers/static/index.ts +1 -1
  423. package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  424. package/src/api/controllers/table/external.ts +10 -10
  425. package/src/api/controllers/table/index.ts +46 -17
  426. package/src/api/controllers/table/internal.ts +6 -7
  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 +21 -12
  431. package/src/api/controllers/view/tests/viewBuilder.spec.js +1 -1
  432. package/src/api/controllers/view/viewBuilder.ts +1 -1
  433. package/src/api/routes/analytics.ts +1 -1
  434. package/src/api/routes/apikeys.ts +1 -1
  435. package/src/api/routes/application.ts +1 -1
  436. package/src/api/routes/auth.ts +1 -1
  437. package/src/api/routes/automation.ts +1 -1
  438. package/src/api/routes/backup.ts +1 -1
  439. package/src/api/routes/cloud.ts +1 -1
  440. package/src/api/routes/component.ts +1 -1
  441. package/src/api/routes/datasource.ts +1 -1
  442. package/src/api/routes/deploy.ts +1 -1
  443. package/src/api/routes/dev.ts +1 -1
  444. package/src/api/routes/integration.ts +1 -1
  445. package/src/api/routes/layout.ts +1 -1
  446. package/src/api/routes/metadata.ts +1 -1
  447. package/src/api/routes/migrations.ts +1 -1
  448. package/src/api/routes/permission.ts +1 -1
  449. package/src/api/routes/query.ts +1 -1
  450. package/src/api/routes/role.ts +1 -1
  451. package/src/api/routes/routing.ts +1 -1
  452. package/src/api/routes/screen.ts +1 -1
  453. package/src/api/routes/script.ts +1 -1
  454. package/src/api/routes/static.ts +2 -2
  455. package/src/api/routes/table.ts +16 -39
  456. package/src/api/routes/templates.ts +1 -1
  457. package/src/api/routes/tests/misc.spec.js +4 -10
  458. package/src/api/routes/tests/plugin.spec.ts +10 -10
  459. package/src/api/routes/tests/table.spec.js +8 -30
  460. package/src/api/routes/tests/user.spec.js +20 -1
  461. package/src/api/routes/tests/utilities/TestFunctions.ts +1 -1
  462. package/src/api/routes/user.ts +1 -1
  463. package/src/api/routes/utils/validators.ts +1 -1
  464. package/src/api/routes/view.ts +1 -1
  465. package/src/api/routes/webhook.ts +1 -1
  466. package/src/app.ts +5 -3
  467. package/src/automations/logging/index.ts +1 -1
  468. package/src/automations/tests/loop.spec.ts +45 -0
  469. package/src/automations/triggers.ts +6 -1
  470. package/src/db/index.ts +1 -1
  471. package/src/db/linkedRows/LinkController.ts +1 -1
  472. package/src/db/linkedRows/LinkDocument.ts +1 -1
  473. package/src/db/newid.ts +1 -1
  474. package/src/db/tests/linkController.spec.js +1 -1
  475. package/src/environment.ts +1 -1
  476. package/src/events/AutomationEmitter.ts +1 -1
  477. package/src/events/BudibaseEmitter.ts +1 -1
  478. package/src/events/index.ts +1 -1
  479. package/src/integrations/index.ts +4 -4
  480. package/src/integrations/mongodb.ts +315 -271
  481. package/src/integrations/tests/rest.spec.ts +15 -13
  482. package/src/middleware/authorized.ts +5 -1
  483. package/src/middleware/builder.ts +1 -1
  484. package/src/middleware/currentapp.ts +4 -3
  485. package/src/middleware/publicApi.ts +1 -1
  486. package/src/middleware/selfhost.ts +1 -1
  487. package/src/middleware/tests/authorized.spec.js +1 -1
  488. package/src/middleware/tests/currentapp.spec.js +1 -1
  489. package/src/middleware/tests/selfhost.spec.js +1 -1
  490. package/src/startup.ts +3 -8
  491. package/src/tests/jestEnv.ts +13 -0
  492. package/src/tests/jestSetup.ts +0 -14
  493. package/src/tests/utilities/TestConfiguration.ts +1 -1
  494. package/src/tests/utilities/structures.ts +65 -2
  495. package/src/threads/automation.ts +9 -5
  496. package/src/threads/index.ts +1 -1
  497. package/src/utilities/fileSystem/filesystem.ts +1 -1
  498. package/src/utilities/schema.ts +141 -0
  499. package/src/utilities/scriptRunner.ts +1 -1
  500. package/src/utilities/statusCodes.ts +1 -1
  501. package/src/utilities/workerRequests.ts +10 -1
  502. package/src/watch.ts +1 -1
  503. package/tsconfig.json +2 -1
  504. package/builder/assets/index.fa480d5b.css +0 -6
  505. package/coverage/lcov-report/src/utilities/statusCodes.ts.html +0 -106
  506. package/dist/utilities/csvParser.js +0 -152
  507. package/src/utilities/csvParser.ts +0 -161
  508. package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -15
  509. 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">8.72% </span>
26
+ <span class="strong">6.66% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>13/149</span>
28
+ <span class='fraction'>10/150</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/69</span>
35
+ <span class='fraction'>0/65</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/14</span>
42
+ <span class='fraction'>0/17</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">8.72% </span>
47
+ <span class="strong">6.66% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>13/149</span>
49
+ <span class='fraction'>10/150</span>
50
50
  </div>
51
51
 
52
52
 
@@ -417,22 +417,22 @@
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-yes">55x</span>
420
+ <a name='L355'></a><a href='#L355'>355</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
421
421
  <span class="cline-any cline-neutral">&nbsp;</span>
422
422
  <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-yes">56x</span>
423
424
  <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-yes">55x</span>
425
425
  <span class="cline-any cline-neutral">&nbsp;</span>
426
426
  <span class="cline-any cline-neutral">&nbsp;</span>
427
427
  <span class="cline-any cline-neutral">&nbsp;</span>
428
428
  <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-yes">56x</span>
430
+ <span class="cline-any cline-yes">56x</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>
429
435
  <span class="cline-any cline-neutral">&nbsp;</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>
435
- <span class="cline-any cline-yes">55x</span>
436
436
  <span class="cline-any cline-neutral">&nbsp;</span>
437
437
  <span class="cline-any cline-neutral">&nbsp;</span>
438
438
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -441,9 +441,9 @@
441
441
  <span class="cline-any cline-neutral">&nbsp;</span>
442
442
  <span class="cline-any cline-neutral">&nbsp;</span>
443
443
  <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-yes">55x</span>
446
- <span class="cline-any cline-yes">55x</span>
444
+ <span class="cline-any cline-yes">56x</span>
445
+ <span class="cline-any cline-yes">56x</span>
446
+ <span class="cline-any cline-yes">56x</span>
447
447
  <span class="cline-any cline-neutral">&nbsp;</span>
448
448
  <span class="cline-any cline-neutral">&nbsp;</span>
449
449
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -612,7 +612,7 @@
612
612
  <span class="cline-any cline-no">&nbsp;</span>
613
613
  <span class="cline-any cline-neutral">&nbsp;</span>
614
614
  <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-yes">55x</span>
615
+ <span class="cline-any cline-no">&nbsp;</span>
616
616
  <span class="cline-any cline-no">&nbsp;</span>
617
617
  <span class="cline-any cline-no">&nbsp;</span>
618
618
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -731,7 +731,7 @@
731
731
  <span class="cline-any cline-no">&nbsp;</span>
732
732
  <span class="cline-any cline-neutral">&nbsp;</span>
733
733
  <span class="cline-any cline-neutral">&nbsp;</span>
734
- <span class="cline-any cline-yes">55x</span>
734
+ <span class="cline-any cline-no">&nbsp;</span>
735
735
  <span class="cline-any cline-no">&nbsp;</span>
736
736
  <span class="cline-any cline-neutral">&nbsp;</span>
737
737
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -755,17 +755,17 @@
755
755
  <span class="cline-any cline-no">&nbsp;</span>
756
756
  <span class="cline-any cline-neutral">&nbsp;</span>
757
757
  <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-yes">55x</span>
759
758
  <span class="cline-any cline-no">&nbsp;</span>
760
759
  <span class="cline-any cline-no">&nbsp;</span>
761
760
  <span class="cline-any cline-no">&nbsp;</span>
762
761
  <span class="cline-any cline-no">&nbsp;</span>
763
762
  <span class="cline-any cline-neutral">&nbsp;</span>
764
763
  <span class="cline-any cline-no">&nbsp;</span>
765
- <span class="cline-any cline-neutral">&nbsp;</span>
764
+ <span class="cline-any cline-no">&nbsp;</span>
766
765
  <span class="cline-any cline-neutral">&nbsp;</span>
767
766
  <span class="cline-any cline-neutral">&nbsp;</span>
768
767
  <span class="cline-any cline-no">&nbsp;</span>
768
+ <span class="cline-any cline-no">&nbsp;</span>
769
769
  <span class="cline-any cline-neutral">&nbsp;</span>
770
770
  <span class="cline-any cline-neutral">&nbsp;</span>
771
771
  <span class="cline-any cline-no">&nbsp;</span>
@@ -783,9 +783,9 @@ import {
783
783
  } from "./utils"
784
784
  import { FieldTypes, RelationshipTypes } from "../../../constants"
785
785
  import { makeExternalQuery } from "../../../integrations/base/query"
786
- import * as csvParser from "../../../utilities/csvParser"
787
786
  import { handleRequest } from "../row/external"
788
787
  import { events, context } from "@budibase/backend-core"
788
+ import { parse, isRows, isSchema } from "../../../utilities/schema"
789
789
  import {
790
790
  Datasource,
791
791
  Table,
@@ -840,7 +840,7 @@ function <span class="fstat-no" title="function not covered" >cleanupRelationshi
840
840
  (!oldTable || table.schema[key] == null)
841
841
  ) {
842
842
  const relatedTable = <span class="cstat-no" title="statement not covered" >Object.values(tables).find(</span>
843
- <span class="fstat-no" title="function not covered" > table </span>=&gt; <span class="cstat-no" title="statement not covered" >table._id === schema.tableId</span>
843
+ <span class="fstat-no" title="function not covered" > table =&gt; <span class="cstat-no" title="statement not covered" >t</span>able._id === schema.tableId</span>
844
844
  )
845
845
  const foreignKey = <span class="cstat-no" title="statement not covered" >schema.foreignKey</span>
846
846
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!relatedTable || !foreignKey) {</span>
@@ -860,7 +860,7 @@ function <span class="fstat-no" title="function not covered" >cleanupRelationshi
860
860
  }
861
861
  }
862
862
  &nbsp;
863
- function <span class="fstat-no" title="function not covered" >getDatasourceId(</span>table: Table) {
863
+ function <span class="fstat-no" title="function not covered" >getDatasourceId(t</span>able: Table) {
864
864
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table) {</span>
865
865
  <span class="cstat-no" title="statement not covered" > throw "No table supplied"</span>
866
866
  }
@@ -870,7 +870,7 @@ function <span class="fstat-no" title="function not covered" >getDatasourceId(</
870
870
  <span class="cstat-no" title="statement not covered" > return breakExternalTableId(table._id).datasourceId</span>
871
871
  }
872
872
  &nbsp;
873
- function <span class="fstat-no" title="function not covered" >otherRelationshipType(</span>type?: string) {
873
+ function <span class="fstat-no" title="function not covered" >otherRelationshipType(t</span>ype?: string) {
874
874
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (type === RelationshipTypes.MANY_TO_MANY) {</span>
875
875
  <span class="cstat-no" title="statement not covered" > return RelationshipTypes.MANY_TO_MANY</span>
876
876
  }
@@ -962,21 +962,21 @@ function <span class="fstat-no" title="function not covered" >generateRelatedSch
962
962
  <span class="cstat-no" title="statement not covered" > table.schema[columnName] = relatedSchema</span>
963
963
  }
964
964
  &nbsp;
965
- function <span class="fstat-no" title="function not covered" >isRelationshipSetup(</span>column: FieldSchema) {
965
+ function <span class="fstat-no" title="function not covered" >isRelationshipSetup(c</span>olumn: FieldSchema) {
966
966
  <span class="cstat-no" title="statement not covered" > return column.foreignKey || column.through</span>
967
967
  }
968
968
  &nbsp;
969
- export async function <span class="fstat-no" title="function not covered" >save(</span>ctx: BBContext) {
969
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >save<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext) {
970
970
  const table: TableRequest = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
971
971
  const renamed = <span class="cstat-no" title="statement not covered" >table?._rename</span>
972
972
  // can't do this right now
973
- <span class="cstat-no" title="statement not covered" > delete table.dataImport</span>
973
+ <span class="cstat-no" title="statement not covered" > delete table.rows</span>
974
974
  const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(ctx.request.body)!</span>
975
975
  // table doesn't exist already, note that it is created
976
976
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table._id) {</span>
977
977
  <span class="cstat-no" title="statement not covered" > table.created = true</span>
978
978
  }
979
- let tableToSave<span class="cstat-no" title="statement not covered" >: TableRequest = {</span>
979
+ let tableToSave: TableRequest = <span class="cstat-no" title="statement not covered" >{</span>
980
980
  type: "table",
981
981
  _id: buildExternalTableId(datasourceId, table.name),
982
982
  ...table,
@@ -1007,7 +1007,7 @@ export async function <span class="fstat-no" title="function not covered" >save(
1007
1007
  <span class="cstat-no" title="statement not covered" > continue</span>
1008
1008
  }
1009
1009
  const relatedTable = <span class="cstat-no" title="statement not covered" >Object.values(tables).find(</span>
1010
- <span class="fstat-no" title="function not covered" > table </span>=&gt; <span class="cstat-no" title="statement not covered" >table._id === schema.tableId</span>
1010
+ <span class="fstat-no" title="function not covered" > table =&gt; <span class="cstat-no" title="statement not covered" >t</span>able._id === schema.tableId</span>
1011
1011
  )
1012
1012
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!relatedTable) {</span>
1013
1013
  <span class="cstat-no" title="statement not covered" > continue</span>
@@ -1071,7 +1071,7 @@ export async function <span class="fstat-no" title="function not covered" >save(
1071
1071
  &nbsp;
1072
1072
  // make sure the constrained list, all still exist
1073
1073
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (Array.isArray(tableToSave.constrained)) {</span>
1074
- <span class="cstat-no" title="statement not covered" > tableToSave.constrained = tableToSave.constrained.filter(<span class="fstat-no" title="function not covered" >constraint </span>=&gt;</span>
1074
+ <span class="cstat-no" title="statement not covered" > tableToSave.constrained = tableToSave.constrained.filter(<span class="fstat-no" title="function not covered" >constraint =&gt;</span></span>
1075
1075
  <span class="cstat-no" title="statement not covered" > Object.keys(tableToSave.schema).includes(constraint)</span>
1076
1076
  )
1077
1077
  }
@@ -1085,7 +1085,7 @@ export async function <span class="fstat-no" title="function not covered" >save(
1085
1085
  <span class="cstat-no" title="statement not covered" > return tableToSave</span>
1086
1086
  }
1087
1087
  &nbsp;
1088
- export async function <span class="fstat-no" title="function not covered" >destroy(</span>ctx: BBContext) {
1088
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >destroy<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext) {
1089
1089
  const tableToDelete: TableRequest = <span class="cstat-no" title="statement not covered" >await sdk.tables.getTable(</span>
1090
1090
  ctx.params.tableId
1091
1091
  )
@@ -1109,20 +1109,20 @@ export async function <span class="fstat-no" title="function not covered" >destr
1109
1109
  <span class="cstat-no" title="statement not covered" > return tableToDelete</span>
1110
1110
  }
1111
1111
  &nbsp;
1112
- export async function <span class="fstat-no" title="function not covered" >bulkImport(</span>ctx: BBContext) {
1112
+ 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
1113
  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>
1114
+ const { rows }: { rows: unknown } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
1115
+ const schema: unknown = <span class="cstat-no" title="statement not covered" >table.schema</span>
1116
+ &nbsp;
1117
+ <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
1118
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Provided data import information is invalid.")</span>
1117
1119
  }
1118
- const rows = <span class="cstat-no" title="statement not covered" >await csvParser.transform({</span>
1119
- ...dataImport,
1120
- existingTable: table,
1121
- })
1120
+ &nbsp;
1121
+ const parsedRows = <span class="cstat-no" title="statement not covered" >await parse(rows, schema)</span>
1122
1122
  <span class="cstat-no" title="statement not covered" > await handleRequest(Operation.BULK_CREATE, table._id!, {</span>
1123
- rows,
1123
+ rows: parsedRows,
1124
1124
  })
1125
- <span class="cstat-no" title="statement not covered" > await events.rows.imported(table, "csv", rows.length)</span>
1125
+ <span class="cstat-no" title="statement not covered" > await events.rows.imported(table, parsedRows.length)</span>
1126
1126
  <span class="cstat-no" title="statement not covered" > return table</span>
1127
1127
  }
1128
1128
  &nbsp;</pre></td></tr></table></pre>
@@ -1132,7 +1132,7 @@ export async function <span class="fstat-no" title="function not covered" >bulkI
1132
1132
  <div class='footer quiet pad2 space-top1 center small'>
1133
1133
  Code coverage generated by
1134
1134
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1135
- at Tue Jan 10 2023 14:54:34 GMT+0000 (Coordinated Universal Time)
1135
+ at Fri Jan 27 2023 09:44:19 GMT+0000 (Coordinated Universal Time)
1136
1136
  </div>
1137
1137
  <script src="../../../../prettify.js"></script>
1138
1138
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">57.01% </span>
26
+ <span class="strong">52.39% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>325/570</span>
28
+ <span class='fraction'>306/584</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">37.34% </span>
33
+ <span class="strong">36.44% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>90/241</span>
35
+ <span class='fraction'>86/236</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">57.14% </span>
40
+ <span class="strong">53.27% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>44/77</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">57.01% </span>
47
+ <span class="strong">52.44% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>317/556</span>
49
+ <span class='fraction'>300/572</span>
50
50
  </div>
51
51
 
52
52
 
@@ -85,8 +85,8 @@
85
85
  </td>
86
86
  <td data-value="69.51" class="pct medium">69.51%</td>
87
87
  <td data-value="82" class="abs medium">57/82</td>
88
- <td data-value="36.73" class="pct low">36.73%</td>
89
- <td data-value="49" class="abs low">18/49</td>
88
+ <td data-value="41.86" class="pct low">41.86%</td>
89
+ <td data-value="43" class="abs low">18/43</td>
90
90
  <td data-value="81.25" class="pct high">81.25%</td>
91
91
  <td data-value="16" class="abs high">13/16</td>
92
92
  <td data-value="69.62" class="pct medium">69.62%</td>
@@ -95,62 +95,62 @@
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="8.72" class="pic low">
99
- <div class="chart"><div class="cover-fill" style="width: 8%"></div><div class="cover-empty" style="width: 92%"></div></div>
98
+ <td data-value="6.66" class="pic low">
99
+ <div class="chart"><div class="cover-fill" style="width: 6%"></div><div class="cover-empty" style="width: 94%"></div></div>
100
100
  </td>
101
- <td data-value="8.72" class="pct low">8.72%</td>
102
- <td data-value="149" class="abs low">13/149</td>
101
+ <td data-value="6.66" class="pct low">6.66%</td>
102
+ <td data-value="150" class="abs low">10/150</td>
103
103
  <td data-value="0" class="pct low">0%</td>
104
- <td data-value="69" class="abs low">0/69</td>
104
+ <td data-value="65" class="abs low">0/65</td>
105
105
  <td data-value="0" class="pct low">0%</td>
106
- <td data-value="14" class="abs low">0/14</td>
107
- <td data-value="8.72" class="pct low">8.72%</td>
108
- <td data-value="149" class="abs low">13/149</td>
106
+ <td data-value="17" class="abs low">0/17</td>
107
+ <td data-value="6.66" class="pct low">6.66%</td>
108
+ <td data-value="150" class="abs low">10/150</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="77.77" class="pct medium">77.77%</td>
121
- <td data-value="9" class="abs medium">7/9</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>
127
127
  <td class="file medium" data-value="internal.ts"><a href="internal.ts.html">internal.ts</a></td>
128
- <td data-value="78.02" class="pic medium">
129
- <div class="chart"><div class="cover-fill" style="width: 78%"></div><div class="cover-empty" style="width: 22%"></div></div>
128
+ <td data-value="77.27" class="pic medium">
129
+ <div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
130
130
  </td>
131
- <td data-value="78.02" class="pct medium">78.02%</td>
132
- <td data-value="91" class="abs medium">71/91</td>
131
+ <td data-value="77.27" class="pct medium">77.27%</td>
132
+ <td data-value="88" class="abs medium">68/88</td>
133
133
  <td data-value="67.56" class="pct medium">67.56%</td>
134
134
  <td data-value="37" class="abs medium">25/37</td>
135
- <td data-value="57.14" class="pct medium">57.14%</td>
136
- <td data-value="7" class="abs medium">4/7</td>
137
- <td data-value="79.31" class="pct medium">79.31%</td>
138
- <td data-value="87" class="abs medium">69/87</td>
135
+ <td data-value="70" class="pct medium">70%</td>
136
+ <td data-value="10" class="abs medium">7/10</td>
137
+ <td data-value="79.06" class="pct medium">79.06%</td>
138
+ <td data-value="86" class="abs medium">68/86</td>
139
139
  </tr>
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="70.1" class="pic medium">
144
- <div class="chart"><div class="cover-fill" style="width: 70%"></div><div class="cover-empty" style="width: 30%"></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="70.1" class="pct medium">70.1%</td>
147
- <td data-value="184" class="abs medium">129/184</td>
148
- <td data-value="45" class="pct low">45%</td>
149
- <td data-value="60" class="abs low">27/60</td>
150
- <td data-value="64.51" class="pct medium">64.51%</td>
151
- <td data-value="31" class="abs medium">20/31</td>
152
- <td data-value="70.22" class="pct medium">70.22%</td>
153
- <td data-value="178" class="abs medium">125/178</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
+ <td data-value="51.11" class="pct medium">51.11%</td>
151
+ <td data-value="45" class="abs medium">23/45</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 Tue Jan 10 2023 14:54:34 GMT+0000 (Coordinated Universal Time)
164
+ at Fri Jan 27 2023 09:44:19 GMT+0000 (Coordinated Universal Time)
165
165
  </div>
166
166
  <script src="../../../../prettify.js"></script>
167
167
  <script>