@budibase/server 2.2.25 → 2.2.27-alpha.0

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 (657) hide show
  1. package/Dockerfile +1 -1
  2. package/__mocks__/aws-sdk.ts +19 -0
  3. package/__mocks__/node-fetch.ts +80 -0
  4. package/builder/assets/{bb-emblem.4e4717da.svg → bb-emblem.05f7ae7a.svg} +1 -1
  5. package/builder/assets/bg.29e85dd5.png +0 -0
  6. package/builder/assets/bulgaria.bd68393d.png +0 -0
  7. package/builder/assets/covanta.72c46c1e.png +0 -0
  8. package/builder/assets/index.3dd03883.css +6 -0
  9. package/builder/assets/index.f9b8b175.js +1802 -0
  10. package/builder/assets/schnellecke.cf1837a8.png +0 -0
  11. package/builder/index.html +3 -3
  12. package/coverage/clover.xml +6618 -6528
  13. package/coverage/coverage-final.json +282 -276
  14. package/coverage/lcov-report/index.html +489 -444
  15. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +9 -9
  16. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +6 -6
  17. package/coverage/lcov-report/src/api/controllers/application.ts.html +362 -266
  18. package/coverage/lcov-report/src/api/controllers/auth.ts.html +12 -12
  19. package/coverage/lcov-report/src/api/controllers/automation.ts.html +61 -61
  20. package/coverage/lcov-report/src/api/controllers/backup.ts.html +8 -8
  21. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +93 -81
  22. package/coverage/lcov-report/src/api/controllers/component.ts.html +12 -12
  23. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +122 -98
  24. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +21 -18
  25. package/coverage/lcov-report/src/api/controllers/deploy/index.html +21 -21
  26. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +142 -196
  27. package/coverage/lcov-report/src/api/controllers/dev.ts.html +28 -28
  28. package/coverage/lcov-report/src/api/controllers/index.html +115 -115
  29. package/coverage/lcov-report/src/api/controllers/integration.ts.html +5 -5
  30. package/coverage/lcov-report/src/api/controllers/layout.ts.html +9 -9
  31. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +11 -11
  32. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +6 -6
  33. package/coverage/lcov-report/src/api/controllers/permission.ts.html +14 -14
  34. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +20 -20
  35. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +62 -62
  36. package/coverage/lcov-report/src/api/controllers/plugin/index.html +72 -72
  37. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +150 -135
  38. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +56 -56
  39. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +11 -11
  40. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +18 -18
  41. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +20 -20
  42. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +75 -24
  43. package/coverage/lcov-report/src/api/controllers/public/index.html +58 -58
  44. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +7 -7
  45. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +25 -25
  46. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +9 -9
  47. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +8 -8
  48. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +4 -4
  49. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +4 -4
  50. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +4 -4
  51. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +15 -15
  52. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +21 -21
  53. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +21 -21
  54. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +27 -27
  55. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +8 -8
  56. package/coverage/lcov-report/src/api/controllers/query/import/index.html +8 -8
  57. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +11 -11
  58. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +14 -14
  59. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +14 -14
  60. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +8 -8
  61. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +12 -12
  62. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +23 -23
  63. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +16 -16
  64. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +20 -20
  65. package/coverage/lcov-report/src/api/controllers/query/index.html +20 -20
  66. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +131 -107
  67. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +11 -11
  68. package/coverage/lcov-report/src/api/controllers/role.ts.html +9 -9
  69. package/coverage/lcov-report/src/api/controllers/routing.ts.html +10 -10
  70. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +56 -41
  71. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +87 -57
  72. package/coverage/lcov-report/src/api/controllers/row/index.html +66 -66
  73. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +37 -37
  74. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +181 -106
  75. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +146 -146
  76. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +44 -35
  77. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +156 -39
  78. package/coverage/lcov-report/src/api/controllers/screen.ts.html +31 -31
  79. package/coverage/lcov-report/src/api/controllers/script.ts.html +19 -19
  80. package/coverage/lcov-report/src/api/controllers/static/index.html +18 -18
  81. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +56 -71
  82. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +60 -60
  83. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +56 -50
  84. package/coverage/lcov-report/src/api/controllers/table/index.html +48 -48
  85. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +157 -70
  86. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +58 -61
  87. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +109 -112
  88. package/coverage/lcov-report/src/api/controllers/templates.ts.html +21 -21
  89. package/coverage/lcov-report/src/api/controllers/user.ts.html +159 -135
  90. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +64 -19
  91. package/coverage/lcov-report/src/api/controllers/view/index.html +38 -38
  92. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +97 -133
  93. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +31 -31
  94. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +37 -37
  95. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +69 -63
  96. package/coverage/lcov-report/src/api/index.html +15 -15
  97. package/coverage/lcov-report/src/api/index.ts.html +40 -40
  98. package/coverage/lcov-report/src/api/routes/analytics.ts.html +10 -10
  99. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +11 -11
  100. package/coverage/lcov-report/src/api/routes/application.ts.html +46 -13
  101. package/coverage/lcov-report/src/api/routes/auth.ts.html +9 -9
  102. package/coverage/lcov-report/src/api/routes/automation.ts.html +14 -14
  103. package/coverage/lcov-report/src/api/routes/backup.ts.html +11 -11
  104. package/coverage/lcov-report/src/api/routes/cloud.ts.html +11 -11
  105. package/coverage/lcov-report/src/api/routes/component.ts.html +11 -11
  106. package/coverage/lcov-report/src/api/routes/datasource.ts.html +12 -12
  107. package/coverage/lcov-report/src/api/routes/deploy.ts.html +11 -14
  108. package/coverage/lcov-report/src/api/routes/dev.ts.html +17 -17
  109. package/coverage/lcov-report/src/api/routes/index.html +68 -68
  110. package/coverage/lcov-report/src/api/routes/index.ts.html +49 -40
  111. package/coverage/lcov-report/src/api/routes/integration.ts.html +11 -11
  112. package/coverage/lcov-report/src/api/routes/layout.ts.html +11 -11
  113. package/coverage/lcov-report/src/api/routes/metadata.ts.html +12 -12
  114. package/coverage/lcov-report/src/api/routes/migrations.ts.html +10 -10
  115. package/coverage/lcov-report/src/api/routes/permission.ts.html +12 -12
  116. package/coverage/lcov-report/src/api/routes/plugin.ts.html +10 -10
  117. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +147 -15
  118. package/coverage/lcov-report/src/api/routes/public/index.html +27 -27
  119. package/coverage/lcov-report/src/api/routes/public/index.ts.html +60 -60
  120. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +15 -15
  121. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +28 -16
  122. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +11 -11
  123. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +14 -14
  124. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +14 -14
  125. package/coverage/lcov-report/src/api/routes/public/tests/index.html +7 -7
  126. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +5 -5
  127. package/coverage/lcov-report/src/api/routes/public/users.ts.html +14 -14
  128. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +21 -21
  129. package/coverage/lcov-report/src/api/routes/public/utils/index.html +5 -5
  130. package/coverage/lcov-report/src/api/routes/query.ts.html +14 -14
  131. package/coverage/lcov-report/src/api/routes/role.ts.html +12 -12
  132. package/coverage/lcov-report/src/api/routes/routing.ts.html +11 -11
  133. package/coverage/lcov-report/src/api/routes/row.ts.html +14 -14
  134. package/coverage/lcov-report/src/api/routes/screen.ts.html +12 -12
  135. package/coverage/lcov-report/src/api/routes/script.ts.html +13 -13
  136. package/coverage/lcov-report/src/api/routes/static.ts.html +18 -18
  137. package/coverage/lcov-report/src/api/routes/table.ts.html +29 -98
  138. package/coverage/lcov-report/src/api/routes/templates.ts.html +11 -11
  139. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +27 -27
  140. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +23 -23
  141. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +33 -33
  142. package/coverage/lcov-report/src/api/routes/user.ts.html +12 -12
  143. package/coverage/lcov-report/src/api/routes/utils/index.html +3 -3
  144. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +44 -44
  145. package/coverage/lcov-report/src/api/routes/view.ts.html +13 -13
  146. package/coverage/lcov-report/src/api/routes/webhook.ts.html +13 -13
  147. package/coverage/lcov-report/src/app.ts.html +53 -47
  148. package/coverage/lcov-report/src/automations/actions.ts.html +31 -31
  149. package/coverage/lcov-report/src/automations/automationUtils.ts.html +127 -55
  150. package/coverage/lcov-report/src/automations/bullboard.ts.html +19 -19
  151. package/coverage/lcov-report/src/automations/index.html +54 -54
  152. package/coverage/lcov-report/src/automations/index.ts.html +23 -23
  153. package/coverage/lcov-report/src/automations/logging/index.html +3 -3
  154. package/coverage/lcov-report/src/automations/logging/index.ts.html +15 -15
  155. package/coverage/lcov-report/src/automations/steps/bash.ts.html +34 -34
  156. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +9 -9
  157. package/coverage/lcov-report/src/automations/steps/delay.ts.html +7 -7
  158. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +9 -9
  159. package/coverage/lcov-report/src/automations/steps/discord.ts.html +33 -33
  160. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +35 -35
  161. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +31 -31
  162. package/coverage/lcov-report/src/automations/steps/filter.ts.html +12 -12
  163. package/coverage/lcov-report/src/automations/steps/index.html +129 -129
  164. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +10 -10
  165. package/coverage/lcov-report/src/automations/steps/loop.ts.html +5 -5
  166. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +19 -19
  167. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +43 -43
  168. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +28 -28
  169. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +19 -19
  170. package/coverage/lcov-report/src/automations/steps/slack.ts.html +10 -10
  171. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +12 -12
  172. package/coverage/lcov-report/src/automations/steps/utils.ts.html +18 -18
  173. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +22 -22
  174. package/coverage/lcov-report/src/automations/tests/utilities/index.html +15 -15
  175. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +32 -32
  176. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +6 -6
  177. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +6 -6
  178. package/coverage/lcov-report/src/automations/triggerInfo/index.html +17 -17
  179. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +10 -10
  180. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +6 -6
  181. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +6 -6
  182. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +6 -6
  183. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +6 -6
  184. package/coverage/lcov-report/src/automations/triggers.ts.html +53 -38
  185. package/coverage/lcov-report/src/automations/utils.ts.html +80 -80
  186. package/coverage/lcov-report/src/constants/index.html +19 -19
  187. package/coverage/lcov-report/src/constants/index.ts.html +103 -103
  188. package/coverage/lcov-report/src/constants/layouts.ts.html +9 -9
  189. package/coverage/lcov-report/src/constants/screens.ts.html +5 -5
  190. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +45 -45
  191. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +8 -8
  192. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +8 -8
  193. package/coverage/lcov-report/src/db/defaultData/index.html +43 -43
  194. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +8 -8
  195. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +8 -8
  196. package/coverage/lcov-report/src/db/dynamoClient.ts.html +26 -26
  197. package/coverage/lcov-report/src/db/inMemoryView.ts.html +13 -13
  198. package/coverage/lcov-report/src/db/index.html +34 -34
  199. package/coverage/lcov-report/src/db/index.ts.html +10 -10
  200. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +38 -38
  201. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +7 -7
  202. package/coverage/lcov-report/src/db/linkedRows/index.html +37 -37
  203. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +40 -40
  204. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +25 -25
  205. package/coverage/lcov-report/src/db/newid.ts.html +5 -5
  206. package/coverage/lcov-report/src/db/utils.ts.html +90 -90
  207. package/coverage/lcov-report/src/definitions/automations.ts.html +9 -6
  208. package/coverage/lcov-report/src/definitions/index.html +5 -20
  209. package/coverage/lcov-report/src/environment.ts.html +44 -32
  210. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +14 -14
  211. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +8 -8
  212. package/coverage/lcov-report/src/events/index.html +20 -20
  213. package/coverage/lcov-report/src/events/index.ts.html +7 -7
  214. package/coverage/lcov-report/src/events/utils.ts.html +11 -11
  215. package/coverage/lcov-report/src/index.html +47 -47
  216. package/coverage/lcov-report/src/index.ts.html +8 -8
  217. package/coverage/lcov-report/src/integrations/airtable.ts.html +10 -10
  218. package/coverage/lcov-report/src/integrations/arangodb.ts.html +9 -9
  219. package/coverage/lcov-report/src/integrations/base/index.html +29 -29
  220. package/coverage/lcov-report/src/integrations/base/query.ts.html +15 -9
  221. package/coverage/lcov-report/src/integrations/base/sql.ts.html +38 -38
  222. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +23 -23
  223. package/coverage/lcov-report/src/integrations/base/utils.ts.html +5 -5
  224. package/coverage/lcov-report/src/integrations/couchdb.ts.html +109 -31
  225. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +17 -17
  226. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +27 -15
  227. package/coverage/lcov-report/src/integrations/firebase.ts.html +12 -12
  228. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +42 -42
  229. package/coverage/lcov-report/src/integrations/index.html +130 -130
  230. package/coverage/lcov-report/src/integrations/index.ts.html +50 -62
  231. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +31 -31
  232. package/coverage/lcov-report/src/integrations/mongodb.ts.html +421 -289
  233. package/coverage/lcov-report/src/integrations/mysql.ts.html +28 -28
  234. package/coverage/lcov-report/src/integrations/oracle.ts.html +31 -31
  235. package/coverage/lcov-report/src/integrations/postgres.ts.html +54 -54
  236. package/coverage/lcov-report/src/integrations/queries/index.html +19 -19
  237. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +24 -159
  238. package/coverage/lcov-report/src/integrations/redis.ts.html +8 -8
  239. package/coverage/lcov-report/src/integrations/rest.ts.html +43 -52
  240. package/coverage/lcov-report/src/integrations/s3.ts.html +17 -17
  241. package/coverage/lcov-report/src/integrations/snowflake.ts.html +15 -15
  242. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  243. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  244. package/coverage/lcov-report/src/integrations/utils.ts.html +54 -54
  245. package/coverage/lcov-report/src/middleware/appInfo.ts.html +11 -11
  246. package/coverage/lcov-report/src/middleware/authorized.ts.html +49 -37
  247. package/coverage/lcov-report/src/middleware/builder.ts.html +26 -26
  248. package/coverage/lcov-report/src/middleware/currentapp.ts.html +50 -47
  249. package/coverage/lcov-report/src/middleware/index.html +40 -40
  250. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +10 -10
  251. package/coverage/lcov-report/src/middleware/publicApi.ts.html +9 -9
  252. package/coverage/lcov-report/src/middleware/resourceId.ts.html +23 -23
  253. package/coverage/lcov-report/src/middleware/selfhost.ts.html +2 -2
  254. package/coverage/lcov-report/src/middleware/utils.ts.html +4 -4
  255. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +6 -6
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +7 -7
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +7 -7
  258. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +31 -31
  259. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +8 -8
  260. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +13 -13
  261. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +7 -7
  262. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +7 -7
  263. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +8 -8
  264. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +21 -21
  265. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +17 -14
  266. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +19 -19
  267. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +9 -9
  268. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +13 -13
  269. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +23 -23
  270. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +26 -26
  271. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +7 -7
  272. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +14 -14
  273. package/coverage/lcov-report/src/migrations/functions/index.html +18 -18
  274. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +8 -8
  275. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +11 -11
  276. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +11 -11
  277. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +3 -3
  278. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +6 -6
  279. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +8 -8
  280. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -7
  281. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
  282. package/coverage/lcov-report/src/migrations/index.html +15 -15
  283. package/coverage/lcov-report/src/migrations/index.ts.html +43 -43
  284. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +4 -4
  285. package/coverage/lcov-report/src/migrations/tests/index.html +6 -6
  286. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +3 -3
  287. package/coverage/lcov-report/src/sdk/app/applications/index.html +20 -20
  288. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +6 -6
  289. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +34 -34
  290. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +15 -15
  291. package/coverage/lcov-report/src/sdk/app/automations/index.html +7 -7
  292. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +5 -5
  293. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +8 -8
  294. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +5 -5
  295. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +30 -30
  296. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +45 -57
  297. package/coverage/lcov-report/src/sdk/app/backups/index.html +42 -42
  298. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +7 -7
  299. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +73 -73
  300. package/coverage/lcov-report/src/sdk/app/datasources/datasources.ts.html +493 -0
  301. package/coverage/lcov-report/src/sdk/app/datasources/index.html +131 -0
  302. package/coverage/lcov-report/src/sdk/app/datasources/index.ts.html +100 -0
  303. package/coverage/lcov-report/src/sdk/app/queries/index.html +131 -0
  304. package/coverage/lcov-report/src/{utilities/statusCodes.ts.html → sdk/app/queries/index.ts.html} +22 -28
  305. package/coverage/lcov-report/src/{definitions/datasource.ts.html → sdk/app/queries/queries.ts.html} +82 -82
  306. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +8 -8
  307. package/coverage/lcov-report/src/sdk/app/rows/index.html +8 -8
  308. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +6 -6
  309. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +4 -4
  310. package/coverage/lcov-report/src/sdk/app/tables/index.html +15 -15
  311. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +29 -20
  312. package/coverage/lcov-report/src/sdk/index.html +7 -7
  313. package/coverage/lcov-report/src/sdk/index.ts.html +24 -12
  314. package/coverage/lcov-report/src/sdk/users/index.html +10 -10
  315. package/coverage/lcov-report/src/sdk/users/index.ts.html +5 -5
  316. package/coverage/lcov-report/src/sdk/users/utils.ts.html +35 -35
  317. package/coverage/lcov-report/src/sdk/utils/index.html +116 -0
  318. package/coverage/lcov-report/src/sdk/utils/index.ts.html +133 -0
  319. package/coverage/lcov-report/src/startup.ts.html +48 -63
  320. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +218 -152
  321. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +20 -20
  322. package/coverage/lcov-report/src/tests/utilities/index.html +33 -33
  323. package/coverage/lcov-report/src/tests/utilities/index.ts.html +2 -2
  324. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +235 -46
  325. package/coverage/lcov-report/src/threads/automation.ts.html +212 -251
  326. package/coverage/lcov-report/src/threads/index.html +46 -46
  327. package/coverage/lcov-report/src/threads/index.ts.html +39 -39
  328. package/coverage/lcov-report/src/threads/query.ts.html +140 -101
  329. package/coverage/lcov-report/src/threads/utils.ts.html +29 -29
  330. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +5 -5
  331. package/coverage/lcov-report/src/utilities/centralPath.ts.html +11 -11
  332. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +343 -0
  333. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +20 -20
  334. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +601 -0
  335. package/coverage/lcov-report/src/utilities/fileSystem/index.html +88 -28
  336. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +20 -1049
  337. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +277 -0
  338. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +9 -9
  339. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +193 -0
  340. package/coverage/lcov-report/src/utilities/global.ts.html +60 -60
  341. package/coverage/lcov-report/src/utilities/index.html +89 -119
  342. package/coverage/lcov-report/src/utilities/index.ts.html +40 -172
  343. package/coverage/lcov-report/src/utilities/redis.ts.html +38 -38
  344. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  345. package/coverage/lcov-report/src/utilities/routing/index.ts.html +5 -5
  346. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +34 -34
  347. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +102 -75
  348. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +9 -9
  349. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +54 -54
  350. package/coverage/lcov-report/src/utilities/{csvParser.ts.html → schema.ts.html} +174 -234
  351. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +33 -33
  352. package/coverage/lcov-report/src/utilities/security.ts.html +13 -13
  353. package/coverage/lcov-report/src/utilities/usageQuota/index.html +9 -9
  354. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +38 -38
  355. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +3 -3
  356. package/coverage/lcov-report/src/utilities/users.ts.html +7 -7
  357. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +89 -62
  358. package/coverage/lcov-report/src/watch.ts.html +20 -20
  359. package/coverage/lcov-report/src/websocket.ts.html +15 -15
  360. package/coverage/lcov.info +13499 -12800
  361. package/dist/api/controllers/application.js +120 -109
  362. package/dist/api/controllers/cloud.js +6 -2
  363. package/dist/api/controllers/datasource.js +24 -15
  364. package/dist/api/controllers/deploy/index.js +43 -60
  365. package/dist/api/controllers/plugin/index.js +6 -6
  366. package/dist/api/controllers/public/applications.js +22 -1
  367. package/dist/api/controllers/query/index.js +23 -13
  368. package/dist/api/controllers/row/ExternalRequest.js +12 -4
  369. package/dist/api/controllers/row/external.js +20 -13
  370. package/dist/api/controllers/row/internal.js +52 -27
  371. package/dist/api/controllers/row/staticFormula.js +1 -1
  372. package/dist/api/controllers/row/utils.js +35 -3
  373. package/dist/api/controllers/static/index.js +47 -47
  374. package/dist/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  375. package/dist/api/controllers/table/external.js +16 -35
  376. package/dist/api/controllers/table/index.js +44 -15
  377. package/dist/api/controllers/table/internal.js +6 -7
  378. package/dist/api/controllers/table/utils.js +9 -9
  379. package/dist/api/controllers/user.js +14 -6
  380. package/dist/api/controllers/view/exporters.js +22 -6
  381. package/dist/api/controllers/view/index.js +23 -58
  382. package/dist/api/controllers/view/viewBuilder.js +15 -2
  383. package/dist/api/controllers/webhook.js +45 -43
  384. package/dist/api/routes/analytics.js +2 -1
  385. package/dist/api/routes/apikeys.js +2 -1
  386. package/dist/api/routes/application.js +5 -1
  387. package/dist/api/routes/auth.js +2 -1
  388. package/dist/api/routes/automation.js +2 -1
  389. package/dist/api/routes/backup.js +2 -1
  390. package/dist/api/routes/cloud.js +2 -1
  391. package/dist/api/routes/component.js +2 -1
  392. package/dist/api/routes/datasource.js +2 -1
  393. package/dist/api/routes/deploy.js +3 -3
  394. package/dist/api/routes/dev.js +2 -1
  395. package/dist/api/routes/index.js +2 -0
  396. package/dist/api/routes/integration.js +2 -1
  397. package/dist/api/routes/layout.js +2 -1
  398. package/dist/api/routes/metadata.js +2 -1
  399. package/dist/api/routes/migrations.js +2 -1
  400. package/dist/api/routes/permission.js +2 -1
  401. package/dist/api/routes/public/applications.js +37 -0
  402. package/dist/api/routes/public/middleware/mapper.js +3 -0
  403. package/dist/api/routes/query.js +2 -1
  404. package/dist/api/routes/role.js +2 -1
  405. package/dist/api/routes/routing.js +2 -1
  406. package/dist/api/routes/row.js +2 -2
  407. package/dist/api/routes/screen.js +2 -1
  408. package/dist/api/routes/script.js +2 -1
  409. package/dist/api/routes/static.js +6 -5
  410. package/dist/api/routes/table.js +8 -38
  411. package/dist/api/routes/templates.js +2 -1
  412. package/dist/api/routes/user.js +2 -1
  413. package/dist/api/routes/utils/validators.js +1 -1
  414. package/dist/api/routes/view.js +2 -1
  415. package/dist/api/routes/webhook.js +2 -1
  416. package/dist/app.js +9 -7
  417. package/dist/automations/automationUtils.js +26 -1
  418. package/dist/automations/logging/index.js +5 -25
  419. package/dist/automations/triggers.js +1 -0
  420. package/dist/db/index.js +5 -2
  421. package/dist/db/linkedRows/LinkController.js +2 -1
  422. package/dist/db/linkedRows/LinkDocument.js +2 -1
  423. package/dist/db/newid.js +4 -2
  424. package/dist/definitions/datasource.js +0 -6
  425. package/dist/environment.js +7 -2
  426. package/dist/events/AutomationEmitter.js +2 -1
  427. package/dist/events/BudibaseEmitter.js +2 -1
  428. package/dist/events/index.js +2 -1
  429. package/dist/index.js +2 -2
  430. package/dist/integrations/base/query.js +7 -2
  431. package/dist/integrations/base/sqlTable.js +14 -14
  432. package/dist/integrations/couchdb.js +34 -8
  433. package/dist/integrations/dynamodb.js +8 -5
  434. package/dist/integrations/elasticsearch.js +7 -3
  435. package/dist/integrations/googlesheets.js +1 -1
  436. package/dist/integrations/index.js +6 -7
  437. package/dist/integrations/mongodb.js +311 -271
  438. package/dist/integrations/mysql.js +2 -2
  439. package/dist/integrations/queries/sql.js +73 -100
  440. package/dist/integrations/rest.js +16 -18
  441. package/dist/middleware/authorized.js +2 -1
  442. package/dist/middleware/builder.js +4 -2
  443. package/dist/middleware/currentapp.js +6 -3
  444. package/dist/middleware/publicApi.js +4 -2
  445. package/dist/middleware/selfhost.js +4 -1
  446. package/dist/migrations/functions/backfill/global/configs.js +4 -4
  447. package/dist/package.json +12 -8
  448. package/dist/sdk/app/backups/imports.js +2 -6
  449. package/dist/sdk/app/datasources/datasources.js +147 -0
  450. package/dist/sdk/app/datasources/index.js +27 -0
  451. package/dist/sdk/app/queries/index.js +27 -0
  452. package/dist/sdk/app/queries/queries.js +60 -0
  453. package/dist/sdk/app/tables/index.js +6 -2
  454. package/dist/sdk/index.js +4 -0
  455. package/dist/sdk/utils/index.js +29 -0
  456. package/dist/startup.js +17 -17
  457. package/dist/threads/automation.js +22 -35
  458. package/dist/threads/index.js +4 -4
  459. package/dist/threads/query.js +27 -13
  460. package/dist/tsconfig.build.tsbuildinfo +1 -1
  461. package/dist/utilities/fileSystem/app.js +97 -0
  462. package/dist/utilities/fileSystem/clientLibrary.js +3 -3
  463. package/dist/utilities/fileSystem/filesystem.js +184 -0
  464. package/dist/utilities/fileSystem/index.js +18 -342
  465. package/dist/utilities/fileSystem/plugin.js +66 -0
  466. package/dist/utilities/fileSystem/template.js +47 -0
  467. package/dist/utilities/index.js +1 -44
  468. package/dist/utilities/rowProcessor/index.js +12 -4
  469. package/dist/utilities/schema.js +108 -0
  470. package/dist/utilities/scriptRunner.js +2 -1
  471. package/dist/utilities/statusCodes.js +2 -1
  472. package/dist/utilities/workerRequests.js +2 -0
  473. package/dist/watch.js +2 -25
  474. package/jest.config.ts +5 -2
  475. package/package.json +13 -9
  476. package/scripts/dev/manage.js +3 -2
  477. package/specs/openapi.json +84 -0
  478. package/specs/openapi.yaml +53 -0
  479. package/specs/resources/application.js +19 -0
  480. package/src/api/controllers/application.ts +142 -110
  481. package/src/api/controllers/auth.ts +2 -2
  482. package/src/api/controllers/cloud.ts +10 -6
  483. package/src/api/controllers/datasource.ts +33 -25
  484. package/src/api/controllers/deploy/Deployment.ts +1 -0
  485. package/src/api/controllers/deploy/index.ts +40 -58
  486. package/src/api/controllers/plugin/index.ts +14 -9
  487. package/src/api/controllers/public/applications.ts +17 -0
  488. package/src/api/controllers/query/index.ts +49 -41
  489. package/src/api/controllers/row/ExternalRequest.ts +8 -3
  490. package/src/api/controllers/row/external.ts +24 -14
  491. package/src/api/controllers/row/internal.ts +66 -41
  492. package/src/api/controllers/row/staticFormula.ts +5 -2
  493. package/src/api/controllers/row/utils.ts +42 -3
  494. package/src/api/controllers/static/index.ts +22 -27
  495. package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  496. package/src/api/controllers/table/external.ts +18 -16
  497. package/src/api/controllers/table/index.ts +46 -17
  498. package/src/api/controllers/table/internal.ts +6 -7
  499. package/src/api/controllers/table/utils.ts +12 -13
  500. package/src/api/controllers/user.ts +21 -13
  501. package/src/api/controllers/view/exporters.ts +20 -5
  502. package/src/api/controllers/view/index.ts +30 -42
  503. package/src/api/controllers/view/tests/viewBuilder.spec.js +1 -1
  504. package/src/api/controllers/view/viewBuilder.ts +1 -1
  505. package/src/api/controllers/webhook.ts +48 -46
  506. package/src/api/routes/analytics.ts +1 -1
  507. package/src/api/routes/apikeys.ts +1 -1
  508. package/src/api/routes/application.ts +12 -1
  509. package/src/api/routes/auth.ts +1 -1
  510. package/src/api/routes/automation.ts +1 -1
  511. package/src/api/routes/backup.ts +1 -1
  512. package/src/api/routes/cloud.ts +1 -1
  513. package/src/api/routes/component.ts +1 -1
  514. package/src/api/routes/datasource.ts +1 -1
  515. package/src/api/routes/deploy.ts +1 -2
  516. package/src/api/routes/dev.ts +1 -1
  517. package/src/api/routes/index.ts +6 -3
  518. package/src/api/routes/integration.ts +1 -1
  519. package/src/api/routes/layout.ts +1 -1
  520. package/src/api/routes/metadata.ts +1 -1
  521. package/src/api/routes/migrations.ts +1 -1
  522. package/src/api/routes/permission.ts +1 -1
  523. package/src/api/routes/public/applications.ts +44 -0
  524. package/src/api/routes/public/middleware/mapper.ts +4 -0
  525. package/src/api/routes/query.ts +1 -1
  526. package/src/api/routes/role.ts +1 -1
  527. package/src/api/routes/routing.ts +1 -1
  528. package/src/api/routes/row.ts +1 -1
  529. package/src/api/routes/screen.ts +1 -1
  530. package/src/api/routes/script.ts +1 -1
  531. package/src/api/routes/static.ts +2 -2
  532. package/src/api/routes/table.ts +16 -39
  533. package/src/api/routes/templates.ts +1 -1
  534. package/src/api/routes/tests/__snapshots__/{datasource.spec.js.snap → datasource.spec.ts.snap} +0 -0
  535. package/src/api/routes/tests/{application.spec.js → application.spec.ts} +94 -18
  536. package/src/api/routes/tests/{backup.spec.js → backup.spec.ts} +17 -6
  537. package/src/api/routes/tests/cloud.spec.ts +65 -0
  538. package/src/api/routes/tests/data/budibase-component-1.0.1.tgz +0 -0
  539. package/src/api/routes/tests/data/comment-box-1.0.2.tar.gz +0 -0
  540. package/src/api/routes/tests/data/export-test.tar.gz +0 -0
  541. package/src/api/routes/tests/{datasource.spec.js → datasource.spec.ts} +56 -14
  542. package/src/api/routes/tests/misc.spec.js +4 -10
  543. package/src/api/routes/tests/permissions.spec.js +1 -1
  544. package/src/api/routes/tests/plugin.spec.ts +179 -0
  545. package/src/api/routes/tests/routing.spec.js +1 -2
  546. package/src/api/routes/tests/row.spec.js +4 -2
  547. package/src/api/routes/tests/static.spec.js +2 -17
  548. package/src/api/routes/tests/table.spec.js +16 -32
  549. package/src/api/routes/tests/user.spec.js +105 -0
  550. package/src/api/routes/tests/utilities/TestFunctions.ts +1 -1
  551. package/src/api/routes/tests/utilities/index.ts +2 -2
  552. package/src/api/routes/tests/webhook.spec.js +1 -1
  553. package/src/api/routes/user.ts +1 -1
  554. package/src/api/routes/utils/validators.ts +1 -1
  555. package/src/api/routes/view.ts +1 -1
  556. package/src/api/routes/webhook.ts +1 -1
  557. package/src/app.ts +5 -3
  558. package/src/automations/automationUtils.ts +24 -0
  559. package/src/automations/logging/index.ts +1 -1
  560. package/src/automations/tests/bash.spec.js +34 -0
  561. package/src/automations/tests/discord.spec.js +27 -0
  562. package/src/automations/tests/executeQuery.spec.js +49 -0
  563. package/src/automations/tests/executeScript.spec.js +48 -0
  564. package/src/automations/tests/loop.spec.ts +45 -0
  565. package/src/automations/tests/sendSmtpEmail.spec.js +71 -0
  566. package/src/automations/tests/serverLog.spec.js +22 -0
  567. package/src/automations/tests/utilities/index.ts +2 -2
  568. package/src/automations/tests/zapier.spec.js +27 -0
  569. package/src/automations/triggers.ts +6 -1
  570. package/src/automations/unitTests/automationUtils.spec.ts +65 -0
  571. package/src/db/index.ts +1 -1
  572. package/src/db/linkedRows/LinkController.ts +1 -1
  573. package/src/db/linkedRows/LinkDocument.ts +1 -1
  574. package/src/db/newid.ts +1 -1
  575. package/src/db/tests/linkController.spec.js +1 -1
  576. package/src/definitions/automations.ts +1 -0
  577. package/src/definitions/datasource.ts +0 -41
  578. package/src/definitions/openapi.ts +10 -0
  579. package/src/environment.ts +6 -2
  580. package/src/events/AutomationEmitter.ts +1 -1
  581. package/src/events/BudibaseEmitter.ts +1 -1
  582. package/src/events/index.ts +1 -1
  583. package/src/index.ts +1 -1
  584. package/src/integrations/base/query.ts +3 -1
  585. package/src/integrations/base/sqlTable.ts +1 -1
  586. package/src/integrations/couchdb.ts +40 -14
  587. package/src/integrations/dynamodb.ts +3 -3
  588. package/src/integrations/elasticsearch.ts +8 -4
  589. package/src/integrations/googlesheets.ts +1 -1
  590. package/src/integrations/index.ts +5 -9
  591. package/src/integrations/mongodb.ts +315 -271
  592. package/src/integrations/mysql.ts +1 -1
  593. package/src/integrations/queries/sql.ts +5 -50
  594. package/src/integrations/rest.ts +16 -19
  595. package/src/integrations/tests/couchdb.spec.ts +33 -21
  596. package/src/integrations/tests/rest.spec.ts +19 -15
  597. package/src/middleware/authorized.ts +5 -1
  598. package/src/middleware/builder.ts +1 -1
  599. package/src/middleware/currentapp.ts +4 -3
  600. package/src/middleware/publicApi.ts +1 -1
  601. package/src/middleware/selfhost.ts +1 -1
  602. package/src/middleware/tests/authorized.spec.js +1 -1
  603. package/src/middleware/tests/currentapp.spec.js +1 -1
  604. package/src/middleware/tests/selfhost.spec.js +1 -1
  605. package/src/migrations/functions/backfill/global/configs.ts +5 -4
  606. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +10 -6
  607. package/src/sdk/app/backups/imports.ts +2 -6
  608. package/src/sdk/app/datasources/datasources.ts +136 -0
  609. package/src/sdk/app/datasources/index.ts +5 -0
  610. package/src/sdk/app/queries/index.ts +5 -0
  611. package/src/sdk/app/queries/queries.ts +50 -0
  612. package/src/sdk/app/tables/index.ts +6 -3
  613. package/src/sdk/index.ts +4 -0
  614. package/src/sdk/tests/attachments.spec.ts +1 -4
  615. package/src/sdk/utils/index.ts +16 -0
  616. package/src/startup.ts +3 -8
  617. package/src/tests/jestEnv.ts +13 -0
  618. package/src/tests/jestSetup.ts +4 -15
  619. package/src/tests/utilities/TestConfiguration.ts +38 -16
  620. package/src/tests/utilities/structures.ts +65 -2
  621. package/src/threads/automation.ts +22 -35
  622. package/src/threads/definitions.ts +3 -0
  623. package/src/threads/index.ts +1 -1
  624. package/src/threads/query.ts +28 -15
  625. package/src/utilities/fileSystem/app.ts +86 -0
  626. package/src/utilities/fileSystem/clientLibrary.ts +1 -1
  627. package/src/utilities/fileSystem/filesystem.ts +172 -0
  628. package/src/utilities/fileSystem/index.ts +5 -348
  629. package/src/utilities/fileSystem/plugin.ts +64 -0
  630. package/src/utilities/fileSystem/template.ts +36 -0
  631. package/src/utilities/index.ts +1 -45
  632. package/src/utilities/rowProcessor/index.ts +17 -8
  633. package/src/utilities/rowProcessor/tests/utils.spec.ts +57 -0
  634. package/src/utilities/schema.ts +141 -0
  635. package/src/utilities/scriptRunner.ts +1 -1
  636. package/src/utilities/statusCodes.ts +1 -1
  637. package/src/utilities/workerRequests.ts +10 -1
  638. package/src/watch.ts +1 -1
  639. package/tsconfig.build.json +2 -0
  640. package/tsconfig.json +2 -1
  641. package/builder/assets/index.01a9ab3b.js +0 -1024
  642. package/builder/assets/index.96b9ffed.css +0 -6
  643. package/coverage/lcov-report/src/utilities/plugins.ts.html +0 -151
  644. package/dist/api/routes/tests/utilities/TestFunctions.js +0 -167
  645. package/dist/api/routes/tests/utilities/index.js +0 -131
  646. package/dist/automations/tests/utilities/index.js +0 -81
  647. package/dist/tests/utilities/TestConfiguration.js +0 -562
  648. package/dist/tests/utilities/controllers.js +0 -40
  649. package/dist/tests/utilities/structures.js +0 -168
  650. package/dist/utilities/csvParser.js +0 -152
  651. package/dist/utilities/plugins.js +0 -26
  652. package/src/api/routes/tests/deployment.spec.ts +0 -25
  653. package/src/automations/unitTests/automationUtils.spec.js +0 -17
  654. package/src/utilities/csvParser.ts +0 -161
  655. package/src/utilities/plugins.ts +0 -22
  656. package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -15
  657. 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">65.05% </span>
