@budibase/server 2.2.26 → 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.96b9ffed.css +0 -6
  642. package/builder/assets/index.fae8f9eb.js +0 -1024
  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
@@ -30,9 +30,9 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">36.73% </span>
33
+ <span class="strong">41.86% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>18/49</span>
35
+ <span class='fraction'>18/43</span>
36
36
  </div>
37
37
 
38
38
 
@@ -251,18 +251,18 @@
251
251
  <a name='L186'></a><a href='#L186'>186</a>
252
252
  <a name='L187'></a><a href='#L187'>187</a>
253
253
  <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">47x</span>
255
- <span class="cline-any cline-yes">47x</span>
256
- <span class="cline-any cline-yes">47x</span>
257
- <span class="cline-any cline-yes">47x</span>
258
- <span class="cline-any cline-yes">47x</span>
259
- <span class="cline-any cline-yes">47x</span>
260
- <span class="cline-any cline-yes">47x</span>
254
+ <a name='L189'></a><a href='#L189'>189</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">56x</span>
255
+ <span class="cline-any cline-yes">56x</span>
256
+ <span class="cline-any cline-yes">56x</span>
257
+ <span class="cline-any cline-yes">56x</span>
258
+ <span class="cline-any cline-yes">56x</span>
259
+ <span class="cline-any cline-yes">56x</span>
260
+ <span class="cline-any cline-yes">56x</span>
261
261
  <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-yes">47x</span>
262
+ <span class="cline-any cline-yes">56x</span>
263
263
  <span class="cline-any cline-neutral">&nbsp;</span>
264
264
  <span class="cline-any cline-neutral">&nbsp;</span>
265
- <span class="cline-any cline-yes">1532x</span>
265
+ <span class="cline-any cline-yes">1544x</span>
266
266
  <span class="cline-any cline-neutral">&nbsp;</span>
267
267
  <span class="cline-any cline-neutral">&nbsp;</span>
268
268
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -273,19 +273,19 @@
273
273
  <span class="cline-any cline-neutral">&nbsp;</span>
274
274
  <span class="cline-any cline-neutral">&nbsp;</span>
275
275
  <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-yes">320x</span>
277
- <span class="cline-any cline-yes">320x</span>
278
- <span class="cline-any cline-yes">320x</span>
276
+ <span class="cline-any cline-yes">324x</span>
277
+ <span class="cline-any cline-yes">324x</span>
278
+ <span class="cline-any cline-yes">324x</span>
279
279
  <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-yes">1214x</span>
281
- <span class="cline-any cline-yes">1214x</span>
280
+ <span class="cline-any cline-yes">1222x</span>
281
+ <span class="cline-any cline-yes">1222x</span>
282
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
283
  <span class="cline-any cline-no">&nbsp;</span>
284
284
  <span class="cline-any cline-no">&nbsp;</span>
285
285
  <span class="cline-any cline-neutral">&nbsp;</span>
286
286
  <span class="cline-any cline-no">&nbsp;</span>
287
287
  <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-yes">320x</span>
288
+ <span class="cline-any cline-yes">324x</span>
289
289
  <span class="cline-any cline-neutral">&nbsp;</span>
290
290
  <span class="cline-any cline-neutral">&nbsp;</span>
291
291
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -297,31 +297,31 @@
297
297
  <span class="cline-any cline-neutral">&nbsp;</span>
298
298
  <span class="cline-any cline-neutral">&nbsp;</span>
299
299
  <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-yes">133x</span>
301
- <span class="cline-any cline-yes">308x</span>
300
+ <span class="cline-any cline-yes">135x</span>
301
+ <span class="cline-any cline-yes">312x</span>
302
302
  <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-yes">133x</span>
304
- <span class="cline-any cline-yes">133x</span>
305
- <span class="cline-any cline-yes">323x</span>
303
+ <span class="cline-any cline-yes">135x</span>
304
+ <span class="cline-any cline-yes">135x</span>
305
+ <span class="cline-any cline-yes">327x</span>
306
306
  <span class="cline-any cline-neutral">&nbsp;</span>
307
307
  <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-yes">133x</span>
309
- <span class="cline-any cline-yes">287x</span>
308
+ <span class="cline-any cline-yes">135x</span>
309
+ <span class="cline-any cline-yes">291x</span>
310
310
  <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-yes">287x</span>
