@budibase/server 2.3.18-alpha.9 → 2.3.18

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 (477) hide show
  1. package/__mocks__/aws-sdk.ts +1 -1
  2. package/builder/assets/index.4488f38d.css +6 -0
  3. package/builder/assets/{index.956858d3.js → index.527a5fcb.js} +415 -422
  4. package/builder/index.html +2 -2
  5. package/coverage/clover.xml +11774 -0
  6. package/coverage/coverage-final.json +284 -0
  7. package/coverage/lcov-report/base.css +224 -0
  8. package/coverage/lcov-report/block-navigation.js +87 -0
  9. package/coverage/lcov-report/favicon.png +0 -0
  10. package/coverage/lcov-report/index.html +1031 -0
  11. package/coverage/lcov-report/prettify.css +1 -0
  12. package/coverage/lcov-report/prettify.js +2 -0
  13. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  14. package/coverage/lcov-report/sorter.js +196 -0
  15. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +190 -0
  16. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +247 -0
  17. package/coverage/lcov-report/src/api/controllers/application.ts.html +1987 -0
  18. package/coverage/lcov-report/src/api/controllers/auth.ts.html +301 -0
  19. package/coverage/lcov-report/src/api/controllers/automation.ts.html +940 -0
  20. package/coverage/lcov-report/src/api/controllers/backup.ts.html +148 -0
  21. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +442 -0
  22. package/coverage/lcov-report/src/api/controllers/component.ts.html +259 -0
  23. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +1135 -0
  24. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +262 -0
  25. package/coverage/lcov-report/src/api/controllers/deploy/index.html +131 -0
  26. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +694 -0
  27. package/coverage/lcov-report/src/api/controllers/dev.ts.html +472 -0
  28. package/coverage/lcov-report/src/api/controllers/index.html +431 -0
  29. package/coverage/lcov-report/src/api/controllers/integration.ts.html +124 -0
  30. package/coverage/lcov-report/src/api/controllers/layout.ts.html +226 -0
  31. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +211 -0
  32. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +127 -0
  33. package/coverage/lcov-report/src/api/controllers/permission.ts.html +619 -0
  34. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +130 -0
  35. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +310 -0
  36. package/coverage/lcov-report/src/api/controllers/plugin/index.html +206 -0
  37. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +499 -0
  38. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +253 -0
  39. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +97 -0
  40. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +121 -0
  41. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +136 -0
  42. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +385 -0
  43. package/coverage/lcov-report/src/api/controllers/public/index.html +191 -0
  44. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +181 -0
  45. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +191 -0
  46. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +124 -0
  47. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +202 -0
  48. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +178 -0
  49. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +163 -0
  50. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +181 -0
  51. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +145 -0
  52. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +328 -0
  53. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +253 -0
  54. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +325 -0
  55. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +220 -0
  56. package/coverage/lcov-report/src/api/controllers/query/import/index.html +116 -0
  57. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +373 -0
  58. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +131 -0
  59. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +379 -0
  60. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +157 -0
  61. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +403 -0
  62. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +146 -0
  63. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +586 -0
  64. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +712 -0
  65. package/coverage/lcov-report/src/api/controllers/query/index.html +131 -0
  66. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +1000 -0
  67. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +235 -0
  68. package/coverage/lcov-report/src/api/controllers/role.ts.html +397 -0
  69. package/coverage/lcov-report/src/api/controllers/routing.ts.html +370 -0
  70. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +2305 -0
  71. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +931 -0
  72. package/coverage/lcov-report/src/api/controllers/row/index.html +206 -0
  73. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +541 -0
  74. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +1609 -0
  75. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +1678 -0
  76. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +595 -0
  77. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +556 -0
  78. package/coverage/lcov-report/src/api/controllers/screen.ts.html +463 -0
  79. package/coverage/lcov-report/src/api/controllers/script.ts.html +121 -0
  80. package/coverage/lcov-report/src/api/controllers/static/index.html +116 -0
  81. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +679 -0
  82. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +649 -0
  83. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +1153 -0
  84. package/coverage/lcov-report/src/api/controllers/table/index.html +176 -0
  85. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +514 -0
  86. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +658 -0
  87. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +1273 -0
  88. package/coverage/lcov-report/src/api/controllers/templates.ts.html +214 -0
  89. package/coverage/lcov-report/src/api/controllers/user.ts.html +634 -0
  90. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +214 -0
  91. package/coverage/lcov-report/src/api/controllers/view/index.html +161 -0
  92. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +661 -0
  93. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +580 -0
  94. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +694 -0
  95. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +385 -0
  96. package/coverage/lcov-report/src/api/index.html +116 -0
  97. package/coverage/lcov-report/src/api/index.ts.html +352 -0
  98. package/coverage/lcov-report/src/api/routes/analytics.ts.html +112 -0
  99. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +121 -0
  100. package/coverage/lcov-report/src/api/routes/application.ts.html +256 -0
  101. package/coverage/lcov-report/src/api/routes/auth.ts.html +109 -0
  102. package/coverage/lcov-report/src/api/routes/automation.ts.html +346 -0
  103. package/coverage/lcov-report/src/api/routes/backup.ts.html +127 -0
  104. package/coverage/lcov-report/src/api/routes/cloud.ts.html +139 -0
  105. package/coverage/lcov-report/src/api/routes/component.ts.html +127 -0
  106. package/coverage/lcov-report/src/api/routes/datasource.ts.html +265 -0
  107. package/coverage/lcov-report/src/api/routes/deploy.ts.html +145 -0
  108. package/coverage/lcov-report/src/api/routes/dev.ts.html +199 -0
  109. package/coverage/lcov-report/src/api/routes/index.html +551 -0
  110. package/coverage/lcov-report/src/api/routes/index.ts.html +298 -0
  111. package/coverage/lcov-report/src/api/routes/integration.ts.html +133 -0
  112. package/coverage/lcov-report/src/api/routes/layout.ts.html +133 -0
  113. package/coverage/lcov-report/src/api/routes/metadata.ts.html +199 -0
  114. package/coverage/lcov-report/src/api/routes/migrations.ts.html +127 -0
  115. package/coverage/lcov-report/src/api/routes/permission.ts.html +208 -0
  116. package/coverage/lcov-report/src/api/routes/plugin.ts.html +151 -0
  117. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +673 -0
  118. package/coverage/lcov-report/src/api/routes/public/index.html +191 -0
  119. package/coverage/lcov-report/src/api/routes/public/index.ts.html +493 -0
  120. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +116 -0
  121. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +340 -0
  122. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +313 -0
  123. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +598 -0
  124. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +586 -0
  125. package/coverage/lcov-report/src/api/routes/public/tests/index.html +116 -0
  126. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +169 -0
  127. package/coverage/lcov-report/src/api/routes/public/users.ts.html +511 -0
  128. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +238 -0
  129. package/coverage/lcov-report/src/api/routes/public/utils/index.html +116 -0
  130. package/coverage/lcov-report/src/api/routes/query.ts.html +268 -0
  131. package/coverage/lcov-report/src/api/routes/role.ts.html +157 -0
  132. package/coverage/lcov-report/src/api/routes/routing.ts.html +127 -0
  133. package/coverage/lcov-report/src/api/routes/row.ts.html +883 -0
  134. package/coverage/lcov-report/src/api/routes/screen.ts.html +154 -0
  135. package/coverage/lcov-report/src/api/routes/script.ts.html +115 -0
  136. package/coverage/lcov-report/src/api/routes/static.ts.html +280 -0
  137. package/coverage/lcov-report/src/api/routes/table.ts.html +595 -0
  138. package/coverage/lcov-report/src/api/routes/templates.ts.html +133 -0
  139. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +550 -0
  140. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +131 -0
  141. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +367 -0
  142. package/coverage/lcov-report/src/api/routes/user.ts.html +238 -0
  143. package/coverage/lcov-report/src/api/routes/utils/index.html +116 -0
  144. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +805 -0
  145. package/coverage/lcov-report/src/api/routes/view.ts.html +187 -0
  146. package/coverage/lcov-report/src/api/routes/webhook.ts.html +166 -0
  147. package/coverage/lcov-report/src/app.ts.html +424 -0
  148. package/coverage/lcov-report/src/automations/actions.ts.html +316 -0
  149. package/coverage/lcov-report/src/automations/automationUtils.ts.html +562 -0
  150. package/coverage/lcov-report/src/automations/bullboard.ts.html +199 -0
  151. package/coverage/lcov-report/src/automations/index.html +191 -0
  152. package/coverage/lcov-report/src/automations/index.ts.html +163 -0
  153. package/coverage/lcov-report/src/automations/logging/index.html +116 -0
  154. package/coverage/lcov-report/src/automations/logging/index.ts.html +199 -0
  155. package/coverage/lcov-report/src/automations/steps/bash.ts.html +319 -0
  156. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +382 -0
  157. package/coverage/lcov-report/src/automations/steps/delay.ts.html +217 -0
  158. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +349 -0
  159. package/coverage/lcov-report/src/automations/steps/discord.ts.html +397 -0
  160. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +370 -0
  161. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +325 -0
  162. package/coverage/lcov-report/src/automations/steps/filter.ts.html +394 -0
  163. package/coverage/lcov-report/src/automations/steps/index.html +371 -0
  164. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +409 -0
  165. package/coverage/lcov-report/src/automations/steps/loop.ts.html +241 -0
  166. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +499 -0
  167. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +664 -0
  168. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +355 -0
  169. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +256 -0
  170. package/coverage/lcov-report/src/automations/steps/slack.ts.html +340 -0
  171. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +439 -0
  172. package/coverage/lcov-report/src/automations/steps/utils.ts.html +223 -0
  173. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +403 -0
  174. package/coverage/lcov-report/src/automations/tests/utilities/index.html +116 -0
  175. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +265 -0
  176. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +196 -0
  177. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +193 -0
  178. package/coverage/lcov-report/src/automations/triggerInfo/index.html +206 -0
  179. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +130 -0
  180. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +196 -0
  181. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +220 -0
  182. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +220 -0
  183. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +208 -0
  184. package/coverage/lcov-report/src/automations/triggers.ts.html +553 -0
  185. package/coverage/lcov-report/src/automations/utils.ts.html +886 -0
  186. package/coverage/lcov-report/src/constants/index.html +146 -0
  187. package/coverage/lcov-report/src/constants/index.ts.html +697 -0
  188. package/coverage/lcov-report/src/constants/layouts.ts.html +526 -0
  189. package/coverage/lcov-report/src/constants/screens.ts.html +229 -0
  190. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +2059 -0
  191. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +541 -0
  192. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +427 -0
  193. package/coverage/lcov-report/src/db/defaultData/index.html +176 -0
  194. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +403 -0
  195. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +559 -0
  196. package/coverage/lcov-report/src/db/dynamoClient.ts.html +526 -0
  197. package/coverage/lcov-report/src/db/inMemoryView.ts.html +250 -0
  198. package/coverage/lcov-report/src/db/index.html +176 -0
  199. package/coverage/lcov-report/src/db/index.ts.html +133 -0
  200. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +1417 -0
  201. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +265 -0
  202. package/coverage/lcov-report/src/db/linkedRows/index.html +161 -0
  203. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +736 -0
  204. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +460 -0
  205. package/coverage/lcov-report/src/db/newid.ts.html +100 -0
  206. package/coverage/lcov-report/src/db/utils.ts.html +913 -0
  207. package/coverage/lcov-report/src/definitions/automations.ts.html +184 -0
  208. package/coverage/lcov-report/src/definitions/index.html +116 -0
  209. package/coverage/lcov-report/src/environment.ts.html +472 -0
  210. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +259 -0
  211. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +172 -0
  212. package/coverage/lcov-report/src/events/index.html +161 -0
  213. package/coverage/lcov-report/src/events/index.ts.html +100 -0
  214. package/coverage/lcov-report/src/events/utils.ts.html +319 -0
  215. package/coverage/lcov-report/src/index.html +191 -0
  216. package/coverage/lcov-report/src/index.ts.html +133 -0
  217. package/coverage/lcov-report/src/integrations/airtable.ts.html +529 -0
  218. package/coverage/lcov-report/src/integrations/arangodb.ts.html +415 -0
  219. package/coverage/lcov-report/src/integrations/base/index.html +161 -0
  220. package/coverage/lcov-report/src/integrations/base/query.ts.html +139 -0
  221. package/coverage/lcov-report/src/integrations/base/sql.ts.html +2017 -0
  222. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +691 -0
  223. package/coverage/lcov-report/src/integrations/base/utils.ts.html +121 -0
  224. package/coverage/lcov-report/src/integrations/couchdb.ts.html +484 -0
  225. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +745 -0
  226. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +646 -0
  227. package/coverage/lcov-report/src/integrations/firebase.ts.html +646 -0
  228. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +1315 -0
  229. package/coverage/lcov-report/src/integrations/index.html +371 -0
  230. package/coverage/lcov-report/src/integrations/index.ts.html +460 -0
  231. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +1012 -0
  232. package/coverage/lcov-report/src/integrations/mongodb.ts.html +1999 -0
  233. package/coverage/lcov-report/src/integrations/mysql.ts.html +979 -0
  234. package/coverage/lcov-report/src/integrations/oracle.ts.html +1387 -0
  235. package/coverage/lcov-report/src/integrations/postgres.ts.html +1087 -0
  236. package/coverage/lcov-report/src/integrations/queries/index.html +116 -0
  237. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +328 -0
  238. package/coverage/lcov-report/src/integrations/redis.ts.html +550 -0
  239. package/coverage/lcov-report/src/integrations/rest.ts.html +1372 -0
  240. package/coverage/lcov-report/src/integrations/s3.ts.html +862 -0
  241. package/coverage/lcov-report/src/integrations/snowflake.ts.html +376 -0
  242. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +85 -0
  243. package/coverage/lcov-report/src/integrations/tests/index.html +116 -0
  244. package/coverage/lcov-report/src/integrations/utils.ts.html +1036 -0
  245. package/coverage/lcov-report/src/middleware/appInfo.ts.html +145 -0
  246. package/coverage/lcov-report/src/middleware/authorized.ts.html +472 -0
  247. package/coverage/lcov-report/src/middleware/builder.ts.html +361 -0
  248. package/coverage/lcov-report/src/middleware/currentapp.ts.html +508 -0
  249. package/coverage/lcov-report/src/middleware/index.html +236 -0
  250. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +205 -0
  251. package/coverage/lcov-report/src/middleware/publicApi.ts.html +148 -0
  252. package/coverage/lcov-report/src/middleware/resourceId.ts.html +283 -0
  253. package/coverage/lcov-report/src/middleware/selfhost.ts.html +121 -0
  254. package/coverage/lcov-report/src/middleware/utils.ts.html +112 -0
  255. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +166 -0
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +163 -0
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +151 -0
  258. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +206 -0
  259. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +172 -0
  260. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +226 -0
  261. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +151 -0
  262. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +151 -0
  263. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +166 -0
  264. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +532 -0
  265. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +286 -0
  266. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +146 -0
  267. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +265 -0
  268. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +232 -0
  269. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +724 -0
  270. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +161 -0
  271. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +106 -0
  272. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +235 -0
  273. package/coverage/lcov-report/src/migrations/functions/index.html +161 -0
  274. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +130 -0
  275. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +520 -0
  276. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +161 -0
  277. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +94 -0
  278. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +127 -0
  279. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +115 -0
  280. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +169 -0
  281. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +124 -0
  282. package/coverage/lcov-report/src/migrations/index.html +116 -0
  283. package/coverage/lcov-report/src/migrations/index.ts.html +430 -0
  284. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +205 -0
  285. package/coverage/lcov-report/src/migrations/tests/index.html +131 -0
  286. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +283 -0
  287. package/coverage/lcov-report/src/sdk/app/applications/index.html +146 -0
  288. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +106 -0
  289. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +268 -0
  290. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +136 -0
  291. package/coverage/lcov-report/src/sdk/app/automations/index.html +131 -0
  292. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +100 -0
  293. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +214 -0
  294. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +91 -0
  295. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +604 -0
  296. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +640 -0
  297. package/coverage/lcov-report/src/sdk/app/backups/index.html +176 -0
  298. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +112 -0
  299. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +292 -0
  300. package/coverage/lcov-report/src/sdk/app/datasources/datasources.ts.html +562 -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/sdk/app/queries/index.ts.html +100 -0
  305. package/coverage/lcov-report/src/sdk/app/queries/queries.ts.html +235 -0
  306. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +265 -0
  307. package/coverage/lcov-report/src/sdk/app/rows/index.html +146 -0
  308. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +106 -0
  309. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +139 -0
  310. package/coverage/lcov-report/src/sdk/app/tables/index.html +116 -0
  311. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +274 -0
  312. package/coverage/lcov-report/src/sdk/index.html +116 -0
  313. package/coverage/lcov-report/src/sdk/index.ts.html +151 -0
  314. package/coverage/lcov-report/src/sdk/users/index.html +131 -0
  315. package/coverage/lcov-report/src/sdk/users/index.ts.html +100 -0
  316. package/coverage/lcov-report/src/sdk/users/utils.ts.html +277 -0
  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 +484 -0
  320. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +2032 -0
  321. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +127 -0
  322. package/coverage/lcov-report/src/tests/utilities/index.html +161 -0
  323. package/coverage/lcov-report/src/tests/utilities/index.ts.html +118 -0
  324. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +856 -0
  325. package/coverage/lcov-report/src/threads/automation.ts.html +1555 -0
  326. package/coverage/lcov-report/src/threads/index.html +161 -0
  327. package/coverage/lcov-report/src/threads/index.ts.html +418 -0
  328. package/coverage/lcov-report/src/threads/query.ts.html +1000 -0
  329. package/coverage/lcov-report/src/threads/utils.ts.html +373 -0
  330. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +94 -0
  331. package/coverage/lcov-report/src/utilities/centralPath.ts.html +151 -0
  332. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +343 -0
  333. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +547 -0
  334. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +601 -0
  335. package/coverage/lcov-report/src/utilities/fileSystem/index.html +206 -0
  336. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +100 -0
  337. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +277 -0
  338. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +142 -0
  339. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +193 -0
  340. package/coverage/lcov-report/src/utilities/global.ts.html +499 -0
  341. package/coverage/lcov-report/src/utilities/index.html +251 -0
  342. package/coverage/lcov-report/src/utilities/index.ts.html +487 -0
  343. package/coverage/lcov-report/src/utilities/redis.ts.html +343 -0
  344. package/coverage/lcov-report/src/utilities/routing/index.html +116 -0
  345. package/coverage/lcov-report/src/utilities/routing/index.ts.html +181 -0
  346. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +146 -0
  347. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +922 -0
  348. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +373 -0
  349. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +373 -0
  350. package/coverage/lcov-report/src/utilities/schema.ts.html +508 -0
  351. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +169 -0
  352. package/coverage/lcov-report/src/utilities/security.ts.html +280 -0
  353. package/coverage/lcov-report/src/utilities/usageQuota/index.html +131 -0
  354. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +325 -0
  355. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +139 -0
  356. package/coverage/lcov-report/src/utilities/users.ts.html +232 -0
  357. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +646 -0
  358. package/coverage/lcov-report/src/watch.ts.html +196 -0
  359. package/coverage/lcov-report/src/websocket.ts.html +163 -0
  360. package/coverage/lcov.info +21777 -0
  361. package/dist/api/controllers/automation.js +2 -11
  362. package/dist/api/controllers/query/index.js +0 -2
  363. package/dist/api/controllers/row/ExternalRequest.js +2 -4
  364. package/dist/api/controllers/row/external.js +1 -12
  365. package/dist/api/controllers/table/external.js +8 -8
  366. package/dist/api/index.js +21 -1
  367. package/dist/api/routes/automation.js +1 -1
  368. package/dist/api/routes/public/tests/utils.js +33 -0
  369. package/dist/app.js +1 -7
  370. package/dist/constants/index.js +24 -4
  371. package/dist/db/defaultData/datasource_bb_default.js +5 -6
  372. package/dist/db/linkedRows/LinkController.js +8 -9
  373. package/dist/integrations/base/sql.js +3 -10
  374. package/dist/middleware/authorized.js +3 -5
  375. package/dist/middleware/builder.js +3 -6
  376. package/dist/package.json +8 -12
  377. package/dist/sdk/app/backups/exports.js +2 -8
  378. package/dist/sdk/app/datasources/datasources.js +0 -3
  379. package/dist/tsconfig.build.tsbuildinfo +1 -1
  380. package/dist/utilities/redis.js +0 -2
  381. package/jest.config.ts +22 -34
  382. package/package.json +9 -13
  383. package/specs/openapi.json +6 -6
  384. package/specs/openapi.yaml +3 -3
  385. package/specs/resources/query.js +1 -1
  386. package/specs/resources/table.js +1 -1
  387. package/src/api/controllers/automation.ts +2 -13
  388. package/src/api/controllers/query/import/tests/index.spec.js +1 -1
  389. package/src/api/controllers/query/index.ts +0 -2
  390. package/src/api/controllers/row/ExternalRequest.ts +2 -6
  391. package/src/api/controllers/row/external.ts +1 -13
  392. package/src/api/controllers/table/external.ts +2 -3
  393. package/src/api/index.ts +22 -3
  394. package/src/api/routes/automation.ts +1 -1
  395. package/src/api/routes/public/applications.ts +1 -0
  396. package/src/api/routes/public/tests/compare.spec.js +1 -1
  397. package/src/api/routes/public/tests/users.spec.js +1 -1
  398. package/src/api/routes/public/tests/utils.ts +8 -25
  399. package/src/api/routes/tests/__snapshots__/datasource.spec.ts.snap +1 -1
  400. package/src/api/routes/tests/analytics.spec.js +1 -4
  401. package/src/api/routes/tests/apikeys.spec.js +1 -1
  402. package/src/api/routes/tests/application.spec.ts +6 -20
  403. package/src/api/routes/tests/auth.spec.js +2 -2
  404. package/src/api/routes/tests/automation.spec.js +2 -6
  405. package/src/api/routes/tests/backup.spec.ts +14 -4
  406. package/src/api/routes/tests/{cloud.seq.spec.ts → cloud.spec.ts} +15 -11
  407. package/src/api/routes/tests/component.spec.js +1 -1
  408. package/src/api/routes/tests/datasource.spec.ts +3 -20
  409. package/src/api/routes/tests/dev.spec.js +1 -1
  410. package/src/api/routes/tests/integration.spec.js +1 -1
  411. package/src/api/routes/tests/layout.spec.js +1 -1
  412. package/src/api/routes/tests/metadata.spec.js +1 -1
  413. package/src/api/routes/tests/misc.spec.js +1 -1
  414. package/src/api/routes/tests/permissions.spec.js +1 -4
  415. package/src/api/routes/tests/{query.seq.spec.js → query.spec.js} +1 -22
  416. package/src/api/routes/tests/role.spec.js +1 -6
  417. package/src/api/routes/tests/routing.spec.js +1 -1
  418. package/src/api/routes/tests/row.spec.js +3 -11
  419. package/src/api/routes/tests/screen.spec.js +1 -1
  420. package/src/api/routes/tests/static.spec.js +13 -2
  421. package/src/api/routes/tests/table.spec.js +1 -1
  422. package/src/api/routes/tests/templates.spec.js +1 -1
  423. package/src/api/routes/tests/user.spec.js +12 -11
  424. package/src/api/routes/tests/utilities/TestFunctions.ts +2 -25
  425. package/src/api/routes/tests/utilities/index.ts +3 -5
  426. package/src/api/routes/tests/view.spec.js +1 -4
  427. package/src/api/routes/tests/webhook.spec.js +2 -11
  428. package/src/app.ts +1 -10
  429. package/src/automations/tests/automation.spec.js +4 -4
  430. package/src/automations/tests/bash.spec.js +1 -1
  431. package/src/automations/tests/discord.spec.js +1 -1
  432. package/src/automations/tests/executeQuery.spec.js +3 -2
  433. package/src/automations/tests/executeScript.spec.js +1 -1
  434. package/src/automations/tests/outgoingWebhook.spec.js +1 -1
  435. package/src/automations/tests/sendSmtpEmail.spec.js +1 -1
  436. package/src/automations/tests/serverLog.spec.js +1 -1
  437. package/src/automations/tests/updateRow.spec.js +1 -1
  438. package/src/automations/tests/zapier.spec.js +1 -1
  439. package/src/constants/index.ts +23 -1
  440. package/src/db/defaultData/datasource_bb_default.ts +10 -6
  441. package/src/db/linkedRows/LinkController.ts +1 -2
  442. package/src/db/tests/linkController.spec.js +1 -4
  443. package/src/db/tests/linkTests.spec.js +1 -1
  444. package/src/integrations/base/sql.ts +5 -15
  445. package/src/integrations/oracle.ts +1 -1
  446. package/src/integrations/tests/couchdb.spec.ts +2 -0
  447. package/src/middleware/authorized.ts +4 -6
  448. package/src/middleware/builder.ts +3 -8
  449. package/src/migrations/functions/tests/appUrls.spec.js +1 -1
  450. package/src/migrations/functions/tests/syncQuotas.spec.js +1 -1
  451. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +1 -1
  452. package/src/migrations/tests/index.spec.ts +20 -13
  453. package/src/sdk/app/backups/exports.ts +2 -8
  454. package/src/sdk/app/datasources/datasources.ts +0 -3
  455. package/src/tests/jestEnv.ts +11 -8
  456. package/src/tests/jestSetup.ts +7 -9
  457. package/src/tests/utilities/TestConfiguration.ts +92 -166
  458. package/src/tests/utilities/structures.ts +2 -16
  459. package/src/utilities/redis.ts +0 -2
  460. package/tsconfig.build.json +0 -1
  461. package/builder/assets/blankScreenPreview.72634dd1.png +0 -0
  462. package/builder/assets/index.22724f34.css +0 -6
  463. package/builder/assets/listScreenPreview.599c0aae.png +0 -0
  464. package/dist/ddApm.js +0 -11
  465. package/dist/elasticApm.js +0 -14
  466. package/dist/utilities/retry.js +0 -30
  467. package/jest-testcontainers-config.js +0 -8
  468. package/scripts/load/create-many-apps.js +0 -24
  469. package/scripts/load/create-many-rows.js +0 -30
  470. package/scripts/load/utils.js +0 -66
  471. package/scripts/test.sh +0 -12
  472. package/src/api/routes/tests/environmentVariables.spec.ts +0 -144
  473. package/src/ddApm.ts +0 -7
  474. package/src/elasticApm.ts +0 -10
  475. package/src/integration-test/postgres.spec.ts +0 -762
  476. package/src/tests/logging.ts +0 -34
  477. package/src/utilities/retry.ts +0 -18
