@budibase/server 2.2.26 → 2.2.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (657) hide show
  1. package/Dockerfile +1 -1
  2. package/__mocks__/aws-sdk.ts +19 -0
  3. package/__mocks__/node-fetch.ts +80 -0
  4. package/builder/assets/{bb-emblem.4e4717da.svg → bb-emblem.05f7ae7a.svg} +1 -1
  5. package/builder/assets/bg.29e85dd5.png +0 -0
  6. package/builder/assets/bulgaria.bd68393d.png +0 -0
  7. package/builder/assets/covanta.72c46c1e.png +0 -0
  8. package/builder/assets/index.3dd03883.css +6 -0
  9. package/builder/assets/index.56a96240.js +1802 -0
  10. package/builder/assets/schnellecke.cf1837a8.png +0 -0
  11. package/builder/index.html +3 -3
  12. package/coverage/clover.xml +6618 -6528
  13. package/coverage/coverage-final.json +282 -276
  14. package/coverage/lcov-report/index.html +489 -444
  15. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +9 -9
  16. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +6 -6
  17. package/coverage/lcov-report/src/api/controllers/application.ts.html +362 -266
  18. package/coverage/lcov-report/src/api/controllers/auth.ts.html +12 -12
  19. package/coverage/lcov-report/src/api/controllers/automation.ts.html +61 -61
  20. package/coverage/lcov-report/src/api/controllers/backup.ts.html +8 -8
  21. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +93 -81
  22. package/coverage/lcov-report/src/api/controllers/component.ts.html +12 -12
  23. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +122 -98
  24. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +21 -18
  25. package/coverage/lcov-report/src/api/controllers/deploy/index.html +21 -21
  26. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +142 -196
  27. package/coverage/lcov-report/src/api/controllers/dev.ts.html +28 -28
  28. package/coverage/lcov-report/src/api/controllers/index.html +115 -115
  29. package/coverage/lcov-report/src/api/controllers/integration.ts.html +5 -5
  30. package/coverage/lcov-report/src/api/controllers/layout.ts.html +9 -9
  31. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +11 -11
  32. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +6 -6
  33. package/coverage/lcov-report/src/api/controllers/permission.ts.html +14 -14
  34. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +20 -20
  35. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +62 -62
  36. package/coverage/lcov-report/src/api/controllers/plugin/index.html +72 -72
  37. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +150 -135
  38. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +56 -56
  39. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +11 -11
  40. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +18 -18
  41. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +20 -20
  42. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +75 -24
  43. package/coverage/lcov-report/src/api/controllers/public/index.html +58 -58
  44. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +7 -7
  45. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +25 -25
  46. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +9 -9
  47. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +8 -8
  48. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +4 -4
  49. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +4 -4
  50. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +4 -4
  51. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +15 -15
  52. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +21 -21
  53. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +21 -21
  54. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +27 -27
  55. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +8 -8
  56. package/coverage/lcov-report/src/api/controllers/query/import/index.html +8 -8
  57. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +11 -11
  58. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +14 -14
  59. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +14 -14
  60. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +8 -8
  61. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +12 -12
  62. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +23 -23
  63. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +16 -16
  64. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +20 -20
  65. package/coverage/lcov-report/src/api/controllers/query/index.html +20 -20
  66. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +131 -107
  67. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +11 -11
  68. package/coverage/lcov-report/src/api/controllers/role.ts.html +9 -9
  69. package/coverage/lcov-report/src/api/controllers/routing.ts.html +10 -10
  70. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +56 -41
  71. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +87 -57
  72. package/coverage/lcov-report/src/api/controllers/row/index.html +66 -66
  73. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +37 -37
  74. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +181 -106
  75. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +146 -146
  76. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +44 -35
  77. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +156 -39
  78. package/coverage/lcov-report/src/api/controllers/screen.ts.html +31 -31
  79. package/coverage/lcov-report/src/api/controllers/script.ts.html +19 -19
  80. package/coverage/lcov-report/src/api/controllers/static/index.html +18 -18
  81. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +56 -71
  82. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +60 -60
  83. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +56 -50
  84. package/coverage/lcov-report/src/api/controllers/table/index.html +48 -48
  85. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +157 -70
  86. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +58 -61
  87. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +109 -112
  88. package/coverage/lcov-report/src/api/controllers/templates.ts.html +21 -21
  89. package/coverage/lcov-report/src/api/controllers/user.ts.html +159 -135
  90. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +64 -19
  91. package/coverage/lcov-report/src/api/controllers/view/index.html +38 -38
  92. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +97 -133
  93. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +31 -31
  94. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +37 -37
  95. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +69 -63
  96. package/coverage/lcov-report/src/api/index.html +15 -15
  97. package/coverage/lcov-report/src/api/index.ts.html +40 -40
  98. package/coverage/lcov-report/src/api/routes/analytics.ts.html +10 -10
  99. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +11 -11
  100. package/coverage/lcov-report/src/api/routes/application.ts.html +46 -13
  101. package/coverage/lcov-report/src/api/routes/auth.ts.html +9 -9
  102. package/coverage/lcov-report/src/api/routes/automation.ts.html +14 -14
  103. package/coverage/lcov-report/src/api/routes/backup.ts.html +11 -11
  104. package/coverage/lcov-report/src/api/routes/cloud.ts.html +11 -11
  105. package/coverage/lcov-report/src/api/routes/component.ts.html +11 -11
  106. package/coverage/lcov-report/src/api/routes/datasource.ts.html +12 -12
  107. package/coverage/lcov-report/src/api/routes/deploy.ts.html +11 -14
  108. package/coverage/lcov-report/src/api/routes/dev.ts.html +17 -17
  109. package/coverage/lcov-report/src/api/routes/index.html +68 -68
  110. package/coverage/lcov-report/src/api/routes/index.ts.html +49 -40
  111. package/coverage/lcov-report/src/api/routes/integration.ts.html +11 -11
  112. package/coverage/lcov-report/src/api/routes/layout.ts.html +11 -11
  113. package/coverage/lcov-report/src/api/routes/metadata.ts.html +12 -12
  114. package/coverage/lcov-report/src/api/routes/migrations.ts.html +10 -10
  115. package/coverage/lcov-report/src/api/routes/permission.ts.html +12 -12
  116. package/coverage/lcov-report/src/api/routes/plugin.ts.html +10 -10
  117. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +147 -15
  118. package/coverage/lcov-report/src/api/routes/public/index.html +27 -27
  119. package/coverage/lcov-report/src/api/routes/public/index.ts.html +60 -60
  120. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +15 -15
  121. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +28 -16
  122. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +11 -11
  123. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +14 -14
  124. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +14 -14
  125. package/coverage/lcov-report/src/api/routes/public/tests/index.html +7 -7
  126. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +5 -5
  127. package/coverage/lcov-report/src/api/routes/public/users.ts.html +14 -14
  128. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +21 -21
  129. package/coverage/lcov-report/src/api/routes/public/utils/index.html +5 -5
  130. package/coverage/lcov-report/src/api/routes/query.ts.html +14 -14
  131. package/coverage/lcov-report/src/api/routes/role.ts.html +12 -12
  132. package/coverage/lcov-report/src/api/routes/routing.ts.html +11 -11
  133. package/coverage/lcov-report/src/api/routes/row.ts.html +14 -14
  134. package/coverage/lcov-report/src/api/routes/screen.ts.html +12 -12
  135. package/coverage/lcov-report/src/api/routes/script.ts.html +13 -13
  136. package/coverage/lcov-report/src/api/routes/static.ts.html +18 -18
  137. package/coverage/lcov-report/src/api/routes/table.ts.html +29 -98
  138. package/coverage/lcov-report/src/api/routes/templates.ts.html +11 -11
  139. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +27 -27
  140. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +23 -23
  141. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +33 -33
  142. package/coverage/lcov-report/src/api/routes/user.ts.html +12 -12
  143. package/coverage/lcov-report/src/api/routes/utils/index.html +3 -3
  144. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +44 -44
  145. package/coverage/lcov-report/src/api/routes/view.ts.html +13 -13
  146. package/coverage/lcov-report/src/api/routes/webhook.ts.html +13 -13
  147. package/coverage/lcov-report/src/app.ts.html +53 -47
  148. package/coverage/lcov-report/src/automations/actions.ts.html +31 -31
  149. package/coverage/lcov-report/src/automations/automationUtils.ts.html +127 -55
  150. package/coverage/lcov-report/src/automations/bullboard.ts.html +19 -19
  151. package/coverage/lcov-report/src/automations/index.html +54 -54
  152. package/coverage/lcov-report/src/automations/index.ts.html +23 -23
  153. package/coverage/lcov-report/src/automations/logging/index.html +3 -3
  154. package/coverage/lcov-report/src/automations/logging/index.ts.html +15 -15
  155. package/coverage/lcov-report/src/automations/steps/bash.ts.html +34 -34
  156. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +9 -9
  157. package/coverage/lcov-report/src/automations/steps/delay.ts.html +7 -7
  158. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +9 -9
  159. package/coverage/lcov-report/src/automations/steps/discord.ts.html +33 -33
  160. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +35 -35
  161. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +31 -31
  162. package/coverage/lcov-report/src/automations/steps/filter.ts.html +12 -12
  163. package/coverage/lcov-report/src/automations/steps/index.html +129 -129
  164. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +10 -10
  165. package/coverage/lcov-report/src/automations/steps/loop.ts.html +5 -5
  166. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +19 -19
  167. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +43 -43
  168. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +28 -28
  169. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +19 -19
  170. package/coverage/lcov-report/src/automations/steps/slack.ts.html +10 -10
  171. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +12 -12
  172. package/coverage/lcov-report/src/automations/steps/utils.ts.html +18 -18
  173. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +22 -22
  174. package/coverage/lcov-report/src/automations/tests/utilities/index.html +15 -15
  175. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +32 -32
  176. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +6 -6
  177. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +6 -6
  178. package/coverage/lcov-report/src/automations/triggerInfo/index.html +17 -17
  179. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +10 -10
  180. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +6 -6
  181. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +6 -6
  182. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +6 -6
  183. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +6 -6
  184. package/coverage/lcov-report/src/automations/triggers.ts.html +53 -38
  185. package/coverage/lcov-report/src/automations/utils.ts.html +80 -80
  186. package/coverage/lcov-report/src/constants/index.html +19 -19
  187. package/coverage/lcov-report/src/constants/index.ts.html +103 -103
  188. package/coverage/lcov-report/src/constants/layouts.ts.html +9 -9
  189. package/coverage/lcov-report/src/constants/screens.ts.html +5 -5
  190. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +45 -45
  191. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +8 -8
  192. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +8 -8
  193. package/coverage/lcov-report/src/db/defaultData/index.html +43 -43
  194. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +8 -8
  195. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +8 -8
  196. package/coverage/lcov-report/src/db/dynamoClient.ts.html +26 -26
  197. package/coverage/lcov-report/src/db/inMemoryView.ts.html +13 -13
  198. package/coverage/lcov-report/src/db/index.html +34 -34
  199. package/coverage/lcov-report/src/db/index.ts.html +10 -10
  200. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +38 -38
  201. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +7 -7
  202. package/coverage/lcov-report/src/db/linkedRows/index.html +37 -37
  203. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +40 -40
  204. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +25 -25
  205. package/coverage/lcov-report/src/db/newid.ts.html +5 -5
  206. package/coverage/lcov-report/src/db/utils.ts.html +90 -90
  207. package/coverage/lcov-report/src/definitions/automations.ts.html +9 -6
  208. package/coverage/lcov-report/src/definitions/index.html +5 -20
  209. package/coverage/lcov-report/src/environment.ts.html +44 -32
  210. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +14 -14
  211. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +8 -8
  212. package/coverage/lcov-report/src/events/index.html +20 -20
  213. package/coverage/lcov-report/src/events/index.ts.html +7 -7
  214. package/coverage/lcov-report/src/events/utils.ts.html +11 -11
  215. package/coverage/lcov-report/src/index.html +47 -47
  216. package/coverage/lcov-report/src/index.ts.html +8 -8
  217. package/coverage/lcov-report/src/integrations/airtable.ts.html +10 -10
  218. package/coverage/lcov-report/src/integrations/arangodb.ts.html +9 -9
  219. package/coverage/lcov-report/src/integrations/base/index.html +29 -29
  220. package/coverage/lcov-report/src/integrations/base/query.ts.html +15 -9
  221. package/coverage/lcov-report/src/integrations/base/sql.ts.html +38 -38
  222. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +23 -23
  223. package/coverage/lcov-report/src/integrations/base/utils.ts.html +5 -5
  224. package/coverage/lcov-report/src/integrations/couchdb.ts.html +109 -31
  225. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +17 -17
  226. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +27 -15
  227. package/coverage/lcov-report/src/integrations/firebase.ts.html +12 -12
  228. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +42 -42
  229. package/coverage/lcov-report/src/integrations/index.html +130 -130
  230. package/coverage/lcov-report/src/integrations/index.ts.html +50 -62
  231. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +31 -31
  232. package/coverage/lcov-report/src/integrations/mongodb.ts.html +421 -289
  233. package/coverage/lcov-report/src/integrations/mysql.ts.html +28 -28
  234. package/coverage/lcov-report/src/integrations/oracle.ts.html +31 -31
  235. package/coverage/lcov-report/src/integrations/postgres.ts.html +54 -54
  236. package/coverage/lcov-report/src/integrations/queries/index.html +19 -19
  237. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +24 -159
  238. package/coverage/lcov-report/src/integrations/redis.ts.html +8 -8
  239. package/coverage/lcov-report/src/integrations/rest.ts.html +43 -52
  240. package/coverage/lcov-report/src/integrations/s3.ts.html +17 -17
  241. package/coverage/lcov-report/src/integrations/snowflake.ts.html +15 -15
  242. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  243. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  244. package/coverage/lcov-report/src/integrations/utils.ts.html +54 -54
  245. package/coverage/lcov-report/src/middleware/appInfo.ts.html +11 -11
  246. package/coverage/lcov-report/src/middleware/authorized.ts.html +49 -37
  247. package/coverage/lcov-report/src/middleware/builder.ts.html +26 -26
  248. package/coverage/lcov-report/src/middleware/currentapp.ts.html +50 -47
  249. package/coverage/lcov-report/src/middleware/index.html +40 -40
  250. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +10 -10
  251. package/coverage/lcov-report/src/middleware/publicApi.ts.html +9 -9
  252. package/coverage/lcov-report/src/middleware/resourceId.ts.html +23 -23
  253. package/coverage/lcov-report/src/middleware/selfhost.ts.html +2 -2
  254. package/coverage/lcov-report/src/middleware/utils.ts.html +4 -4
  255. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +6 -6
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +7 -7
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +7 -7
  258. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +31 -31
  259. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +8 -8
  260. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +13 -13
  261. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +7 -7
  262. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +7 -7
  263. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +8 -8
  264. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +21 -21
  265. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +17 -14
  266. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +19 -19
  267. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +9 -9
  268. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +13 -13
  269. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +23 -23
  270. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +26 -26
  271. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +7 -7
  272. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +14 -14
  273. package/coverage/lcov-report/src/migrations/functions/index.html +18 -18
  274. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +8 -8
  275. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +11 -11
  276. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +11 -11
  277. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +3 -3
  278. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +6 -6
  279. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +8 -8
  280. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -7
  281. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
  282. package/coverage/lcov-report/src/migrations/index.html +15 -15
  283. package/coverage/lcov-report/src/migrations/index.ts.html +43 -43
  284. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +4 -4
  285. package/coverage/lcov-report/src/migrations/tests/index.html +6 -6
  286. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +3 -3
  287. package/coverage/lcov-report/src/sdk/app/applications/index.html +20 -20
  288. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +6 -6
  289. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +34 -34
  290. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +15 -15
  291. package/coverage/lcov-report/src/sdk/app/automations/index.html +7 -7
  292. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +5 -5
  293. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +8 -8
  294. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +5 -5
  295. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +30 -30
  296. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +45 -57
  297. package/coverage/lcov-report/src/sdk/app/backups/index.html +42 -42
  298. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +7 -7
  299. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +73 -73
  300. package/coverage/lcov-report/src/sdk/app/datasources/datasources.ts.html +493 -0
  301. package/coverage/lcov-report/src/sdk/app/datasources/index.html +131 -0
  302. package/coverage/lcov-report/src/sdk/app/datasources/index.ts.html +100 -0
  303. package/coverage/lcov-report/src/sdk/app/queries/index.html +131 -0
  304. package/coverage/lcov-report/src/{utilities/statusCodes.ts.html → sdk/app/queries/index.ts.html} +22 -28
  305. package/coverage/lcov-report/src/{definitions/datasource.ts.html → sdk/app/queries/queries.ts.html} +82 -82
  306. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +8 -8
  307. package/coverage/lcov-report/src/sdk/app/rows/index.html +8 -8
  308. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +6 -6
  309. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +4 -4
  310. package/coverage/lcov-report/src/sdk/app/tables/index.html +15 -15
  311. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +29 -20
  312. package/coverage/lcov-report/src/sdk/index.html +7 -7
  313. package/coverage/lcov-report/src/sdk/index.ts.html +24 -12
  314. package/coverage/lcov-report/src/sdk/users/index.html +10 -10
  315. package/coverage/lcov-report/src/sdk/users/index.ts.html +5 -5
  316. package/coverage/lcov-report/src/sdk/users/utils.ts.html +35 -35
  317. package/coverage/lcov-report/src/sdk/utils/index.html +116 -0
  318. package/coverage/lcov-report/src/sdk/utils/index.ts.html +133 -0
  319. package/coverage/lcov-report/src/startup.ts.html +48 -63
  320. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +218 -152
  321. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +20 -20
  322. package/coverage/lcov-report/src/tests/utilities/index.html +33 -33
  323. package/coverage/lcov-report/src/tests/utilities/index.ts.html +2 -2
  324. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +235 -46
  325. package/coverage/lcov-report/src/threads/automation.ts.html +212 -251
  326. package/coverage/lcov-report/src/threads/index.html +46 -46
  327. package/coverage/lcov-report/src/threads/index.ts.html +39 -39
  328. package/coverage/lcov-report/src/threads/query.ts.html +140 -101
  329. package/coverage/lcov-report/src/threads/utils.ts.html +29 -29
  330. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +5 -5
  331. package/coverage/lcov-report/src/utilities/centralPath.ts.html +11 -11
  332. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +343 -0
  333. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +20 -20
  334. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +601 -0
  335. package/coverage/lcov-report/src/utilities/fileSystem/index.html +88 -28
  336. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +20 -1049
  337. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +277 -0
  338. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +9 -9
  339. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +193 -0
  340. package/coverage/lcov-report/src/utilities/global.ts.html +60 -60
  341. package/coverage/lcov-report/src/utilities/index.html +89 -119
  342. package/coverage/lcov-report/src/utilities/index.ts.html +40 -172
  343. package/coverage/lcov-report/src/utilities/redis.ts.html +38 -38
  344. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  345. package/coverage/lcov-report/src/utilities/routing/index.ts.html +5 -5
  346. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +34 -34
  347. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +102 -75
  348. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +9 -9
  349. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +54 -54
  350. package/coverage/lcov-report/src/utilities/{csvParser.ts.html → schema.ts.html} +174 -234
  351. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +33 -33
  352. package/coverage/lcov-report/src/utilities/security.ts.html +13 -13
  353. package/coverage/lcov-report/src/utilities/usageQuota/index.html +9 -9
  354. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +38 -38
  355. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +3 -3
  356. package/coverage/lcov-report/src/utilities/users.ts.html +7 -7
  357. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +89 -62
  358. package/coverage/lcov-report/src/watch.ts.html +20 -20
  359. package/coverage/lcov-report/src/websocket.ts.html +15 -15
  360. package/coverage/lcov.info +13499 -12800
  361. package/dist/api/controllers/application.js +120 -109
  362. package/dist/api/controllers/cloud.js +6 -2
  363. package/dist/api/controllers/datasource.js +24 -15
  364. package/dist/api/controllers/deploy/index.js +43 -60
  365. package/dist/api/controllers/plugin/index.js +6 -6
  366. package/dist/api/controllers/public/applications.js +22 -1
  367. package/dist/api/controllers/query/index.js +23 -13
  368. package/dist/api/controllers/row/ExternalRequest.js +12 -4
  369. package/dist/api/controllers/row/external.js +20 -13
  370. package/dist/api/controllers/row/internal.js +52 -27
  371. package/dist/api/controllers/row/staticFormula.js +1 -1
  372. package/dist/api/controllers/row/utils.js +35 -3
  373. package/dist/api/controllers/static/index.js +47 -47
  374. package/dist/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  375. package/dist/api/controllers/table/external.js +16 -35
  376. package/dist/api/controllers/table/index.js +44 -15
  377. package/dist/api/controllers/table/internal.js +6 -7
  378. package/dist/api/controllers/table/utils.js +9 -9
  379. package/dist/api/controllers/user.js +14 -6
  380. package/dist/api/controllers/view/exporters.js +22 -6
  381. package/dist/api/controllers/view/index.js +23 -58
  382. package/dist/api/controllers/view/viewBuilder.js +15 -2
  383. package/dist/api/controllers/webhook.js +45 -43
  384. package/dist/api/routes/analytics.js +2 -1
  385. package/dist/api/routes/apikeys.js +2 -1
  386. package/dist/api/routes/application.js +5 -1
  387. package/dist/api/routes/auth.js +2 -1
  388. package/dist/api/routes/automation.js +2 -1
  389. package/dist/api/routes/backup.js +2 -1
  390. package/dist/api/routes/cloud.js +2 -1
  391. package/dist/api/routes/component.js +2 -1
  392. package/dist/api/routes/datasource.js +2 -1
  393. package/dist/api/routes/deploy.js +3 -3
  394. package/dist/api/routes/dev.js +2 -1
  395. package/dist/api/routes/index.js +2 -0
  396. package/dist/api/routes/integration.js +2 -1
  397. package/dist/api/routes/layout.js +2 -1
  398. package/dist/api/routes/metadata.js +2 -1
  399. package/dist/api/routes/migrations.js +2 -1
  400. package/dist/api/routes/permission.js +2 -1
  401. package/dist/api/routes/public/applications.js +37 -0
  402. package/dist/api/routes/public/middleware/mapper.js +3 -0
  403. package/dist/api/routes/query.js +2 -1
  404. package/dist/api/routes/role.js +2 -1
  405. package/dist/api/routes/routing.js +2 -1
  406. package/dist/api/routes/row.js +2 -2
  407. package/dist/api/routes/screen.js +2 -1
  408. package/dist/api/routes/script.js +2 -1
  409. package/dist/api/routes/static.js +6 -5
  410. package/dist/api/routes/table.js +8 -38
  411. package/dist/api/routes/templates.js +2 -1
  412. package/dist/api/routes/user.js +2 -1
  413. package/dist/api/routes/utils/validators.js +1 -1
  414. package/dist/api/routes/view.js +2 -1
  415. package/dist/api/routes/webhook.js +2 -1
  416. package/dist/app.js +9 -7
  417. package/dist/automations/automationUtils.js +26 -1
  418. package/dist/automations/logging/index.js +5 -25
  419. package/dist/automations/triggers.js +1 -0
  420. package/dist/db/index.js +5 -2
  421. package/dist/db/linkedRows/LinkController.js +2 -1
  422. package/dist/db/linkedRows/LinkDocument.js +2 -1
  423. package/dist/db/newid.js +4 -2
  424. package/dist/definitions/datasource.js +0 -6
  425. package/dist/environment.js +7 -2
  426. package/dist/events/AutomationEmitter.js +2 -1
  427. package/dist/events/BudibaseEmitter.js +2 -1
  428. package/dist/events/index.js +2 -1
  429. package/dist/index.js +2 -2
  430. package/dist/integrations/base/query.js +7 -2
  431. package/dist/integrations/base/sqlTable.js +14 -14
  432. package/dist/integrations/couchdb.js +34 -8
  433. package/dist/integrations/dynamodb.js +8 -5
  434. package/dist/integrations/elasticsearch.js +7 -3
  435. package/dist/integrations/googlesheets.js +1 -1
  436. package/dist/integrations/index.js +6 -7
  437. package/dist/integrations/mongodb.js +311 -271
  438. package/dist/integrations/mysql.js +2 -2
  439. package/dist/integrations/queries/sql.js +73 -100
  440. package/dist/integrations/rest.js +16 -18
  441. package/dist/middleware/authorized.js +2 -1
  442. package/dist/middleware/builder.js +4 -2
  443. package/dist/middleware/currentapp.js +6 -3
  444. package/dist/middleware/publicApi.js +4 -2
  445. package/dist/middleware/selfhost.js +4 -1
  446. package/dist/migrations/functions/backfill/global/configs.js +4 -4
  447. package/dist/package.json +12 -8
  448. package/dist/sdk/app/backups/imports.js +2 -6
  449. package/dist/sdk/app/datasources/datasources.js +147 -0
  450. package/dist/sdk/app/datasources/index.js +27 -0
  451. package/dist/sdk/app/queries/index.js +27 -0
  452. package/dist/sdk/app/queries/queries.js +60 -0
  453. package/dist/sdk/app/tables/index.js +6 -2
  454. package/dist/sdk/index.js +4 -0
  455. package/dist/sdk/utils/index.js +29 -0
  456. package/dist/startup.js +17 -17
  457. package/dist/threads/automation.js +22 -35
  458. package/dist/threads/index.js +4 -4
  459. package/dist/threads/query.js +27 -13
  460. package/dist/tsconfig.build.tsbuildinfo +1 -1
  461. package/dist/utilities/fileSystem/app.js +97 -0
  462. package/dist/utilities/fileSystem/clientLibrary.js +3 -3
  463. package/dist/utilities/fileSystem/filesystem.js +184 -0
  464. package/dist/utilities/fileSystem/index.js +18 -342
  465. package/dist/utilities/fileSystem/plugin.js +66 -0
  466. package/dist/utilities/fileSystem/template.js +47 -0
  467. package/dist/utilities/index.js +1 -44
  468. package/dist/utilities/rowProcessor/index.js +12 -4
  469. package/dist/utilities/schema.js +108 -0
  470. package/dist/utilities/scriptRunner.js +2 -1
  471. package/dist/utilities/statusCodes.js +2 -1
  472. package/dist/utilities/workerRequests.js +2 -0
  473. package/dist/watch.js +2 -25
  474. package/jest.config.ts +5 -2
  475. package/package.json +13 -9
  476. package/scripts/dev/manage.js +3 -2
  477. package/specs/openapi.json +84 -0
  478. package/specs/openapi.yaml +53 -0
  479. package/specs/resources/application.js +19 -0
  480. package/src/api/controllers/application.ts +142 -110
  481. package/src/api/controllers/auth.ts +2 -2
  482. package/src/api/controllers/cloud.ts +10 -6
  483. package/src/api/controllers/datasource.ts +33 -25
  484. package/src/api/controllers/deploy/Deployment.ts +1 -0
  485. package/src/api/controllers/deploy/index.ts +40 -58
  486. package/src/api/controllers/plugin/index.ts +14 -9
  487. package/src/api/controllers/public/applications.ts +17 -0
  488. package/src/api/controllers/query/index.ts +49 -41
  489. package/src/api/controllers/row/ExternalRequest.ts +8 -3
  490. package/src/api/controllers/row/external.ts +24 -14
  491. package/src/api/controllers/row/internal.ts +66 -41
  492. package/src/api/controllers/row/staticFormula.ts +5 -2
  493. package/src/api/controllers/row/utils.ts +42 -3
  494. package/src/api/controllers/static/index.ts +22 -27
  495. package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  496. package/src/api/controllers/table/external.ts +18 -16
  497. package/src/api/controllers/table/index.ts +46 -17
  498. package/src/api/controllers/table/internal.ts +6 -7
  499. package/src/api/controllers/table/utils.ts +12 -13
  500. package/src/api/controllers/user.ts +21 -13
  501. package/src/api/controllers/view/exporters.ts +20 -5
  502. package/src/api/controllers/view/index.ts +30 -42
  503. package/src/api/controllers/view/tests/viewBuilder.spec.js +1 -1
  504. package/src/api/controllers/view/viewBuilder.ts +1 -1
  505. package/src/api/controllers/webhook.ts +48 -46
  506. package/src/api/routes/analytics.ts +1 -1
  507. package/src/api/routes/apikeys.ts +1 -1
  508. package/src/api/routes/application.ts +12 -1
  509. package/src/api/routes/auth.ts +1 -1
  510. package/src/api/routes/automation.ts +1 -1
  511. package/src/api/routes/backup.ts +1 -1
  512. package/src/api/routes/cloud.ts +1 -1
  513. package/src/api/routes/component.ts +1 -1
  514. package/src/api/routes/datasource.ts +1 -1
  515. package/src/api/routes/deploy.ts +1 -2
  516. package/src/api/routes/dev.ts +1 -1
  517. package/src/api/routes/index.ts +6 -3
  518. package/src/api/routes/integration.ts +1 -1
  519. package/src/api/routes/layout.ts +1 -1
  520. package/src/api/routes/metadata.ts +1 -1
  521. package/src/api/routes/migrations.ts +1 -1
  522. package/src/api/routes/permission.ts +1 -1
  523. package/src/api/routes/public/applications.ts +44 -0
  524. package/src/api/routes/public/middleware/mapper.ts +4 -0
  525. package/src/api/routes/query.ts +1 -1
  526. package/src/api/routes/role.ts +1 -1
  527. package/src/api/routes/routing.ts +1 -1
  528. package/src/api/routes/row.ts +1 -1
  529. package/src/api/routes/screen.ts +1 -1
  530. package/src/api/routes/script.ts +1 -1
  531. package/src/api/routes/static.ts +2 -2
  532. package/src/api/routes/table.ts +16 -39
  533. package/src/api/routes/templates.ts +1 -1
  534. package/src/api/routes/tests/__snapshots__/{datasource.spec.js.snap → datasource.spec.ts.snap} +0 -0
  535. package/src/api/routes/tests/{application.spec.js → application.spec.ts} +94 -18
  536. package/src/api/routes/tests/{backup.spec.js → backup.spec.ts} +17 -6
  537. package/src/api/routes/tests/cloud.spec.ts +65 -0
  538. package/src/api/routes/tests/data/budibase-component-1.0.1.tgz +0 -0
  539. package/src/api/routes/tests/data/comment-box-1.0.2.tar.gz +0 -0
  540. package/src/api/routes/tests/data/export-test.tar.gz +0 -0
  541. package/src/api/routes/tests/{datasource.spec.js → datasource.spec.ts} +56 -14
  542. package/src/api/routes/tests/misc.spec.js +4 -10
  543. package/src/api/routes/tests/permissions.spec.js +1 -1
  544. package/src/api/routes/tests/plugin.spec.ts +179 -0
  545. package/src/api/routes/tests/routing.spec.js +1 -2
  546. package/src/api/routes/tests/row.spec.js +4 -2
  547. package/src/api/routes/tests/static.spec.js +2 -17
  548. package/src/api/routes/tests/table.spec.js +16 -32
  549. package/src/api/routes/tests/user.spec.js +105 -0
  550. package/src/api/routes/tests/utilities/TestFunctions.ts +1 -1
  551. package/src/api/routes/tests/utilities/index.ts +2 -2
  552. package/src/api/routes/tests/webhook.spec.js +1 -1
  553. package/src/api/routes/user.ts +1 -1
  554. package/src/api/routes/utils/validators.ts +1 -1
  555. package/src/api/routes/view.ts +1 -1
  556. package/src/api/routes/webhook.ts +1 -1
  557. package/src/app.ts +5 -3
  558. package/src/automations/automationUtils.ts +24 -0
  559. package/src/automations/logging/index.ts +1 -1
  560. package/src/automations/tests/bash.spec.js +34 -0
  561. package/src/automations/tests/discord.spec.js +27 -0
  562. package/src/automations/tests/executeQuery.spec.js +49 -0
  563. package/src/automations/tests/executeScript.spec.js +48 -0
  564. package/src/automations/tests/loop.spec.ts +45 -0
  565. package/src/automations/tests/sendSmtpEmail.spec.js +71 -0
  566. package/src/automations/tests/serverLog.spec.js +22 -0
  567. package/src/automations/tests/utilities/index.ts +2 -2
  568. package/src/automations/tests/zapier.spec.js +27 -0
  569. package/src/automations/triggers.ts +6 -1
  570. package/src/automations/unitTests/automationUtils.spec.ts +65 -0
  571. package/src/db/index.ts +1 -1
  572. package/src/db/linkedRows/LinkController.ts +1 -1
  573. package/src/db/linkedRows/LinkDocument.ts +1 -1
  574. package/src/db/newid.ts +1 -1
  575. package/src/db/tests/linkController.spec.js +1 -1
  576. package/src/definitions/automations.ts +1 -0
  577. package/src/definitions/datasource.ts +0 -41
  578. package/src/definitions/openapi.ts +10 -0
  579. package/src/environment.ts +6 -2
  580. package/src/events/AutomationEmitter.ts +1 -1
  581. package/src/events/BudibaseEmitter.ts +1 -1
  582. package/src/events/index.ts +1 -1
  583. package/src/index.ts +1 -1
  584. package/src/integrations/base/query.ts +3 -1
  585. package/src/integrations/base/sqlTable.ts +1 -1
  586. package/src/integrations/couchdb.ts +40 -14
  587. package/src/integrations/dynamodb.ts +3 -3
  588. package/src/integrations/elasticsearch.ts +8 -4
  589. package/src/integrations/googlesheets.ts +1 -1
  590. package/src/integrations/index.ts +5 -9
  591. package/src/integrations/mongodb.ts +315 -271
  592. package/src/integrations/mysql.ts +1 -1
  593. package/src/integrations/queries/sql.ts +5 -50
  594. package/src/integrations/rest.ts +16 -19
  595. package/src/integrations/tests/couchdb.spec.ts +33 -21
  596. package/src/integrations/tests/rest.spec.ts +19 -15
  597. package/src/middleware/authorized.ts +5 -1
  598. package/src/middleware/builder.ts +1 -1
  599. package/src/middleware/currentapp.ts +4 -3
  600. package/src/middleware/publicApi.ts +1 -1
  601. package/src/middleware/selfhost.ts +1 -1
  602. package/src/middleware/tests/authorized.spec.js +1 -1
  603. package/src/middleware/tests/currentapp.spec.js +1 -1
  604. package/src/middleware/tests/selfhost.spec.js +1 -1
  605. package/src/migrations/functions/backfill/global/configs.ts +5 -4
  606. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +10 -6
  607. package/src/sdk/app/backups/imports.ts +2 -6
  608. package/src/sdk/app/datasources/datasources.ts +136 -0
  609. package/src/sdk/app/datasources/index.ts +5 -0
  610. package/src/sdk/app/queries/index.ts +5 -0
  611. package/src/sdk/app/queries/queries.ts +50 -0
  612. package/src/sdk/app/tables/index.ts +6 -3
  613. package/src/sdk/index.ts +4 -0
  614. package/src/sdk/tests/attachments.spec.ts +1 -4
  615. package/src/sdk/utils/index.ts +16 -0
  616. package/src/startup.ts +3 -8
  617. package/src/tests/jestEnv.ts +13 -0
  618. package/src/tests/jestSetup.ts +4 -15
  619. package/src/tests/utilities/TestConfiguration.ts +38 -16
  620. package/src/tests/utilities/structures.ts +65 -2
  621. package/src/threads/automation.ts +22 -35
  622. package/src/threads/definitions.ts +3 -0
  623. package/src/threads/index.ts +1 -1
  624. package/src/threads/query.ts +28 -15
  625. package/src/utilities/fileSystem/app.ts +86 -0
  626. package/src/utilities/fileSystem/clientLibrary.ts +1 -1
  627. package/src/utilities/fileSystem/filesystem.ts +172 -0
  628. package/src/utilities/fileSystem/index.ts +5 -348
  629. package/src/utilities/fileSystem/plugin.ts +64 -0
  630. package/src/utilities/fileSystem/template.ts +36 -0
  631. package/src/utilities/index.ts +1 -45
  632. package/src/utilities/rowProcessor/index.ts +17 -8
  633. package/src/utilities/rowProcessor/tests/utils.spec.ts +57 -0
  634. package/src/utilities/schema.ts +141 -0
  635. package/src/utilities/scriptRunner.ts +1 -1
  636. package/src/utilities/statusCodes.ts +1 -1
  637. package/src/utilities/workerRequests.ts +10 -1
  638. package/src/watch.ts +1 -1
  639. package/tsconfig.build.json +2 -0
  640. package/tsconfig.json +2 -1
  641. package/builder/assets/index.96b9ffed.css +0 -6
  642. package/builder/assets/index.fae8f9eb.js +0 -1024
  643. package/coverage/lcov-report/src/utilities/plugins.ts.html +0 -151
  644. package/dist/api/routes/tests/utilities/TestFunctions.js +0 -167
  645. package/dist/api/routes/tests/utilities/index.js +0 -131
  646. package/dist/automations/tests/utilities/index.js +0 -81
  647. package/dist/tests/utilities/TestConfiguration.js +0 -562
  648. package/dist/tests/utilities/controllers.js +0 -40
  649. package/dist/tests/utilities/structures.js +0 -168
  650. package/dist/utilities/csvParser.js +0 -152
  651. package/dist/utilities/plugins.js +0 -26
  652. package/src/api/routes/tests/deployment.spec.ts +0 -25
  653. package/src/automations/unitTests/automationUtils.spec.js +0 -17
  654. package/src/utilities/csvParser.ts +0 -161
  655. package/src/utilities/plugins.ts +0 -22
  656. package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -15
  657. package/src/utilities/tests/csvParser.spec.js +0 -112
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">46.03% </span>
26
+ <span class="strong">43.75% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>29/63</span>
28
+ <span class='fraction'>28/64</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">36.84% </span>
33
+ <span class="strong">63.15% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/19</span>
35
+ <span class='fraction'>12/19</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">25% </span>
40
+ <span class="strong">26.08% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>3/12</span>
42
+ <span class='fraction'>6/23</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">46.03% </span>
47
+ <span class="strong">43.75% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>29/63</span>
49
+ <span class='fraction'>28/64</span>
50
50
  </div>
