@budibase/server 2.2.12-alpha.5 → 2.2.12-alpha.51

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 (578) hide show
  1. package/__mocks__/node-fetch.ts +2 -0
  2. package/builder/assets/{bb-emblem.4e4717da.svg → bb-emblem.05f7ae7a.svg} +1 -1
  3. package/builder/assets/bg.c1563288.png +0 -0
  4. package/builder/assets/bulgaria.bd68393d.png +0 -0
  5. package/builder/assets/covanta.72c46c1e.png +0 -0
  6. package/builder/assets/index.f29fb244.js +1031 -0
  7. package/builder/assets/index.ff7b1aa7.css +6 -0
  8. package/builder/assets/schnellecke.cf1837a8.png +0 -0
  9. package/builder/index.html +2 -2
  10. package/coverage/clover.xml +5670 -5622
  11. package/coverage/coverage-final.json +282 -279
  12. package/coverage/lcov-report/index.html +458 -413
  13. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +9 -9
  14. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +6 -6
  15. package/coverage/lcov-report/src/api/controllers/application.ts.html +199 -178
  16. package/coverage/lcov-report/src/api/controllers/auth.ts.html +10 -10
  17. package/coverage/lcov-report/src/api/controllers/automation.ts.html +37 -37
  18. package/coverage/lcov-report/src/api/controllers/backup.ts.html +8 -8
  19. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +19 -19
  20. package/coverage/lcov-report/src/api/controllers/component.ts.html +12 -12
  21. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +117 -93
  22. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +18 -18
  23. package/coverage/lcov-report/src/api/controllers/deploy/index.html +7 -7
  24. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +83 -83
  25. package/coverage/lcov-report/src/api/controllers/dev.ts.html +28 -28
  26. package/coverage/lcov-report/src/api/controllers/index.html +105 -105
  27. package/coverage/lcov-report/src/api/controllers/integration.ts.html +5 -5
  28. package/coverage/lcov-report/src/api/controllers/layout.ts.html +9 -9
  29. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +11 -11
  30. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +6 -6
  31. package/coverage/lcov-report/src/api/controllers/permission.ts.html +14 -14
  32. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +4 -4
  33. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +20 -20
  34. package/coverage/lcov-report/src/api/controllers/plugin/index.html +31 -31
  35. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +32 -32
  36. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +10 -10
  37. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +5 -5
  38. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +4 -4
  39. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +4 -4
  40. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +31 -31
  41. package/coverage/lcov-report/src/api/controllers/public/index.html +58 -58
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +7 -7
  43. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +25 -25
  44. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +9 -9
  45. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +8 -8
  46. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +4 -4
  47. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +4 -4
  48. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +4 -4
  49. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +15 -15
  50. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +21 -21
  51. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +21 -21
  52. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +27 -27
  53. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +8 -8
  54. package/coverage/lcov-report/src/api/controllers/query/import/index.html +8 -8
  55. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +11 -11
  56. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +14 -14
  57. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +14 -14
  58. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +8 -8
  59. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +12 -12
  60. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +23 -23
  61. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +16 -16
  62. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +20 -20
  63. package/coverage/lcov-report/src/api/controllers/query/index.html +16 -16
  64. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +94 -70
  65. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +9 -9
  66. package/coverage/lcov-report/src/api/controllers/role.ts.html +9 -9
  67. package/coverage/lcov-report/src/api/controllers/routing.ts.html +10 -10
  68. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +58 -40
  69. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +87 -57
  70. package/coverage/lcov-report/src/api/controllers/row/index.html +66 -66
  71. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +36 -36
  72. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +155 -83
  73. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +146 -146
  74. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +33 -33
  75. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +153 -39
  76. package/coverage/lcov-report/src/api/controllers/screen.ts.html +12 -12
  77. package/coverage/lcov-report/src/api/controllers/script.ts.html +11 -11
  78. package/coverage/lcov-report/src/api/controllers/static/index.html +15 -15
  79. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +49 -52
  80. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +60 -60
  81. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +56 -50
  82. package/coverage/lcov-report/src/api/controllers/table/index.html +48 -48
  83. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +155 -68
  84. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +58 -61
  85. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +93 -96
  86. package/coverage/lcov-report/src/api/controllers/templates.ts.html +21 -21
  87. package/coverage/lcov-report/src/api/controllers/user.ts.html +103 -79
  88. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +64 -19
  89. package/coverage/lcov-report/src/api/controllers/view/index.html +38 -38
  90. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +57 -96
  91. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +22 -22
  92. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +8 -8
  93. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +69 -63
  94. package/coverage/lcov-report/src/api/index.html +15 -15
  95. package/coverage/lcov-report/src/api/index.ts.html +35 -35
  96. package/coverage/lcov-report/src/api/routes/analytics.ts.html +10 -10
  97. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +11 -11
  98. package/coverage/lcov-report/src/api/routes/application.ts.html +13 -13
  99. package/coverage/lcov-report/src/api/routes/auth.ts.html +9 -9
  100. package/coverage/lcov-report/src/api/routes/automation.ts.html +14 -14
  101. package/coverage/lcov-report/src/api/routes/backup.ts.html +11 -11
  102. package/coverage/lcov-report/src/api/routes/cloud.ts.html +11 -11
  103. package/coverage/lcov-report/src/api/routes/component.ts.html +11 -11
  104. package/coverage/lcov-report/src/api/routes/datasource.ts.html +12 -12
  105. package/coverage/lcov-report/src/api/routes/deploy.ts.html +11 -11
  106. package/coverage/lcov-report/src/api/routes/dev.ts.html +17 -17
  107. package/coverage/lcov-report/src/api/routes/index.html +67 -67
  108. package/coverage/lcov-report/src/api/routes/index.ts.html +43 -37
  109. package/coverage/lcov-report/src/api/routes/integration.ts.html +11 -11
  110. package/coverage/lcov-report/src/api/routes/layout.ts.html +11 -11
  111. package/coverage/lcov-report/src/api/routes/metadata.ts.html +12 -12
  112. package/coverage/lcov-report/src/api/routes/migrations.ts.html +10 -10
  113. package/coverage/lcov-report/src/api/routes/permission.ts.html +12 -12
  114. package/coverage/lcov-report/src/api/routes/plugin.ts.html +10 -10
  115. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +16 -16
  116. package/coverage/lcov-report/src/api/routes/public/index.html +24 -24
  117. package/coverage/lcov-report/src/api/routes/public/index.ts.html +60 -60
  118. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +5 -5
  119. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +12 -12
  120. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +11 -11
  121. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +14 -14
  122. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +14 -14
  123. package/coverage/lcov-report/src/api/routes/public/tests/index.html +7 -7
  124. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +5 -5
  125. package/coverage/lcov-report/src/api/routes/public/users.ts.html +14 -14
  126. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +21 -21
  127. package/coverage/lcov-report/src/api/routes/public/utils/index.html +5 -5
  128. package/coverage/lcov-report/src/api/routes/query.ts.html +14 -14
  129. package/coverage/lcov-report/src/api/routes/role.ts.html +12 -12
  130. package/coverage/lcov-report/src/api/routes/routing.ts.html +11 -11
  131. package/coverage/lcov-report/src/api/routes/row.ts.html +14 -14
  132. package/coverage/lcov-report/src/api/routes/screen.ts.html +12 -12
  133. package/coverage/lcov-report/src/api/routes/script.ts.html +13 -13
  134. package/coverage/lcov-report/src/api/routes/static.ts.html +18 -18
  135. package/coverage/lcov-report/src/api/routes/table.ts.html +29 -98
  136. package/coverage/lcov-report/src/api/routes/templates.ts.html +11 -11
  137. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +13 -13
  138. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +23 -23
  139. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +14 -14
  140. package/coverage/lcov-report/src/api/routes/user.ts.html +12 -12
  141. package/coverage/lcov-report/src/api/routes/utils/index.html +3 -3
  142. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +44 -44
  143. package/coverage/lcov-report/src/api/routes/view.ts.html +13 -13
  144. package/coverage/lcov-report/src/api/routes/webhook.ts.html +13 -13
  145. package/coverage/lcov-report/src/app.ts.html +22 -16
  146. package/coverage/lcov-report/src/automations/actions.ts.html +31 -31
  147. package/coverage/lcov-report/src/automations/automationUtils.ts.html +61 -61
  148. package/coverage/lcov-report/src/automations/bullboard.ts.html +19 -19
  149. package/coverage/lcov-report/src/automations/index.html +54 -54
  150. package/coverage/lcov-report/src/automations/index.ts.html +23 -23
  151. package/coverage/lcov-report/src/automations/logging/index.html +3 -3
  152. package/coverage/lcov-report/src/automations/logging/index.ts.html +10 -10
  153. package/coverage/lcov-report/src/automations/steps/bash.ts.html +11 -11
  154. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +9 -9
  155. package/coverage/lcov-report/src/automations/steps/delay.ts.html +7 -7
  156. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +9 -9
  157. package/coverage/lcov-report/src/automations/steps/discord.ts.html +11 -11
  158. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +9 -9
  159. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +9 -9
  160. package/coverage/lcov-report/src/automations/steps/filter.ts.html +12 -12
  161. package/coverage/lcov-report/src/automations/steps/index.html +75 -75
  162. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +10 -10
  163. package/coverage/lcov-report/src/automations/steps/loop.ts.html +5 -5
  164. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +19 -19
  165. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +43 -43
  166. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +9 -9
  167. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +10 -10
  168. package/coverage/lcov-report/src/automations/steps/slack.ts.html +10 -10
  169. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +9 -9
  170. package/coverage/lcov-report/src/automations/steps/utils.ts.html +12 -12
  171. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +8 -8
  172. package/coverage/lcov-report/src/automations/tests/utilities/index.html +15 -15
  173. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +24 -24
  174. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +6 -6
  175. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +6 -6
  176. package/coverage/lcov-report/src/automations/triggerInfo/index.html +17 -17
  177. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +10 -10
  178. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +6 -6
  179. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +6 -6
  180. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +6 -6
  181. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +6 -6
  182. package/coverage/lcov-report/src/automations/triggers.ts.html +53 -38
  183. package/coverage/lcov-report/src/automations/utils.ts.html +69 -69
  184. package/coverage/lcov-report/src/constants/index.html +19 -19
  185. package/coverage/lcov-report/src/constants/index.ts.html +80 -80
  186. package/coverage/lcov-report/src/constants/layouts.ts.html +9 -9
  187. package/coverage/lcov-report/src/constants/screens.ts.html +4 -4
  188. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +45 -45
  189. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +8 -8
  190. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +8 -8
  191. package/coverage/lcov-report/src/db/defaultData/index.html +43 -43
  192. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +8 -8
  193. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +8 -8
  194. package/coverage/lcov-report/src/db/dynamoClient.ts.html +26 -26
  195. package/coverage/lcov-report/src/db/inMemoryView.ts.html +13 -13
  196. package/coverage/lcov-report/src/db/index.html +32 -32
  197. package/coverage/lcov-report/src/db/index.ts.html +10 -10
  198. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +38 -38
  199. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +7 -7
  200. package/coverage/lcov-report/src/db/linkedRows/index.html +37 -37
  201. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +40 -40
  202. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +25 -25
  203. package/coverage/lcov-report/src/db/newid.ts.html +5 -5
  204. package/coverage/lcov-report/src/db/utils.ts.html +76 -76
  205. package/coverage/lcov-report/src/definitions/automations.ts.html +9 -6
  206. package/coverage/lcov-report/src/definitions/index.html +5 -20
  207. package/coverage/lcov-report/src/environment.ts.html +16 -16
  208. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +14 -14
  209. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +8 -8
  210. package/coverage/lcov-report/src/events/index.html +20 -20
  211. package/coverage/lcov-report/src/events/index.ts.html +7 -7
  212. package/coverage/lcov-report/src/events/utils.ts.html +11 -11
  213. package/coverage/lcov-report/src/index.html +36 -36
  214. package/coverage/lcov-report/src/index.ts.html +8 -8
  215. package/coverage/lcov-report/src/integrations/airtable.ts.html +10 -10
  216. package/coverage/lcov-report/src/integrations/arangodb.ts.html +9 -9
  217. package/coverage/lcov-report/src/integrations/base/index.html +28 -28
  218. package/coverage/lcov-report/src/integrations/base/query.ts.html +15 -9
  219. package/coverage/lcov-report/src/integrations/base/sql.ts.html +37 -37
  220. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +22 -22
  221. package/coverage/lcov-report/src/integrations/base/utils.ts.html +5 -5
  222. package/coverage/lcov-report/src/integrations/couchdb.ts.html +10 -10
  223. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +17 -17
  224. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +9 -9
  225. package/coverage/lcov-report/src/integrations/firebase.ts.html +12 -12
  226. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +41 -41
  227. package/coverage/lcov-report/src/integrations/index.html +124 -124
  228. package/coverage/lcov-report/src/integrations/index.ts.html +47 -47
  229. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +31 -31
  230. package/coverage/lcov-report/src/integrations/mongodb.ts.html +421 -289
  231. package/coverage/lcov-report/src/integrations/mysql.ts.html +28 -28
  232. package/coverage/lcov-report/src/integrations/oracle.ts.html +31 -31
  233. package/coverage/lcov-report/src/integrations/postgres.ts.html +22 -22
  234. package/coverage/lcov-report/src/integrations/queries/index.html +19 -19
  235. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +18 -153
  236. package/coverage/lcov-report/src/integrations/redis.ts.html +8 -8
  237. package/coverage/lcov-report/src/integrations/rest.ts.html +43 -52
  238. package/coverage/lcov-report/src/integrations/s3.ts.html +17 -17
  239. package/coverage/lcov-report/src/integrations/snowflake.ts.html +15 -15
  240. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  241. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  242. package/coverage/lcov-report/src/integrations/utils.ts.html +49 -49
  243. package/coverage/lcov-report/src/middleware/appInfo.ts.html +11 -11
  244. package/coverage/lcov-report/src/middleware/authorized.ts.html +49 -37
  245. package/coverage/lcov-report/src/middleware/builder.ts.html +26 -26
  246. package/coverage/lcov-report/src/middleware/currentapp.ts.html +50 -47
  247. package/coverage/lcov-report/src/middleware/index.html +40 -40
  248. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +10 -10
  249. package/coverage/lcov-report/src/middleware/publicApi.ts.html +9 -9
  250. package/coverage/lcov-report/src/middleware/resourceId.ts.html +23 -23
  251. package/coverage/lcov-report/src/middleware/selfhost.ts.html +2 -2
  252. package/coverage/lcov-report/src/middleware/utils.ts.html +4 -4
  253. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +6 -6
  254. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +7 -7
  255. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +7 -7
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +31 -31
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +8 -8
  258. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +13 -13
  259. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +7 -7
  260. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +7 -7
  261. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +8 -8
  262. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +21 -21
  263. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +10 -10
  264. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +19 -19
  265. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +9 -9
  266. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +13 -13
  267. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +23 -23
  268. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +26 -26
  269. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +7 -7
  270. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +14 -14
  271. package/coverage/lcov-report/src/migrations/functions/index.html +18 -18
  272. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +8 -8
  273. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +11 -11
  274. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +11 -11
  275. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +3 -3
  276. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +6 -6
  277. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +8 -8
  278. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -7
  279. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
  280. package/coverage/lcov-report/src/migrations/index.html +15 -15
  281. package/coverage/lcov-report/src/migrations/index.ts.html +43 -43
  282. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +4 -4
  283. package/coverage/lcov-report/src/migrations/tests/index.html +6 -6
  284. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +3 -3
  285. package/coverage/lcov-report/src/sdk/app/applications/index.html +11 -11
  286. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +6 -6
  287. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +24 -24
  288. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +15 -15
  289. package/coverage/lcov-report/src/sdk/app/automations/index.html +7 -7
  290. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +5 -5
  291. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +8 -8
  292. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +5 -5
  293. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +30 -30
  294. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +24 -24
  295. package/coverage/lcov-report/src/sdk/app/backups/index.html +27 -27
  296. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +7 -7
  297. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +12 -12
  298. package/coverage/lcov-report/src/sdk/app/datasources/datasources.ts.html +493 -0
  299. package/coverage/lcov-report/src/sdk/app/datasources/index.html +131 -0
  300. package/coverage/lcov-report/src/sdk/app/datasources/index.ts.html +100 -0
  301. package/coverage/lcov-report/src/sdk/app/queries/index.html +131 -0
  302. package/coverage/lcov-report/src/{utilities/statusCodes.ts.html → sdk/app/queries/index.ts.html} +22 -28
  303. package/coverage/lcov-report/src/{definitions/datasource.ts.html → sdk/app/queries/queries.ts.html} +82 -82
  304. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +8 -8
  305. package/coverage/lcov-report/src/sdk/app/rows/index.html +8 -8
  306. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +6 -6
  307. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +4 -4
  308. package/coverage/lcov-report/src/sdk/app/tables/index.html +15 -15
  309. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +29 -20
  310. package/coverage/lcov-report/src/sdk/index.html +7 -7
  311. package/coverage/lcov-report/src/sdk/index.ts.html +24 -12
  312. package/coverage/lcov-report/src/sdk/users/index.html +6 -6
  313. package/coverage/lcov-report/src/sdk/users/index.ts.html +5 -5
  314. package/coverage/lcov-report/src/sdk/users/utils.ts.html +29 -29
  315. package/coverage/lcov-report/src/sdk/utils/index.html +116 -0
  316. package/coverage/lcov-report/src/sdk/utils/index.ts.html +133 -0
  317. package/coverage/lcov-report/src/startup.ts.html +40 -55
  318. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +141 -132
  319. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +20 -20
  320. package/coverage/lcov-report/src/tests/utilities/index.html +30 -30
  321. package/coverage/lcov-report/src/tests/utilities/index.ts.html +2 -2
  322. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +232 -43
  323. package/coverage/lcov-report/src/threads/automation.ts.html +225 -195
  324. package/coverage/lcov-report/src/threads/index.html +46 -46
  325. package/coverage/lcov-report/src/threads/index.ts.html +38 -38
  326. package/coverage/lcov-report/src/threads/query.ts.html +73 -34
  327. package/coverage/lcov-report/src/threads/utils.ts.html +26 -26
  328. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +4 -4
  329. package/coverage/lcov-report/src/utilities/centralPath.ts.html +10 -10
  330. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +11 -11
  331. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +12 -12
  332. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +32 -26
  333. package/coverage/lcov-report/src/utilities/fileSystem/index.html +42 -42
  334. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +1 -1
  335. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +10 -13
  336. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +9 -9
  337. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +7 -7
  338. package/coverage/lcov-report/src/utilities/global.ts.html +61 -61
  339. package/coverage/lcov-report/src/utilities/index.html +80 -95
  340. package/coverage/lcov-report/src/utilities/index.ts.html +32 -32
  341. package/coverage/lcov-report/src/utilities/redis.ts.html +35 -35
  342. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  343. package/coverage/lcov-report/src/utilities/routing/index.ts.html +5 -5
  344. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +32 -32
  345. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +67 -67
  346. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +9 -9
  347. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +26 -26
  348. package/coverage/lcov-report/src/utilities/{csvParser.ts.html → schema.ts.html} +173 -233
  349. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +8 -8
  350. package/coverage/lcov-report/src/utilities/security.ts.html +13 -13
  351. package/coverage/lcov-report/src/utilities/usageQuota/index.html +9 -9
  352. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +8 -8
  353. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +3 -3
  354. package/coverage/lcov-report/src/utilities/users.ts.html +7 -7
  355. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +61 -34
  356. package/coverage/lcov-report/src/watch.ts.html +20 -20
  357. package/coverage/lcov-report/src/websocket.ts.html +5 -5
  358. package/coverage/lcov.info +11919 -11276
  359. package/dist/api/controllers/application.js +73 -74
  360. package/dist/api/controllers/cloud.js +1 -1
  361. package/dist/api/controllers/datasource.js +24 -15
  362. package/dist/api/controllers/query/index.js +23 -13
  363. package/dist/api/controllers/row/ExternalRequest.js +12 -3
  364. package/dist/api/controllers/row/external.js +20 -13
  365. package/dist/api/controllers/row/internal.js +40 -15
  366. package/dist/api/controllers/row/utils.js +35 -3
  367. package/dist/api/controllers/static/index.js +45 -42
  368. package/dist/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  369. package/dist/api/controllers/table/external.js +16 -35
  370. package/dist/api/controllers/table/index.js +44 -15
  371. package/dist/api/controllers/table/internal.js +6 -7
  372. package/dist/api/controllers/table/utils.js +9 -9
  373. package/dist/api/controllers/user.js +14 -6
  374. package/dist/api/controllers/view/exporters.js +22 -6
  375. package/dist/api/controllers/view/index.js +20 -56
  376. package/dist/api/controllers/view/viewBuilder.js +15 -2
  377. package/dist/api/controllers/webhook.js +45 -43
  378. package/dist/api/routes/analytics.js +2 -1
  379. package/dist/api/routes/apikeys.js +2 -1
  380. package/dist/api/routes/application.js +2 -1
  381. package/dist/api/routes/auth.js +2 -1
  382. package/dist/api/routes/automation.js +2 -1
  383. package/dist/api/routes/backup.js +2 -1
  384. package/dist/api/routes/cloud.js +2 -1
  385. package/dist/api/routes/component.js +2 -1
  386. package/dist/api/routes/datasource.js +2 -1
  387. package/dist/api/routes/deploy.js +2 -1
  388. package/dist/api/routes/dev.js +2 -1
  389. package/dist/api/routes/index.js +2 -0
  390. package/dist/api/routes/integration.js +2 -1
  391. package/dist/api/routes/layout.js +2 -1
  392. package/dist/api/routes/metadata.js +2 -1
  393. package/dist/api/routes/migrations.js +2 -1
  394. package/dist/api/routes/permission.js +2 -1
  395. package/dist/api/routes/query.js +2 -1
  396. package/dist/api/routes/role.js +2 -1
  397. package/dist/api/routes/routing.js +2 -1
  398. package/dist/api/routes/row.js +2 -2
  399. package/dist/api/routes/screen.js +2 -1
  400. package/dist/api/routes/script.js +2 -1
  401. package/dist/api/routes/static.js +6 -5
  402. package/dist/api/routes/table.js +8 -38
  403. package/dist/api/routes/templates.js +2 -1
  404. package/dist/api/routes/user.js +2 -1
  405. package/dist/api/routes/utils/validators.js +1 -1
  406. package/dist/api/routes/view.js +2 -1
  407. package/dist/api/routes/webhook.js +2 -1
  408. package/dist/app.js +9 -7
  409. package/dist/automations/logging/index.js +5 -25
  410. package/dist/automations/triggers.js +1 -0
  411. package/dist/db/index.js +5 -2
  412. package/dist/db/linkedRows/LinkController.js +2 -1
  413. package/dist/db/linkedRows/LinkDocument.js +2 -1
  414. package/dist/db/newid.js +4 -2
  415. package/dist/definitions/datasource.js +0 -6
  416. package/dist/environment.js +2 -1
  417. package/dist/events/AutomationEmitter.js +2 -1
  418. package/dist/events/BudibaseEmitter.js +2 -1
  419. package/dist/events/index.js +2 -1
  420. package/dist/index.js +2 -2
  421. package/dist/integrations/base/query.js +7 -2
  422. package/dist/integrations/base/sqlTable.js +14 -14
  423. package/dist/integrations/dynamodb.js +8 -5
  424. package/dist/integrations/index.js +5 -5
  425. package/dist/integrations/mongodb.js +311 -271
  426. package/dist/integrations/mysql.js +2 -2
  427. package/dist/integrations/queries/sql.js +73 -100
  428. package/dist/integrations/rest.js +16 -18
  429. package/dist/middleware/authorized.js +2 -1
  430. package/dist/middleware/builder.js +4 -2
  431. package/dist/middleware/currentapp.js +6 -3
  432. package/dist/middleware/publicApi.js +4 -2
  433. package/dist/middleware/selfhost.js +4 -1
  434. package/dist/package.json +9 -7
  435. package/dist/sdk/app/datasources/datasources.js +147 -0
  436. package/dist/sdk/app/datasources/index.js +27 -0
  437. package/dist/sdk/app/queries/index.js +27 -0
  438. package/dist/sdk/app/queries/queries.js +60 -0
  439. package/dist/sdk/app/tables/index.js +6 -2
  440. package/dist/sdk/index.js +4 -0
  441. package/dist/sdk/utils/index.js +29 -0
  442. package/dist/startup.js +17 -17
  443. package/dist/threads/automation.js +18 -7
  444. package/dist/threads/index.js +4 -4
  445. package/dist/threads/query.js +27 -13
  446. package/dist/tsconfig.build.tsbuildinfo +1 -1
  447. package/dist/utilities/fileSystem/filesystem.js +38 -36
  448. package/dist/utilities/fileSystem/plugin.js +17 -14
  449. package/dist/utilities/fileSystem/template.js +7 -4
  450. package/dist/utilities/schema.js +108 -0
  451. package/dist/utilities/scriptRunner.js +2 -1
  452. package/dist/utilities/statusCodes.js +2 -1
  453. package/dist/utilities/workerRequests.js +2 -0
  454. package/dist/watch.js +2 -25
  455. package/jest.config.ts +5 -2
  456. package/package.json +10 -8
  457. package/scripts/dev/manage.js +1 -0
  458. package/src/api/controllers/application.ts +81 -74
  459. package/src/api/controllers/cloud.ts +1 -1
  460. package/src/api/controllers/datasource.ts +33 -25
  461. package/src/api/controllers/query/index.ts +49 -41
  462. package/src/api/controllers/row/ExternalRequest.ts +8 -2
  463. package/src/api/controllers/row/external.ts +24 -14
  464. package/src/api/controllers/row/internal.ts +42 -18
  465. package/src/api/controllers/row/utils.ts +40 -2
  466. package/src/api/controllers/static/index.ts +18 -19
  467. package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  468. package/src/api/controllers/table/external.ts +18 -16
  469. package/src/api/controllers/table/index.ts +46 -17
  470. package/src/api/controllers/table/internal.ts +6 -7
  471. package/src/api/controllers/table/utils.ts +12 -13
  472. package/src/api/controllers/user.ts +21 -13
  473. package/src/api/controllers/view/exporters.ts +20 -5
  474. package/src/api/controllers/view/index.ts +22 -35
  475. package/src/api/controllers/view/tests/viewBuilder.spec.js +1 -1
  476. package/src/api/controllers/view/viewBuilder.ts +1 -1
  477. package/src/api/controllers/webhook.ts +48 -46
  478. package/src/api/routes/analytics.ts +1 -1
  479. package/src/api/routes/apikeys.ts +1 -1
  480. package/src/api/routes/application.ts +1 -1
  481. package/src/api/routes/auth.ts +1 -1
  482. package/src/api/routes/automation.ts +1 -1
  483. package/src/api/routes/backup.ts +1 -1
  484. package/src/api/routes/cloud.ts +1 -1
  485. package/src/api/routes/component.ts +1 -1
  486. package/src/api/routes/datasource.ts +1 -1
  487. package/src/api/routes/deploy.ts +1 -1
  488. package/src/api/routes/dev.ts +1 -1
  489. package/src/api/routes/index.ts +2 -0
  490. package/src/api/routes/integration.ts +1 -1
  491. package/src/api/routes/layout.ts +1 -1
  492. package/src/api/routes/metadata.ts +1 -1
  493. package/src/api/routes/migrations.ts +1 -1
  494. package/src/api/routes/permission.ts +1 -1
  495. package/src/api/routes/query.ts +1 -1
  496. package/src/api/routes/role.ts +1 -1
  497. package/src/api/routes/routing.ts +1 -1
  498. package/src/api/routes/row.ts +1 -1
  499. package/src/api/routes/screen.ts +1 -1
  500. package/src/api/routes/script.ts +1 -1
  501. package/src/api/routes/static.ts +2 -2
  502. package/src/api/routes/table.ts +16 -39
  503. package/src/api/routes/templates.ts +1 -1
  504. package/src/api/routes/tests/datasource.spec.ts +35 -1
  505. package/src/api/routes/tests/misc.spec.js +4 -10
  506. package/src/api/routes/tests/plugin.spec.ts +10 -10
  507. package/src/api/routes/tests/table.spec.js +8 -30
  508. package/src/api/routes/tests/user.spec.js +20 -1
  509. package/src/api/routes/tests/utilities/TestFunctions.ts +1 -1
  510. package/src/api/routes/user.ts +1 -1
  511. package/src/api/routes/utils/validators.ts +1 -1
  512. package/src/api/routes/view.ts +1 -1
  513. package/src/api/routes/webhook.ts +1 -1
  514. package/src/app.ts +5 -3
  515. package/src/automations/logging/index.ts +1 -1
  516. package/src/automations/tests/loop.spec.ts +45 -0
  517. package/src/automations/triggers.ts +6 -1
  518. package/src/db/index.ts +1 -1
  519. package/src/db/linkedRows/LinkController.ts +1 -1
  520. package/src/db/linkedRows/LinkDocument.ts +1 -1
  521. package/src/db/newid.ts +1 -1
  522. package/src/db/tests/linkController.spec.js +1 -1
  523. package/src/definitions/automations.ts +1 -0
  524. package/src/definitions/datasource.ts +0 -41
  525. package/src/environment.ts +1 -1
  526. package/src/events/AutomationEmitter.ts +1 -1
  527. package/src/events/BudibaseEmitter.ts +1 -1
  528. package/src/events/index.ts +1 -1
  529. package/src/index.ts +1 -1
  530. package/src/integrations/base/query.ts +3 -1
  531. package/src/integrations/base/sqlTable.ts +1 -1
  532. package/src/integrations/dynamodb.ts +3 -3
  533. package/src/integrations/index.ts +4 -4
  534. package/src/integrations/mongodb.ts +315 -271
  535. package/src/integrations/mysql.ts +1 -1
  536. package/src/integrations/queries/sql.ts +5 -50
  537. package/src/integrations/rest.ts +16 -19
  538. package/src/integrations/tests/rest.spec.ts +19 -15
  539. package/src/middleware/authorized.ts +5 -1
  540. package/src/middleware/builder.ts +1 -1
  541. package/src/middleware/currentapp.ts +4 -3
  542. package/src/middleware/publicApi.ts +1 -1
  543. package/src/middleware/selfhost.ts +1 -1
  544. package/src/middleware/tests/authorized.spec.js +1 -1
  545. package/src/middleware/tests/currentapp.spec.js +1 -1
  546. package/src/middleware/tests/selfhost.spec.js +1 -1
  547. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +10 -6
  548. package/src/sdk/app/datasources/datasources.ts +136 -0
  549. package/src/sdk/app/datasources/index.ts +5 -0
  550. package/src/sdk/app/queries/index.ts +5 -0
  551. package/src/sdk/app/queries/queries.ts +50 -0
  552. package/src/sdk/app/tables/index.ts +6 -3
  553. package/src/sdk/index.ts +4 -0
  554. package/src/sdk/utils/index.ts +16 -0
  555. package/src/startup.ts +3 -8
  556. package/src/tests/jestEnv.ts +13 -0
  557. package/src/tests/jestSetup.ts +0 -14
  558. package/src/tests/utilities/TestConfiguration.ts +16 -13
  559. package/src/tests/utilities/structures.ts +65 -2
  560. package/src/threads/automation.ts +18 -8
  561. package/src/threads/definitions.ts +3 -0
  562. package/src/threads/index.ts +1 -1
  563. package/src/threads/query.ts +28 -15
  564. package/src/utilities/fileSystem/filesystem.ts +7 -5
  565. package/src/utilities/fileSystem/plugin.ts +3 -4
  566. package/src/utilities/fileSystem/template.ts +2 -2
  567. package/src/utilities/schema.ts +141 -0
  568. package/src/utilities/scriptRunner.ts +1 -1
  569. package/src/utilities/statusCodes.ts +1 -1
  570. package/src/utilities/workerRequests.ts +10 -1
  571. package/src/watch.ts +1 -1
  572. package/tsconfig.json +2 -1
  573. package/builder/assets/index.d930bfc5.js +0 -1023
  574. package/builder/assets/index.fa480d5b.css +0 -6
  575. package/dist/utilities/csvParser.js +0 -152
  576. package/src/utilities/csvParser.ts +0 -161
  577. package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -15
  578. package/src/utilities/tests/csvParser.spec.js +0 -112