26
+ <span class="strong">63.44% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>121/186</span>
28
+ <span class='fraction'>118/186</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">39.06% </span>
33
+ <span class="strong">45.9% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>25/64</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">59.37% </span>
40
+ <span class="strong">50% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>19/32</span>
42
+ <span class='fraction'>23/46</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">65.55% </span>
47
+ <span class="strong">63.33% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>118/180</span>
49
+ <span class='fraction'>114/180</span>
50
50
  </div>
51
51
 
52
52
 
@@ -458,28 +458,27 @@
458
458
  <a name='L393'></a><a href='#L393'>393</a>
459
459
  <a name='L394'></a><a href='#L394'>394</a>
460
460
  <a name='L395'></a><a href='#L395'>395</a>
461
- <a name='L396'></a><a href='#L396'>396</a>
462
- <a name='L397'></a><a href='#L397'>397</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">47x</span>
463
- <span class="cline-any cline-yes">47x</span>
464
- <span class="cline-any cline-yes">47x</span>
465
- <span class="cline-any cline-yes">47x</span>
466
- <span class="cline-any cline-yes">47x</span>
461
+ <a name='L396'></a><a href='#L396'>396</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">56x</span>
462
+ <span class="cline-any cline-yes">56x</span>
463
+ <span class="cline-any cline-yes">56x</span>
464
+ <span class="cline-any cline-yes">56x</span>
467
465
  <span class="cline-any cline-neutral">&nbsp;</span>