51
51
 
52
52
 
@@ -241,36 +241,54 @@
241
241
  <a name='L176'></a><a href='#L176'>176</a>
242
242
  <a name='L177'></a><a href='#L177'>177</a>
243
243
  <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">29x</span>
245
- <span class="cline-any cline-yes">29x</span>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">36x</span>
254
+ <span class="cline-any cline-yes">36x</span>
255
+ <span class="cline-any cline-yes">36x</span>
256
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
261
+ <span class="cline-any cline-yes">36x</span>
262
+ <span class="cline-any cline-yes">36x</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-no">&nbsp;</span>
246
266
  <span class="cline-any cline-yes">29x</span>
247
267
  <span class="cline-any cline-yes">29x</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
269
  <span class="cline-any cline-yes">29x</span>
270
+ <span class="cline-any cline-yes">1x</span>
271
+ <span class="cline-any cline-yes">1x</span>
272
+ <span class="cline-any cline-yes">1x</span>
249
273
  <span class="cline-any cline-neutral">&nbsp;</span>
250
274
  <span class="cline-any cline-neutral">&nbsp;</span>
251
275
  <span class="cline-any cline-yes">29x</span>
252
- <span class="cline-any cline-yes">21x</span>
253
- <span class="cline-any cline-yes">21x</span>
276
+ <span class="cline-any cline-yes">1x</span>
277
+ <span class="cline-any cline-yes">1x</span>
254
278
  <span class="cline-any cline-neutral">&nbsp;</span>