@@ -0,0 +1,562 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/sdk/app/datasources/datasources.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/sdk/app/datasources</a> datasources.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">71.95% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>59/82</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">50% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>12/24</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">89.47% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>17/19</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">73.75% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>59/80</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line medium'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">59x</span>
226
+ <span class="cline-any cline-yes">59x</span>
227
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
+ <span class="cline-any cline-neutral">&nbsp;</span>
229
+ <span class="cline-any cline-neutral">&nbsp;</span>
230
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
+ <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-neutral">&nbsp;</span>
233
+ <span class="cline-any cline-neutral">&nbsp;</span>
234
+ <span class="cline-any cline-neutral">&nbsp;</span>
235
+ <span class="cline-any cline-neutral">&nbsp;</span>
236
+ <span class="cline-any cline-yes">59x</span>
237
+ <span class="cline-any cline-yes">59x</span>
238
+ <span class="cline-any cline-yes">59x</span>
239
+ <span class="cline-any cline-yes">59x</span>
240
+ <span class="cline-any cline-neutral">&nbsp;</span>
241
+ <span class="cline-any cline-yes">59x</span>
242
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
+ <span class="cline-any cline-yes">59x</span>
244
+ <span class="cline-any cline-yes">25x</span>
245
+ <span class="cline-any cline-yes">12x</span>
246
+ <span class="cline-any cline-yes">11x</span>
247
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-yes">1x</span>
249
+ <span class="cline-any cline-yes">1x</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
252
+ <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-no">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-neutral">&nbsp;</span>
256
+ <span class="cline-any cline-yes">25x</span>
257
+ <span class="cline-any cline-neutral">&nbsp;</span>
258
+ <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-yes">25x</span>
261
+ <span class="cline-any cline-yes">25x</span>
262
+ <span class="cline-any cline-yes">25x</span>
263
+ <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-neutral">&nbsp;</span>
267
+ <span class="cline-any cline-yes">25x</span>
268
+ <span class="cline-any cline-yes">25x</span>
269
+ <span class="cline-any cline-yes">25x</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
271
+ <span class="cline-any cline-neutral">&nbsp;</span>
272
+ <span class="cline-any cline-neutral">&nbsp;</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-yes">59x</span>
276
+ <span class="cline-any cline-yes">1x</span>
277
+ <span class="cline-any cline-yes">1x</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-neutral">&nbsp;</span>
280
+ <span class="cline-any cline-yes">59x</span>
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-neutral">&nbsp;</span>
284
+ <span class="cline-any cline-yes">63x</span>
285
+ <span class="cline-any cline-yes">63x</span>
286
+ <span class="cline-any cline-yes">62x</span>
287
+ <span class="cline-any cline-yes">8x</span>
288
+ <span class="cline-any cline-neutral">&nbsp;</span>
289
+ <span class="cline-any cline-yes">54x</span>
290
+ <span class="cline-any cline-neutral">&nbsp;</span>
291
+ <span class="cline-any cline-neutral">&nbsp;</span>
292
+ <span class="cline-any cline-neutral">&nbsp;</span>
293
+ <span class="cline-any cline-yes">59x</span>
294
+ <span class="cline-any cline-yes">16x</span>
295
+ <span class="cline-any cline-yes">16x</span>
296
+ <span class="cline-any cline-yes">16x</span>
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-neutral">&nbsp;</span>
300
+ <span class="cline-any cline-yes">88x</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-yes">3x</span>
305
+ <span class="cline-any cline-no">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-yes">3x</span>
308
+ <span class="cline-any cline-yes">3x</span>
309
+ <span class="cline-any cline-neutral">&nbsp;</span>
310
+ <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-yes">59x</span>
312
+ <span class="cline-any cline-yes">80x</span>
313
+ <span class="cline-any cline-yes">80x</span>
314
+ <span class="cline-any cline-yes">81x</span>
315
+ <span class="cline-any cline-yes">81x</span>
316
+ <span class="cline-any cline-neutral">&nbsp;</span>
317
+ <span class="cline-any cline-yes">81x</span>
318
+ <span class="cline-any cline-no">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-neutral">&nbsp;</span>
321
+ <span class="cline-any cline-yes">81x</span>
322
+ <span class="cline-any cline-no">&nbsp;</span>
323
+ <span class="cline-any cline-no">&nbsp;</span>
324
+ <span class="cline-any cline-no">&nbsp;</span>
325
+ <span class="cline-any cline-no">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-no">&nbsp;</span>
328
+ <span class="cline-any cline-no">&nbsp;</span>
329
+ <span class="cline-any cline-no">&nbsp;</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
+ <span class="cline-any cline-neutral">&nbsp;</span>
333
+ <span class="cline-any cline-neutral">&nbsp;</span>
334
+ <span class="cline-any cline-yes">81x</span>
335
+ <span class="cline-any cline-yes">10x</span>
336
+ <span class="cline-any cline-neutral">&nbsp;</span>
337
+ <span class="cline-any cline-neutral">&nbsp;</span>
338
+ <span class="cline-any cline-neutral">&nbsp;</span>
339
+ <span class="cline-any cline-yes">3x</span>
340
+ <span class="cline-any cline-neutral">&nbsp;</span>
341
+ <span class="cline-any cline-neutral">&nbsp;</span>
342
+ <span class="cline-any cline-neutral">&nbsp;</span>
343
+ <span class="cline-any cline-neutral">&nbsp;</span>
344
+ <span class="cline-any cline-yes">80x</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-neutral">&nbsp;</span>
347
+ <span class="cline-any cline-yes">59x</span>
348
+ <span class="cline-any cline-yes">78x</span>
349
+ <span class="cline-any cline-neutral">&nbsp;</span>
350
+ <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-yes">59x</span>
352
+ <span class="cline-any cline-yes">7x</span>
353
+ <span class="cline-any cline-no">&nbsp;</span>
354
+ <span class="cline-any cline-neutral">&nbsp;</span>
355
+ <span class="cline-any cline-neutral">&nbsp;</span>
356
+ <span class="cline-any cline-yes">7x</span>
357
+ <span class="cline-any cline-no">&nbsp;</span>
358
+ <span class="cline-any cline-no">&nbsp;</span>
359
+ <span class="cline-any cline-no">&nbsp;</span>
360
+ <span class="cline-any cline-no">&nbsp;</span>
361
+ <span class="cline-any cline-no">&nbsp;</span>
362
+ <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-no">&nbsp;</span>
364
+ <span class="cline-any cline-no">&nbsp;</span>
365
+ <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-no">&nbsp;</span>
367
+ <span class="cline-any cline-no">&nbsp;</span>
368
+ <span class="cline-any cline-neutral">&nbsp;</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-yes">7x</span>
373
+ <span class="cline-any cline-yes">6x</span>
374
+ <span class="cline-any cline-yes">5x</span>
375
+ <span class="cline-any cline-neutral">&nbsp;</span>
376
+ <span class="cline-any cline-yes">1x</span>
377
+ <span class="cline-any cline-yes">1x</span>
378
+ <span class="cline-any cline-neutral">&nbsp;</span>
379
+ <span class="cline-any cline-no">&nbsp;</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-neutral">&nbsp;</span>
382
+ <span class="cline-any cline-yes">7x</span>
383
+ <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { context } from "@budibase/backend-core"
385
+ import { findHBSBlocks, processObjectSync } from "@budibase/string-templates"
386
+ import {
387
+ Datasource,
388
+ DatasourceFieldType,
389
+ Integration,
390
+ PASSWORD_REPLACEMENT,
391
+ RestAuthConfig,
392
+ RestAuthType,
393
+ RestBasicAuthConfig,
394
+ SourceName,
395
+ } from "@budibase/types"
396
+ import { cloneDeep } from "lodash/fp"
397
+ import { getEnvironmentVariables } from "../../utils"
398
+ import { getDefinitions, getDefinition } from "../../../integrations"
399
+ &nbsp;
400
+ const ENV_VAR_PREFIX = "env."
401
+ &nbsp;
402
+ export function checkDatasourceTypes(schema: Integration, config: any) {
403
+ for (let key of Object.keys(config)) {
404
+ if (!schema.datasource[key]) {
405
+ continue
406
+ }
407
+ const type = schema.datasource[key].type
408
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (
409
+ type === DatasourceFieldType.NUMBER &amp;&amp;
410
+ <span class="branch-1 cbranch-no" title="branch not covered" > typeof config[key] === "string"</span>
411
+ ) {
412
+ <span class="cstat-no" title="statement not covered" > config[key] = parseFloat(config[key])</span>
413
+ }
414
+ }
415
+ return config
416
+ }
417
+ &nbsp;
418
+ async function enrichDatasourceWithValues(datasource: Datasource) {
419
+ const cloned = cloneDeep(datasource)
420
+ const env = await getEnvironmentVariables()
421
+ const processed = processObjectSync(
422
+ cloned,
423
+ { env },
424
+ { onlyFound: true }
425
+ ) as Datasource
426
+ const definition = await getDefinition(processed.source)
427
+ processed.config = checkDatasourceTypes(definition, processed.config)
428
+ return {
429
+ datasource: processed,
430
+ envVars: env as Record&lt;string, string&gt;,
431
+ }
432
+ }
433
+ &nbsp;
434
+ export async function enrich(datasource: Datasource) {
435
+ const { datasource: response } = await enrichDatasourceWithValues(datasource)
436
+ return response
437
+ }
438
+ &nbsp;
439
+ export async function get(
440
+ datasourceId: string,
441
+ opts?: { enriched: boolean }
442
+ ): Promise&lt;Datasource&gt; {
443
+ const appDb = context.getAppDB()
444
+ const datasource = await appDb.get(datasourceId)
445
+ if (opts?.enriched) {
446
+ return (await enrichDatasourceWithValues(datasource)).datasource
447
+ } else {
448
+ return datasource
449
+ }
450
+ }
451
+ &nbsp;
452
+ export async function getWithEnvVars(datasourceId: string) {
453
+ const appDb = context.getAppDB()
454
+ const datasource = await appDb.get(datasourceId)
455
+ return enrichDatasourceWithValues(datasource)
456
+ }
457
+ &nbsp;
458
+ function hasAuthConfigs(datasource: Datasource) {
459
+ return datasource.source === SourceName.REST &amp;&amp; datasource.config?.authConfigs
460
+ }
461
+ &nbsp;
462
+ function useEnvVars(str: any) {
463
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof str !== "string") {
464
+ <span class="cstat-no" title="statement not covered" > return false</span>
465
+ }
466
+ const blocks = findHBSBlocks(str)
467
+ return blocks.find(<span class="fstat-no" title="function not covered" >block =&gt; <span class="cstat-no" title="statement not covered" >b</span>lock.includes(ENV_VAR_PREFIX)) != n</span>ull
468
+ }
469
+ &nbsp;
470
+ export async function removeSecrets(datasources: Datasource[]) {
471
+ const definitions = await getDefinitions()
472
+ for (let datasource of datasources) {
473
+ const schema = definitions[datasource.source]
474
+ if (datasource.config) {
475
+ // strip secrets from response, so they don't show in the network request
476
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (datasource.config.auth) {
477
+ <span class="cstat-no" title="statement not covered" > delete datasource.config.auth</span>
478
+ }
479
+ // specific to REST datasources, contains passwords
480
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (hasAuthConfigs(datasource)) {
481
+ const configs = <span class="cstat-no" title="statement not covered" >datasource.config.authConfigs </span>as RestAuthConfig[]
482
+ <span class="cstat-no" title="statement not covered" > for (let config of configs) {</span>
483
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (config.type !== RestAuthType.BASIC) {</span>
484
+ <span class="cstat-no" title="statement not covered" > continue</span>
485
+ }
486
+ const basic = <span class="cstat-no" title="statement not covered" >config.config </span>as RestBasicAuthConfig
487
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!useEnvVars(basic.password)) {</span>
488
+ <span class="cstat-no" title="statement not covered" > basic.password = PASSWORD_REPLACEMENT</span>
489
+ }
490
+ }
491
+ }
492
+ // remove general passwords
493
+ for (let key of Object.keys(datasource.config)) {
494
+ if (
495
+ schema.datasource?.[key]?.type === DatasourceFieldType.PASSWORD &amp;&amp;
496
+ !useEnvVars(datasource.config[key])
497
+ ) {
498
+ datasource.config[key] = PASSWORD_REPLACEMENT
499
+ }
500
+ }
501
+ }
502
+ }
503
+ return datasources
504
+ }
505
+ &nbsp;
506
+ export async function removeSecretSingle(datasource: Datasource) {
507
+ return (await removeSecrets([datasource]))[0]
508
+ }
509
+ &nbsp;
510
+ export function mergeConfigs(update: Datasource, old: Datasource) {
511
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!update.config) {
512
+ <span class="cstat-no" title="statement not covered" > return update</span>
513
+ }
514
+ // specific to REST datasources, fix the auth configs again if required
515
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (hasAuthConfigs(update)) {
516
+ const configs = <span class="cstat-no" title="statement not covered" >update.config.authConfigs </span>as RestAuthConfig[]
517
+ const oldConfigs = <span class="cstat-no" title="statement not covered" >old.config?.authConfigs as RestAuthConfig[]</span>
518
+ <span class="cstat-no" title="statement not covered" > for (let config of configs) {</span>
519
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (config.type !== RestAuthType.BASIC) {</span>
520
+ <span class="cstat-no" title="statement not covered" > continue</span>
521
+ }
522
+ const basic = <span class="cstat-no" title="statement not covered" >config.config </span>as RestBasicAuthConfig
523
+ const oldBasic = <span class="cstat-no" title="statement not covered" >oldConfigs.find(<span class="fstat-no" title="function not covered" >old =&gt; <span class="cstat-no" title="statement not covered" >o</span>ld.name === config.name)</span></span>
524
+ ?.config as RestBasicAuthConfig
525
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (basic.password === PASSWORD_REPLACEMENT) {</span>
526
+ <span class="cstat-no" title="statement not covered" > basic.password = oldBasic.password</span>
527
+ }
528
+ }
529
+ }
530
+ // update back to actual passwords for everything else
531
+ for (let [key, value] of Object.entries(update.config)) {
532
+ if (value !== PASSWORD_REPLACEMENT) {
533
+ continue
534
+ }
535
+ if (old.config?.[key]) {
536
+ update.config[key] = old.config?.[key]
537
+ } else <span class="missing-if-branch" title="else path not taken" >E</span>{
538
+ <span class="cstat-no" title="statement not covered" > delete update.config[key]</span>
539
+ }
540
+ }
541
+ return update
542
+ }
543
+ &nbsp;</pre></td></tr></table></pre>
544
+
545
+ <div class='push'></div><!-- for sticky footer -->
546
+ </div><!-- /wrapper -->
547
+ <div class='footer quiet pad2 space-top1 center small'>
548
+ Code coverage generated by
549
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
550
+ at Mon Feb 27 2023 10:11:39 GMT+0000 (Coordinated Universal Time)
551
+ </div>
552
+ <script src="../../../../prettify.js"></script>
553
+ <script>
554
+ window.onload = function () {
555
+ prettyPrint();
556
+ };
557
+ </script>
558
+ <script src="../../../../sorter.js"></script>
559
+ <script src="../../../../block-navigation.js"></script>
560
+ </body>
561
+ </html>
562
+