@budibase/server 2.2.26 → 2.2.27

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.56a96240.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
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">56.25% </span>
26
+ <span class="strong">56.52% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>90/160</span>
28
+ <span class='fraction'>91/161</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">43.07% </span>
33
+ <span class="strong">40% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>28/65</span>
35
+ <span class='fraction'>20/50</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">47.82% </span>
40
+ <span class="strong">60% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>11/23</span>
42
+ <span class='fraction'>18/30</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">56.25% </span>
47
+ <span class="strong">56.52% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>90/160</span>
49
+ <span class='fraction'>91/161</span>
50
50
  </div>
51
51
 
52
52
 
@@ -406,23 +406,33 @@
406
406
  <a name='L341'></a><a href='#L341'>341</a>
407
407
  <a name='L342'></a><a href='#L342'>342</a>
408
408
  <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">47x</span>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
410
418
  <span class="cline-any cline-neutral">&nbsp;</span>
411
419
  <span class="cline-any cline-neutral">&nbsp;</span>
412
420
  <span class="cline-any cline-neutral">&nbsp;</span>
413
421
  <span class="cline-any cline-neutral">&nbsp;</span>
414
422
  <span class="cline-any cline-neutral">&nbsp;</span>
415
423
  <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-yes">56x</span>
425
+ <span class="cline-any cline-yes">56x</span>
426
+ <span class="cline-any cline-yes">56x</span>
427
+ <span class="cline-any cline-yes">56x</span>
428
+ <span class="cline-any cline-yes">56x</span>
429
+ <span class="cline-any cline-yes">56x</span>
430
+ <span class="cline-any cline-yes">56x</span>
416
431
  <span class="cline-any cline-neutral">&nbsp;</span>
417
- <span class="cline-any cline-yes">47x</span>
418
- <span class="cline-any cline-yes">47x</span>
419
- <span class="cline-any cline-yes">47x</span>
420
- <span class="cline-any cline-yes">47x</span>
421
- <span class="cline-any cline-yes">47x</span>
422
- <span class="cline-any cline-yes">47x</span>
432
+ <span class="cline-any cline-yes">56x</span>
423
433
  <span class="cline-any cline-neutral">&nbsp;</span>
424
434
  <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-yes">47x</span>
435
+ <span class="cline-any cline-yes">55x</span>
426
436
  <span class="cline-any cline-neutral">&nbsp;</span>
427
437
  <span class="cline-any cline-yes">2x</span>
428
438
  <span class="cline-any cline-yes">2x</span>
@@ -453,12 +463,10 @@
453
463
  <span class="cline-any cline-neutral">&nbsp;</span>
454
464
  <span class="cline-any cline-yes">2x</span>
455
465
  <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-yes">2x</span>
457
- <span class="cline-any cline-yes">3x</span>
458
466
  <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-no">&nbsp;</span>
460
467
  <span class="cline-any cline-neutral">&nbsp;</span>
461
468
  <span class="cline-any cline-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-yes">2x</span>
462
470
  <span class="cline-any cline-yes">3x</span>
463
471
  <span class="cline-any cline-yes">2x</span>
464
472
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -467,7 +475,7 @@
467
475
  <span class="cline-any cline-yes">2x</span>
468
476
  <span class="cline-any cline-neutral">&nbsp;</span>
469
477
  <span class="cline-any cline-neutral">&nbsp;</span>
470
- <span class="cline-any cline-yes">47x</span>
478
+ <span class="cline-any cline-yes">55x</span>
471
479
  <span class="cline-any cline-no">&nbsp;</span>
472
480
  <span class="cline-any cline-no">&nbsp;</span>
473
481
  <span class="cline-any cline-no">&nbsp;</span>
@@ -526,12 +534,12 @@
526
534
  <span class="cline-any cline-neutral">&nbsp;</span>
527
535
  <span class="cline-any cline-neutral">&nbsp;</span>
528
536
  <span class="cline-any cline-neutral">&nbsp;</span>