468
466
  <span class="cline-any cline-neutral">&nbsp;</span>
469
467
  <span class="cline-any cline-neutral">&nbsp;</span>
470
- <span class="cline-any cline-yes">47x</span>
468
+ <span class="cline-any cline-yes">56x</span>
471
469
  <span class="cline-any cline-neutral">&nbsp;</span>
472
470
  <span class="cline-any cline-neutral">&nbsp;</span>
473
471
  <span class="cline-any cline-neutral">&nbsp;</span>
474
472
  <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-yes">47x</span>
476
- <span class="cline-any cline-yes">47x</span>
477
- <span class="cline-any cline-yes">47x</span>
478
- <span class="cline-any cline-yes">47x</span>
479
- <span class="cline-any cline-yes">47x</span>
480
473
  <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-yes">56x</span>
475
+ <span class="cline-any cline-yes">56x</span>
476
+ <span class="cline-any cline-yes">56x</span>
477
+ <span class="cline-any cline-yes">56x</span>
478
+ <span class="cline-any cline-yes">56x</span>
481
479
  <span class="cline-any cline-neutral">&nbsp;</span>
482
- <span class="cline-any cline-yes">47x</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-no">&nbsp;</span>
483
482
  <span class="cline-any cline-no">&nbsp;</span>
484
483
  <span class="cline-any cline-no">&nbsp;</span>