@@ -23,23 +23,23 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">82.43% </span>
26
+ <span class="strong">83.1% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>122/148</span>
28
+ <span class='fraction'>123/148</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">70.21% </span>
33
+ <span class="strong">69.23% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>33/47</span>
35
+ <span class='fraction'>27/39</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">90.9% </span>
40
+ <span class="strong">96.42% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>20/22</span>
42
+ <span class='fraction'>27/28</span>
43
43
  </div>
44
44
 
45
45
 
@@ -360,17 +360,27 @@
360
360
  <a name='L295'></a><a href='#L295'>295</a>
361
361
  <a name='L296'></a><a href='#L296'>296</a>
362
362
  <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
364
- <span class="cline-any cline-yes">55x</span>
365
- <span class="cline-any cline-yes">55x</span>
366
- <span class="cline-any cline-yes">55x</span>
367
- <span class="cline-any cline-yes">55x</span>
368
- <span class="cline-any cline-yes">55x</span>
369
- <span class="cline-any cline-yes">55x</span>
370
- <span class="cline-any cline-yes">55x</span>
371
- <span class="cline-any cline-yes">55x</span>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">56x</span>
372
+ <span class="cline-any cline-yes">56x</span>
373
+ <span class="cline-any cline-yes">56x</span>
374
+ <span class="cline-any cline-yes">56x</span>
375
+ <span class="cline-any cline-yes">56x</span>
376
+ <span class="cline-any cline-yes">56x</span>
377
+ <span class="cline-any cline-yes">56x</span>
378
+ <span class="cline-any cline-yes">56x</span>
379
+ <span class="cline-any cline-yes">56x</span>
380
+ <span class="cline-any cline-yes">56x</span>
372
381
  <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-yes">55x</span>