311
+ <span class="cline-any cline-yes">291x</span>
312
312
  <span class="cline-any cline-yes">2x</span>
313
313
  <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-yes">287x</span>
314
+ <span class="cline-any cline-yes">291x</span>
315
315
  <span class="cline-any cline-no">&nbsp;</span>
316
316
  <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-yes">287x</span>
318
- <span class="cline-any cline-yes">287x</span>
317
+ <span class="cline-any cline-yes">291x</span>
318
+ <span class="cline-any cline-yes">291x</span>
319
319
  <span class="cline-any cline-no">&nbsp;</span>
320
320
  <span class="cline-any cline-neutral">&nbsp;</span>
321
321
  <span class="cline-any cline-neutral">&nbsp;</span>
322
322
  <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-yes">287x</span>
324
- <span class="cline-any cline-yes">287x</span>
323
+ <span class="cline-any cline-yes">291x</span>
324
+ <span class="cline-any cline-yes">291x</span>
325
325
  <span class="cline-any cline-neutral">&nbsp;</span>
326
326
  <span class="cline-any cline-no">&nbsp;</span>
327
327
  <span class="cline-any cline-no">&nbsp;</span>
@@ -358,22 +358,22 @@
358
358
  <span class="cline-any cline-neutral">&nbsp;</span>
359
359
  <span class="cline-any cline-neutral">&nbsp;</span>
360
360
  <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-yes">133x</span>
362
- <span class="cline-any cline-yes">133x</span>
361
+ <span class="cline-any cline-yes">135x</span>
362
+ <span class="cline-any cline-yes">135x</span>
363
363
  <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-yes">133x</span>
365
- <span class="cline-any cline-yes">308x</span>
364
+ <span class="cline-any cline-yes">135x</span>
365
+ <span class="cline-any cline-yes">312x</span>
366
366
  <span class="cline-any cline-neutral">&nbsp;</span>
367
367
  <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-yes">133x</span>
368
+ <span class="cline-any cline-yes">135x</span>
369
369
  <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-yes">133x</span>
371
- <span class="cline-any cline-yes">325x</span>
370
+ <span class="cline-any cline-yes">135x</span>
371
+ <span class="cline-any cline-yes">329x</span>
372
372
  <span class="cline-any cline-neutral">&nbsp;</span>
373
373
  <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-yes">133x</span>
375
- <span class="cline-any cline-yes">178x</span>
376
- <span class="cline-any cline-yes">178x</span>
374
+ <span class="cline-any cline-yes">135x</span>
375
+ <span class="cline-any cline-yes">180x</span>
376
+ <span class="cline-any cline-yes">180x</span>
377
377
  <span class="cline-any cline-neutral">&nbsp;</span>
378
378
  <span class="cline-any cline-no">&nbsp;</span>
379
379
  <span class="cline-any cline-no">&nbsp;</span>
@@ -381,8 +381,8 @@
381
381
  <span class="cline-any cline-neutral">&nbsp;</span>
382
382
  <span class="cline-any cline-neutral">&nbsp;</span>
383
383
  <span class="cline-any cline-neutral">&nbsp;</span>
384
- <span class="cline-any cline-yes">133x</span>
385
- <span class="cline-any cline-yes">130x</span>
384
+ <span class="cline-any cline-yes">135x</span>
385
+ <span class="cline-any cline-yes">132x</span>
386
386
  <span class="cline-any cline-yes">33x</span>
387
387
  <span class="cline-any cline-yes">33x</span>
388
388
  <span class="cline-any cline-yes">33x</span>
@@ -403,9 +403,9 @@
403
403
  <span class="cline-any cline-neutral">&nbsp;</span>
404
404
  <span class="cline-any cline-neutral">&nbsp;</span>
405
405
  <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-yes">133x</span>
407
- <span class="cline-any cline-yes">235x</span>
408
- <span class="cline-any cline-yes">178x</span>
406
+ <span class="cline-any cline-yes">135x</span>
407
+ <span class="cline-any cline-yes">237x</span>
408
+ <span class="cline-any cline-yes">180x</span>
409
409
  <span class="cline-any cline-no">&nbsp;</span>
410
410
  <span class="cline-any cline-neutral">&nbsp;</span>