485
484
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -494,18 +493,18 @@
494
493
  <span class="cline-any cline-neutral">&nbsp;</span>
495
494
  <span class="cline-any cline-neutral">&nbsp;</span>
496
495
  <span class="cline-any cline-neutral">&nbsp;</span>
497
- <span class="cline-any cline-yes">47x</span>
498
- <span class="cline-any cline-yes">130x</span>
499
- <span class="cline-any cline-yes">130x</span>
500
- <span class="cline-any cline-yes">130x</span>
501
- <span class="cline-any cline-yes">130x</span>
502
- <span class="cline-any cline-yes">130x</span>
496
+ <span class="cline-any cline-no">&nbsp;</span>
497
+ <span class="cline-any cline-yes">132x</span>
498
+ <span class="cline-any cline-yes">132x</span>
499
+ <span class="cline-any cline-yes">132x</span>
500
+ <span class="cline-any cline-yes">132x</span>
501
+ <span class="cline-any cline-yes">132x</span>
503
502
  <span class="cline-any cline-yes">6x</span>
504
503
  <span class="cline-any cline-yes">15x</span>
505
504
  <span class="cline-any cline-neutral">&nbsp;</span>
506
505
  <span class="cline-any cline-neutral">&nbsp;</span>
507
506
  <span class="cline-any cline-neutral">&nbsp;</span>