255
- <span class="cline-any cline-yes">21x</span>
256
- <span class="cline-any cline-no">&nbsp;</span>
257
- <span class="cline-any cline-no">&nbsp;</span>
258
- <span class="cline-any cline-no">&nbsp;</span>
259
279
  <span class="cline-any cline-neutral">&nbsp;</span>
260
280
  <span class="cline-any cline-neutral">&nbsp;</span>
261
- <span class="cline-any cline-yes">21x</span>
262
- <span class="cline-any cline-no">&nbsp;</span>
263
- <span class="cline-any cline-no">&nbsp;</span>
264
281
  <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-yes">28x</span>
265
283
  <span class="cline-any cline-neutral">&nbsp;</span>
284
+ <span class="cline-any cline-yes">29x</span>
285
+ <span class="cline-any cline-yes">2x</span>
266
286
  <span class="cline-any cline-neutral">&nbsp;</span>
267
287
  <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-yes">21x</span>
269
288
  <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-yes">21x</span>
271
- <span class="cline-any cline-yes">1x</span>
289
+ <span class="cline-any cline-yes">29x</span>
272
290
  <span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-yes">21x</span>
291
+ <span class="cline-any cline-yes">29x</span>
274
292
  <span class="cline-any cline-neutral">&nbsp;</span>
