@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
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.08% </span>
26
+ <span class="strong">83.1% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>120/148</span>
28
+ <span class='fraction'>123/148</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">68.08% </span>
33
+ <span class="strong">69.23% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>32/47</span>
35
+ <span class='fraction'>27/39</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">86.36% </span>
40
+ <span class="strong">96.42% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>19/22</span>
42
+ <span class='fraction'>27/28</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">81.11% </span>
47
+ <span class="strong">82.51% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>116/143</span>
49
+ <span class='fraction'>118/143</span>
50
50
  </div>
51
51
 
52
52
 
@@ -360,17 +360,27 @@
360
360
  <a name='L295'></a><a href='#L295'>295</a>
361
361
  <a name='L296'></a><a href='#L296'>296</a>
362
362
  <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">47x</span>
364
- <span class="cline-any cline-yes">47x</span>
365
- <span class="cline-any cline-yes">47x</span>
366
- <span class="cline-any cline-yes">47x</span>
367
- <span class="cline-any cline-yes">47x</span>
368
- <span class="cline-any cline-yes">47x</span>
369
- <span class="cline-any cline-yes">47x</span>
370
- <span class="cline-any cline-yes">47x</span>
371
- <span class="cline-any cline-yes">47x</span>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">56x</span>
372
+ <span class="cline-any cline-yes">56x</span>
373
+ <span class="cline-any cline-yes">56x</span>
374
+ <span class="cline-any cline-yes">56x</span>
375
+ <span class="cline-any cline-yes">56x</span>
376
+ <span class="cline-any cline-yes">56x</span>
377
+ <span class="cline-any cline-yes">56x</span>
378
+ <span class="cline-any cline-yes">56x</span>
379
+ <span class="cline-any cline-yes">56x</span>
380
+ <span class="cline-any cline-yes">56x</span>
372
381
  <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-yes">47x</span>
382
+ <span class="cline-any cline-neutral">&nbsp;</span>
383
+ <span class="cline-any cline-yes">56x</span>
374
384
  <span class="cline-any cline-neutral">&nbsp;</span>
375
385
  <span class="cline-any cline-neutral">&nbsp;</span>
376
386
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -386,7 +396,7 @@
386
396
  <span class="cline-any cline-yes">6x</span>
387
397
  <span class="cline-any cline-neutral">&nbsp;</span>
388
398
  <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-yes">47x</span>
399
+ <span class="cline-any cline-yes">56x</span>
390
400
  <span class="cline-any cline-yes">3x</span>
391
401
  <span class="cline-any cline-neutral">&nbsp;</span>
392
402
  <span class="cline-any cline-yes">3x</span>
@@ -398,7 +408,7 @@
398
408
  <span class="cline-any cline-yes">3x</span>
399
409
  <span class="cline-any cline-neutral">&nbsp;</span>
400
410
  <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-yes">47x</span>
411
+ <span class="cline-any cline-yes">56x</span>
402
412
  <span class="cline-any cline-no">&nbsp;</span>
403
413
  <span class="cline-any cline-no">&nbsp;</span>
404
414
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -437,31 +447,31 @@
437
447
  <span class="cline-any cline-neutral">&nbsp;</span>
438
448
  <span class="cline-any cline-no">&nbsp;</span>
439
449
  <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-yes">47x</span>
450
+ <span class="cline-any cline-yes">55x</span>
441
451
  <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-yes">47x</span>
443
- <span class="cline-any cline-yes">37x</span>
444
- <span class="cline-any cline-yes">37x</span>
452
+ <span class="cline-any cline-yes">92x</span>
453
+ <span class="cline-any cline-yes">40x</span>
454
+ <span class="cline-any cline-yes">40x</span>
445
455
  <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-yes">37x</span>
456
+ <span class="cline-any cline-yes">40x</span>
447
457
  <span class="cline-any cline-neutral">&nbsp;</span>
448
458
  <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-yes">37x</span>