508
- <span class="cline-any cline-yes">130x</span>
507
+ <span class="cline-any cline-yes">132x</span>
509
508
  <span class="cline-any cline-neutral">&nbsp;</span>
510
509
  <span class="cline-any cline-yes">1x</span>
511
510
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -530,11 +529,11 @@
530
529
  <span class="cline-any cline-yes">1x</span>
531
530
  <span class="cline-any cline-yes">1x</span>
532
531
  <span class="cline-any cline-neutral">&nbsp;</span>
533
- <span class="cline-any cline-yes">130x</span>
532
+ <span class="cline-any cline-yes">132x</span>
534
533
  <span class="cline-any cline-neutral">&nbsp;</span>
535
534
  <span class="cline-any cline-neutral">&nbsp;</span>
536
535
  <span class="cline-any cline-neutral">&nbsp;</span>
537
- <span class="cline-any cline-yes">47x</span>
536
+ <span class="cline-any cline-no">&nbsp;</span>
538
537
  <span class="cline-any cline-yes">6x</span>
539
538
  <span class="cline-any cline-no">&nbsp;</span>
540
539
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -556,7 +555,7 @@
556
555
  <span class="cline-any cline-yes">6x</span>
557
556
  <span class="cline-any cline-neutral">&nbsp;</span>