529
- <span class="cline-any cline-yes">6x</span>
530
- <span class="cline-any cline-yes">6x</span>
531
- <span class="cline-any cline-yes">6x</span>
537
+ <span class="cline-any cline-yes">7x</span>
538
+ <span class="cline-any cline-yes">7x</span>
539
+ <span class="cline-any cline-yes">7x</span>
532
540
  <span class="cline-any cline-neutral">&nbsp;</span>
541
+ <span class="cline-any cline-yes">7x</span>
533
542
  <span class="cline-any cline-yes">6x</span>
534
- <span class="cline-any cline-yes">5x</span>
535
543
  <span class="cline-any cline-neutral">&nbsp;</span>
536
544
  <span class="cline-any cline-neutral">&nbsp;</span>
537
545
  <span class="cline-any cline-yes">1x</span>
@@ -554,78 +562,85 @@
554
562
  <span class="cline-any cline-yes">1x</span>
555
563
  <span class="cline-any cline-neutral">&nbsp;</span>
556
564
  <span class="cline-any cline-neutral">&nbsp;</span>
557
- <span class="cline-any cline-yes">47x</span>
558
- <span class="cline-any cline-yes">6x</span>
559
- <span class="cline-any cline-yes">6x</span>
560
- <span class="cline-any cline-yes">6x</span>
561
- <span class="cline-any cline-yes">6x</span>
562
- <span class="cline-any cline-yes">6x</span>
565
+ <span class="cline-any cline-yes">59x</span>
566
+ <span class="cline-any cline-yes">7x</span>
567
+ <span class="cline-any cline-yes">7x</span>
568
+ <span class="cline-any cline-yes">7x</span>
569
+ <span class="cline-any cline-yes">7x</span>
570
+ <span class="cline-any cline-yes">7x</span>
563
571
  <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-yes">6x</span>
572
+ <span class="cline-any cline-yes">7x</span>
565
573
  <span class="cline-any cline-neutral">&nbsp;</span>
566
- <span class="cline-any cline-yes">6x</span>
574
+ <span class="cline-any cline-yes">7x</span>
567
575
  <span class="cline-any cline-neutral">&nbsp;</span>
568
576
  <span class="cline-any cline-neutral">&nbsp;</span>
569
577
  <span class="cline-any cline-neutral">&nbsp;</span>
570
- <span class="cline-any cline-yes">6x</span>
571
- <span class="cline-any cline-yes">6x</span>
578
+ <span class="cline-any cline-yes">7x</span>
579
+ <span class="cline-any cline-neutral">&nbsp;</span>
580
+ <span class="cline-any cline-neutral">&nbsp;</span>
581
+ <span class="cline-any cline-neutral">&nbsp;</span>
582
+ <span class="cline-any cline-yes">7x</span>
572
583
  <span class="cline-any cline-neutral">&nbsp;</span>
573
584
  <span class="cline-any cline-no">&nbsp;</span>
574
585
  <span class="cline-any cline-neutral">&nbsp;</span>
575
586
  <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-yes">6x</span>
577
- <span class="cline-any cline-yes">6x</span>
578
- <span class="cline-any cline-yes">6x</span>
587
+ <span class="cline-any cline-yes">7x</span>
588
+ <span class="cline-any cline-yes">7x</span>
589
+ <span class="cline-any cline-yes">7x</span>
579
590
  <span class="cline-any cline-neutral">&nbsp;</span>
580
591
  <span class="cline-any cline-neutral">&nbsp;</span>
581
- <span class="cline-any cline-yes">6x</span>
582
- <span class="cline-any cline-yes">6x</span>
583
- <span class="cline-any cline-yes">6x</span>
592
+ <span class="cline-any cline-yes">7x</span>
593
+ <span class="cline-any cline-yes">7x</span>
594
+ <span class="cline-any cline-yes">7x</span>
584
595
  <span class="cline-any cline-no">&nbsp;</span>
585
596
  <span class="cline-any cline-neutral">&nbsp;</span>
586
597
  <span class="cline-any cline-neutral">&nbsp;</span>
587
598
  <span class="cline-any cline-neutral">&nbsp;</span>
