@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,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">51.92% </span>
26
+ <span class="strong">53.92% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>54/104</span>
28
+ <span class='fraction'>55/102</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,9 +37,9 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">64.7% </span>
40
+ <span class="strong">66.66% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>11/17</span>
42
+ <span class='fraction'>12/18</span>
43
43
  </div>
44
44
 
45
45
 
@@ -397,7 +397,7 @@
397
397
  <a name='L332'></a><a href='#L332'>332</a>
398
398
  <a name='L333'></a><a href='#L333'>333</a>
399
399
  <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">49x</span>
400
+ <a name='L335'></a><a href='#L335'>335</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
401
401
  <span class="cline-any cline-neutral">&nbsp;</span>
402
402
  <span class="cline-any cline-neutral">&nbsp;</span>
403
403
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -405,30 +405,30 @@
405
405
  <span class="cline-any cline-neutral">&nbsp;</span>
406
406
  <span class="cline-any cline-neutral">&nbsp;</span>
407
407
  <span class="cline-any cline-neutral">&nbsp;</span>
408
+ <span class="cline-any cline-yes">60x</span>
408
409
  <span class="cline-any cline-neutral">&nbsp;</span>
409
- <span class="cline-any cline-yes">49x</span>
410
410
  <span class="cline-any cline-neutral">&nbsp;</span>
411
411
  <span class="cline-any cline-neutral">&nbsp;</span>
412
412
  <span class="cline-any cline-neutral">&nbsp;</span>
413
413
  <span class="cline-any cline-neutral">&nbsp;</span>
414
414
  <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-yes">60x</span>
416
+ <span class="cline-any cline-yes">60x</span>
415
417
  <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-yes">49x</span>
418
+ <span class="cline-any cline-yes">60x</span>
417
419
  <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-yes">49x</span>
420
+ <span class="cline-any cline-yes">60x</span>
419
421
  <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-yes">49x</span>
421
422
  <span class="cline-any cline-neutral">&nbsp;</span>
422
423
  <span class="cline-any cline-neutral">&nbsp;</span>
423
424
  <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-yes">49x</span>
425
+ <span class="cline-any cline-yes">60x</span>
426
426
  <span class="cline-any cline-no">&nbsp;</span>
427
427
  <span class="cline-any cline-no">&nbsp;</span>
428
428
  <span class="cline-any cline-no">&nbsp;</span>
429
429
  <span class="cline-any cline-neutral">&nbsp;</span>
430
430
  <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-yes">49x</span>
431
+ <span class="cline-any cline-yes">60x</span>
432
432
  <span class="cline-any cline-neutral">&nbsp;</span>
433
433
  <span class="cline-any cline-neutral">&nbsp;</span>
434
434
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -442,7 +442,7 @@
442
442
  <span class="cline-any cline-neutral">&nbsp;</span>
443
443
  <span class="cline-any cline-neutral">&nbsp;</span>
444
444
  <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-yes">49x</span>
445
+ <span class="cline-any cline-yes">60x</span>
446
446
  <span class="cline-any cline-neutral">&nbsp;</span>
447
447
  <span class="cline-any cline-neutral">&nbsp;</span>
448
448
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -515,14 +515,14 @@
515
515
  <span class="cline-any cline-neutral">&nbsp;</span>
516
516
  <span class="cline-any cline-neutral">&nbsp;</span>
517
517
  <span class="cline-any cline-neutral">&nbsp;</span>
518
- <span class="cline-any cline-yes">10x</span>
518
+ <span class="cline-any cline-yes">11x</span>
519
519
  <span class="cline-any cline-neutral">&nbsp;</span>
520
- <span class="cline-any cline-yes">10x</span>
521
- <span class="cline-any cline-yes">10x</span>
520
+ <span class="cline-any cline-yes">11x</span>
521
+ <span class="cline-any cline-yes">11x</span>
522
522
  <span class="cline-any cline-neutral">&nbsp;</span>
523
523
  <span class="cline-any cline-neutral">&nbsp;</span>