558
557
  <span class="cline-any cline-neutral">&nbsp;</span>
559
- <span class="cline-any cline-yes">47x</span>
558
+ <span class="cline-any cline-no">&nbsp;</span>
560
559
  <span class="cline-any cline-yes">3x</span>
561
560
  <span class="cline-any cline-yes">3x</span>
562
561
  <span class="cline-any cline-yes">3x</span>
@@ -589,31 +588,30 @@
589
588
  <span class="cline-any cline-yes">3x</span>
590
589
  <span class="cline-any cline-neutral">&nbsp;</span>
591
590
  <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-yes">47x</span>
593
- <span class="cline-any cline-yes">132x</span>
594
- <span class="cline-any cline-yes">129x</span>
591
+ <span class="cline-any cline-yes">2x</span>
592
+ <span class="cline-any cline-yes">134x</span>
595
593
  <span class="cline-any cline-neutral">&nbsp;</span>
594
+ <span class="cline-any cline-yes">134x</span>
595
+ <span class="cline-any cline-yes">131x</span>
596
596
  <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-yes">3x</span>
598
597
  <span class="cline-any cline-neutral">&nbsp;</span>
599
598
  <span class="cline-any cline-yes">3x</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-yes">3x</span>
603
600
  <span class="cline-any cline-neutral">&nbsp;</span>
604
601
  <span class="cline-any cline-yes">3x</span>
605
602
  <span class="cline-any cline-neutral">&nbsp;</span>
606
603
  <span class="cline-any cline-yes">3x</span>
607
604
  <span class="cline-any cline-neutral">&nbsp;</span>
608
605
  <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
609
607
  <span class="cline-any cline-yes">3x</span>
610
608
  <span class="cline-any cline-yes">3x</span>
611
609
  <span class="cline-any cline-neutral">&nbsp;</span>
612
610
  <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-yes">47x</span>
614
- <span class="cline-any cline-yes">130x</span>
611
+ <span class="cline-any cline-no">&nbsp;</span>
612
+ <span class="cline-any cline-yes">132x</span>
615
613
  <span class="cline-any cline-neutral">&nbsp;</span>
616
- <span class="cline-any cline-yes">130x</span>
614
+ <span class="cline-any cline-yes">132x</span>
617
615
  <span class="cline-any cline-yes">2x</span>
618
616
  <span class="cline-any cline-yes">2x</span>
619
617
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -651,12 +649,12 @@
651
649
  <span class="cline-any cline-neutral">&nbsp;</span>
652
650
  <span class="cline-any cline-neutral">&nbsp;</span>
653
651
  <span class="cline-any cline-neutral">&nbsp;</span>
654
- <span class="cline-any cline-yes">130x</span>
652
+ <span class="cline-any cline-yes">132x</span>
655
653
  <span class="cline-any cline-neutral">&nbsp;</span>
656
654
  <span class="cline-any cline-neutral">&nbsp;</span>
657
- <span class="cline-any cline-yes">47x</span>
655
+ <span class="cline-any cline-no">&nbsp;</span>
658
656
  <span class="cline-any cline-neutral">&nbsp;</span>
659
- <span class="cline-any cline-yes">130x</span>
657
+ <span class="cline-any cline-yes">132x</span>
660
658
  <span class="cline-any cline-yes">1x</span>
661
659
  <span class="cline-any cline-neutral">&nbsp;</span>
662
660
  <span class="cline-any cline-yes">5x</span>
@@ -664,7 +662,7 @@
664
662
  <span class="cline-any cline-neutral">&nbsp;</span>
665
663
  <span class="cline-any cline-neutral">&nbsp;</span>
666
664
  <span class="cline-any cline-neutral">&nbsp;</span>
667
- <span class="cline-any cline-yes">130x</span>
665
+ <span class="cline-any cline-yes">132x</span>
668
666
  <span class="cline-any cline-neutral">&nbsp;</span>
669
667
  <span class="cline-any cline-neutral">&nbsp;</span>
670
668
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -675,43 +673,43 @@
675
673
  <span class="cline-any cline-neutral">&nbsp;</span>
676
674
  <span class="cline-any cline-neutral">&nbsp;</span>
677
675
  <span class="cline-any cline-neutral">&nbsp;</span>
678
- <span class="cline-any cline-yes">130x</span>
679
- <span class="cline-any cline-yes">130x</span>
680
- <span class="cline-any cline-yes">130x</span>
681
- <span class="cline-any cline-yes">130x</span>
676
+ <span class="cline-any cline-yes">132x</span>
677
+ <span class="cline-any cline-yes">132x</span>
678
+ <span class="cline-any cline-yes">132x</span>
679
+ <span class="cline-any cline-yes">132x</span>
682
680
  <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-yes">130x</span>
681
+ <span class="cline-any cline-yes">132x</span>
684
682
  <span class="cline-any cline-neutral">&nbsp;</span>
685
683
  <span class="cline-any cline-neutral">&nbsp;</span>
686
684
  <span class="cline-any cline-neutral">&nbsp;</span>
687
685
  <span class="cline-any cline-neutral">&nbsp;</span>
688
- <span class="cline-any cline-yes">130x</span>
686
+ <span class="cline-any cline-yes">132x</span>
689
687
  <span class="cline-any cline-yes">6x</span>
690
688
  <span class="cline-any cline-neutral">&nbsp;</span>
691
- <span class="cline-any cline-yes">130x</span>
692
- <span class="cline-any cline-yes">130x</span>
689
+ <span class="cline-any cline-yes">132x</span>
690
+ <span class="cline-any cline-yes">132x</span>
693
691
  <span class="cline-any cline-neutral">&nbsp;</span>
694
692
  <span class="cline-any cline-neutral">&nbsp;</span>
695
693
  <span class="cline-any cline-neutral">&nbsp;</span>
696
694
  <span class="cline-any cline-neutral">&nbsp;</span>
697
- <span class="cline-any cline-yes">130x</span>
698
- <span class="cline-any cline-yes">130x</span>
699
- <span class="cline-any cline-yes">130x</span>
695
+ <span class="cline-any cline-yes">132x</span>
696
+ <span class="cline-any cline-yes">132x</span>
697
+ <span class="cline-any cline-yes">132x</span>
700
698
  <span class="cline-any cline-neutral">&nbsp;</span>
701
699
  <span class="cline-any cline-neutral">&nbsp;</span>
702
700
  <span class="cline-any cline-neutral">&nbsp;</span>
703
701
  <span class="cline-any cline-neutral">&nbsp;</span>
704
- <span class="cline-any cline-yes">130x</span>
705
- <span class="cline-any cline-yes">130x</span>
706
- <span class="cline-any cline-yes">130x</span>
702
+ <span class="cline-any cline-yes">132x</span>
703
+ <span class="cline-any cline-yes">132x</span>
704
+ <span class="cline-any cline-yes">132x</span>
707
705
  <span class="cline-any cline-neutral">&nbsp;</span>
708
706
  <span class="cline-any cline-neutral">&nbsp;</span>
709
707
  <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-yes">130x</span>
708
+ <span class="cline-any cline-yes">132x</span>
711
709
  <span class="cline-any cline-neutral">&nbsp;</span>
712
710
  <span class="cline-any cline-neutral">&nbsp;</span>
713
711
  <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-yes">47x</span>
712
+ <span class="cline-any cline-no">&nbsp;</span>
715
713
  <span class="cline-any cline-neutral">&nbsp;</span>