275
293
  <span class="cline-any cline-neutral">&nbsp;</span>
276
294
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -278,7 +296,7 @@
278
296
  <span class="cline-any cline-neutral">&nbsp;</span>
279
297
  <span class="cline-any cline-neutral">&nbsp;</span>
280
298
  <span class="cline-any cline-neutral">&nbsp;</span>
281
- <span class="cline-any cline-yes">21x</span>
299
+ <span class="cline-any cline-yes">29x</span>
282
300
  <span class="cline-any cline-neutral">&nbsp;</span>
283
301
  <span class="cline-any cline-no">&nbsp;</span>
284
302
  <span class="cline-any cline-no">&nbsp;</span>
@@ -294,11 +312,11 @@
294
312
  <span class="cline-any cline-no">&nbsp;</span>
295
313
  <span class="cline-any cline-neutral">&nbsp;</span>
296
314
  <span class="cline-any cline-neutral">&nbsp;</span>
297
- <span class="cline-any cline-yes">21x</span>
315
+ <span class="cline-any cline-yes">29x</span>
298
316
  <span class="cline-any cline-neutral">&nbsp;</span>
299
317
  <span class="cline-any cline-neutral">&nbsp;</span>
300
318
  <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-yes">29x</span>
319
+ <span class="cline-any cline-yes">1x</span>
302
320
  <span class="cline-any cline-neutral">&nbsp;</span>