588
- <span class="cline-any cline-yes">6x</span>
589
- <span class="cline-any cline-yes">6x</span>
590
- <span class="cline-any cline-yes">6x</span>
599
+ <span class="cline-any cline-yes">7x</span>
600
+ <span class="cline-any cline-yes">7x</span>
601
+ <span class="cline-any cline-yes">7x</span>
602
+ <span class="cline-any cline-neutral">&nbsp;</span>
591
603
  <span class="cline-any cline-neutral">&nbsp;</span>
592
604
  <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-yes">47x</span>
594
- <span class="cline-any cline-yes">64x</span>
595
- <span class="cline-any cline-yes">64x</span>
596
- <span class="cline-any cline-yes">64x</span>
597
605
  <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-yes">64x</span>
606
+ <span class="cline-any cline-yes">123x</span>
607
+ <span class="cline-any cline-yes">71x</span>
608
+ <span class="cline-any cline-yes">71x</span>
609
+ <span class="cline-any cline-yes">71x</span>
599
610
  <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-yes">71x</span>
600
612
  <span class="cline-any cline-neutral">&nbsp;</span>
601
613
  <span class="cline-any cline-neutral">&nbsp;</span>
602
614
  <span class="cline-any cline-neutral">&nbsp;</span>
603
615
  <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-yes">64x</span>
605
- <span class="cline-any cline-yes">64x</span>
616
+ <span class="cline-any cline-neutral">&nbsp;</span>
617
+ <span class="cline-any cline-yes">71x</span>
618
+ <span class="cline-any cline-yes">71x</span>
606
619
  <span class="cline-any cline-no">&nbsp;</span>
607
620
  <span class="cline-any cline-no">&nbsp;</span>
608
621
  <span class="cline-any cline-no">&nbsp;</span>
609
622
  <span class="cline-any cline-no">&nbsp;</span>
610
623
  <span class="cline-any cline-neutral">&nbsp;</span>
611
624
  <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-yes">64x</span>
613
- <span class="cline-any cline-yes">64x</span>
614
- <span class="cline-any cline-yes">64x</span>
625
+ <span class="cline-any cline-yes">71x</span>
626
+ <span class="cline-any cline-yes">71x</span>
627
+ <span class="cline-any cline-yes">71x</span>
615
628
  <span class="cline-any cline-neutral">&nbsp;</span>
616
629
  <span class="cline-any cline-neutral">&nbsp;</span>
617
- <span class="cline-any cline-yes">64x</span>
618
- <span class="cline-any cline-yes">64x</span>
619
- <span class="cline-any cline-yes">63x</span>
630
+ <span class="cline-any cline-yes">71x</span>
631
+ <span class="cline-any cline-yes">71x</span>
632
+ <span class="cline-any cline-yes">70x</span>
620
633
  <span class="cline-any cline-no">&nbsp;</span>
621
634
  <span class="cline-any cline-neutral">&nbsp;</span>
622
635
  <span class="cline-any cline-neutral">&nbsp;</span>
623
636
  <span class="cline-any cline-neutral">&nbsp;</span>
624
- <span class="cline-any cline-yes">63x</span>
625
- <span class="cline-any cline-yes">63x</span>
637
+ <span class="cline-any cline-yes">70x</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-neutral">&nbsp;</span>
640
+ <span class="cline-any cline-yes">70x</span>
626
641
  <span class="cline-any cline-no">&nbsp;</span>
627
642
  <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-yes">63x</span>
643
+ <span class="cline-any cline-yes">70x</span>
629
644
  <span class="cline-any cline-neutral">&nbsp;</span>
630
645
  <span class="cline-any cline-neutral">&nbsp;</span>
631
646
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -659,7 +674,7 @@
659
674
  <span class="cline-any cline-neutral">&nbsp;</span>
660
675
  <span class="cline-any cline-neutral">&nbsp;</span>
661
676
  <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-yes">47x</span>
677
+ <span class="cline-any cline-yes">55x</span>
663
678
  <span class="cline-any cline-yes">1x</span>
664
679
  <span class="cline-any cline-yes">1x</span>