524
524
  <span class="cline-any cline-neutral">&nbsp;</span>
525
- <span class="cline-any cline-yes">10x</span>
525
+ <span class="cline-any cline-yes">11x</span>
526
526
  <span class="cline-any cline-neutral">&nbsp;</span>
527
527
  <span class="cline-any cline-neutral">&nbsp;</span>
528
528
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -533,10 +533,10 @@
533
533
  <span class="cline-any cline-neutral">&nbsp;</span>
534
534
  <span class="cline-any cline-neutral">&nbsp;</span>
535
535
  <span class="cline-any cline-neutral">&nbsp;</span>
536
- <span class="cline-any cline-yes">10x</span>
537
- <span class="cline-any cline-yes">10x</span>
536
+ <span class="cline-any cline-yes">11x</span>
537
+ <span class="cline-any cline-yes">11x</span>
538
538
  <span class="cline-any cline-neutral">&nbsp;</span>
539
- <span class="cline-any cline-yes">10x</span>
539
+ <span class="cline-any cline-yes">11x</span>
540
540
  <span class="cline-any cline-neutral">&nbsp;</span>
541
541
  <span class="cline-any cline-neutral">&nbsp;</span>
542
542
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -545,8 +545,8 @@
545
545
  <span class="cline-any cline-neutral">&nbsp;</span>
546
546
  <span class="cline-any cline-neutral">&nbsp;</span>
547
547
  <span class="cline-any cline-neutral">&nbsp;</span>
548
- <span class="cline-any cline-yes">10x</span>
549
- <span class="cline-any cline-yes">10x</span>
548
+ <span class="cline-any cline-yes">11x</span>
549
+ <span class="cline-any cline-yes">11x</span>
550
550
  <span class="cline-any cline-neutral">&nbsp;</span>
551
551
  <span class="cline-any cline-neutral">&nbsp;</span>
552
552
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -558,38 +558,38 @@
558
558
  <span class="cline-any cline-neutral">&nbsp;</span>
559
559
  <span class="cline-any cline-neutral">&nbsp;</span>
560
560
  <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-yes">10x</span>
562
- <span class="cline-any cline-yes">10x</span>
563
- <span class="cline-any cline-yes">10x</span>
561
+ <span class="cline-any cline-yes">11x</span>
562
+ <span class="cline-any cline-yes">11x</span>
563
+ <span class="cline-any cline-yes">11x</span>
564
564
  <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-yes">10x</span>
566
- <span class="cline-any cline-yes">10x</span>
567
- <span class="cline-any cline-yes">10x</span>
565
+ <span class="cline-any cline-yes">11x</span>
566
+ <span class="cline-any cline-yes">11x</span>
567
+ <span class="cline-any cline-yes">11x</span>
568
568
  <span class="cline-any cline-neutral">&nbsp;</span>
569
569
  <span class="cline-any cline-neutral">&nbsp;</span>
570
570
  <span class="cline-any cline-neutral">&nbsp;</span>
571
- <span class="cline-any cline-yes">10x</span>
572
- <span class="cline-any cline-yes">10x</span>
573
- <span class="cline-any cline-yes">10x</span>
574
- <span class="cline-any cline-yes">10x</span>
575
- <span class="cline-any cline-yes">10x</span>
571
+ <span class="cline-any cline-yes">11x</span>
572
+ <span class="cline-any cline-yes">11x</span>
573
+ <span class="cline-any cline-yes">11x</span>
574
+ <span class="cline-any cline-yes">11x</span>
575
+ <span class="cline-any cline-yes">11x</span>
576
576
  <span class="cline-any cline-no">&nbsp;</span>
577
577
  <span class="cline-any cline-neutral">&nbsp;</span>
578
- <span class="cline-any cline-yes">10x</span>
578
+ <span class="cline-any cline-yes">11x</span>
579
579
  <span class="cline-any cline-neutral">&nbsp;</span>
580
580
  <span class="cline-any cline-neutral">&nbsp;</span>