303
321
  <span class="cline-any cline-neutral">&nbsp;</span>
304
322
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -308,7 +326,7 @@
308
326
  <span class="cline-any cline-neutral">&nbsp;</span>
309
327
  <span class="cline-any cline-neutral">&nbsp;</span>
310
328
  <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-no">&nbsp;</span>
329
+ <span class="cline-any cline-yes">1x</span>
312
330
  <span class="cline-any cline-neutral">&nbsp;</span>
313
331
  <span class="cline-any cline-neutral">&nbsp;</span>
314
332
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -324,10 +342,10 @@
324
342
  <span class="cline-any cline-neutral">&nbsp;</span>
325
343
  <span class="cline-any cline-neutral">&nbsp;</span>
326
344
  <span class="cline-any cline-neutral">&nbsp;</span>
327
- <span class="cline-any cline-no">&nbsp;</span>
345
+ <span class="cline-any cline-yes">1x</span>
328
346
  <span class="cline-any cline-neutral">&nbsp;</span>
329
347
  <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-yes">29x</span>
348
+ <span class="cline-any cline-no">&nbsp;</span>
331
349
  <span class="cline-any cline-no">&nbsp;</span>
332
350
  <span class="cline-any cline-no">&nbsp;</span>
333
351
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -341,18 +359,18 @@
341
359
  <span class="cline-any cline-no">&nbsp;</span>