411
411
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -416,27 +416,27 @@
416
416
  <span class="cline-any cline-neutral">&nbsp;</span>
417
417
  <span class="cline-any cline-neutral">&nbsp;</span>
418
418
  <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-yes">130x</span>
419
+ <span class="cline-any cline-yes">132x</span>
420
420
  <span class="cline-any cline-neutral">&nbsp;</span>
421
- <span class="cline-any cline-yes">318x</span>
421
+ <span class="cline-any cline-yes">322x</span>
422
422
  <span class="cline-any cline-neutral">&nbsp;</span>
423
423
  <span class="cline-any cline-neutral">&nbsp;</span>
424
424
  <span class="cline-any cline-neutral">&nbsp;</span>
425
425
  <span class="cline-any cline-neutral">&nbsp;</span>
426
426
  <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-yes">130x</span>
427
+ <span class="cline-any cline-yes">132x</span>
428
428
  <span class="cline-any cline-no">&nbsp;</span>
429
429
  <span class="cline-any cline-neutral">&nbsp;</span>
430
430
  <span class="cline-any cline-neutral">&nbsp;</span>
431
431
  <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-yes">47x</span>
432
+ <span class="cline-any cline-yes">135x</span>
433
433
  <span class="cline-any cline-neutral">&nbsp;</span>
434
434
  <span class="cline-any cline-neutral">&nbsp;</span>
435
435
  <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-yes">133x</span>
437
- <span class="cline-any cline-yes">133x</span>
438
- <span class="cline-any cline-yes">133x</span>
439
- <span class="cline-any cline-yes">130x</span>
436
+ <span class="cline-any cline-yes">135x</span>
437
+ <span class="cline-any cline-yes">135x</span>
438
+ <span class="cline-any cline-yes">135x</span>
439
+ <span class="cline-any cline-yes">132x</span>
440
440
  <span class="cline-any cline-neutral">&nbsp;</span>
441
441
  <span class="cline-any cline-neutral">&nbsp;</span>