716
714
  <span class="cline-any cline-neutral">&nbsp;</span>
717
715
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -721,25 +719,25 @@
721
719
  <span class="cline-any cline-neutral">&nbsp;</span>
722
720
  <span class="cline-any cline-neutral">&nbsp;</span>
723
721
  <span class="cline-any cline-yes">1x</span>
724
- <span class="cline-any cline-no">&nbsp;</span>
722
+ <span class="cline-any cline-yes">1x</span>
725
723
  <span class="cline-any cline-neutral">&nbsp;</span>
726
724
  <span class="cline-any cline-neutral">&nbsp;</span>
727
- <span class="cline-any cline-no">&nbsp;</span>
725
+ <span class="cline-any cline-yes">1x</span>
728
726
  <span class="cline-any cline-neutral">&nbsp;</span>
729
- <span class="cline-any cline-no">&nbsp;</span>
727
+ <span class="cline-any cline-yes">1x</span>
730
728
  <span class="cline-any cline-no">&nbsp;</span>
731
729
  <span class="cline-any cline-no">&nbsp;</span>
732
730
  <span class="cline-any cline-neutral">&nbsp;</span>
733
731
  <span class="cline-any cline-neutral">&nbsp;</span>
734
732
  <span class="cline-any cline-neutral">&nbsp;</span>
735
- <span class="cline-any cline-no">&nbsp;</span>
733
+ <span class="cline-any cline-yes">1x</span>
736
734
  <span class="cline-any cline-no">&nbsp;</span>
737
735
  <span class="cline-any cline-no">&nbsp;</span>
738
736
  <span class="cline-any cline-neutral">&nbsp;</span>
739
737
  <span class="cline-any cline-neutral">&nbsp;</span>
740
738
  <span class="cline-any cline-neutral">&nbsp;</span>
741
- <span class="cline-any cline-no">&nbsp;</span>
742
- <span class="cline-any cline-no">&nbsp;</span>
739
+ <span class="cline-any cline-yes">1x</span>
740
+ <span class="cline-any cline-yes">1x</span>
743
741
  <span class="cline-any cline-no">&nbsp;</span>
744
742
  <span class="cline-any cline-no">&nbsp;</span>
745
743
  <span class="cline-any cline-no">&nbsp;</span>
@@ -776,7 +774,7 @@
776
774
  <span class="cline-any cline-neutral">&nbsp;</span>
777
775
  <span class="cline-any cline-neutral">&nbsp;</span>
778
776
  <span class="cline-any cline-neutral">&nbsp;</span>
779
- <span class="cline-any cline-no">&nbsp;</span>
777
+ <span class="cline-any cline-yes">1x</span>
780
778
  <span class="cline-any cline-no">&nbsp;</span>
781
779
  <span class="cline-any cline-no">&nbsp;</span>
782
780
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -793,11 +791,11 @@
793
791
  <span class="cline-any cline-neutral">&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">47x</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>
800
- <span class="cline-any cline-yes">47x</span>
798
+ <span class="cline-any cline-no">&nbsp;</span>
801
799
  <span class="cline-any cline-neutral">&nbsp;</span>
802
800
  <span class="cline-any cline-neutral">&nbsp;</span>
803
801
  <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">47x</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>
@@ -817,7 +815,7 @@
817
815
  <span class="cline-any cline-no">&nbsp;</span>
818
816
  <span class="cline-any cline-neutral">&nbsp;</span>
819
817
  <span class="cline-any cline-neutral">&nbsp;</span>
820
- <span class="cline-any cline-yes">47x</span>
818
+ <span class="cline-any cline-no">&nbsp;</span>
821
819
  <span class="cline-any cline-no">&nbsp;</span>
822
820
  <span class="cline-any cline-neutral">&nbsp;</span>
823
821
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -834,9 +832,9 @@
834
832
  <span class="cline-any cline-no">&nbsp;</span>
835
833
  <span class="cline-any cline-neutral">&nbsp;</span>
836
834
  <span class="cline-any cline-neutral">&nbsp;</span>
837
- <span class="cline-any cline-yes">47x</span>
838
- <span class="cline-any cline-yes">130x</span>
839
- <span class="cline-any cline-yes">124x</span>
835
+ <span class="cline-any cline-yes">132x</span>
836
+ <span class="cline-any cline-yes">132x</span>
837
+ <span class="cline-any cline-yes">126x</span>
840
838
  <span class="cline-any cline-neutral">&nbsp;</span>
841
839
  <span class="cline-any cline-neutral">&nbsp;</span>
842
840
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -853,9 +851,9 @@
853
851
  <span class="cline-any cline-yes">6x</span>
854
852
  <span class="cline-any cline-neutral">&nbsp;</span>
855
853
  <span class="cline-any cline-neutral">&nbsp;</span>
856
- <span class="cline-any cline-yes">47x</span>
857
- <span class="cline-any cline-yes">47x</span>
858
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { transform } from "../../../utilities/csvParser"
854
+ <span class="cline-any cline-yes">56x</span>
855
+ <span class="cline-any cline-yes">132x</span>
856
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { parse, isSchema, isRows } from "../../../utilities/schema"
859
857
  import { getRowParams, generateRowID, InternalTables } from "../../../db/utils"
860
858
  import { isEqual } from "lodash"
861
859
  import { AutoFieldSubTypes, FieldTypes } from "../../../constants"
@@ -875,7 +873,7 @@ import { quotas } from "@budibase/pro"
875
873
  import { events, context } from "@budibase/backend-core"
876
874
  import { Database } from "@budibase/types"
877
875
  &nbsp;