342
360
  <span class="cline-any cline-neutral">&nbsp;</span>
343
361
  <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-yes">29x</span>
345
- <span class="cline-any cline-yes">21x</span>
346
- <span class="cline-any cline-yes">21x</span>
362
+ <span class="cline-any cline-yes">28x</span>
363
+ <span class="cline-any cline-yes">28x</span>
364
+ <span class="cline-any cline-yes">28x</span>
347
365
  <span class="cline-any cline-neutral">&nbsp;</span>
348
366
  <span class="cline-any cline-neutral">&nbsp;</span>
349
367
  <span class="cline-any cline-neutral">&nbsp;</span>
350
368
  <span class="cline-any cline-neutral">&nbsp;</span>
351
369
  <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-yes">21x</span>
370
+ <span class="cline-any cline-yes">28x</span>
353
371
  <span class="cline-any cline-neutral">&nbsp;</span>
354
372
  <span class="cline-any cline-neutral">&nbsp;</span>
355
- <span class="cline-any cline-yes">29x</span>
373
+ <span class="cline-any cline-no">&nbsp;</span>
356
374
  <span class="cline-any cline-no">&nbsp;</span>
357
375
  <span class="cline-any cline-neutral">&nbsp;</span>
358
376
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -361,7 +379,7 @@
361
379
  <span class="cline-any cline-no">&nbsp;</span>
362
380
  <span class="cline-any cline-neutral">&nbsp;</span>
363
381
  <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-yes">29x</span>
382
+ <span class="cline-any cline-no">&nbsp;</span>
365
383
  <span class="cline-any cline-no">&nbsp;</span>
366
384
  <span class="cline-any cline-neutral">&nbsp;</span>
367
385
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -370,7 +388,7 @@
370
388
  <span class="cline-any cline-no">&nbsp;</span>
371
389
  <span class="cline-any cline-neutral">&nbsp;</span>
372
390
  <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-yes">29x</span>
391
+ <span class="cline-any cline-no">&nbsp;</span>
374
392
  <span class="cline-any cline-no">&nbsp;</span>
375
393
  <span class="cline-any cline-neutral">&nbsp;</span>
376
394
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -381,7 +399,7 @@
381
399
  <span class="cline-any cline-no">&nbsp;</span>
382
400
  <span class="cline-any cline-neutral">&nbsp;</span>
383
401
  <span class="cline-any cline-neutral">&nbsp;</span>
384
- <span class="cline-any cline-yes">29x</span>
402
+ <span class="cline-any cline-no">&nbsp;</span>
385
403
  <span class="cline-any cline-no">&nbsp;</span>
386
404
  <span class="cline-any cline-neutral">&nbsp;</span>
387
405
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -392,7 +410,7 @@
392
410
  <span class="cline-any cline-no">&nbsp;</span>
393
411
  <span class="cline-any cline-neutral">&nbsp;</span>
394
412
  <span class="cline-any cline-neutral">&nbsp;</span>
395
- <span class="cline-any cline-yes">29x</span>
413
+ <span class="cline-any cline-no">&nbsp;</span>
396
414
  <span class="cline-any cline-neutral">&nbsp;</span>
397
415
  <span class="cline-any cline-neutral">&nbsp;</span>
398
416
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -404,7 +422,7 @@
404
422
  <span class="cline-any cline-no">&nbsp;</span>
405
423
  <span class="cline-any cline-neutral">&nbsp;</span>
406
424
  <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-yes">29x</span>
425
+ <span class="cline-any cline-no">&nbsp;</span>
408
426
  <span class="cline-any cline-no">&nbsp;</span>
409
427
  <span class="cline-any cline-neutral">&nbsp;</span>
410
428
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -412,7 +430,7 @@
412
430
  <span class="cline-any cline-no">&nbsp;</span>
413
431
  <span class="cline-any cline-neutral">&nbsp;</span>
414
432
  <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-yes">29x</span>
433
+ <span class="cline-any cline-no">&nbsp;</span>
416
434
  <span class="cline-any cline-no">&nbsp;</span>
417
435
  <span class="cline-any cline-neutral">&nbsp;</span>
418
436
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -422,32 +440,41 @@
422
440
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import fetch from "node-fetch"
423
441
  import env from "../environment"
424
442
  import { checkSlashesInUrl } from "./index"
425
- import { db as dbCore, constants, tenancy } from "@budibase/backend-core"
443
+ import {
444
+ db as dbCore,
445
+ constants,
446
+ tenancy,
447
+ logging,
448
+ } from "@budibase/backend-core"
426
449
  import { updateAppRole } from "./global"
427
450
  import { BBContext, User } from "@budibase/types"
428
451
  &nbsp;