382
+ <span class="cline-any cline-neutral">&nbsp;</span>
383
+ <span class="cline-any cline-yes">56x</span>
374
384
  <span class="cline-any cline-neutral">&nbsp;</span>
375
385
  <span class="cline-any cline-neutral">&nbsp;</span>
376
386
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -386,7 +396,7 @@
386
396
  <span class="cline-any cline-yes">6x</span>
387
397
  <span class="cline-any cline-neutral">&nbsp;</span>
388
398
  <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-yes">55x</span>
399
+ <span class="cline-any cline-yes">56x</span>
390
400
  <span class="cline-any cline-yes">3x</span>
391
401
  <span class="cline-any cline-neutral">&nbsp;</span>
392
402
  <span class="cline-any cline-yes">3x</span>
@@ -398,7 +408,7 @@
398
408
  <span class="cline-any cline-yes">3x</span>
399
409
  <span class="cline-any cline-neutral">&nbsp;</span>
400
410
  <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-yes">55x</span>
411
+ <span class="cline-any cline-yes">56x</span>
402
412
  <span class="cline-any cline-no">&nbsp;</span>
403
413
  <span class="cline-any cline-no">&nbsp;</span>
404
414
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -439,7 +449,7 @@
439
449
  <span class="cline-any cline-neutral">&nbsp;</span>