665
680
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -687,13 +702,14 @@
687
702
  <span class="cline-any cline-yes">1x</span>
688
703
  <span class="cline-any cline-neutral">&nbsp;</span>
689
704
  <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-yes">47x</span>
705
+ <span class="cline-any cline-yes">55x</span>
706
+ <span class="cline-any cline-yes">1x</span>
691
707
  <span class="cline-any cline-yes">1x</span>
692
708
  <span class="cline-any cline-yes">1x</span>
693
709
  <span class="cline-any cline-neutral">&nbsp;</span>
694
710
  <span class="cline-any cline-neutral">&nbsp;</span>
695
711
  <span class="cline-any cline-neutral">&nbsp;</span>
696
- <span class="cline-any cline-yes">47x</span>
712
+ <span class="cline-any cline-yes">55x</span>
697
713
  <span class="cline-any cline-yes">1x</span>
698
714
  <span class="cline-any cline-yes">1x</span>
699
715
  <span class="cline-any cline-yes">1x</span>
@@ -721,7 +737,7 @@
721
737
  <span class="cline-any cline-neutral">&nbsp;</span>
722
738
  <span class="cline-any cline-neutral">&nbsp;</span>
723
739
  <span class="cline-any cline-no">&nbsp;</span>
724
- <span class="cline-any cline-neutral">&nbsp;</span>
740
+ <span class="cline-any cline-no">&nbsp;</span>
725
741
  <span class="cline-any cline-neutral">&nbsp;</span>
726
742
  <span class="cline-any cline-no">&nbsp;</span>
727
743
  <span class="cline-any cline-no">&nbsp;</span>
@@ -763,9 +779,11 @@ import { getIntegration } from "../../integrations"
763
779
  import { getDatasourceAndQuery } from "./row/utils"
764
780
  import { invalidateDynamicVariables } from "../../threads/utils"
765
781
  import { db as dbCore, context, events } from "@budibase/backend-core"
766
- import { BBContext, Datasource, Row } from "@budibase/types"
782
+ import { UserCtx, Datasource, Row } from "@budibase/types"
783
+ import sdk from "../../sdk"
784
+ import { mergeConfigs } from "../../sdk/app/datasources/datasources"
767
785
  &nbsp;