429
- export function request(ctx?: BBContext, request?: any) {
452
+ export function <span class="cstat-no" title="statement not covered" >request<span class="fstat-no" title="function not covered" >(</span>c</span>tx?: BBContext, request?: any) {
430
453
  if (!request.headers) {
431
454
  request.headers = {}
432
455
  }
433
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!ctx) {
434
- <span class="cstat-no" title="statement not covered" > request.headers[constants.Header.API_KEY] = env.INTERNAL_API_KEY</span>
435
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (tenancy.isTenantIdSet()) {</span>
436
- <span class="cstat-no" title="statement not covered" > request.headers[constants.Header.TENANT_ID] = tenancy.getTenantId()</span>
456
+ if (!ctx) {
457
+ request.headers[constants.Header.API_KEY] = env.INTERNAL_API_KEY
458
+ if (tenancy.isTenantIdSet()) {
459
+ request.headers[constants.Header.TENANT_ID] = tenancy.getTenantId()
437
460
  }
438
461
  }
439
- <span class="missing-if-branch" title="if path not taken" >I</span>if (request.body &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >Object.keys(request.body).length &gt; 0)</span> {
440
- <span class="cstat-no" title="statement not covered" > request.headers["Content-Type"] = "application/json"</span>
441
- <span class="cstat-no" title="statement not covered" > request.body =</span>
462
+ if (request.body &amp;&amp; Object.keys(request.body).length &gt; 0) {
463
+ request.headers["Content-Type"] = "application/json"
464
+ request.body =
442
465
  typeof request.body === "object"
443
466
  ? JSON.stringify(request.body)
444
- : request.body
467
+ : <span class="branch-1 cbranch-no" title="branch not covered" >request.body</span>
445
468
  } else {
446
469
  delete request.body
447
470
  }
448
471
  if (ctx &amp;&amp; ctx.headers) {
449
472
  request.headers = ctx.headers
450
473
  }
474
+ &nbsp;
475
+ // add x-budibase-correlation-id header
476
+ logging.correlation.setHeader(request.headers)
477
+ &nbsp;
451
478
  return request
452
479
  }
453
480
  &nbsp;
@@ -476,7 +503,7 @@ async function checkResponse(
476
503
  }
477
504
  &nbsp;
478
505
  // have to pass in the tenant ID as this could be coming from an automation
479
- export async function <span class="fstat-no" title="function not covered" >sendSmtpEmail(</span>
506
+ export async function sendSmtpEmail(
480
507
  to: string,
481
508
  from: string,
482
509
  subject: string,
@@ -486,7 +513,7 @@ export async function <span class="fstat-no" title="function not covered" >sendS
486
513
  automation: boolean
487
514
  ) {
488
515
  // tenant ID will be set in header
489
- const response = <span class="cstat-no" title="statement not covered" >await fetch(</span>
516
+ const response = await fetch(
490
517
  checkSlashesInUrl(env.WORKER_URL + `/api/global/email/send`),
491
518
  request(undefined, {
492
519
  method: "POST",
@@ -502,10 +529,10 @@ export async function <span class="fstat-no" title="function not covered" >sendS
502
529
  },
503
530
  })
504
531
  )
505
- <span class="cstat-no" title="statement not covered" > return checkResponse(response, "send email")</span>
532
+ return checkResponse(response, "send email")
506
533
  }
507
534
  &nbsp;
508
- export async function <span class="fstat-no" title="function not covered" >getGlobalSelf(</span>ctx: BBContext, appId?: string) {
535
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >getGlobalSelf<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext, appId?: string) {
509
536
  const endpoint = <span class="cstat-no" title="statement not covered" >`/api/global/self`</span>
510
537
  const response = <span class="cstat-no" title="statement not covered" >await fetch(</span>
511
538
  checkSlashesInUrl(env.WORKER_URL + endpoint),
@@ -530,7 +557,7 @@ export async function removeAppFromUserRoles(ctx: BBContext, appId: string) {
530
557
  return checkResponse(response, "remove app role")
531
558
  }
532
559
  &nbsp;
533
- export async function <span class="fstat-no" title="function not covered" >allGlobalUsers(</span>ctx: BBContext) {
560
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >allGlobalUsers<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext) {
534
561
  const response = <span class="cstat-no" title="statement not covered" >await fetch(</span>
535
562
  checkSlashesInUrl(env.WORKER_URL + "/api/global/users"),
536
563
  // we don't want to use API key when getting self
@@ -539,7 +566,7 @@ export async function <span class="fstat-no" title="function not covered" >allGl
539
566
  <span class="cstat-no" title="statement not covered" > return checkResponse(response, "get users", { ctx })</span>
540
567
  }
541
568
  &nbsp;
542
- export async function <span class="fstat-no" title="function not covered" >saveGlobalUser(</span>ctx: BBContext) {
569
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >saveGlobalUser<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext) {
543
570
  const response = <span class="cstat-no" title="statement not covered" >await fetch(</span>
544
571
  checkSlashesInUrl(env.WORKER_URL + "/api/global/users"),
545
572
  // we don't want to use API key when getting self
@@ -548,7 +575,7 @@ export async function <span class="fstat-no" title="function not covered" >saveG
548
575
  <span class="cstat-no" title="statement not covered" > return checkResponse(response, "save user", { ctx })</span>
549
576
  }
550
577
  &nbsp;
551
- export async function <span class="fstat-no" title="function not covered" >deleteGlobalUser(</span>ctx: BBContext) {
578
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >deleteGlobalUser<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext) {
552
579
  const response = <span class="cstat-no" title="statement not covered" >await fetch(</span>
553
580
  checkSlashesInUrl(
554
581
  env.WORKER_URL + `/api/global/users/${ctx.params.userId}`
@@ -559,7 +586,7 @@ export async function <span class="fstat-no" title="function not covered" >delet
559
586
  <span class="cstat-no" title="statement not covered" > return checkResponse(response, "delete user", { ctx })</span>
560
587
  }
561
588
  &nbsp;
562
- export async function <span class="fstat-no" title="function not covered" >readGlobalUser(</span>ctx: BBContext): Promise&lt;User&gt; {
589
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >readGlobalUser<span class="fstat-no" title="function not covered" >(</span></span>c</span>tx: BBContext): Promise&lt;User&gt; {
563
590
  const response = <span class="cstat-no" title="statement not covered" >await fetch(</span>
564
591
  checkSlashesInUrl(
565
592
  env.WORKER_URL + `/api/global/users/${ctx.params.userId}`
@@ -570,7 +597,7 @@ export async function <span class="fstat-no" title="function not covered" >readG
570
597
  <span class="cstat-no" title="statement not covered" > return checkResponse(response, "get user", { ctx })</span>
571
598
  }
572
599
  &nbsp;
573
- export async function <span class="fstat-no" title="function not covered" >createAdminUser(</span>
600
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >createAdminUser<span class="fstat-no" title="function not covered" >(</span></span></span>
574
601
  email: string,
575
602
  password: string,
576
603
  tenantId: string
@@ -582,7 +609,7 @@ export async function <span class="fstat-no" title="function not covered" >creat
582
609
  <span class="cstat-no" title="statement not covered" > return checkResponse(response, "create admin user")</span>
583
610
  }
584
611
  &nbsp;
585
- export async function <span class="fstat-no" title="function not covered" >getChecklist(</span>) {
612
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >getChecklist<span class="fstat-no" title="function not covered" >(</span></span>) {</span>
586
613
  const response = <span class="cstat-no" title="statement not covered" >await fetch(</span>
587
614
  checkSlashesInUrl(env.WORKER_URL + "/api/global/configs/checklist"),
588
615
  request(undefined, { method: "GET" })
@@ -590,7 +617,7 @@ export async function <span class="fstat-no" title="function not covered" >getCh
590
617
  <span class="cstat-no" title="statement not covered" > return checkResponse(response, "get checklist")</span>
591
618
  }
592
619
  &nbsp;
593
- export async function <span class="fstat-no" title="function not covered" >generateApiKey(</span>userId: string) {
620
+ export async function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >generateApiKey<span class="fstat-no" title="function not covered" >(</span></span>u</span>serId: string) {
594
621
  const response = <span class="cstat-no" title="statement not covered" >await fetch(</span>
595
622
  checkSlashesInUrl(env.WORKER_URL + "/api/global/self/api_key"),
596
623
  request(undefined, { method: "POST", body: { userId } })
@@ -604,7 +631,7 @@ export async function <span class="fstat-no" title="function not covered" >gener
604
631
  <div class='footer quiet pad2 space-top1 center small'>
605
632
  Code coverage generated by
606
633
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
607
- at Thu Feb 02 2023 11:56:48 GMT+0000 (Coordinated Universal Time)
634
+ at Sun Feb 05 2023 23:58:26 GMT+0000 (Coordinated Universal Time)
608
635
  </div>
609
636
  <script src="../../prettify.js"></script>
610
637
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">33.33% </span>
26
+ <span class="strong">31.57% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>7/21</span>
28
+ <span class='fraction'>6/19</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/17</span>
35
+ <span class='fraction'>0/5</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/5</span>
42
+ <span class='fraction'>0/3</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">35% </span>
47
+ <span class="strong">31.57% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>7/20</span>
49
+ <span class='fraction'>6/19</span>
50
50
  </div>
51
51
 
52
52
 
@@ -100,14 +100,14 @@
100
100
  <a name='L35'></a><a href='#L35'>35</a>
101
101
  <a name='L36'></a><a href='#L36'>36</a>
102
102
  <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
104
- <span class="cline-any cline-yes">46x</span>
105
- <span class="cline-any cline-yes">46x</span>
106
- <span class="cline-any cline-yes">46x</span>
107
- <span class="cline-any cline-yes">46x</span>
108
- <span class="cline-any cline-yes">46x</span>
109
- <span class="cline-any cline-neutral">&nbsp;</span>
110
- <span class="cline-any cline-yes">46x</span>
103
+ <a name='L38'></a><a href='#L38'>38</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
104
+ <span class="cline-any cline-yes">55x</span>
105
+ <span class="cline-any cline-yes">55x</span>
106
+ <span class="cline-any cline-yes">55x</span>
107
+ <span class="cline-any cline-yes">55x</span>
108
+ <span class="cline-any cline-yes">55x</span>
109
+ <span class="cline-any cline-neutral">&nbsp;</span>
110
+ <span class="cline-any cline-no">&nbsp;</span>
111
111
  <span class="cline-any cline-no">&nbsp;</span>
112
112
  <span class="cline-any cline-no">&nbsp;</span>
113
113
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -119,7 +119,7 @@
119
119
  <span class="cline-any cline-neutral">&nbsp;</span>
120
120
  <span class="cline-any cline-neutral">&nbsp;</span>
121
121
  <span class="cline-any cline-neutral">&nbsp;</span>
122
- <span class="cline-any cline-no">&nbsp;</span>
122
+ <span class="cline-any cline-neutral">&nbsp;</span>
123
123
  <span class="cline-any cline-neutral">&nbsp;</span>
124
124
  <span class="cline-any cline-no">&nbsp;</span>
125
125
  <span class="cline-any cline-no">&nbsp;</span>
@@ -138,13 +138,13 @@
138
138
  <span class="cline-any cline-neutral">&nbsp;</span>
139
139
  <span class="cline-any cline-neutral">&nbsp;</span>
140
140
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import path from "path"
141
- import * as env from "./environment"
141
+ import env from "./environment"
142
142
  import chokidar from "chokidar"
143
143
  import fs from "fs"
144
144
  import { constants, tenancy } from "@budibase/backend-core"
145
145
  import { processUploadedPlugin } from "./api/controllers/plugin"
146
146
  &nbsp;
147
- export function <span class="fstat-no" title="function not covered" >watch(</span>) {
147
+ export function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >watch() {</span></span>
148
148
  const watchPath = <span class="cstat-no" title="statement not covered" >path.join(env.PLUGINS_DIR, "./**/*.tar.gz")</span>
149
149
  <span class="cstat-no" title="statement not covered" > chokidar</span>
150
150
  .watch(watchPath, {
@@ -156,12 +156,12 @@ export function <span class="fstat-no" title="function not covered" >watch(</spa
156
156
  usePolling: true,
157
157
  interval: 250,
158
158
  })
159
- .on("all", <span class="fstat-no" title="function not covered" >async (e</span>vent: string, path: string) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
159
+ .on("all", <span class="fstat-no" title="function not covered" >async (e</span>vent: string, path: string) =&gt; {
160
160
  // Sanity checks
161
161
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!path?.endsWith(".tar.gz") || !fs.existsSync(path)) {</span>
162
162
  <span class="cstat-no" title="statement not covered" > return</span>
163
163
  }
164
- <span class="cstat-no" title="statement not covered" > await tenancy.doInTenant(constants.DEFAULT_TENANT_ID, <span class="fstat-no" title="function not covered" >async () =</span>&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span></span>
164
+ <span class="cstat-no" title="statement not covered" > await tenancy.doInTenant(constants.DEFAULT_TENANT_ID, <span class="fstat-no" title="function not covered" >async () =&gt; {</span></span>
165
165
  <span class="cstat-no" title="statement not covered" > try {</span>
166
166
  const split = <span class="cstat-no" title="statement not covered" >path.split("/")</span>
167
167
  const name = <span class="cstat-no" title="statement not covered" >split[split.length - 1]</span>
@@ -181,7 +181,7 @@ export function <span class="fstat-no" title="function not covered" >watch(</spa
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
184
- at Thu Feb 02 2023 11:56:48 GMT+0000 (Coordinated Universal Time)
184
+ at Sun Feb 05 2023 23:58:26 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  <script src="../prettify.js"></script>
187
187
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">85.71% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>6/7</span>
28
+ <span class='fraction'>7/7</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">66.66% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/3</span>
42
+ <span class='fraction'>5/5</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">83.33% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>5/6</span>
49
+ <span class='fraction'>6/6</span>
50
50
  </div>
51
51
 
52
52
 
@@ -89,32 +89,32 @@
89
89
  <a name='L24'></a><a href='#L24'>24</a>
90
90
  <a name='L25'></a><a href='#L25'>25</a>
91
91
  <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">48x</span>
92
+ <a name='L27'></a><a href='#L27'>27</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">59x</span>
93
93
  <span class="cline-any cline-neutral">&nbsp;</span>
94
94
  <span class="cline-any cline-neutral">&nbsp;</span>
95
95
  <span class="cline-any cline-neutral">&nbsp;</span>
96
96
  <span class="cline-any cline-neutral">&nbsp;</span>
97
97
  <span class="cline-any cline-neutral">&nbsp;</span>
98
98
  <span class="cline-any cline-neutral">&nbsp;</span>
99
- <span class="cline-any cline-yes">29x</span>
99
+ <span class="cline-any cline-yes">30x</span>
100
100
  <span class="cline-any cline-neutral">&nbsp;</span>
101
101
  <span class="cline-any cline-neutral">&nbsp;</span>
102
102
  <span class="cline-any cline-neutral">&nbsp;</span>
103
103
  <span class="cline-any cline-neutral">&nbsp;</span>
104
104
  <span class="cline-any cline-neutral">&nbsp;</span>
105
105
  <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-no">&nbsp;</span>
106
+ <span class="cline-any cline-yes">7x</span>
107
107
  <span class="cline-any cline-neutral">&nbsp;</span>
108
108
  <span class="cline-any cline-neutral">&nbsp;</span>
109
109
  <span class="cline-any cline-neutral">&nbsp;</span>
110
110
  <span class="cline-any cline-neutral">&nbsp;</span>
111
111
  <span class="cline-any cline-neutral">&nbsp;</span>
112
112
  <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-yes">48x</span>
114
- <span class="cline-any cline-yes">29x</span>
113
+ <span class="cline-any cline-yes">59x</span>
114
+ <span class="cline-any cline-yes">30x</span>
115
115
  <span class="cline-any cline-neutral">&nbsp;</span>
116
116
  <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-yes">48x</span>
117
+ <span class="cline-any cline-yes">7x</span>
118
118
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Server } from "socket.io"
119
119
  import http from "http"
120
120
  &nbsp;
@@ -128,8 +128,8 @@ class Websocket {
128
128
  }
129
129
  &nbsp;
130
130
  // Emit an event to all sockets
131
- <span class="fstat-no" title="function not covered" > emit(</span>event: string, payload: any) {
132
- <span class="cstat-no" title="statement not covered" > this.socketServer.sockets.emit(event, payload)</span>
131
+ emit(event: string, payload: any) {
132
+ this.socketServer.sockets.emit(event, payload)
133
133
  }
134
134
  }
135
135
  &nbsp;
@@ -148,7 +148,7 @@ export { ClientAppSocket }
148
148
  <div class='footer quiet pad2 space-top1 center small'>
149
149
  Code coverage generated by
150
150
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
151
- at Thu Feb 02 2023 11:56:48 GMT+0000 (Coordinated Universal Time)
151
+ at Sun Feb 05 2023 23:58:26 GMT+0000 (Coordinated Universal Time)
152
152
  </div>
153
153
  <script src="../prettify.js"></script>
154
154
  <script>