450
- <span class="cline-any cline-yes">36x</span>
451
- <span class="cline-any cline-yes">36x</span>
459
+ <span class="cline-any cline-yes">40x</span>
460
+ <span class="cline-any cline-yes">39x</span>
461
+ <span class="cline-any cline-yes">39x</span>
452
462
  <span class="cline-any cline-neutral">&nbsp;</span>
453
463
  <span class="cline-any cline-yes">1x</span>
454
464
  <span class="cline-any cline-neutral">&nbsp;</span>
455
465
  <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-yes">37x</span>
457
- <span class="cline-any cline-yes">37x</span>
458
- <span class="cline-any cline-yes">37x</span>
466
+ <span class="cline-any cline-yes">40x</span>
467
+ <span class="cline-any cline-yes">40x</span>
468
+ <span class="cline-any cline-yes">40x</span>
459
469
  <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-yes">37x</span>
461
- <span class="cline-any cline-yes">37x</span>
470
+ <span class="cline-any cline-yes">40x</span>
471
+ <span class="cline-any cline-yes">40x</span>
462
472
  <span class="cline-any cline-neutral">&nbsp;</span>
463
473
  <span class="cline-any cline-neutral">&nbsp;</span>
464
- <span class="cline-any cline-yes">47x</span>
474
+ <span class="cline-any cline-yes">55x</span>
465
475
  <span class="cline-any cline-yes">3x</span>
466
476
  <span class="cline-any cline-yes">3x</span>
467
477
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -487,10 +497,10 @@
487
497
  <span class="cline-any cline-yes">15x</span>
488
498
  <span class="cline-any cline-neutral">&nbsp;</span>
489
499
  <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-yes">47x</span>
500
+ <span class="cline-any cline-yes">55x</span>
491
501
  <span class="cline-any cline-yes">14x</span>
492
502
  <span class="cline-any cline-neutral">&nbsp;</span>
493
- <span class="cline-any cline-yes">14x</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
504
  <span class="cline-any cline-yes">14x</span>
495
505
  <span class="cline-any cline-neutral">&nbsp;</span>
496
506
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -500,7 +510,6 @@
500
510
  <span class="cline-any cline-neutral">&nbsp;</span>
501
511
  <span class="cline-any cline-yes">14x</span>
502
512
  <span class="cline-any cline-yes">14x</span>
503
- <span class="cline-any cline-yes">14x</span>
504
513
  <span class="cline-any cline-neutral">&nbsp;</span>
505
514
  <span class="cline-any cline-neutral">&nbsp;</span>
506
515
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -514,6 +523,9 @@
514
523
  <span class="cline-any cline-neutral">&nbsp;</span>
515
524
  <span class="cline-any cline-neutral">&nbsp;</span>
516
525
  <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
+ <span class="cline-any cline-yes">14x</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
517
529
  <span class="cline-any cline-yes">14x</span>
518
530
  <span class="cline-any cline-neutral">&nbsp;</span>
519
531
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -560,19 +572,21 @@
560
572
  <span class="cline-any cline-neutral">&nbsp;</span>
561
573
  <span class="cline-any cline-neutral">&nbsp;</span>
562
574
  <span class="cline-any cline-neutral">&nbsp;</span>
563
- <span class="cline-any cline-yes">1x</span>
575
+ <span class="cline-any cline-yes">3x</span>
564
576
  <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-yes">1x</span>
566
- <span class="cline-any cline-yes">1x</span>
577
+ <span class="cline-any cline-yes">3x</span>
578
+ <span class="cline-any cline-yes">2x</span>
567
579
  <span class="cline-any cline-neutral">&nbsp;</span>
568
- <span class="cline-any cline-yes">1x</span>
569
- <span class="cline-any cline-yes">1x</span>
570
- <span class="cline-any cline-yes">1x</span>
571
580
  <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-yes">1x</span>
573
581
  <span class="cline-any cline-neutral">&nbsp;</span>
582
+ <span class="cline-any cline-yes">2x</span>
583
+ <span class="cline-any cline-yes">2x</span>
574
584
  <span class="cline-any cline-yes">1x</span>