440
450
  <span class="cline-any cline-yes">55x</span>
441
451
  <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-yes">55x</span>
452
+ <span class="cline-any cline-yes">92x</span>
443
453
  <span class="cline-any cline-yes">40x</span>
444
454
  <span class="cline-any cline-yes">40x</span>
445
455
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -490,7 +500,7 @@
490
500
  <span class="cline-any cline-yes">55x</span>
491
501
  <span class="cline-any cline-yes">14x</span>
492
502
  <span class="cline-any cline-neutral">&nbsp;</span>
493
- <span class="cline-any cline-yes">14x</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
504
  <span class="cline-any cline-yes">14x</span>
495
505
  <span class="cline-any cline-neutral">&nbsp;</span>
496
506
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -500,7 +510,7 @@
500
510
  <span class="cline-any cline-neutral">&nbsp;</span>
501
511
  <span class="cline-any cline-yes">14x</span>
502
512
  <span class="cline-any cline-yes">14x</span>
503
- <span class="cline-any cline-yes">14x</span>
513
+ <span class="cline-any cline-neutral">&nbsp;</span>
504
514
  <span class="cline-any cline-neutral">&nbsp;</span>
505
515
  <span class="cline-any cline-neutral">&nbsp;</span>
506
516
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -516,6 +526,8 @@
516
526
  <span class="cline-any cline-neutral">&nbsp;</span>