442
442
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { FieldTypes, FormulaTypes } from "../../../constants"
@@ -462,7 +462,7 @@ function isStaticFormula(column: FieldSchema) {
462
462
  */
463
463
  function getFormulaThatUseColumn(table: Table, columnNames: string[] | string) {
464
464
  let formula: string[] = []
465
- columnNames = Array.isArray(columnNames) ? <span class="branch-0 cbranch-no" title="branch not covered" >columnNames </span>: [columnNames]
465
+ columnNames = Array.isArray(columnNames) ? <span class="branch-0 cbranch-no" title="branch not covered" >columnNames : [</span>columnNames]
466
466
  for (let column of Object.values(table.schema)) {
467
467
  // not a static formula, or doesn't contain a relationship
468
468
  if (!isStaticFormula(column)) {
@@ -513,9 +513,9 @@ async function checkIfFormulaNeedsCleared(
513
513
  }
514
514
  <span class="cstat-no" title="statement not covered" > for (let relatedTableId of table.relatedFormula) {</span>
515
515
  const relatedColumns = <span class="cstat-no" title="statement not covered" >Object.values(table.schema).filter(</span>
516
- <span class="fstat-no" title="function not covered" > column </span>=&gt; <span class="cstat-no" title="statement not covered" >column.tableId === relatedTableId</span>
516
+ <span class="fstat-no" title="function not covered" > column =&gt; <span class="cstat-no" title="statement not covered" >c</span>olumn.tableId === relatedTableId</span>
517
517
  )
518
- const relatedTable = <span class="cstat-no" title="statement not covered" >tables.find(<span class="fstat-no" title="function not covered" >table </span>=&gt; <span class="cstat-no" title="statement not covered" >table._id === relatedTableId)</span></span>
518
+ const relatedTable = <span class="cstat-no" title="statement not covered" >tables.find(<span class="fstat-no" title="function not covered" >table =&gt; <span class="cstat-no" title="statement not covered" >t</span>able._id === relatedTableId)</span></span>
519
519
  // look to see if the column was used in a relationship formula,
520
520
  // relationships won't be used for this
521
521
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (relatedTable &amp;&amp; relatedColumns &amp;&amp; removed.type !== FieldTypes.LINK) {</span>
@@ -576,7 +576,7 @@ async function updateRelatedFormulaLinksOnTables(
576
576
  continue
577
577
  }
578
578
  const relatedTable = <span class="cstat-no" title="statement not covered" >tables.find(</span>
579
- <span class="fstat-no" title="function not covered" > related </span>=&gt; <span class="cstat-no" title="statement not covered" >related._id === relatedCol.tableId</span>
579
+ <span class="fstat-no" title="function not covered" > related =&gt; <span class="cstat-no" title="statement not covered" >r</span>elated._id === relatedCol.tableId</span>
580
580
  )
581
581
  // check if the table is already in the list of related formula, if it isn't, then add it
582
582
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
@@ -607,9 +607,9 @@ async function checkIfFormulaUpdated(
607
607
  const shouldUpdate = Object.values(table.schema).find(
608
608
  column =&gt;
609
609
  isStaticFormula(column) &amp;&amp;
610
- (<span class="branch-1 cbranch-no" title="branch not covered" >!oldTable </span>||
610
+ (<span class="branch-1 cbranch-no" title="branch not covered" >!oldTable ||</span>
611
611
  <span class="branch-2 cbranch-no" title="branch not covered" > !oldTable.schema[column.name] </span>||
612
- <span class="branch-3 cbranch-no" title="branch not covered" > !isEqual(oldTable.schema[column.name], column))</span>
612
+ <span class="branch-3 cbranch-no" title="branch not covered" > !isEqual(oldTable.schema[column.name], column)</span>)
613
613
  )
614
614
  // if a static formula column has updated, then need to run the update
615
615
  <span class="missing-if-branch" title="if path not taken" >I</span>if (shouldUpdate != null) {
@@ -634,7 +634,7 @@ export async function runStaticFormulaChecks(
634
634
  <div class='footer quiet pad2 space-top1 center small'>
635
635
  Code coverage generated by
636
636
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
637
- at Thu Feb 02 2023 11:56:48 GMT+0000 (Coordinated Universal Time)
637
+ at Sun Feb 05 2023 23:27:19 GMT+0000 (Coordinated Universal Time)
638
638
  </div>
639
639
  <script src="../../../../prettify.js"></script>
640
640
  <script>
@@ -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.57% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>13/149</span>
28
+ <span class='fraction'>10/152</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/69</span>
35
+ <span class='fraction'>0/66</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.57% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>13/149</span>
49
+ <span class='fraction'>10/152</span>
50
50
  </div>
51
51
 
52
52
 
@@ -417,22 +417,24 @@
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">47x</span>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
421
423
  <span class="cline-any cline-neutral">&nbsp;</span>
422
424
  <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-yes">56x</span>
423
426
  <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-yes">47x</span>
425
427
  <span class="cline-any cline-neutral">&nbsp;</span>
426
428
  <span class="cline-any cline-neutral">&nbsp;</span>
427
429
  <span class="cline-any cline-neutral">&nbsp;</span>
428
430
  <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-yes">56x</span>
432
+ <span class="cline-any cline-yes">56x</span>
433
+ <span class="cline-any cline-yes">56x</span>
434
+ <span class="cline-any cline-yes">56x</span>
435
+ <span class="cline-any cline-yes">56x</span>
436
+ <span class="cline-any cline-yes">56x</span>
429
437
  <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-yes">47x</span>
431
- <span class="cline-any cline-yes">47x</span>
432
- <span class="cline-any cline-yes">47x</span>
433
- <span class="cline-any cline-yes">47x</span>
434
- <span class="cline-any cline-yes">47x</span>
435
- <span class="cline-any cline-yes">47x</span>
436
438
  <span class="cline-any cline-neutral">&nbsp;</span>
437
439
  <span class="cline-any cline-neutral">&nbsp;</span>
438
440
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -441,9 +443,9 @@
441
443
  <span class="cline-any cline-neutral">&nbsp;</span>
442
444
  <span class="cline-any cline-neutral">&nbsp;</span>
443
445
  <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-yes">47x</span>
446
- <span class="cline-any cline-yes">47x</span>
446
+ <span class="cline-any cline-yes">56x</span>
447
+ <span class="cline-any cline-yes">56x</span>
448
+ <span class="cline-any cline-yes">56x</span>
447
449
  <span class="cline-any cline-neutral">&nbsp;</span>
448
450
  <span class="cline-any cline-neutral">&nbsp;</span>
449
451
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -612,7 +614,7 @@
612
614
  <span class="cline-any cline-no">&nbsp;</span>
613
615
  <span class="cline-any cline-neutral">&nbsp;</span>
614
616
  <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-yes">47x</span>
617
+ <span class="cline-any cline-no">&nbsp;</span>
616
618
  <span class="cline-any cline-no">&nbsp;</span>
617
619
  <span class="cline-any cline-no">&nbsp;</span>
618
620
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -731,7 +733,7 @@
731
733
  <span class="cline-any cline-no">&nbsp;</span>
732
734
  <span class="cline-any cline-neutral">&nbsp;</span>
733
735
  <span class="cline-any cline-neutral">&nbsp;</span>
734
- <span class="cline-any cline-yes">47x</span>
736
+ <span class="cline-any cline-no">&nbsp;</span>
735
737
  <span class="cline-any cline-no">&nbsp;</span>
736
738
  <span class="cline-any cline-neutral">&nbsp;</span>
737
739
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -746,26 +748,28 @@
746
748
  <span class="cline-any cline-neutral">&nbsp;</span>
747
749
  <span class="cline-any cline-no">&nbsp;</span>
748
750
  <span class="cline-any cline-no">&nbsp;</span>
749
- <span class="cline-any cline-neutral">&nbsp;</span>
750
751
  <span class="cline-any cline-no">&nbsp;</span>
751
- <span class="cline-any cline-neutral">&nbsp;</span>
752
752
  <span class="cline-any cline-no">&nbsp;</span>
753
753
  <span class="cline-any cline-no">&nbsp;</span>
754
+ <span class="cline-any cline-no">&nbsp;</span>
755
+ <span class="cline-any cline-neutral">&nbsp;</span>
756
+ <span class="cline-any cline-neutral">&nbsp;</span>
757
+ <span class="cline-any cline-no">&nbsp;</span>
754
758
  <span class="cline-any cline-neutral">&nbsp;</span>
755
759
  <span class="cline-any cline-no">&nbsp;</span>
756
760
  <span class="cline-any cline-neutral">&nbsp;</span>
757
761
  <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-yes">47x</span>
759
762
  <span class="cline-any cline-no">&nbsp;</span>
760
763
  <span class="cline-any cline-no">&nbsp;</span>
761
764
  <span class="cline-any cline-no">&nbsp;</span>
762
765
  <span class="cline-any cline-no">&nbsp;</span>
763
766
  <span class="cline-any cline-neutral">&nbsp;</span>
764
767
  <span class="cline-any cline-no">&nbsp;</span>
765
- <span class="cline-any cline-neutral">&nbsp;</span>
768
+ <span class="cline-any cline-no">&nbsp;</span>
766
769
  <span class="cline-any cline-neutral">&nbsp;</span>
767
770
  <span class="cline-any cline-neutral">&nbsp;</span>
768
771
  <span class="cline-any cline-no">&nbsp;</span>
772
+ <span class="cline-any cline-no">&nbsp;</span>
769
773
  <span class="cline-any cline-neutral">&nbsp;</span>
770
774
  <span class="cline-any cline-neutral">&nbsp;</span>
771
775
  <span class="cline-any cline-no">&nbsp;</span>
@@ -783,9 +787,9 @@ import {
783
787
  } from "./utils"
784
788
  import { FieldTypes, RelationshipTypes } from "../../../constants"
785
789
  import { makeExternalQuery } from "../../../integrations/base/query"
786
- import * as csvParser from "../../../utilities/csvParser"
787
790
  import { handleRequest } from "../row/external"
788
791
  import { events, context } from "@budibase/backend-core"
792
+ import { parse, isRows, isSchema } from "../../../utilities/schema"
789
793
  import {
790
794
  Datasource,
791
795
  Table,
@@ -840,7 +844,7 @@ function <span class="fstat-no" title="function not covered" >cleanupRelationshi
840
844
  (!oldTable || table.schema[key] == null)
841
845
  ) {
842
846
  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>
847
+ <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
848
  )
845
849
  const foreignKey = <span class="cstat-no" title="statement not covered" >schema.foreignKey</span>
846
850
  <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 +864,7 @@ function <span class="fstat-no" title="function not covered" >cleanupRelationshi
860
864
  }
861
865
  }
862
866
  &nbsp;
863
- function <span class="fstat-no" title="function not covered" >getDatasourceId(</span>table: Table) {
867
+ function <span class="fstat-no" title="function not covered" >getDatasourceId(t</span>able: Table) {
864
868
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table) {</span>
865
869
  <span class="cstat-no" title="statement not covered" > throw "No table supplied"</span>
866
870
  }
@@ -870,7 +874,7 @@ function <span class="fstat-no" title="function not covered" >getDatasourceId(</
870
874
  <span class="cstat-no" title="statement not covered" > return breakExternalTableId(table._id).datasourceId</span>
871
875
  }
872
876
  &nbsp;
873
- function <span class="fstat-no" title="function not covered" >otherRelationshipType(</span>type?: string) {
877
+ function <span class="fstat-no" title="function not covered" >otherRelationshipType(t</span>ype?: string) {
874
878
  <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
879
  <span class="cstat-no" title="statement not covered" > return RelationshipTypes.MANY_TO_MANY</span>
876
880
  }
@@ -962,21 +966,21 @@ function <span class="fstat-no" title="function not covered" >generateRelatedSch
962
966
  <span class="cstat-no" title="statement not covered" > table.schema[columnName] = relatedSchema</span>
963
967
  }
964
968
  &nbsp;
965
- function <span class="fstat-no" title="function not covered" >isRelationshipSetup(</span>column: FieldSchema) {
969
+ function <span class="fstat-no" title="function not covered" >isRelationshipSetup(c</span>olumn: FieldSchema) {
966
970
  <span class="cstat-no" title="statement not covered" > return column.foreignKey || column.through</span>
967
971
  }
968
972
  &nbsp;
969
- export async function <span class="fstat-no" title="function not covered" >save(</span>ctx: BBContext) {
973
+ 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
974
  const table: TableRequest = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
971
975
  const renamed = <span class="cstat-no" title="statement not covered" >table?._rename</span>
972
976
  // can't do this right now
973
- <span class="cstat-no" title="statement not covered" > delete table.dataImport</span>
977
+ <span class="cstat-no" title="statement not covered" > delete table.rows</span>
974
978
  const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(ctx.request.body)!</span>
975
979
  // table doesn't exist already, note that it is created
976
980
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table._id) {</span>
977
981
  <span class="cstat-no" title="statement not covered" > table.created = true</span>
978
982
  }
979
- let tableToSave<span class="cstat-no" title="statement not covered" >: TableRequest = {</span>
983
+ let tableToSave: TableRequest = <span class="cstat-no" title="statement not covered" >{</span>
980
984
  type: "table",
981
985
  _id: buildExternalTableId(datasourceId, table.name),
982
986
  ...table,
@@ -992,7 +996,7 @@ export async function <span class="fstat-no" title="function not covered" >save(
992
996
  }
993
997
  &nbsp;
994
998
  const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
995
- const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
999
+ const datasource = <span class="cstat-no" title="statement not covered" >await sdk.datasources.get(datasourceId)</span>
996
1000
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!datasource.entities) {</span>
997
1001
  <span class="cstat-no" title="statement not covered" > datasource.entities = {}</span>
998
1002
  }
@@ -1007,7 +1011,7 @@ export async function <span class="fstat-no" title="function not covered" >save(
1007
1011
  <span class="cstat-no" title="statement not covered" > continue</span>
1008
1012
  }
1009
1013
  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>
1014
+ <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
1015
  )
1012
1016
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!relatedTable) {</span>
1013
1017
  <span class="cstat-no" title="statement not covered" > continue</span>
@@ -1071,7 +1075,7 @@ export async function <span class="fstat-no" title="function not covered" >save(
1071
1075
  &nbsp;
1072
1076
  // make sure the constrained list, all still exist
1073
1077
  <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>
1078
+ <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
1079
  <span class="cstat-no" title="statement not covered" > Object.keys(tableToSave.schema).includes(constraint)</span>
1076
1080
  )
1077
1081
  }
@@ -1085,7 +1089,7 @@ export async function <span class="fstat-no" title="function not covered" >save(
1085
1089
  <span class="cstat-no" title="statement not covered" > return tableToSave</span>
1086
1090
  }
1087
1091
  &nbsp;
1088
- export async function <span class="fstat-no" title="function not covered" >destroy(</span>ctx: BBContext) {
1092
+ 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
1093
  const tableToDelete: TableRequest = <span class="cstat-no" title="statement not covered" >await sdk.tables.getTable(</span>
1090
1094
  ctx.params.tableId
1091
1095
  )
@@ -1095,34 +1099,36 @@ export async function <span class="fstat-no" title="function not covered" >destr
1095
1099
  const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(tableToDelete)</span>
1096
1100
  &nbsp;
1097
1101
  const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
1098
- const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
1102
+ const datasource = <span class="cstat-no" title="statement not covered" >await sdk.datasources.get(datasourceId!)</span>
1099
1103
  const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
1100
1104
  &nbsp;
1101
1105
  const operation = <span class="cstat-no" title="statement not covered" >Operation.DELETE_TABLE</span>
1102
- <span class="cstat-no" title="statement not covered" > await makeTableRequest(datasource, operation, tableToDelete, tables)</span>
1103
- &nbsp;
1104
- <span class="cstat-no" title="statement not covered" > cleanupRelationships(tableToDelete, tables)</span>
1106
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (tables) {</span>
1107
+ <span class="cstat-no" title="statement not covered" > await makeTableRequest(datasource, operation, tableToDelete, tables)</span>
1108
+ <span class="cstat-no" title="statement not covered" > cleanupRelationships(tableToDelete, tables)</span>
1109
+ <span class="cstat-no" title="statement not covered" > delete tables[tableToDelete.name]</span>
1110
+ <span class="cstat-no" title="statement not covered" > datasource.entities = tables</span>
1111
+ }
1105
1112
  &nbsp;
1106
- <span class="cstat-no" title="statement not covered" > delete datasource.entities[tableToDelete.name]</span>
1107
1113
  <span class="cstat-no" title="statement not covered" > await db.put(datasource)</span>
1108
1114
  &nbsp;
1109
1115
  <span class="cstat-no" title="statement not covered" > return tableToDelete</span>
1110
1116
  }
1111
1117
  &nbsp;
1112
- export async function <span class="fstat-no" title="function not covered" >bulkImport(</span>ctx: BBContext) {
1118
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >bulkImport<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext) {
1113
1119
  const table = <span class="cstat-no" title="statement not covered" >await sdk.tables.getTable(ctx.params.tableId)</span>
1114
- const { dataImport } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
1115
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!dataImport || !dataImport.schema || !dataImport.csvString) {</span>
1120
+ const { rows }: { rows: unknown } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
1121
+ const schema: unknown = <span class="cstat-no" title="statement not covered" >table.schema</span>
1122
+ &nbsp;
1123
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!rows || !isRows(rows) || !isSchema(schema)) {</span>
1116
1124
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Provided data import information is invalid.")</span>
1117
1125
  }
1118
- const rows = <span class="cstat-no" title="statement not covered" >await csvParser.transform({</span>
1119
- ...dataImport,
1120
- existingTable: table,
1121
- })
1126
+ &nbsp;
1127
+ const parsedRows = <span class="cstat-no" title="statement not covered" >await parse(rows, schema)</span>
1122
1128
  <span class="cstat-no" title="statement not covered" > await handleRequest(Operation.BULK_CREATE, table._id!, {</span>
1123
- rows,
1129
+ rows: parsedRows,
1124
1130
  })
1125
- <span class="cstat-no" title="statement not covered" > await events.rows.imported(table, "csv", rows.length)</span>
1131
+ <span class="cstat-no" title="statement not covered" > await events.rows.imported(table, parsedRows.length)</span>
1126
1132
  <span class="cstat-no" title="statement not covered" > return table</span>
1127
1133
  }
1128
1134
  &nbsp;</pre></td></tr></table></pre>
@@ -1132,7 +1138,7 @@ export async function <span class="fstat-no" title="function not covered" >bulkI
1132
1138
  <div class='footer quiet pad2 space-top1 center small'>
1133
1139
  Code coverage generated by
1134
1140
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1135
- at Thu Feb 02 2023 11:56:48 GMT+0000 (Coordinated Universal Time)
1141
+ at Sun Feb 05 2023 23:27:19 GMT+0000 (Coordinated Universal Time)
1136
1142
  </div>
1137
1143
  <script src="../../../../prettify.js"></script>
1138
1144
  <script>