575
- <span class="cline-any cline-yes">1x</span>
585
+ <span class="cline-any cline-neutral">&nbsp;</span>
586
+ <span class="cline-any cline-yes">2x</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-yes">2x</span>
589
+ <span class="cline-any cline-yes">2x</span>
576
590
  <span class="cline-any cline-no">&nbsp;</span>
577
591
  <span class="cline-any cline-no">&nbsp;</span>
578
592
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -580,9 +594,8 @@
580
594
  <span class="cline-any cline-neutral">&nbsp;</span>
581
595
  <span class="cline-any cline-neutral">&nbsp;</span>
582
596
  <span class="cline-any cline-neutral">&nbsp;</span>
583
- <span class="cline-any cline-yes">1x</span>
584
- <span class="cline-any cline-yes">1x</span>
585
- <span class="cline-any cline-yes">1x</span>
597
+ <span class="cline-any cline-yes">2x</span>
598
+ <span class="cline-any cline-yes">2x</span>
586
599
  <span class="cline-any cline-neutral">&nbsp;</span>
587
600
  <span class="cline-any cline-neutral">&nbsp;</span>
588
601
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -597,35 +610,38 @@
597
610
  <span class="cline-any cline-neutral">&nbsp;</span>
598
611
  <span class="cline-any cline-neutral">&nbsp;</span>
599
612
  <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-yes">1x</span>
601
613
  <span class="cline-any cline-neutral">&nbsp;</span>
614
+ <span class="cline-any cline-yes">2x</span>
602
615
  <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-yes">2x</span>
603
617
  <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-yes">1x</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-neutral">&nbsp;</span>
620
+ <span class="cline-any cline-yes">2x</span>
605
621
  <span class="cline-any cline-no">&nbsp;</span>
606
622
  <span class="cline-any cline-neutral">&nbsp;</span>
607
- <span class="cline-any cline-yes">1x</span>
623
+ <span class="cline-any cline-yes">2x</span>
608
624
  <span class="cline-any cline-yes">1x</span>
609
625
  <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-no">&nbsp;</span>
626
+ <span class="cline-any cline-yes">1x</span>
611
627
  <span class="cline-any cline-neutral">&nbsp;</span>
612
628
  <span class="cline-any cline-neutral">&nbsp;</span>
613
629
  <span class="cline-any cline-no">&nbsp;</span>
614
630
  <span class="cline-any cline-neutral">&nbsp;</span>
615
631
  <span class="cline-any cline-neutral">&nbsp;</span>
616
632
  <span class="cline-any cline-neutral">&nbsp;</span>
617
- <span class="cline-any cline-yes">47x</span>
633
+ <span class="cline-any cline-yes">55x</span>
618
634
  <span class="cline-any cline-yes">1x</span>
619
635
  <span class="cline-any cline-neutral">&nbsp;</span>
620
636
  <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-yes">47x</span>
637
+ <span class="cline-any cline-yes">57x</span>
622
638
  <span class="cline-any cline-neutral">&nbsp;</span>
623
639
  <span class="cline-any cline-neutral">&nbsp;</span>
624
640
  <span class="cline-any cline-neutral">&nbsp;</span>
625
- <span class="cline-any cline-no">&nbsp;</span>
641
+ <span class="cline-any cline-yes">2x</span>
626
642
  <span class="cline-any cline-neutral">&nbsp;</span>
627
643
  <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-yes">47x</span>
644
+ <span class="cline-any cline-yes">56x</span>
629
645
  <span class="cline-any cline-yes">2x</span>
630
646
  <span class="cline-any cline-yes">2x</span>
631
647
  <span class="cline-any cline-yes">2x</span>
@@ -646,7 +662,7 @@
646
662
  <span class="cline-any cline-neutral">&nbsp;</span>
647
663
  <span class="cline-any cline-neutral">&nbsp;</span>
648
664
  <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-yes">47x</span>
665
+ <span class="cline-any cline-yes">55x</span>
650
666
  <span class="cline-any cline-yes">2x</span>
651
667
  <span class="cline-any cline-yes">2x</span>