517
527
  <span class="cline-any cline-yes">14x</span>
518
528
  <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-yes">14x</span>
530
+ <span class="cline-any cline-neutral">&nbsp;</span>
519
531
  <span class="cline-any cline-neutral">&nbsp;</span>
520
532
  <span class="cline-any cline-yes">14x</span>
521
533
  <span class="cline-any cline-yes">14x</span>
@@ -565,6 +577,8 @@
565
577
  <span class="cline-any cline-yes">3x</span>
566
578
  <span class="cline-any cline-yes">2x</span>
567
579
  <span class="cline-any cline-neutral">&nbsp;</span>
580
+ <span class="cline-any cline-neutral">&nbsp;</span>
581
+ <span class="cline-any cline-neutral">&nbsp;</span>
568
582
  <span class="cline-any cline-yes">2x</span>
569
583
  <span class="cline-any cline-yes">2x</span>
570
584
  <span class="cline-any cline-yes">1x</span>
@@ -582,7 +596,7 @@
582
596
  <span class="cline-any cline-neutral">&nbsp;</span>
583
597
  <span class="cline-any cline-yes">2x</span>
584
598
  <span class="cline-any cline-yes">2x</span>
585
- <span class="cline-any cline-yes">2x</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
586
600
  <span class="cline-any cline-neutral">&nbsp;</span>