581
581
  <span class="cline-any cline-neutral">&nbsp;</span>
582
582
  <span class="cline-any cline-neutral">&nbsp;</span>
583
583
  <span class="cline-any cline-neutral">&nbsp;</span>
584
584
  <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-yes">10x</span>
586
- <span class="cline-any cline-yes">10x</span>
585
+ <span class="cline-any cline-yes">11x</span>
586
+ <span class="cline-any cline-yes">11x</span>
587
587
  <span class="cline-any cline-neutral">&nbsp;</span>
588
- <span class="cline-any cline-yes">10x</span>
589
- <span class="cline-any cline-yes">10x</span>
588
+ <span class="cline-any cline-yes">11x</span>
589
+ <span class="cline-any cline-yes">11x</span>
590
590
  <span class="cline-any cline-neutral">&nbsp;</span>
591
591
  <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-yes">10x</span>
592
+ <span class="cline-any cline-yes">11x</span>
593
593
  <span class="cline-any cline-yes">8x</span>
594
594
  <span class="cline-any cline-yes">8x</span>
595
595
  <span class="cline-any cline-no">&nbsp;</span>
@@ -598,15 +598,15 @@
598
598
  <span class="cline-any cline-neutral">&nbsp;</span>
599
599
  <span class="cline-any cline-neutral">&nbsp;</span>
600
600
  <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-yes">10x</span>
602
- <span class="cline-any cline-yes">10x</span>
601
+ <span class="cline-any cline-yes">11x</span>
602
+ <span class="cline-any cline-yes">11x</span>
603
603
  <span class="cline-any cline-neutral">&nbsp;</span>
604
604
  <span class="cline-any cline-no">&nbsp;</span>
605
605
  <span class="cline-any cline-neutral">&nbsp;</span>
606
606
  <span class="cline-any cline-no">&nbsp;</span>
607
607
  <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-yes">10x</span>
609
- <span class="cline-any cline-yes">10x</span>
608
+ <span class="cline-any cline-yes">11x</span>
609
+ <span class="cline-any cline-yes">11x</span>
610
610
  <span class="cline-any cline-neutral">&nbsp;</span>
611
611
  <span class="cline-any cline-neutral">&nbsp;</span>
612
612
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -696,8 +696,8 @@
696
696
  <span class="cline-any cline-neutral">&nbsp;</span>
697
697
  <span class="cline-any cline-neutral">&nbsp;</span>
698
698
  <span class="cline-any cline-neutral">&nbsp;</span>
699
- <span class="cline-any cline-yes">3x</span>
700
- <span class="cline-any cline-yes">3x</span>
699
+ <span class="cline-any cline-yes">4x</span>
700
+ <span class="cline-any cline-yes">4x</span>
701
701
  <span class="cline-any cline-neutral">&nbsp;</span>
702
702
  <span class="cline-any cline-neutral">&nbsp;</span>
703
703
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -727,7 +727,7 @@
727
727
  <span class="cline-any cline-neutral">&nbsp;</span>
728
728
  <span class="cline-any cline-neutral">&nbsp;</span>
729
729
  <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-yes">49x</span>
730
+ <span class="cline-any cline-yes">125x</span>
731
731
  <span class="cline-any cline-neutral">&nbsp;</span>
732
732
  <span class="cline-any cline-neutral">&nbsp;</span>
733
733
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -757,9 +757,9 @@ const { Client, types } = require("pg")
757
757
  // This lets us reference the original stored timezone.
758
758
  // types is undefined when running in a test env for some reason.