652
668
  <span class="cline-any cline-yes">2x</span>
@@ -663,12 +679,14 @@ import { Thread, ThreadType } from "../../../threads"
663
679
  import { save as saveDatasource } from "../datasource"
664
680
  import { RestImporter } from "./import"
665
681
  import { invalidateDynamicVariables } from "../../../threads/utils"
666
- import { QUERY_THREAD_TIMEOUT } from "../../../environment"
682
+ import env from "../../../environment"
667
683
  import { quotas } from "@budibase/pro"
668
684
  import { events, context, utils, constants } from "@budibase/backend-core"
685
+ import sdk from "../../../sdk"
686
+ import { QueryEvent } from "../../../threads/definitions"
669
687
  &nbsp;
670
688
  const Runner = new Thread(ThreadType.QUERY, {
671
- timeoutMs: QUERY_THREAD_TIMEOUT || 10000,
689
+ timeoutMs: env.QUERY_THREAD_TIMEOUT || 10000,
672
690
  })
673
691
  &nbsp;
674
692
  // simple function to append "readable" to all read queries
@@ -695,7 +713,7 @@ export async function fetch(ctx: any) {
695
713
  ctx.body = enrichQueries(body.rows.map((row: any) =&gt; row.doc))
696
714
  }
697
715
  &nbsp;