587
601
  <span class="cline-any cline-neutral">&nbsp;</span>
588
602
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -599,6 +613,8 @@
599
613
  <span class="cline-any cline-neutral">&nbsp;</span>
600
614
  <span class="cline-any cline-yes">2x</span>
601
615
  <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-yes">2x</span>
617
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
618
  <span class="cline-any cline-neutral">&nbsp;</span>
603
619
  <span class="cline-any cline-neutral">&nbsp;</span>
604
620
  <span class="cline-any cline-yes">2x</span>
@@ -618,14 +634,14 @@
618
634
  <span class="cline-any cline-yes">1x</span>
619
635
  <span class="cline-any cline-neutral">&nbsp;</span>
620
636
  <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-yes">55x</span>
637
+ <span class="cline-any cline-yes">57x</span>
622
638
  <span class="cline-any cline-neutral">&nbsp;</span>
623
639
  <span class="cline-any cline-neutral">&nbsp;</span>
624
640
  <span class="cline-any cline-neutral">&nbsp;</span>
625
641
  <span class="cline-any cline-yes">2x</span>
626
642
  <span class="cline-any cline-neutral">&nbsp;</span>
627
643
  <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-yes">55x</span>
644
+ <span class="cline-any cline-yes">56x</span>
629
645
  <span class="cline-any cline-yes">2x</span>
630
646
  <span class="cline-any cline-yes">2x</span>
631
647
  <span class="cline-any cline-yes">2x</span>
@@ -663,12 +679,14 @@ import { Thread, ThreadType } from "../../../threads"
663
679
  import { save as saveDatasource } from "../datasource"
664
680
  import { RestImporter } from "./import"
665
681
  import { invalidateDynamicVariables } from "../../../threads/utils"
666
- import { QUERY_THREAD_TIMEOUT } from "../../../environment"
682
+ import env from "../../../environment"
667
683
  import { quotas } from "@budibase/pro"
668
684
  import { events, context, utils, constants } from "@budibase/backend-core"
685
+ import sdk from "../../../sdk"
686
+ import { QueryEvent } from "../../../threads/definitions"
669
687
  &nbsp;
670
688
  const Runner = new Thread(ThreadType.QUERY, {
671
- timeoutMs: QUERY_THREAD_TIMEOUT || 10000,
689
+ timeoutMs: env.QUERY_THREAD_TIMEOUT || 10000,
672
690
  })
673
691
  &nbsp;
674
692
  // simple function to append "readable" to all read queries
@@ -695,7 +713,7 @@ export async function fetch(ctx: any) {
695
713
  ctx.body = enrichQueries(body.rows.map((row: any) =&gt; row.doc))
696
714
  }
697
715
  &nbsp;