759
759
  <span class="missing-if-branch" title="if path not taken" >I</span>if (types) {
760
- <span class="cstat-no" title="statement not covered" > types.setTypeParser(1114, <span class="fstat-no" title="function not covered" >(v</span>al: any) =&gt; <span class="cstat-no" title="statement not covered" >val)</span> /</span>/ timestamp
761
- <span class="cstat-no" title="statement not covered" > types.setTypeParser(1082, <span class="fstat-no" title="function not covered" >(v</span>al: any) =&gt; <span class="cstat-no" title="statement not covered" >val)</span> /</span>/ date
762
- <span class="cstat-no" title="statement not covered" > types.setTypeParser(1184, <span class="fstat-no" title="function not covered" >(v</span>al: any) =&gt; <span class="cstat-no" title="statement not covered" >val)</span> /</span>/ timestampz
760
+ types.setTypeParser(1114, <span class="fstat-no" title="function not covered" >(v</span>al: any) =&gt; <span class="cstat-no" title="statement not covered" >val) /</span>/ timestamp
761
+ types.setTypeParser(1082, <span class="fstat-no" title="function not covered" >(v</span>al: any) =&gt; <span class="cstat-no" title="statement not covered" >val) /</span>/ date
762
+ types.setTypeParser(1184, <span class="fstat-no" title="function not covered" >(v</span>al: any) =&gt; <span class="cstat-no" title="statement not covered" >val) /</span>/ timestampz
763
763
  }
764
764
  &nbsp;
765
765
  const JSON_REGEX = /'{.*}'::json/s
@@ -883,11 +883,11 @@ class PostgresIntegration extends Sql implements DatasourcePlus {
883
883
  this.open = false
884
884
  }
885
885
  &nbsp;