698
- const _import = <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
716
+ const _import = <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt; {
699
717
  const body = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
700
718
  const data = <span class="cstat-no" title="statement not covered" >body.data</span>
701
719
  &nbsp;
@@ -717,7 +735,7 @@ const _import = <span class="fstat-no" title="function not covered" >async (c</s
717
735
  name: info.name,
718
736
  }
719
737
  // save the datasource
720
- const datasourceCtx<span class="cstat-no" title="statement not covered" > = { ...ctx }</span>
738
+ const datasourceCtx = <span class="cstat-no" title="statement not covered" >{ ...ctx }</span>
721
739
  <span class="cstat-no" title="statement not covered" > datasourceCtx.request.body.datasource = datasource</span>
722
740
  <span class="cstat-no" title="statement not covered" > await saveDatasource(datasourceCtx)</span>
723
741
  <span class="cstat-no" title="statement not covered" > datasourceId = datasourceCtx.body.datasource._id</span>
@@ -740,7 +758,7 @@ export async function save(ctx: any) {
740
758
  const db = context.getAppDB()
741
759
  const query = ctx.request.body
742
760
  &nbsp;
743
- const datasource = await db.get(query.datasourceId)
761
+ const datasource = await sdk.datasources.get(query.datasourceId)
744
762
  &nbsp;
745
763
  let eventFn
746
764
  if (!query._id) {
@@ -785,9 +803,9 @@ function getAuthConfig(ctx: any) {
785
803
  }
786
804
  &nbsp;
787
805
  export async function preview(ctx: any) {
788
- const db = context.getAppDB()
789
- &nbsp;
790
- const datasource = await db.get(ctx.request.body.datasourceId)
806
+ const { datasource, envVars } = await sdk.datasources.getWithEnvVars(
807
+ ctx.request.body.datasourceId
808
+ )
791
809
  const query = ctx.request.body
792
810
  // preview may not have a queryId as it hasn't been saved, but if it does
793
811
  // this stops dynamic variables from calling the same query
@@ -796,26 +814,28 @@ export async function preview(ctx: any) {
796
814
  const authConfigCtx: any = getAuthConfig(ctx)
797
815
  &nbsp;
798
816
  try {
799
- const runFn = () =&gt;
800
- Runner.run({
801
- appId: ctx.appId,
802
- datasource,
803
- queryVerb,
804
- fields,
805
- parameters,
806
- transformer,
807
- queryId,
808
- ctx: {
809
- user: ctx.user,
810
- auth: { ...authConfigCtx },
811
- },
812
- })
817
+ const inputs: QueryEvent = {
818
+ appId: ctx.appId,
819
+ datasource,
820
+ queryVerb,
821
+ fields,
822
+ parameters,
823
+ transformer,
824
+ queryId,
825
+ // have to pass down to the thread runner - can't put into context now
826
+ environmentVariables: envVars,
827
+ ctx: {
828
+ user: ctx.user,
829
+ auth: { ...authConfigCtx },
830
+ },
831
+ }
832
+ const runFn = () =&gt; Runner.run(inputs)
813
833
  &nbsp;
814
834
  const { rows, keys, info, extra } = await quotas.addQuery(runFn, {
815
835
  datasourceId: datasource._id,
816
836
  })
817
837
  const schemaFields: any = {}
818
- if (rows<span class="branch-0 cbranch-no" title="branch not covered" >?.l</span>ength &gt; 0) {
838
+ if (rows?.length &gt; 0) {
819
839
  for (let key of [...new Set(keys)] as string[]) {
820
840
  const field = rows[0][key]
821
841
  let type = typeof field,
@@ -860,7 +880,9 @@ async function execute(
860
880
  const db = context.getAppDB()
861
881
  &nbsp;
862
882
  const query = await db.get(ctx.params.queryId)
863
- const datasource = await db.get(query.datasourceId)
883
+ const { datasource, envVars } = await sdk.datasources.getWithEnvVars(
884
+ query.datasourceId
885
+ )
864
886
  &nbsp;
865
887
  let authConfigCtx: any = {}
866
888
  if (!opts.isAutomation) {
@@ -878,33 +900,35 @@ async function execute(
878
900
  &nbsp;
879
901
  // call the relevant CRUD method on the integration class
880
902
  try {
881
- const runFn = () =&gt;
882
- Runner.run({
883
- appId: ctx.appId,
884
- datasource,
885
- queryVerb: query.queryVerb,
886
- fields: query.fields,
887
- pagination: ctx.request.body.pagination,
888
- parameters: enrichedParameters,
889
- transformer: query.transformer,
890
- queryId: ctx.params.queryId,
891
- ctx: {
892
- user: ctx.user,
893
- auth: { ...authConfigCtx },
894
- },
895
- })
903
+ const inputs: QueryEvent = {
904
+ appId: ctx.appId,
905
+ datasource,
906
+ queryVerb: query.queryVerb,
907
+ fields: query.fields,
908
+ pagination: ctx.request.body.pagination,
909
+ parameters: enrichedParameters,
910
+ transformer: query.transformer,
911
+ queryId: ctx.params.queryId,
912
+ // have to pass down to the thread runner - can't put into context now
913
+ environmentVariables: envVars,
914
+ ctx: {
915
+ user: ctx.user,
916
+ auth: { ...authConfigCtx },
917
+ },
918
+ }
919
+ const runFn = () =&gt; Runner.run(inputs)
896
920
  &nbsp;
897
921
  const { rows, pagination, extra } = await quotas.addQuery(runFn, {
898
922
  datasourceId: datasource._id,
899
923
  })
900
924
  // remove the raw from execution incase transformer being used to hide data
901
- <span class="missing-if-branch" title="if path not taken" >I</span>if (<span class="branch-1 cbranch-no" title="branch not covered" >extra?.raw)</span> {
925
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (extra?.raw) {
902
926
  <span class="cstat-no" title="statement not covered" > delete extra.raw</span>
903
927
  }
904
928
  if (opts &amp;&amp; opts.rowsOnly) {
905
929
  ctx.body = rows
906
- } else <span class="missing-if-branch" title="else path not taken" >E</span>{
907
- <span class="cstat-no" title="statement not covered" > ctx.body = { data: rows, pagination, ...extra }</span>
930
+ } else {
931
+ ctx.body = { data: rows, pagination, ...extra }
908
932
  }
909
933
  } catch (err) {
910
934
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, err)</span>
@@ -915,28 +939,28 @@ export async function executeV1(ctx: any) {
915
939
  return execute(ctx, { rowsOnly: true, isAutomation: false })
916
940
  }
917
941
  &nbsp;
918
- export async function <span class="fstat-no" title="function not covered" >executeV2(</span>
942
+ export async function executeV2(
919
943
  ctx: any,
920
944
  { isAutomation }: { isAutomation?: boolean } = <span class="branch-0 cbranch-no" title="branch not covered" >{}</span>
921
945
  ) {
922
- <span class="cstat-no" title="statement not covered" > return execute(ctx, { rowsOnly: false, isAutomation })</span>
946
+ return execute(ctx, { rowsOnly: false, isAutomation })
923
947
  }
924
948
  &nbsp;
925
949
  const removeDynamicVariables = async (queryId: any) =&gt; {
926
950
  const db = context.getAppDB()
927
951
  const query = await db.get(queryId)
928
- const datasource = await db.get(query.datasourceId)
929
- const dynamicVariables = datasource.config.dynamicVariables
952
+ const datasource = await sdk.datasources.get(query.datasourceId)
953
+ const dynamicVariables = datasource.config?.dynamicVariables as any[]
930
954
  &nbsp;
931
955
  if (dynamicVariables) {
932
956
  // delete dynamic variables from the datasource
933
- datasource.config.dynamicVariables = dynamicVariables.filter(
957
+ datasource.config!.dynamicVariables = dynamicVariables!.filter(
934
958
  (dv: any) =&gt; dv.queryId !== queryId
935
959
  )
936
960
  await db.put(datasource)
937
961
  &nbsp;
938
962
  // invalidate the deleted variables
939
- const variablesToDelete = dynamicVariables.filter(
963
+ const variablesToDelete = dynamicVariables!.filter(
940
964
  (dv: any) =&gt; dv.queryId === queryId
941
965
  )
942
966
  await invalidateDynamicVariables(variablesToDelete)
@@ -948,7 +972,7 @@ export async function destroy(ctx: any) {
948
972
  const queryId = ctx.params.queryId
949
973
  await removeDynamicVariables(queryId)
950
974
  const query = await db.get(queryId)
951
- const datasource = await db.get(query.datasourceId)
975
+ const datasource = await sdk.datasources.get(query.datasourceId)
952
976
  await db.remove(ctx.params.queryId, ctx.params.revId)
953
977
  ctx.message = `Query deleted.`
954
978
  ctx.status = 200
@@ -961,7 +985,7 @@ export async function destroy(ctx: any) {
961
985
  <div class='footer quiet pad2 space-top1 center small'>
962
986
  Code coverage generated by
963
987
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
964
- at Thu Feb 02 2023 11:56:48 GMT+0000 (Coordinated Universal Time)
988
+ at Sun Feb 05 2023 23:27:19 GMT+0000 (Coordinated Universal Time)
965
989
  </div>
966
990
  <script src="../../../../prettify.js"></script>
967
991
  <script>
@@ -39,7 +39,7 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>3/3</span>
42
+ <span class='fraction'>6/6</span>
43
43
  </div>
44
44
 
45
45
 
@@ -113,13 +113,13 @@
113
113
  <a name='L48'></a><a href='#L48'>48</a>
114
114
  <a name='L49'></a><a href='#L49'>49</a>
115
115
  <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">47x</span>
117
- <span class="cline-any cline-yes">47x</span>
116
+ <a name='L51'></a><a href='#L51'>51</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">56x</span>
117
+ <span class="cline-any cline-yes">56x</span>
118
118
  <span class="cline-any cline-neutral">&nbsp;</span>
119
- <span class="cline-any cline-yes">47x</span>
119
+ <span class="cline-any cline-yes">56x</span>
120
120
  <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-yes">47x</span>
122
- <span class="cline-any cline-yes">55x</span>
121
+ <span class="cline-any cline-yes">9x</span>
122
+ <span class="cline-any cline-yes">64x</span>
123
123
  <span class="cline-any cline-neutral">&nbsp;</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span>
125
125
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -140,14 +140,14 @@
140
140
  <span class="cline-any cline-neutral">&nbsp;</span>
141
141
  <span class="cline-any cline-neutral">&nbsp;</span>
142
142
  <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-yes">47x</span>
143
+ <span class="cline-any cline-yes">55x</span>
144
144
  <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-yes">46x</span>
145
+ <span class="cline-any cline-yes">55x</span>
146
146
  <span class="cline-any cline-neutral">&nbsp;</span>
147
147
  <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-yes">47x</span>
148
+ <span class="cline-any cline-yes">55x</span>
149
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-yes">46x</span>
150
+ <span class="cline-any cline-yes">55x</span>
151
151
  <span class="cline-any cline-neutral">&nbsp;</span>
152
152
  <span class="cline-any cline-neutral">&nbsp;</span>
153
153
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -220,7 +220,7 @@ export function generateQueryPreviewValidation() {
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at Thu Feb 02 2023 11:56:48 GMT+0000 (Coordinated Universal Time)
223
+ at Sun Feb 05 2023 23:27:19 GMT+0000 (Coordinated Universal Time)
224
224
  </div>
225
225
  <script src="../../../../prettify.js"></script>
226
226
  <script>
@@ -39,7 +39,7 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>7/7</span>
42
+ <span class='fraction'>11/11</span>
43
43
  </div>
44
44
 
45
45
 
@@ -167,15 +167,15 @@
167
167
  <a name='L102'></a><a href='#L102'>102</a>
168
168
  <a name='L103'></a><a href='#L103'>103</a>
169
169
  <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
171
- <span class="cline-any cline-yes">46x</span>
170
+ <a name='L105'></a><a href='#L105'>105</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
172
171
  <span class="cline-any cline-neutral">&nbsp;</span>
173
172
  <span class="cline-any cline-neutral">&nbsp;</span>
174
173
  <span class="cline-any cline-neutral">&nbsp;</span>
175
174
  <span class="cline-any cline-neutral">&nbsp;</span>
175
+ <span class="cline-any cline-yes">55x</span>
176
176
  <span class="cline-any cline-neutral">&nbsp;</span>
177
177
  <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-yes">46x</span>
178
+ <span class="cline-any cline-yes">55x</span>
179
179
  <span class="cline-any cline-neutral">&nbsp;</span>
180
180
  <span class="cline-any cline-neutral">&nbsp;</span>
181
181
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -207,15 +207,15 @@
207
207
  <span class="cline-any cline-neutral">&nbsp;</span>
208
208
  <span class="cline-any cline-neutral">&nbsp;</span>
209
209
  <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-yes">46x</span>
210
+ <span class="cline-any cline-yes">55x</span>
211
211
  <span class="cline-any cline-yes">2x</span>
212
212
  <span class="cline-any cline-neutral">&nbsp;</span>
213
213
  <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-yes">46x</span>
214
+ <span class="cline-any cline-yes">55x</span>
215
215
  <span class="cline-any cline-yes">1x</span>
216
216
  <span class="cline-any cline-neutral">&nbsp;</span>
217
217
  <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-yes">46x</span>
218
+ <span class="cline-any cline-yes">59x</span>
219
219
  <span class="cline-any cline-yes">7x</span>
220
220
  <span class="cline-any cline-yes">7x</span>
221
221
  <span class="cline-any cline-yes">7x</span>
@@ -241,7 +241,7 @@
241
241
  <span class="cline-any cline-yes">7x</span>
242
242
  <span class="cline-any cline-neutral">&nbsp;</span>
243
243
  <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-yes">46x</span>
244
+ <span class="cline-any cline-yes">55x</span>
245
245
  <span class="cline-any cline-yes">1x</span>
246
246
  <span class="cline-any cline-yes">1x</span>
247
247
  <span class="cline-any cline-yes">1x</span>
@@ -382,7 +382,7 @@ export async function destroy(ctx: BBContext) {
382
382
  <div class='footer quiet pad2 space-top1 center small'>
383
383
  Code coverage generated by
384
384
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
385
- at Thu Feb 02 2023 11:56:48 GMT+0000 (Coordinated Universal Time)
385
+ at Sun Feb 05 2023 23:27:19 GMT+0000 (Coordinated Universal Time)
386
386
  </div>
387
387
  <script src="../../../prettify.js"></script>
388
388
  <script>