698
- const _import = <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
716
+ const _import = <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt; {
699
717
  const body = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
700
718
  const data = <span class="cstat-no" title="statement not covered" >body.data</span>
701
719
  &nbsp;
@@ -717,7 +735,7 @@ const _import = <span class="fstat-no" title="function not covered" >async (c</s
717
735
  name: info.name,
718
736
  }
719
737
  // save the datasource
720
- const datasourceCtx<span class="cstat-no" title="statement not covered" > = { ...ctx }</span>
738
+ const datasourceCtx = <span class="cstat-no" title="statement not covered" >{ ...ctx }</span>
721
739
  <span class="cstat-no" title="statement not covered" > datasourceCtx.request.body.datasource = datasource</span>
722
740
  <span class="cstat-no" title="statement not covered" > await saveDatasource(datasourceCtx)</span>
723
741
  <span class="cstat-no" title="statement not covered" > datasourceId = datasourceCtx.body.datasource._id</span>
@@ -740,7 +758,7 @@ export async function save(ctx: any) {
740
758
  const db = context.getAppDB()
741
759
  const query = ctx.request.body
742
760
  &nbsp;
743
- const datasource = await db.get(query.datasourceId)
761
+ const datasource = await sdk.datasources.get(query.datasourceId)
744
762
  &nbsp;
745
763
  let eventFn
746
764
  if (!query._id) {
@@ -785,9 +803,9 @@ function getAuthConfig(ctx: any) {
785
803
  }
786
804
  &nbsp;
787
805
  export async function preview(ctx: any) {
788
- const db = context.getAppDB()
789
- &nbsp;
790
- const datasource = await db.get(ctx.request.body.datasourceId)
806
+ const { datasource, envVars } = await sdk.datasources.getWithEnvVars(
807
+ ctx.request.body.datasourceId
808
+ )
791
809
  const query = ctx.request.body
792
810
  // preview may not have a queryId as it hasn't been saved, but if it does
793
811
  // this stops dynamic variables from calling the same query
@@ -796,26 +814,28 @@ export async function preview(ctx: any) {
796
814
  const authConfigCtx: any = getAuthConfig(ctx)
797
815
  &nbsp;
798
816
  try {
799
- const runFn = () =&gt;
800
- Runner.run({
801
- appId: ctx.appId,
802
- datasource,
803
- queryVerb,
804
- fields,
805
- parameters,
806
- transformer,
807
- queryId,
808
- ctx: {
809
- user: ctx.user,
810
- auth: { ...authConfigCtx },
811
- },
812
- })
817
+ const inputs: QueryEvent = {
818
+ appId: ctx.appId,
819
+ datasource,
820
+ queryVerb,
821
+ fields,
822
+ parameters,
823
+ transformer,
824
+ queryId,
825
+ // have to pass down to the thread runner - can't put into context now
826
+ environmentVariables: envVars,
827
+ ctx: {
828
+ user: ctx.user,
829
+ auth: { ...authConfigCtx },
830
+ },
831
+ }
832
+ const runFn = () =&gt; Runner.run(inputs)
813
833
  &nbsp;
814
834
  const { rows, keys, info, extra } = await quotas.addQuery(runFn, {
815
835
  datasourceId: datasource._id,
816
836
  })
817
837
  const schemaFields: any = {}
818
- if (rows<span class="branch-0 cbranch-no" title="branch not covered" >?.l</span>ength &gt; 0) {
838
+ if (rows?.length &gt; 0) {
819
839
  for (let key of [...new Set(keys)] as string[]) {
820
840
  const field = rows[0][key]
821
841
  let type = typeof field,
@@ -860,7 +880,9 @@ async function execute(
860
880
  const db = context.getAppDB()
861
881
  &nbsp;
862
882
  const query = await db.get(ctx.params.queryId)
863
- const datasource = await db.get(query.datasourceId)
883
+ const { datasource, envVars } = await sdk.datasources.getWithEnvVars(
884
+ query.datasourceId
885
+ )
864
886
  &nbsp;
865
887
  let authConfigCtx: any = {}
866
888
  if (!opts.isAutomation) {
@@ -878,27 +900,29 @@ async function execute(
878
900
  &nbsp;
879
901
  // call the relevant CRUD method on the integration class
880
902
  try {
881
- const runFn = () =&gt;
882
- Runner.run({
883
- appId: ctx.appId,
884
- datasource,
885
- queryVerb: query.queryVerb,
886
- fields: query.fields,
887
- pagination: ctx.request.body.pagination,
888
- parameters: enrichedParameters,
889
- transformer: query.transformer,
890
- queryId: ctx.params.queryId,
891
- ctx: {
892
- user: ctx.user,
893
- auth: { ...authConfigCtx },
894
- },
895
- })
903
+ const inputs: QueryEvent = {
904
+ appId: ctx.appId,
905
+ datasource,
906
+ queryVerb: query.queryVerb,
907
+ fields: query.fields,
908
+ pagination: ctx.request.body.pagination,
909
+ parameters: enrichedParameters,
910
+ transformer: query.transformer,
911
+ queryId: ctx.params.queryId,
912
+ // have to pass down to the thread runner - can't put into context now
913
+ environmentVariables: envVars,
914
+ ctx: {
915
+ user: ctx.user,
916
+ auth: { ...authConfigCtx },
917
+ },
918
+ }
919
+ const runFn = () =&gt; Runner.run(inputs)
896
920
  &nbsp;
897
921
  const { rows, pagination, extra } = await quotas.addQuery(runFn, {
898
922
  datasourceId: datasource._id,
899
923
  })
900
924
  // remove the raw from execution incase transformer being used to hide data
901
- <span class="missing-if-branch" title="if path not taken" >I</span>if (<span class="branch-1 cbranch-no" title="branch not covered" >extra?.raw)</span> {
925
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (extra?.raw) {
902
926
  <span class="cstat-no" title="statement not covered" > delete extra.raw</span>
903
927
  }
904
928
  if (opts &amp;&amp; opts.rowsOnly) {
@@ -925,18 +949,18 @@ export async function executeV2(
925
949
  const removeDynamicVariables = async (queryId: any) =&gt; {
926
950
  const db = context.getAppDB()
927
951
  const query = await db.get(queryId)
928
- const datasource = await db.get(query.datasourceId)
929
- const dynamicVariables = datasource.config.dynamicVariables
952
+ const datasource = await sdk.datasources.get(query.datasourceId)
953
+ const dynamicVariables = datasource.config?.dynamicVariables as any[]
930
954
  &nbsp;
931
955
  if (dynamicVariables) {
932
956
  // delete dynamic variables from the datasource
933
- datasource.config.dynamicVariables = dynamicVariables.filter(
957
+ datasource.config!.dynamicVariables = dynamicVariables!.filter(
934
958
  (dv: any) =&gt; dv.queryId !== queryId
935
959
  )
936
960
  await db.put(datasource)
937
961
  &nbsp;
938
962
  // invalidate the deleted variables
939
- const variablesToDelete = dynamicVariables.filter(
963
+ const variablesToDelete = dynamicVariables!.filter(
940
964
  (dv: any) =&gt; dv.queryId === queryId
941
965
  )
942
966
  await invalidateDynamicVariables(variablesToDelete)
@@ -948,7 +972,7 @@ export async function destroy(ctx: any) {
948
972
  const queryId = ctx.params.queryId
949
973
  await removeDynamicVariables(queryId)
950
974
  const query = await db.get(queryId)
951
- const datasource = await db.get(query.datasourceId)
975
+ const datasource = await sdk.datasources.get(query.datasourceId)
952
976
  await db.remove(ctx.params.queryId, ctx.params.revId)
953
977
  ctx.message = `Query deleted.`
954
978
  ctx.status = 200
@@ -961,7 +985,7 @@ export async function destroy(ctx: any) {
961
985
  <div class='footer quiet pad2 space-top1 center small'>
962
986
  Code coverage generated by
963
987
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
964
- at Tue Jan 10 2023 17:21:59 GMT+0000 (Coordinated Universal Time)
988
+ at Tue Jan 31 2023 16:53:54 GMT+0000 (Coordinated Universal Time)
965
989
  </div>
966
990
  <script src="../../../../prettify.js"></script>
967
991
  <script>
@@ -39,7 +39,7 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>3/3</span>
42
+ <span class='fraction'>6/6</span>
43
43
  </div>
44
44
 
45
45
 
@@ -113,13 +113,13 @@
113
113
  <a name='L48'></a><a href='#L48'>48</a>
114
114
  <a name='L49'></a><a href='#L49'>49</a>
115
115
  <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
117
- <span class="cline-any cline-yes">55x</span>
116
+ <a name='L51'></a><a href='#L51'>51</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">56x</span>
117
+ <span class="cline-any cline-yes">56x</span>
118
118
  <span class="cline-any cline-neutral">&nbsp;</span>
119
- <span class="cline-any cline-yes">55x</span>
119
+ <span class="cline-any cline-yes">56x</span>
120
120
  <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-yes">55x</span>
122
- <span class="cline-any cline-yes">63x</span>
121
+ <span class="cline-any cline-yes">9x</span>
122
+ <span class="cline-any cline-yes">64x</span>
123
123
  <span class="cline-any cline-neutral">&nbsp;</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span>
125
125
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -142,12 +142,12 @@
142
142
  <span class="cline-any cline-neutral">&nbsp;</span>
143
143
  <span class="cline-any cline-yes">55x</span>
144
144
  <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-yes">54x</span>
145
+ <span class="cline-any cline-yes">55x</span>
146
146
  <span class="cline-any cline-neutral">&nbsp;</span>
147
147
  <span class="cline-any cline-neutral">&nbsp;</span>
148
148
  <span class="cline-any cline-yes">55x</span>
149
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-yes">54x</span>
150
+ <span class="cline-any cline-yes">55x</span>
151
151
  <span class="cline-any cline-neutral">&nbsp;</span>
152
152
  <span class="cline-any cline-neutral">&nbsp;</span>
153
153
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -220,7 +220,7 @@ export function generateQueryPreviewValidation() {
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at Tue Jan 10 2023 17:21:59 GMT+0000 (Coordinated Universal Time)
223
+ at Tue Jan 31 2023 16:53:54 GMT+0000 (Coordinated Universal Time)
224
224
  </div>
225
225
  <script src="../../../../prettify.js"></script>
226
226
  <script>
@@ -39,7 +39,7 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>7/7</span>
42
+ <span class='fraction'>11/11</span>
43
43
  </div>
44
44
 
45
45
 
@@ -167,15 +167,15 @@
167
167
  <a name='L102'></a><a href='#L102'>102</a>
168
168
  <a name='L103'></a><a href='#L103'>103</a>
169
169
  <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">54x</span>
171
- <span class="cline-any cline-yes">54x</span>
170
+ <a name='L105'></a><a href='#L105'>105</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
172
171
  <span class="cline-any cline-neutral">&nbsp;</span>
173
172
  <span class="cline-any cline-neutral">&nbsp;</span>
174
173
  <span class="cline-any cline-neutral">&nbsp;</span>
175
174
  <span class="cline-any cline-neutral">&nbsp;</span>
175
+ <span class="cline-any cline-yes">55x</span>
176
176
  <span class="cline-any cline-neutral">&nbsp;</span>
177
177
  <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-yes">54x</span>
178
+ <span class="cline-any cline-yes">55x</span>
179
179
  <span class="cline-any cline-neutral">&nbsp;</span>
180
180
  <span class="cline-any cline-neutral">&nbsp;</span>
181
181
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -207,15 +207,15 @@
207
207
  <span class="cline-any cline-neutral">&nbsp;</span>
208
208
  <span class="cline-any cline-neutral">&nbsp;</span>
209
209
  <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-yes">54x</span>
210
+ <span class="cline-any cline-yes">55x</span>
211
211
  <span class="cline-any cline-yes">2x</span>
212
212
  <span class="cline-any cline-neutral">&nbsp;</span>
213
213
  <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-yes">54x</span>
214
+ <span class="cline-any cline-yes">55x</span>
215
215
  <span class="cline-any cline-yes">1x</span>
216
216
  <span class="cline-any cline-neutral">&nbsp;</span>
217
217
  <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-yes">54x</span>
218
+ <span class="cline-any cline-yes">59x</span>
219
219
  <span class="cline-any cline-yes">7x</span>
220
220
  <span class="cline-any cline-yes">7x</span>
221
221
  <span class="cline-any cline-yes">7x</span>
@@ -241,7 +241,7 @@
241
241
  <span class="cline-any cline-yes">7x</span>
242
242
  <span class="cline-any cline-neutral">&nbsp;</span>
243
243
  <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-yes">54x</span>
244
+ <span class="cline-any cline-yes">55x</span>
245
245
  <span class="cline-any cline-yes">1x</span>
246
246
  <span class="cline-any cline-yes">1x</span>
247
247
  <span class="cline-any cline-yes">1x</span>
@@ -382,7 +382,7 @@ export async function destroy(ctx: BBContext) {
382
382
  <div class='footer quiet pad2 space-top1 center small'>
383
383
  Code coverage generated by
384
384
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
385
- at Tue Jan 10 2023 17:21:59 GMT+0000 (Coordinated Universal Time)
385
+ at Tue Jan 31 2023 16:53:54 GMT+0000 (Coordinated Universal Time)
386
386
  </div>
387
387
  <script src="../../../prettify.js"></script>
388
388
  <script>
@@ -30,16 +30,16 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">68.42% </span>
33
+ <span class="strong">63.63% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>13/19</span>
35
+ <span class='fraction'>7/11</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>7/7</span>
42
+ <span class='fraction'>9/9</span>
43
43
  </div>
44
44
 
45
45
 
@@ -158,11 +158,11 @@
158
158
  <a name='L93'></a><a href='#L93'>93</a>
159
159
  <a name='L94'></a><a href='#L94'>94</a>
160
160
  <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">54x</span>
162
- <span class="cline-any cline-yes">54x</span>
161
+ <a name='L96'></a><a href='#L96'>96</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
162
+ <span class="cline-any cline-yes">55x</span>
163
163
  <span class="cline-any cline-neutral">&nbsp;</span>
164
164
  <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-yes">54x</span>
165
+ <span class="cline-any cline-yes">55x</span>
166
166
  <span class="cline-any cline-neutral">&nbsp;</span>
167
167
  <span class="cline-any cline-neutral">&nbsp;</span>
168
168
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -216,11 +216,11 @@
216
216
  <span class="cline-any cline-yes">3x</span>
217
217
  <span class="cline-any cline-neutral">&nbsp;</span>
218
218
  <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-yes">54x</span>
219
+ <span class="cline-any cline-yes">55x</span>
220
220
  <span class="cline-any cline-yes">1x</span>
221
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
222
  <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-yes">54x</span>
223
+ <span class="cline-any cline-yes">55x</span>
224
224
  <span class="cline-any cline-yes">2x</span>
225
225
  <span class="cline-any cline-yes">2x</span>
226
226
  <span class="cline-any cline-yes">2x</span>
@@ -317,7 +317,7 @@ export async function fetch(ctx: BBContext) {
317
317
  &nbsp;
318
318
  export async function clientFetch(ctx: BBContext) {
319
319
  const routing = await getRoutingStructure()
320
- let roleId = ctx.user<span class="branch-0 cbranch-no" title="branch not covered" >?.r</span>ole<span class="branch-0 cbranch-no" title="branch not covered" >?._</span>id
320
+ let roleId = ctx.user?.role?._id
321
321
  const roleIds = (await roles.getUserRoleHierarchy(roleId, {
322
322
  idOnly: true,
323
323
  })) as string[]
@@ -355,7 +355,7 @@ export async function clientFetch(ctx: BBContext) {
355
355
  <div class='footer quiet pad2 space-top1 center small'>
356
356
  Code coverage generated by
357
357
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
358
- at Tue Jan 10 2023 17:21:59 GMT+0000 (Coordinated Universal Time)
358
+ at Tue Jan 31 2023 16:53:54 GMT+0000 (Coordinated Universal Time)
359
359
  </div>
360
360
  <script src="../../../prettify.js"></script>
361
361
  <script>