886
- <span class="fstat-no" title="function not covered" > getBindingIdentifier(</span>): string {
886
+ <span class="fstat-no" title="function not covered" > getBindingIdentifier(): string {</span>
887
887
  <span class="cstat-no" title="statement not covered" > return `$${this.index++}`</span>
888
888
  }
889
889
  &nbsp;
890
- <span class="fstat-no" title="function not covered" > getStringConcat(</span>parts: string[]): string {
890
+ <span class="fstat-no" title="function not covered" > getStringConcat(p</span>arts: string[]): string {
891
891
  <span class="cstat-no" title="statement not covered" > return parts.join(" || ")</span>
892
892
  }
893
893
  &nbsp;
@@ -925,7 +925,7 @@ class PostgresIntegration extends Sql implements DatasourcePlus {
925
925
  // new lines inside the JSON data will break it
926
926
  if (query &amp;&amp; query.sql) {
927
927
  const matches = query.sql.match(JSON_REGEX)
928
- <span class="missing-if-branch" title="if path not taken" >I</span>if (matches &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >matches.length &gt; 0)</span> {
928
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (matches &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >matches.length &gt; 0) {</span>
929
929
  <span class="cstat-no" title="statement not covered" > for (let match of matches) {</span>
930
930
  const escaped = <span class="cstat-no" title="statement not covered" >escapeDangerousCharacters(match)</span>
931
931
  <span class="cstat-no" title="statement not covered" > query.sql = query.sql.replace(match, escaped)</span>
@@ -950,7 +950,7 @@ class PostgresIntegration extends Sql implements DatasourcePlus {
950
950
  * @param {*} datasourceId - datasourceId to fetch
951
951
  * @param entities - the tables that are to be built
952
952
  */
953
- async <span class="fstat-no" title="function not covered" >buildSchema(</span>datasourceId: string, entities: Record&lt;string, Table&gt;) {
953
+ <span class="fstat-no" title="function not covered" > async b</span>uildSchema(datasourceId: string, entities: Record&lt;string, Table&gt;) {
954
954
  let tableKeys: { [key: string]: string[] } = <span class="cstat-no" title="statement not covered" >{}</span>
955
955
  <span class="cstat-no" title="statement not covered" > await this.openConnection()</span>
956
956
  <span class="cstat-no" title="statement not covered" > try {</span>
@@ -1072,7 +1072,7 @@ export default {
1072
1072
  <div class='footer quiet pad2 space-top1 center small'>
1073
1073
  Code coverage generated by
1074
1074
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1075
- at Thu Feb 02 2023 11:56:48 GMT+0000 (Coordinated Universal Time)
1075
+ at Sun Feb 05 2023 23:27:19 GMT+0000 (Coordinated Universal Time)
1076
1076
  </div>
1077
1077
  <script src="../../prettify.js"></script>
1078
1078
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">34.48% </span>
26
+ <span class="strong">16.66% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>20/58</span>
28
+ <span class='fraction'>7/42</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">50% </span>
33
+ <span class="strong">16.66% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>15/30</span>
35
+ <span class='fraction'>2/12</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">33.33% </span>
40
+ <span class="strong">20% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/6</span>
42
+ <span class='fraction'>1/5</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">35.08% </span>
47
+ <span class="strong">17.07% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>20/57</span>
49
+ <span class='fraction'>7/41</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file low" data-value="sql.ts"><a href="sql.ts.html">sql.ts</a></td>
83
- <td data-value="34.48" class="pic low">
84
- <div class="chart"><div class="cover-fill" style="width: 34%"></div><div class="cover-empty" style="width: 66%"></div></div>
83
+ <td data-value="16.66" class="pic low">
84
+ <div class="chart"><div class="cover-fill" style="width: 16%"></div><div class="cover-empty" style="width: 84%"></div></div>
85
85
  </td>
86
- <td data-value="34.48" class="pct low">34.48%</td>
87
- <td data-value="58" class="abs low">20/58</td>
88
- <td data-value="50" class="pct medium">50%</td>
89
- <td data-value="30" class="abs medium">15/30</td>
90
- <td data-value="33.33" class="pct low">33.33%</td>
91
- <td data-value="6" class="abs low">2/6</td>
92
- <td data-value="35.08" class="pct low">35.08%</td>
93
- <td data-value="57" class="abs low">20/57</td>
86
+ <td data-value="16.66" class="pct low">16.66%</td>
87
+ <td data-value="42" class="abs low">7/42</td>
88
+ <td data-value="16.66" class="pct low">16.66%</td>
89
+ <td data-value="12" class="abs low">2/12</td>
90
+ <td data-value="20" class="pct low">20%</td>
91
+ <td data-value="5" class="abs low">1/5</td>
92
+ <td data-value="17.07" class="pct low">17.07%</td>
93
+ <td data-value="41" class="abs low">7/41</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Thu Feb 02 2023 11:56:48 GMT+0000 (Coordinated Universal Time)
104
+ at Sun Feb 05 2023 23:27:19 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">34.48% </span>
26
+ <span class="strong">16.66% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>20/58</span>
28
+ <span class='fraction'>7/42</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">50% </span>
33
+ <span class="strong">16.66% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>15/30</span>
35
+ <span class='fraction'>2/12</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">33.33% </span>
40
+ <span class="strong">20% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/6</span>
42
+ <span class='fraction'>1/5</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">35.08% </span>
47
+ <span class="strong">17.07% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>20/57</span>
49
+ <span class='fraction'>7/41</span>
50
50
  </div>
51
51
 
52
52
 
@@ -144,110 +144,20 @@
144
144
  <a name='L79'></a><a href='#L79'>79</a>
145
145
  <a name='L80'></a><a href='#L80'>80</a>
146
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
147
+ <a name='L82'></a><a href='#L82'>82</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
193
148
  <span class="cline-any cline-neutral">&nbsp;</span>
149
+ <span class="cline-any cline-yes">3x</span>
194
150
  <span class="cline-any cline-neutral">&nbsp;</span>
195
- <span class="cline-any cline-yes">2x</span>
151
+ <span class="cline-any cline-yes">3x</span>
196
152
  <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-yes">2x</span>
153
+ <span class="cline-any cline-yes">3x</span>
198
154
  <span class="cline-any cline-neutral">&nbsp;</span>
199
155
  <span class="cline-any cline-neutral">&nbsp;</span>
200
156
  <span class="cline-any cline-neutral">&nbsp;</span>
201
- <span class="cline-any cline-yes">42x</span>
202
- <span class="cline-any cline-yes">42x</span>
203
- <span class="cline-any cline-no">&nbsp;</span>
204
157
  <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-yes">42x</span>
207
- <span class="cline-any cline-yes">69x</span>
208
- <span class="cline-any cline-no">&nbsp;</span>
209
- <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-yes">69x</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-yes">1x</span>
213
- <span class="cline-any cline-yes">68x</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-yes">68x</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-no">&nbsp;</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-yes">42x</span>
225
- <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-neutral">&nbsp;</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-yes">5x</span>
230
- <span class="cline-any cline-yes">5x</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-neutral">&nbsp;</span>
237
- <span class="cline-any cline-neutral">&nbsp;</span>
238
- <span class="cline-any cline-yes">5x</span>
239
- <span class="cline-any cline-neutral">&nbsp;</span>
240
- <span class="cline-any cline-yes">42x</span>
241
- <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-neutral">&nbsp;</span>
243
- <span class="cline-any cline-yes">2x</span>
244
- <span class="cline-any cline-neutral">&nbsp;</span>
245
- <span class="cline-any cline-neutral">&nbsp;</span>
246
- <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-neutral">&nbsp;</span>
248
- <span class="cline-any cline-yes">2x</span>
249
- <span class="cline-any cline-yes">2x</span>
250
- <span class="cline-any cline-yes">2x</span>
158
+ <span class="cline-any cline-yes">3x</span>
159
+ <span class="cline-any cline-yes">3x</span>
160
+ <span class="cline-any cline-yes">3x</span>
251
161
  <span class="cline-any cline-neutral">&nbsp;</span>
252
162
  <span class="cline-any cline-no">&nbsp;</span>
253
163
  <span class="cline-any cline-no">&nbsp;</span>
@@ -315,64 +225,19 @@
315
225
  <span class="cline-any cline-no">&nbsp;</span>
316
226
  <span class="cline-any cline-no">&nbsp;</span>
317
227
  <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { findHBSBlocks, processStringSync } from "@budibase/string-templates"
228
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { findHBSBlocks } from "@budibase/string-templates"
319
229
  import { DatasourcePlus } from "@budibase/types"
230
+ import sdk from "../../sdk"
320
231
  &nbsp;
321
232
  const CONST_CHAR_REGEX = new RegExp("'[^']*'", "g")
322
233
  &nbsp;
323
- export function enrichQueryFields(
324
- fields: { [key: string]: any },
325
- parameters = <span class="branch-0 cbranch-no" title="branch not covered" >{}</span>
326
- ) {
327
- const enrichedQuery: { [key: string]: any } = Array.isArray(fields) ? <span class="branch-0 cbranch-no" title="branch not covered" >[] </span>: {}
328
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!fields || !parameters) {
329
- <span class="cstat-no" title="statement not covered" > return enrichedQuery</span>
330
- }
331
- // enrich the fields with dynamic parameters
332
- for (let key of Object.keys(fields)) {
333
- <span class="missing-if-branch" title="if path not taken" >I</span>if (fields[key] == null) {
334
- <span class="cstat-no" title="statement not covered" > continue</span>
335
- }
336
- if (typeof fields[key] === "object") {
337
- // enrich nested fields object
338
- enrichedQuery[key] = enrichQueryFields(fields[key], parameters)
339
- } else if (typeof fields[key] === "string") {
340
- // enrich string value as normal
341
- enrichedQuery[key] = processStringSync(fields[key], parameters, {
342
- noEscaping: true,
343
- noHelpers: true,
344
- escapeNewlines: true,
345
- })
346
- } else <span class="missing-if-branch" title="else path not taken" >E</span>{
347
- <span class="cstat-no" title="statement not covered" > enrichedQuery[key] = fields[key]</span>
348
- }
349
- }
350
- if (
351
- enrichedQuery.json ||
352
- enrichedQuery.customData ||
353
- enrichedQuery.requestBody
354
- ) {
355
- try {
356
- enrichedQuery.json = JSON.parse(
357
- enrichedQuery.json ||
358
- enrichedQuery.customData ||
359
- enrichedQuery.requestBody
360
- )
361
- } catch (err) {
362
- // no json found, ignore
363
- }
364
- delete enrichedQuery.customData
365
- }
366
- return enrichedQuery
367
- }
368
- &nbsp;
369
- export function interpolateSQL(
234
+ export async function interpolateSQL(
370
235
  fields: { [key: string]: any },
371
236
  parameters: { [key: string]: any },
372
237
  integration: DatasourcePlus
373
238
  ) {
374
239
  let sql = fields.sql
375
- if (!sql || <span class="branch-1 cbranch-no" title="branch not covered" >typeof sql !== "string")</span> {
240
+ if (!sql || <span class="branch-1 cbranch-no" title="branch not covered" >typeof sql !== "string") {</span>
376
241
  return fields
377
242
  }
378
243
  const bindings = <span class="cstat-no" title="statement not covered" >findHBSBlocks(sql)</span>
@@ -407,12 +272,12 @@ export function interpolateSQL(
407
272
  else <span class="cstat-no" title="statement not covered" >if (listRegexMatch) {</span>
408
273
  <span class="cstat-no" title="statement not covered" > arrays.push(binding)</span>
409
274
  // determine the length of the array
410
- const value = <span class="cstat-no" title="statement not covered" >enrichQueryFields([binding], parameters)[0]</span>
275
+ const value = <span class="cstat-no" title="statement not covered" >(await sdk.queries.enrichContext([binding], parameters))[0]</span>
411
276
  .split(",")
412
277
  .map(<span class="fstat-no" title="function not covered" >(v</span>al: string) =&gt; <span class="cstat-no" title="statement not covered" >val.trim())</span>
413
278
  // build a string like ($1, $2, $3)
414
279
  let replacement = <span class="cstat-no" title="statement not covered" >`${Array.apply(null, Array(value.length))</span>
415
- .map(<span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >integration.getBindingIdentifier())</span>
280
+ .map(<span class="fstat-no" title="function not covered" >() =&gt; <span class="cstat-no" title="statement not covered" >i</span>ntegration.getBindingIdentifier())</span>
416
281
  .join(",")}`
417
282
  // check if parentheses are needed
418
283
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!listRegexMatch[0].includes(`(${binding})`)) {</span>
@@ -426,10 +291,10 @@ export function interpolateSQL(
426
291
  }
427
292
  // replicate the knex structure
428
293
  <span class="cstat-no" title="statement not covered" > fields.sql = sql</span>
429
- <span class="cstat-no" title="statement not covered" > fields.bindings = enrichQueryFields(variables, parameters)</span>
294
+ <span class="cstat-no" title="statement not covered" > fields.bindings = await sdk.queries.enrichContext(variables, parameters)</span>
430
295
  // check for arrays in the data
431
296
  let updated: string[] = <span class="cstat-no" title="statement not covered" >[]</span>
432
- <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i &lt; variables.length; i++) {</span>
297
+ <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0; i</span> &lt; variables.length; i++) {</span>
433
298
  <span class="cstat-no" title="statement not covered" > if (arrays.includes(variables[i])) {</span>
434
299
  <span class="cstat-no" title="statement not covered" > updated = updated.concat(</span>
435
300
  fields.bindings[i].split(",").map(<span class="fstat-no" title="function not covered" >(v</span>al: string) =&gt; <span class="cstat-no" title="statement not covered" >val.trim())</span>
@@ -448,7 +313,7 @@ export function interpolateSQL(
448
313
  <div class='footer quiet pad2 space-top1 center small'>
449
314
  Code coverage generated by
450
315
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
451
- at Thu Feb 02 2023 11:56:48 GMT+0000 (Coordinated Universal Time)
316
+ at Sun Feb 05 2023 23:27:19 GMT+0000 (Coordinated Universal Time)
452
317
  </div>
453
318
  <script src="../../../prettify.js"></script>
454
319
  <script>