878
- export async function <span class="fstat-no" title="function not covered" >clearColumns(</span>table: any, columnNames: any) {
876
+ 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) {
879
877
  const db: Database = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
880
878
  const rows = <span class="cstat-no" title="statement not covered" >await db.allDocs(</span>
881
879
  getRowParams(table._id, null, {
@@ -890,7 +888,7 @@ export async function <span class="fstat-no" title="function not covered" >clear
890
888
  )) as { id: string; _rev?: string }[]
891
889
  }
892
890
  &nbsp;
893
- export async function checkForColumnUpdates(oldTable: any, updatedTable: any) {
891
+ 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) {
894
892
  const db = context.getAppDB()
895
893
  let updatedRows = []
896
894
  const rename = updatedTable._rename
@@ -930,7 +928,7 @@ export async function checkForColumnUpdates(oldTable: any, updatedTable: any) {
930
928
  }
931
929
  &nbsp;
932
930
  // makes sure the passed in table isn't going to reset the auto ID
933
- export function makeSureTableUpToDate(table: any, tableToSave: any) {
931
+ 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) {
934
932
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!table) {
935
933
  <span class="cstat-no" title="statement not covered" > return tableToSave</span>
936
934
  }
@@ -952,7 +950,7 @@ export function makeSureTableUpToDate(table: any, tableToSave: any) {
952
950
  return tableToSave
953
951
  }
954
952
  &nbsp;
955
- export function importToRows(data: any, table: any, user: any = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
953
+ 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> {
956
954
  let finalData: any = []
957
955
  for (let i = 0; i &lt; data.length; i++) {
958
956
  let row = data[i]
@@ -985,28 +983,27 @@ export function importToRows(data: any, table: any, user: any = <span class="bra
985
983
  return finalData
986
984
  }
987
985
  &nbsp;
988
- export async function handleDataImport(user: any, table: any, dataImport: any) {
989
- if (!dataImport || !dataImport.csvString) {
986
+ export async function handleDataImport(user: any, table: any, rows: any) {
987
+ const schema: unknown = table.schema
988
+ &nbsp;
989
+ if (!rows || !isRows(rows) || !isSchema(schema)) {
990
990
  return table
991
991
  }
992
992
  &nbsp;
993
993
  const db = context.getAppDB()
994
- // Populate the table with rows imported from CSV in a bulk update
995
- const data = await transform({
996
- ...dataImport,
997
- existingTable: table,
998
- })
994
+ const data = parse(rows, schema)
999
995
  &nbsp;
1000
996
  let finalData: any = importToRows(data, table, user)
1001
997
  &nbsp;
1002
998
  await quotas.addRows(finalData.length, () =&gt; db.bulkDocs(finalData), {
1003
999
  tableId: table._id,
1004
1000
  })
1005
- await events.rows.imported(table, "csv", finalData.length)
1001
+ &nbsp;
1002
+ await events.rows.imported(table, finalData.length)
1006
1003
  return table
1007
1004
  }
1008
1005
  &nbsp;
1009
- export async function handleSearchIndexes(table: any) {
1006
+ 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) {
1010
1007
  const db = context.getAppDB()
1011
1008
  // create relevant search indexes
1012
1009
  if (table.indexes &amp;&amp; table.indexes.length &gt; 0) {
@@ -1050,7 +1047,7 @@ export async function handleSearchIndexes(table: any) {
1050
1047
  return table
1051
1048
  }
1052
1049
  &nbsp;
1053
- export function checkStaticTables(table: any) {
1050
+ export function <span class="cstat-no" title="statement not covered" >checkStaticTables<span class="fstat-no" title="function not covered" >(</span>t</span>able: any) {
1054
1051
  // check user schema has all required elements
1055
1052
  if (table._id === InternalTables.USER_METADATA) {
1056
1053
  for (let [key, schema] of Object.entries(USERS_TABLE_SCHEMA.schema)) {
@@ -1067,14 +1064,14 @@ class TableSaveFunctions {
1067
1064
  db: any
1068
1065
  user: any
1069
1066
  oldTable: any
1070
- dataImport: any
1067
+ importRows: any
1071
1068
  rows: any
1072
1069
  &nbsp;
1073
- constructor({ user, oldTable, dataImport }: any) {
1070
+ constructor({ user, oldTable, importRows }: any) {
1074
1071
  this.db = context.getAppDB()
1075
1072
  this.user = user
1076
1073
  this.oldTable = oldTable
1077
- this.dataImport = dataImport
1074
+ this.importRows = importRows
1078
1075
  // any rows that need updated
1079
1076
  this.rows = []
1080
1077
  }
@@ -1098,7 +1095,7 @@ class TableSaveFunctions {
1098
1095
  // after saving
1099
1096
  async after(table: any) {
1100
1097
  table = await handleSearchIndexes(table)
1101
- table = await handleDataImport(this.user, table, this.dataImport)
1098
+ table = await handleDataImport(this.user, table, this.importRows)
1102
1099
  return table
1103
1100
  }
1104
1101
  &nbsp;
@@ -1107,42 +1104,42 @@ class TableSaveFunctions {
1107
1104
  }
1108
1105
  }
1109
1106
  &nbsp;
1110
- export async function checkForViewUpdates(
1107
+ export async function <span class="cstat-no" title="statement not covered" >checkForViewUpdates<span class="fstat-no" title="function not covered" >(</span></span>
1111
1108
  table: any,
1112
1109
  rename: any,
1113
1110
  deletedColumns: any
1114
1111
  ) {
1115
1112
  const views = await getViews()
1116
- const tableViews = views.filter(<span class="fstat-no" title="function not covered" >view </span>=&gt; <span class="cstat-no" title="statement not covered" >view.meta.tableId === table._id)</span>
1113
+ const tableViews = views.filter(view =&gt; view.meta.tableId === table._id)
1117
1114
  &nbsp;
1118
1115
  // Check each table view to see if impacted by this table action
1119
1116
  for (let view of tableViews) {
1120
- let needsUpdated = <span class="cstat-no" title="statement not covered" >false</span>
1117
+ let needsUpdated = false
1121
1118
  &nbsp;
1122
1119
  // First check for renames, otherwise check for deletions
1123
- <span class="cstat-no" title="statement not covered" > if (rename) {</span>
1120
+ if (rename) {
1124
1121
  // Update calculation field if required
1125
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (view.meta.field === rename.old) {</span>
1122
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (view.meta.field === rename.old) {
1126
1123
  <span class="cstat-no" title="statement not covered" > view.meta.field = rename.updated</span>
1127
1124
  <span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
1128
1125
  }
1129
1126
  &nbsp;
1130
1127
  // Update group by field if required
1131
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (view.meta.groupBy === rename.old) {</span>
1128
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (view.meta.groupBy === rename.old) {
1132
1129
  <span class="cstat-no" title="statement not covered" > view.meta.groupBy = rename.updated</span>
1133
1130
  <span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
1134
1131
  }
1135
1132
  &nbsp;
1136
1133
  // Update filters if required
1137
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (view.meta.filters) {</span>
1138
- <span class="cstat-no" title="statement not covered" > view.meta.filters.forEach(<span class="fstat-no" title="function not covered" >(f</span>ilter: any) =&gt; {</span>
1134
+ if (view.meta.filters) {
1135
+ view.meta.filters.forEach(<span class="fstat-no" title="function not covered" >(f</span>ilter: any) =&gt; {
1139
1136
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (filter.key === rename.old) {</span>
1140
1137
  <span class="cstat-no" title="statement not covered" > filter.key = rename.updated</span>
1141
1138
  <span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
1142
1139
  }
1143
1140
  })
1144
1141
  }
1145
- } else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>if (deletedColumns) {</span>
1142
+ } else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span><span class="missing-if-branch" title="else path not taken" >E</span>if (deletedColumns) {</span>
1146
1143
  <span class="cstat-no" title="statement not covered" > deletedColumns.forEach(<span class="fstat-no" title="function not covered" >(c</span>olumn: any) =&gt; {</span>
1147
1144
  // Remove calculation statement if required
1148
1145
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (view.meta.field === column) {</span>
@@ -1172,7 +1169,7 @@ export async function checkForViewUpdates(
1172
1169
  }
1173
1170
  &nbsp;
1174
1171
  // Update view if required
1175
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (needsUpdated) {</span>
1172
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (needsUpdated) {
1176
1173
  const groupByField: any = <span class="cstat-no" title="statement not covered" >Object.values(table.schema).find(</span>
1177
1174
  <span class="fstat-no" title="function not covered" > (f</span>ield: any) =&gt; <span class="cstat-no" title="statement not covered" >field.name == view.groupBy</span>
1178
1175
  )
@@ -1189,11 +1186,11 @@ export async function checkForViewUpdates(
1189
1186
  }
1190
1187
  }
1191
1188
  &nbsp;
1192
- export function <span class="fstat-no" title="function not covered" >generateForeignKey(</span>column: any, relatedTable: any) {
1189
+ 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) {
1193
1190
  <span class="cstat-no" title="statement not covered" > return `fk_${relatedTable.name}_${column.fieldName}`</span>
1194
1191
  }
1195
1192
  &nbsp;
1196
- export function <span class="fstat-no" title="function not covered" >generateJunctionTableName(</span>
1193
+ 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>
1197
1194
  column: any,
1198
1195
  table: any,
1199
1196
  relatedTable: any
@@ -1201,7 +1198,7 @@ export function <span class="fstat-no" title="function not covered" >generateJun
1201
1198
  <span class="cstat-no" title="statement not covered" > return `jt_${table.name}_${relatedTable.name}_${column.name}_${column.fieldName}`</span>
1202
1199
  }
1203
1200
  &nbsp;
1204
- export function <span class="fstat-no" title="function not covered" >foreignKeyStructure(</span>keyName: any, meta?: any) {
1201
+ 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) {
1205
1202
  const structure: any = <span class="cstat-no" title="statement not covered" >{</span>
1206
1203
  type: FieldTypes.NUMBER,
1207
1204
  constraints: {},
@@ -1213,7 +1210,7 @@ export function <span class="fstat-no" title="function not covered" >foreignKeyS
1213
1210
  <span class="cstat-no" title="statement not covered" > return structure</span>
1214
1211
  }
1215
1212
  &nbsp;
1216
- export function <span class="fstat-no" title="function not covered" >areSwitchableTypes(</span>type1: any, type2: any) {
1213
+ 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) {
1217
1214
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
1218
1215
  SwitchableTypes.indexOf(type1) === -1 &amp;&amp;
1219
1216
  SwitchableTypes.indexOf(type2) === -1
@@ -1242,7 +1239,7 @@ export function hasTypeChanged(table: any, oldTable: any) {
1242
1239
  continue
1243
1240
  }
1244
1241
  const newType = table.schema[key].type
1245
- <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> {
1242
+ <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>
1246
1243
  <span class="cstat-no" title="statement not covered" > return true</span>
1247
1244
  }
1248
1245
  }
@@ -1258,7 +1255,7 @@ export { _TableSaveFunctions as TableSaveFunctions }
1258
1255
  <div class='footer quiet pad2 space-top1 center small'>
1259
1256
  Code coverage generated by
1260
1257
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1261
- at Tue Jan 31 2023 16:44:04 GMT+0000 (Coordinated Universal Time)
1258
+ at Sun Feb 05 2023 23:27:19 GMT+0000 (Coordinated Universal Time)
1262
1259
  </div>
1263
1260
  <script src="../../../../prettify.js"></script>
1264
1261
  <script>