768
- export async function fetch(ctx: BBContext) {
786
+ export async function fetch(ctx: UserCtx) {
769
787
  // Get internal tables
770
788
  const db = context.getAppDB()
771
789
  const internalTables = await db.allDocs(
@@ -794,25 +812,23 @@ export async function fetch(ctx: BBContext) {
794
812
  )
795
813
  ).rows.map(row =&gt; row.doc)
796
814
  &nbsp;
797
- const allDatasources = [bbInternalDb, ...datasources]
815
+ const allDatasources: Datasource[] = await sdk.datasources.removeSecrets([
816
+ bbInternalDb,
817
+ ...datasources,
818
+ ])
798
819
  &nbsp;
799
820
  for (let datasource of allDatasources) {
800
- <span class="missing-if-branch" title="if path not taken" >I</span>if (datasource.config &amp;&amp; datasource.config.auth) {
801
- // strip secrets from response so they don't show in the network request
802
- <span class="cstat-no" title="statement not covered" > delete datasource.config.auth</span>
803
- }
804
- &nbsp;
805
821
  if (datasource.type === dbCore.BUDIBASE_DATASOURCE_TYPE) {
806
- datasource.entities = internal[datasource._id]
822
+ datasource.entities = internal[datasource._id!]
807
823
  }
808
824
  }
809
825
  &nbsp;
810
826
  ctx.body = [bbInternalDb, ...datasources]
811
827
  }
812
828
  &nbsp;
813
- export async function <span class="fstat-no" title="function not covered" >buildSchemaFromDb(</span>ctx: BBContext) {
829
+ export async function <span class="fstat-no" title="function not covered" >buildSchemaFromDb(</span>ctx: UserCtx) {
814
830
  const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
815
- const datasource = <span class="cstat-no" title="statement not covered" >await db.get(ctx.params.datasourceId)</span>
831
+ const datasource = <span class="cstat-no" title="statement not covered" >await sdk.datasources.get(ctx.params.datasourceId)</span>
816
832
  const tablesFilter = <span class="cstat-no" title="statement not covered" >ctx.request.body.tablesFilter</span>
817
833
  &nbsp;
818
834
  let { tables, error } = <span class="cstat-no" title="statement not covered" >await buildSchemaHelper(datasource)</span>
@@ -847,14 +863,14 @@ export async function <span class="fstat-no" title="function not covered" >build
847
863
  /**
848
864
  * Make sure all datasource entities have a display name selected
849
865
  */
850
- function <span class="fstat-no" title="function not covered" >setDefaultDisplayColumns(</span>datasource: Datasource) {
866
+ function <span class="fstat-no" title="function not covered" >setDefaultDisplayColumns(d</span>atasource: Datasource) {
851
867
  //
852
868
  <span class="cstat-no" title="statement not covered" > for (let entity of Object.values(datasource.entities || {})) {</span>
853
869
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (entity.primaryDisplay) {</span>
854
870
  <span class="cstat-no" title="statement not covered" > continue</span>
855
871
  }
856
872
  const notAutoColumn = <span class="cstat-no" title="statement not covered" >Object.values(entity.schema).find(</span>
857
- <span class="fstat-no" title="function not covered" > schema </span>=&gt; <span class="cstat-no" title="statement not covered" >!schema.autocolumn</span>
873
+ <span class="fstat-no" title="function not covered" > schema =&gt; <span class="cstat-no" title="statement not covered" >!</span>schema.autocolumn</span>
858
874
  )
859
875
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (notAutoColumn) {</span>
860
876
  <span class="cstat-no" title="statement not covered" > entity.primaryDisplay = notAutoColumn.name</span>
@@ -869,8 +885,8 @@ async function invalidateVariables(
869
885
  existingDatasource: Datasource,
870
886
  updatedDatasource: Datasource
871
887
  ) {
872
- const existingVariables: any = existingDatasource.config<span class="branch-0 cbranch-no" title="branch not covered" >?.d</span>ynamicVariables
873
- const updatedVariables: any = updatedDatasource.config<span class="branch-0 cbranch-no" title="branch not covered" >?.d</span>ynamicVariables
888
+ const existingVariables: any = existingDatasource.config?.dynamicVariables
889
+ const updatedVariables: any = updatedDatasource.config?.dynamicVariables
874
890
  const toInvalidate = []
875
891
  &nbsp;
876
892
  if (!existingVariables) {
@@ -897,11 +913,11 @@ async function invalidateVariables(
897
913
  await invalidateDynamicVariables(toInvalidate)
898
914
  }
899
915
  &nbsp;
900
- export async function update(ctx: BBContext) {
916
+ export async function update(ctx: UserCtx) {
901
917
  const db = context.getAppDB()
902
918
  const datasourceId = ctx.params.datasourceId
903
- let datasource = await db.get(datasourceId)
904
- const auth = datasource.config.auth
919
+ let datasource = await sdk.datasources.get(datasourceId)
920
+ const auth = datasource.config?.auth
905
921
  await invalidateVariables(datasource, ctx.request.body)
906
922
  &nbsp;
907
923
  const isBudibaseSource = datasource.type === dbCore.BUDIBASE_DATASOURCE_TYPE
@@ -910,10 +926,13 @@ export async function update(ctx: BBContext) {
910
926
  ? <span class="branch-0 cbranch-no" title="branch not covered" >{ name: ctx.request.body?.name }</span>
911
927
  : ctx.request.body
912
928
  &nbsp;
913
- datasource = { ...datasource, ...dataSourceBody }
929
+ datasource = {
930
+ ...datasource,
931
+ ...sdk.datasources.mergeConfigs(dataSourceBody, datasource),
932
+ }
914
933
  <span class="missing-if-branch" title="if path not taken" >I</span>if (auth &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!ctx.request.body.auth)</span> {
915
934
  // don't strip auth config from DB
916
- <span class="cstat-no" title="statement not covered" > datasource.config.auth = auth</span>
935
+ <span class="cstat-no" title="statement not covered" > datasource.config!.auth = auth</span>
917
936
  }
918
937
  &nbsp;
919
938
  const response = await db.put(datasource)
@@ -930,10 +949,12 @@ export async function update(ctx: BBContext) {
930
949
  &nbsp;
931
950
  ctx.status = 200
932
951
  ctx.message = "Datasource saved successfully."
933
- ctx.body = { datasource }
952
+ ctx.body = {
953
+ datasource: await sdk.datasources.removeSecretSingle(datasource),
954
+ }
934
955
  }
935
956
  &nbsp;
936
- export async function save(ctx: BBContext) {
957
+ export async function save(ctx: UserCtx) {
937
958
  const db = context.getAppDB()
938
959
  const plus = ctx.request.body.datasource.plus
939
960
  const fetchSchema = ctx.request.body.fetchSchema
@@ -964,14 +985,16 @@ export async function save(ctx: BBContext) {
964
985
  }
965
986
  }
966
987
  &nbsp;
967
- const response: any = { datasource }
988
+ const response: any = {
989
+ datasource: await sdk.datasources.removeSecretSingle(datasource),
990
+ }
968
991
  <span class="missing-if-branch" title="if path not taken" >I</span>if (schemaError) {
969
992
  <span class="cstat-no" title="statement not covered" > response.error = schemaError</span>
970
993
  }
971
994
  ctx.body = response
972
995
  }
973
996
  &nbsp;
974
- async function <span class="fstat-no" title="function not covered" >destroyInternalTablesBySourceId(</span>datasourceId: string) {
997
+ async function <span class="fstat-no" title="function not covered" >destroyInternalTablesBySourceId(d</span>atasourceId: string) {
975
998
  const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
976
999
  &nbsp;
977
1000
  // Get all internal tables
@@ -1002,11 +1025,11 @@ async function <span class="fstat-no" title="function not covered" >destroyInter
1002
1025
  }
1003
1026
  }
1004
1027
  &nbsp;
1005
- export async function destroy(ctx: BBContext) {
1028
+ export async function destroy(ctx: UserCtx) {
1006
1029
  const db = context.getAppDB()
1007
1030
  const datasourceId = ctx.params.datasourceId
1008
1031
  &nbsp;
1009
- const datasource = await db.get(datasourceId)
1032
+ const datasource = await sdk.datasources.get(datasourceId)
1010
1033
  // Delete all queries for the datasource
1011
1034
  &nbsp;
1012
1035
  <span class="missing-if-branch" title="if path not taken" >I</span>if (datasource.type === dbCore.BUDIBASE_DATASOURCE_TYPE) {
@@ -1030,13 +1053,14 @@ export async function destroy(ctx: BBContext) {
1030
1053
  ctx.status = 200
1031
1054
  }
1032
1055
  &nbsp;
1033
- export async function find(ctx: BBContext) {
1056
+ export async function find(ctx: UserCtx) {
1034
1057
  const database = context.getAppDB()
1035
- ctx.body = await database.get(ctx.params.datasourceId)
1058
+ const datasource = await database.get(ctx.params.datasourceId)
1059
+ ctx.body = await sdk.datasources.removeSecretSingle(datasource)
1036
1060
  }
1037
1061
  &nbsp;
1038
1062
  // dynamic query functionality
1039
- export async function query(ctx: BBContext) {
1063
+ export async function query(ctx: UserCtx) {
1040
1064
  const queryJson = ctx.request.body
1041
1065
  try {
1042
1066
  ctx.body = await getDatasourceAndQuery(queryJson)
@@ -1045,13 +1069,13 @@ export async function query(ctx: BBContext) {
1045
1069
  }
1046
1070
  }
1047
1071
  &nbsp;
1048
- function <span class="fstat-no" title="function not covered" >getErrorTables(</span>errors: any, errorType: string) {
1072
+ function <span class="fstat-no" title="function not covered" >getErrorTables(e</span>rrors: any, errorType: string) {
1049
1073
  <span class="cstat-no" title="statement not covered" > return Object.entries(errors)</span>
1050
- .filter(<span class="fstat-no" title="function not covered" >entry </span>=&gt; <span class="cstat-no" title="statement not covered" >entry[1] === errorType)</span>
1074
+ .filter(<span class="fstat-no" title="function not covered" >entry =&gt; <span class="cstat-no" title="statement not covered" >e</span>ntry[1] === errorType)</span>
1051
1075
  .map(<span class="fstat-no" title="function not covered" >([</span>name]) =&gt; <span class="cstat-no" title="statement not covered" >name)</span>
1052
1076
  }
1053
1077
  &nbsp;
1054
- function <span class="fstat-no" title="function not covered" >updateError(</span>error: any, newError: any, tables: string[]) {
1078
+ function <span class="fstat-no" title="function not covered" >updateError(e</span>rror: any, newError: any, tables: string[]) {
1055
1079
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!error) {</span>
1056
1080
  <span class="cstat-no" title="statement not covered" > error = ""</span>
1057
1081
  }
@@ -1062,9 +1086,9 @@ function <span class="fstat-no" title="function not covered" >updateError(</span
1062
1086
  <span class="cstat-no" title="statement not covered" > return error</span>
1063
1087
  }
1064
1088
  &nbsp;
1065
- async function <span class="fstat-no" title="function not covered" >buildSchemaHelper(</span>datasource: Datasource) {
1089
+ async function <span class="fstat-no" title="function not covered" >buildSchemaHelper(d</span>atasource: Datasource) {
1066
1090
  const Connector = <span class="cstat-no" title="statement not covered" >await getIntegration(datasource.source)</span>
1067
- &nbsp;
1091
+ <span class="cstat-no" title="statement not covered" > datasource = await sdk.datasources.enrich(datasource)</span>
1068
1092
  // Connect to the DB and build the schema
1069
1093
  const connector = <span class="cstat-no" title="statement not covered" >new Connector(datasource.config)</span>
1070
1094
  <span class="cstat-no" title="statement not covered" > await connector.buildSchema(datasource._id, datasource.entities)</span>
@@ -1099,7 +1123,7 @@ async function <span class="fstat-no" title="function not covered" >buildSchemaH
1099
1123
  <div class='footer quiet pad2 space-top1 center small'>
1100
1124
  Code coverage generated by
1101
1125
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1102
- at Thu Feb 02 2023 11:56:48 GMT+0000 (Coordinated Universal Time)
1126
+ at Sun Feb 05 2023 23:58:26 GMT+0000 (Coordinated Universal Time)
1103
1127
  </div>
1104
1128
  <script src="../../../prettify.js"></script>
1105
1129
  <script>
@@ -37,9 +37,9 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">66.66% </span>
40
+ <span class="strong">71.42% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/6</span>
42
+ <span class='fraction'>5/7</span>
43
43
  </div>
44
44
 
45
45
 
@@ -121,20 +121,22 @@
121
121
  <a name='L56'></a><a href='#L56'>56</a>
122
122
  <a name='L57'></a><a href='#L57'>57</a>
123
123
  <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
125
- <span class="cline-any cline-yes">46x</span>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
126
+ <span class="cline-any cline-yes">55x</span>
126
127
  <span class="cline-any cline-neutral">&nbsp;</span>
127
128
  <span class="cline-any cline-neutral">&nbsp;</span>
128
129
  <span class="cline-any cline-neutral">&nbsp;</span>
129
130
  <span class="cline-any cline-neutral">&nbsp;</span>
130
- <span class="cline-any cline-yes">46x</span>
131
+ <span class="cline-any cline-yes">298x</span>
131
132
  <span class="cline-any cline-neutral">&nbsp;</span>
132
133
  <span class="cline-any cline-neutral">&nbsp;</span>
133
134
  <span class="cline-any cline-neutral">&nbsp;</span>
134
135
  <span class="cline-any cline-neutral">&nbsp;</span>
135
136
  <span class="cline-any cline-neutral">&nbsp;</span>
136
137
  <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-yes">255x</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-yes">298x</span>
138
140
  <span class="cline-any cline-neutral">&nbsp;</span>
139
141
  <span class="cline-any cline-neutral">&nbsp;</span>
140
142
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -149,34 +151,34 @@
149
151
  <span class="cline-any cline-neutral">&nbsp;</span>
150
152
  <span class="cline-any cline-neutral">&nbsp;</span>
151
153
  <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-yes">1020x</span>
153
- <span class="cline-any cline-yes">1020x</span>
154
+ <span class="cline-any cline-yes">1192x</span>
155
+ <span class="cline-any cline-yes">1192x</span>
154
156
  <span class="cline-any cline-no">&nbsp;</span>
155
157
  <span class="cline-any cline-neutral">&nbsp;</span>
156
158
  <span class="cline-any cline-neutral">&nbsp;</span>
157
159
  <span class="cline-any cline-neutral">&nbsp;</span>
158
160
  <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-yes">510x</span>
161
+ <span class="cline-any cline-yes">596x</span>
160
162
  <span class="cline-any cline-no">&nbsp;</span>
161
163
  <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-yes">510x</span>
163
- <span class="cline-any cline-yes">510x</span>
164
+ <span class="cline-any cline-yes">596x</span>
165
+ <span class="cline-any cline-yes">596x</span>
164
166
  <span class="cline-any cline-neutral">&nbsp;</span>
165
167
  <span class="cline-any cline-neutral">&nbsp;</span>
166
168
  <span class="cline-any cline-neutral">&nbsp;</span>
167
169
  <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-yes">510x</span>
170
+ <span class="cline-any cline-yes">596x</span>
169
171
  <span class="cline-any cline-neutral">&nbsp;</span>
170
172
  <span class="cline-any cline-neutral">&nbsp;</span>
171
173
  <span class="cline-any cline-neutral">&nbsp;</span>
172
174
  <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-yes">510x</span>
175
+ <span class="cline-any cline-yes">596x</span>
174
176
  <span class="cline-any cline-no">&nbsp;</span>
175
177
  <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-yes">510x</span>
178
+ <span class="cline-any cline-yes">596x</span>
177
179
  <span class="cline-any cline-no">&nbsp;</span>
178
180
  <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-yes">510x</span>
181
+ <span class="cline-any cline-yes">596x</span>
180
182
  <span class="cline-any cline-neutral">&nbsp;</span>
181
183
  <span class="cline-any cline-neutral">&nbsp;</span>
182
184
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import newid from "../../../db/newid"
@@ -190,19 +192,20 @@ export default class Deployment {
190
192
  verification: any
191
193
  status?: string
192
194
  err?: any
195
+ appUrl?: string
193
196
  &nbsp;
194
197
  constructor(id = null) {
195
198
  this._id = id || newid()
196
199
  }
197
200
  &nbsp;
198
- <span class="fstat-no" title="function not covered" > setVerification(</span>verification: any) {
201
+ <span class="fstat-no" title="function not covered" > setVerification(v</span>erification: any) {
199
202
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!verification) {</span>
200
203
  <span class="cstat-no" title="statement not covered" > return</span>
201
204
  }
202
205
  <span class="cstat-no" title="statement not covered" > this.verification = verification</span>
203
206
  }
204
207
  &nbsp;
205
- <span class="fstat-no" title="function not covered" > getVerification(</span>) {
208
+ <span class="fstat-no" title="function not covered" > getVerification() {</span>
206
209
  <span class="cstat-no" title="statement not covered" > return this.verification</span>
207
210
  }
208
211
  &nbsp;
@@ -244,7 +247,7 @@ export default class Deployment {
244
247
  <div class='footer quiet pad2 space-top1 center small'>
245
248
  Code coverage generated by
246
249
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
247
- at Thu Feb 02 2023 11:56:48 GMT+0000 (Coordinated Universal Time)
250
+ at Sun Feb 05 2023 23:58:26 GMT+0000 (Coordinated Universal Time)
248
251
  </div>
249
252
  <script src="../../../../prettify.js"></script>
250
253
  <script>