@budibase/server 2.2.12-alpha.4 → 2.2.12-alpha.41

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 (509) hide show
  1. package/builder/assets/{bb-emblem.4e4717da.svg → bb-emblem.05f7ae7a.svg} +1 -1
  2. package/builder/assets/{index.11f4795c.js → index.5d8a522b.js} +408 -419
  3. package/builder/assets/index.80229ab4.css +6 -0
  4. package/builder/index.html +2 -2
  5. package/coverage/clover.xml +4294 -4395
  6. package/coverage/coverage-final.json +278 -279
  7. package/coverage/lcov-report/index.html +395 -395
  8. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +9 -9
  9. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +6 -6
  10. package/coverage/lcov-report/src/api/controllers/application.ts.html +105 -105
  11. package/coverage/lcov-report/src/api/controllers/auth.ts.html +10 -10
  12. package/coverage/lcov-report/src/api/controllers/automation.ts.html +37 -37
  13. package/coverage/lcov-report/src/api/controllers/backup.ts.html +8 -8
  14. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +16 -16
  15. package/coverage/lcov-report/src/api/controllers/component.ts.html +12 -12
  16. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +24 -24
  17. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +18 -18
  18. package/coverage/lcov-report/src/api/controllers/deploy/index.html +7 -7
  19. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +83 -83
  20. package/coverage/lcov-report/src/api/controllers/dev.ts.html +28 -28
  21. package/coverage/lcov-report/src/api/controllers/index.html +98 -98
  22. package/coverage/lcov-report/src/api/controllers/integration.ts.html +5 -5
  23. package/coverage/lcov-report/src/api/controllers/layout.ts.html +9 -9
  24. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +11 -11
  25. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +6 -6
  26. package/coverage/lcov-report/src/api/controllers/permission.ts.html +14 -14
  27. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +4 -4
  28. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +20 -20
  29. package/coverage/lcov-report/src/api/controllers/plugin/index.html +31 -31
  30. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +26 -26
  31. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +10 -10
  32. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +3 -3
  33. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +4 -4
  34. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +4 -4
  35. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +31 -31
  36. package/coverage/lcov-report/src/api/controllers/public/index.html +58 -58
  37. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +7 -7
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +25 -25
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +9 -9
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +8 -8
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +4 -4
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +4 -4
  43. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +4 -4
  44. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +15 -15
  45. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +21 -21
  46. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +21 -21
  47. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +27 -27
  48. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +8 -8
  49. package/coverage/lcov-report/src/api/controllers/query/import/index.html +8 -8
  50. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +11 -11
  51. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +14 -14
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +14 -14
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +8 -8
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +12 -12
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +23 -23
  56. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +16 -16
  57. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +20 -20
  58. package/coverage/lcov-report/src/api/controllers/query/index.html +15 -15
  59. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +28 -28
  60. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +9 -9
  61. package/coverage/lcov-report/src/api/controllers/role.ts.html +9 -9
  62. package/coverage/lcov-report/src/api/controllers/routing.ts.html +10 -10
  63. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +55 -37
  64. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +44 -44
  65. package/coverage/lcov-report/src/api/controllers/row/index.html +58 -58
  66. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +36 -36
  67. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +77 -74
  68. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +146 -146
  69. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +33 -33
  70. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +28 -28
  71. package/coverage/lcov-report/src/api/controllers/screen.ts.html +12 -12
  72. package/coverage/lcov-report/src/api/controllers/script.ts.html +11 -11
  73. package/coverage/lcov-report/src/api/controllers/static/index.html +15 -15
  74. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +34 -34
  75. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +60 -60
  76. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +42 -42
  77. package/coverage/lcov-report/src/api/controllers/table/index.html +48 -48
  78. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +155 -68
  79. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +58 -61
  80. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +93 -96
  81. package/coverage/lcov-report/src/api/controllers/templates.ts.html +21 -21
  82. package/coverage/lcov-report/src/api/controllers/user.ts.html +103 -79
  83. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +64 -19
  84. package/coverage/lcov-report/src/api/controllers/view/index.html +38 -38
  85. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +74 -47
  86. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +22 -22
  87. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +8 -8
  88. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +15 -15
  89. package/coverage/lcov-report/src/api/index.html +15 -15
  90. package/coverage/lcov-report/src/api/index.ts.html +31 -31
  91. package/coverage/lcov-report/src/api/routes/analytics.ts.html +10 -10
  92. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +11 -11
  93. package/coverage/lcov-report/src/api/routes/application.ts.html +13 -13
  94. package/coverage/lcov-report/src/api/routes/auth.ts.html +9 -9
  95. package/coverage/lcov-report/src/api/routes/automation.ts.html +14 -14
  96. package/coverage/lcov-report/src/api/routes/backup.ts.html +11 -11
  97. package/coverage/lcov-report/src/api/routes/cloud.ts.html +11 -11
  98. package/coverage/lcov-report/src/api/routes/component.ts.html +11 -11
  99. package/coverage/lcov-report/src/api/routes/datasource.ts.html +12 -12
  100. package/coverage/lcov-report/src/api/routes/deploy.ts.html +11 -11
  101. package/coverage/lcov-report/src/api/routes/dev.ts.html +17 -17
  102. package/coverage/lcov-report/src/api/routes/index.html +66 -66
  103. package/coverage/lcov-report/src/api/routes/index.ts.html +36 -36
  104. package/coverage/lcov-report/src/api/routes/integration.ts.html +11 -11
  105. package/coverage/lcov-report/src/api/routes/layout.ts.html +11 -11
  106. package/coverage/lcov-report/src/api/routes/metadata.ts.html +12 -12
  107. package/coverage/lcov-report/src/api/routes/migrations.ts.html +10 -10
  108. package/coverage/lcov-report/src/api/routes/permission.ts.html +12 -12
  109. package/coverage/lcov-report/src/api/routes/plugin.ts.html +10 -10
  110. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +16 -16
  111. package/coverage/lcov-report/src/api/routes/public/index.html +24 -24
  112. package/coverage/lcov-report/src/api/routes/public/index.ts.html +60 -60
  113. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +5 -5
  114. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +12 -12
  115. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +11 -11
  116. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +14 -14
  117. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +14 -14
  118. package/coverage/lcov-report/src/api/routes/public/tests/index.html +7 -7
  119. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +5 -5
  120. package/coverage/lcov-report/src/api/routes/public/users.ts.html +14 -14
  121. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +21 -21
  122. package/coverage/lcov-report/src/api/routes/public/utils/index.html +5 -5
  123. package/coverage/lcov-report/src/api/routes/query.ts.html +14 -14
  124. package/coverage/lcov-report/src/api/routes/role.ts.html +12 -12
  125. package/coverage/lcov-report/src/api/routes/routing.ts.html +11 -11
  126. package/coverage/lcov-report/src/api/routes/row.ts.html +13 -13
  127. package/coverage/lcov-report/src/api/routes/screen.ts.html +12 -12
  128. package/coverage/lcov-report/src/api/routes/script.ts.html +13 -13
  129. package/coverage/lcov-report/src/api/routes/static.ts.html +18 -18
  130. package/coverage/lcov-report/src/api/routes/table.ts.html +29 -98
  131. package/coverage/lcov-report/src/api/routes/templates.ts.html +11 -11
  132. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +13 -13
  133. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +23 -23
  134. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +14 -14
  135. package/coverage/lcov-report/src/api/routes/user.ts.html +12 -12
  136. package/coverage/lcov-report/src/api/routes/utils/index.html +3 -3
  137. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +44 -44
  138. package/coverage/lcov-report/src/api/routes/view.ts.html +13 -13
  139. package/coverage/lcov-report/src/api/routes/webhook.ts.html +13 -13
  140. package/coverage/lcov-report/src/app.ts.html +22 -16
  141. package/coverage/lcov-report/src/automations/actions.ts.html +31 -31
  142. package/coverage/lcov-report/src/automations/automationUtils.ts.html +61 -61
  143. package/coverage/lcov-report/src/automations/bullboard.ts.html +19 -19
  144. package/coverage/lcov-report/src/automations/index.html +53 -53
  145. package/coverage/lcov-report/src/automations/index.ts.html +23 -23
  146. package/coverage/lcov-report/src/automations/logging/index.html +3 -3
  147. package/coverage/lcov-report/src/automations/logging/index.ts.html +10 -10
  148. package/coverage/lcov-report/src/automations/steps/bash.ts.html +11 -11
  149. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +9 -9
  150. package/coverage/lcov-report/src/automations/steps/delay.ts.html +7 -7
  151. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +9 -9
  152. package/coverage/lcov-report/src/automations/steps/discord.ts.html +11 -11
  153. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +9 -9
  154. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +9 -9
  155. package/coverage/lcov-report/src/automations/steps/filter.ts.html +12 -12
  156. package/coverage/lcov-report/src/automations/steps/index.html +75 -75
  157. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +10 -10
  158. package/coverage/lcov-report/src/automations/steps/loop.ts.html +5 -5
  159. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +19 -19
  160. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +43 -43
  161. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +9 -9
  162. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +10 -10
  163. package/coverage/lcov-report/src/automations/steps/slack.ts.html +10 -10
  164. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +9 -9
  165. package/coverage/lcov-report/src/automations/steps/utils.ts.html +12 -12
  166. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +8 -8
  167. package/coverage/lcov-report/src/automations/tests/utilities/index.html +15 -15
  168. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +24 -24
  169. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +6 -6
  170. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +6 -6
  171. package/coverage/lcov-report/src/automations/triggerInfo/index.html +17 -17
  172. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +10 -10
  173. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +6 -6
  174. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +6 -6
  175. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +6 -6
  176. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +6 -6
  177. package/coverage/lcov-report/src/automations/triggers.ts.html +53 -38
  178. package/coverage/lcov-report/src/automations/utils.ts.html +65 -65
  179. package/coverage/lcov-report/src/constants/index.html +19 -19
  180. package/coverage/lcov-report/src/constants/index.ts.html +80 -80
  181. package/coverage/lcov-report/src/constants/layouts.ts.html +9 -9
  182. package/coverage/lcov-report/src/constants/screens.ts.html +4 -4
  183. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +45 -45
  184. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +8 -8
  185. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +8 -8
  186. package/coverage/lcov-report/src/db/defaultData/index.html +43 -43
  187. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +8 -8
  188. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +8 -8
  189. package/coverage/lcov-report/src/db/dynamoClient.ts.html +26 -26
  190. package/coverage/lcov-report/src/db/inMemoryView.ts.html +13 -13
  191. package/coverage/lcov-report/src/db/index.html +32 -32
  192. package/coverage/lcov-report/src/db/index.ts.html +10 -10
  193. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +38 -38
  194. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +7 -7
  195. package/coverage/lcov-report/src/db/linkedRows/index.html +37 -37
  196. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +40 -40
  197. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +25 -25
  198. package/coverage/lcov-report/src/db/newid.ts.html +5 -5
  199. package/coverage/lcov-report/src/db/utils.ts.html +75 -75
  200. package/coverage/lcov-report/src/definitions/automations.ts.html +5 -5
  201. package/coverage/lcov-report/src/definitions/datasource.ts.html +5 -5
  202. package/coverage/lcov-report/src/definitions/index.html +4 -4
  203. package/coverage/lcov-report/src/environment.ts.html +16 -16
  204. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +14 -14
  205. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +8 -8
  206. package/coverage/lcov-report/src/events/index.html +20 -20
  207. package/coverage/lcov-report/src/events/index.ts.html +7 -7
  208. package/coverage/lcov-report/src/events/utils.ts.html +11 -11
  209. package/coverage/lcov-report/src/index.html +36 -36
  210. package/coverage/lcov-report/src/index.ts.html +6 -6
  211. package/coverage/lcov-report/src/integrations/airtable.ts.html +10 -10
  212. package/coverage/lcov-report/src/integrations/arangodb.ts.html +9 -9
  213. package/coverage/lcov-report/src/integrations/base/index.html +20 -20
  214. package/coverage/lcov-report/src/integrations/base/query.ts.html +3 -3
  215. package/coverage/lcov-report/src/integrations/base/sql.ts.html +37 -37
  216. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +21 -21
  217. package/coverage/lcov-report/src/integrations/base/utils.ts.html +5 -5
  218. package/coverage/lcov-report/src/integrations/couchdb.ts.html +10 -10
  219. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +15 -15
  220. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +9 -9
  221. package/coverage/lcov-report/src/integrations/firebase.ts.html +12 -12
  222. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +41 -41
  223. package/coverage/lcov-report/src/integrations/index.html +125 -125
  224. package/coverage/lcov-report/src/integrations/index.ts.html +40 -40
  225. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +31 -31
  226. package/coverage/lcov-report/src/integrations/mongodb.ts.html +421 -289
  227. package/coverage/lcov-report/src/integrations/mysql.ts.html +27 -27
  228. package/coverage/lcov-report/src/integrations/oracle.ts.html +31 -31
  229. package/coverage/lcov-report/src/integrations/postgres.ts.html +22 -22
  230. package/coverage/lcov-report/src/integrations/queries/index.html +5 -5
  231. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +6 -6
  232. package/coverage/lcov-report/src/integrations/redis.ts.html +8 -8
  233. package/coverage/lcov-report/src/integrations/rest.ts.html +28 -28
  234. package/coverage/lcov-report/src/integrations/s3.ts.html +17 -17
  235. package/coverage/lcov-report/src/integrations/snowflake.ts.html +15 -15
  236. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  237. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  238. package/coverage/lcov-report/src/integrations/utils.ts.html +49 -49
  239. package/coverage/lcov-report/src/middleware/appInfo.ts.html +11 -11
  240. package/coverage/lcov-report/src/middleware/authorized.ts.html +31 -19
  241. package/coverage/lcov-report/src/middleware/builder.ts.html +15 -15
  242. package/coverage/lcov-report/src/middleware/currentapp.ts.html +18 -15
  243. package/coverage/lcov-report/src/middleware/index.html +40 -40
  244. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +10 -10
  245. package/coverage/lcov-report/src/middleware/publicApi.ts.html +9 -9
  246. package/coverage/lcov-report/src/middleware/resourceId.ts.html +23 -23
  247. package/coverage/lcov-report/src/middleware/selfhost.ts.html +2 -2
  248. package/coverage/lcov-report/src/middleware/utils.ts.html +3 -3
  249. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +6 -6
  250. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +7 -7
  251. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +7 -7
  252. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +31 -31
  253. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +8 -8
  254. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +13 -13
  255. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +7 -7
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +7 -7
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +8 -8
  258. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +21 -21
  259. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +10 -10
  260. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +19 -19
  261. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +9 -9
  262. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +13 -13
  263. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +23 -23
  264. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +26 -26
  265. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +7 -7
  266. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +14 -14
  267. package/coverage/lcov-report/src/migrations/functions/index.html +18 -18
  268. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +8 -8
  269. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +11 -11
  270. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +11 -11
  271. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +3 -3
  272. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +6 -6
  273. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +8 -8
  274. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -7
  275. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
  276. package/coverage/lcov-report/src/migrations/index.html +15 -15
  277. package/coverage/lcov-report/src/migrations/index.ts.html +43 -43
  278. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +4 -4
  279. package/coverage/lcov-report/src/migrations/tests/index.html +6 -6
  280. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +3 -3
  281. package/coverage/lcov-report/src/sdk/app/applications/index.html +11 -11
  282. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +6 -6
  283. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +24 -24
  284. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +15 -15
  285. package/coverage/lcov-report/src/sdk/app/automations/index.html +7 -7
  286. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +5 -5
  287. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +8 -8
  288. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +5 -5
  289. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +30 -30
  290. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +24 -24
  291. package/coverage/lcov-report/src/sdk/app/backups/index.html +27 -27
  292. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +7 -7
  293. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +12 -12
  294. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +8 -8
  295. package/coverage/lcov-report/src/sdk/app/rows/index.html +8 -8
  296. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +6 -6
  297. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +4 -4
  298. package/coverage/lcov-report/src/sdk/app/tables/index.html +11 -11
  299. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +16 -16
  300. package/coverage/lcov-report/src/sdk/index.html +5 -5
  301. package/coverage/lcov-report/src/sdk/index.ts.html +11 -11
  302. package/coverage/lcov-report/src/sdk/users/index.html +6 -6
  303. package/coverage/lcov-report/src/sdk/users/index.ts.html +5 -5
  304. package/coverage/lcov-report/src/sdk/users/utils.ts.html +29 -29
  305. package/coverage/lcov-report/src/startup.ts.html +40 -55
  306. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +108 -108
  307. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +20 -20
  308. package/coverage/lcov-report/src/tests/utilities/index.html +30 -30
  309. package/coverage/lcov-report/src/tests/utilities/index.ts.html +2 -2
  310. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +231 -42
  311. package/coverage/lcov-report/src/threads/automation.ts.html +202 -190
  312. package/coverage/lcov-report/src/threads/index.html +43 -43
  313. package/coverage/lcov-report/src/threads/index.ts.html +38 -38
  314. package/coverage/lcov-report/src/threads/query.ts.html +12 -12
  315. package/coverage/lcov-report/src/threads/utils.ts.html +26 -26
  316. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +4 -4
  317. package/coverage/lcov-report/src/utilities/centralPath.ts.html +5 -5
  318. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +10 -10
  319. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +12 -12
  320. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +20 -20
  321. package/coverage/lcov-report/src/utilities/fileSystem/index.html +42 -42
  322. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +1 -1
  323. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +6 -6
  324. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +9 -9
  325. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +5 -5
  326. package/coverage/lcov-report/src/utilities/global.ts.html +54 -54
  327. package/coverage/lcov-report/src/utilities/index.html +74 -89
  328. package/coverage/lcov-report/src/utilities/index.ts.html +32 -32
  329. package/coverage/lcov-report/src/utilities/redis.ts.html +35 -35
  330. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  331. package/coverage/lcov-report/src/utilities/routing/index.ts.html +5 -5
  332. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +32 -32
  333. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +67 -67
  334. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +9 -9
  335. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +26 -26
  336. package/coverage/lcov-report/src/utilities/{csvParser.ts.html → schema.ts.html} +173 -233
  337. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +8 -8
  338. package/coverage/lcov-report/src/utilities/security.ts.html +13 -13
  339. package/coverage/lcov-report/src/utilities/usageQuota/index.html +9 -9
  340. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +8 -8
  341. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +3 -3
  342. package/coverage/lcov-report/src/utilities/users.ts.html +7 -7
  343. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +61 -34
  344. package/coverage/lcov-report/src/watch.ts.html +20 -20
  345. package/coverage/lcov-report/src/websocket.ts.html +5 -5
  346. package/coverage/lcov.info +10214 -9826
  347. package/dist/api/controllers/query/index.js +5 -2
  348. package/dist/api/controllers/row/ExternalRequest.js +7 -0
  349. package/dist/api/controllers/row/internal.js +12 -8
  350. package/dist/api/controllers/static/index.js +7 -4
  351. package/dist/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  352. package/dist/api/controllers/table/external.js +8 -30
  353. package/dist/api/controllers/table/index.js +44 -15
  354. package/dist/api/controllers/table/internal.js +6 -7
  355. package/dist/api/controllers/table/utils.js +9 -9
  356. package/dist/api/controllers/user.js +14 -6
  357. package/dist/api/controllers/view/exporters.js +22 -6
  358. package/dist/api/controllers/view/index.js +19 -34
  359. package/dist/api/controllers/view/viewBuilder.js +15 -2
  360. package/dist/api/routes/analytics.js +2 -1
  361. package/dist/api/routes/apikeys.js +2 -1
  362. package/dist/api/routes/application.js +2 -1
  363. package/dist/api/routes/auth.js +2 -1
  364. package/dist/api/routes/automation.js +2 -1
  365. package/dist/api/routes/backup.js +2 -1
  366. package/dist/api/routes/cloud.js +2 -1
  367. package/dist/api/routes/component.js +2 -1
  368. package/dist/api/routes/datasource.js +2 -1
  369. package/dist/api/routes/deploy.js +2 -1
  370. package/dist/api/routes/dev.js +2 -1
  371. package/dist/api/routes/integration.js +2 -1
  372. package/dist/api/routes/layout.js +2 -1
  373. package/dist/api/routes/metadata.js +2 -1
  374. package/dist/api/routes/migrations.js +2 -1
  375. package/dist/api/routes/permission.js +2 -1
  376. package/dist/api/routes/query.js +2 -1
  377. package/dist/api/routes/role.js +2 -1
  378. package/dist/api/routes/routing.js +2 -1
  379. package/dist/api/routes/screen.js +2 -1
  380. package/dist/api/routes/script.js +2 -1
  381. package/dist/api/routes/static.js +6 -5
  382. package/dist/api/routes/table.js +8 -38
  383. package/dist/api/routes/templates.js +2 -1
  384. package/dist/api/routes/user.js +2 -1
  385. package/dist/api/routes/utils/validators.js +1 -1
  386. package/dist/api/routes/view.js +2 -1
  387. package/dist/api/routes/webhook.js +2 -1
  388. package/dist/app.js +9 -7
  389. package/dist/automations/logging/index.js +5 -25
  390. package/dist/automations/triggers.js +1 -0
  391. package/dist/db/index.js +5 -2
  392. package/dist/db/linkedRows/LinkController.js +2 -1
  393. package/dist/db/linkedRows/LinkDocument.js +2 -1
  394. package/dist/db/newid.js +4 -2
  395. package/dist/environment.js +2 -1
  396. package/dist/events/AutomationEmitter.js +2 -1
  397. package/dist/events/BudibaseEmitter.js +2 -1
  398. package/dist/events/index.js +2 -1
  399. package/dist/integrations/index.js +5 -5
  400. package/dist/integrations/mongodb.js +311 -271
  401. package/dist/middleware/authorized.js +2 -1
  402. package/dist/middleware/builder.js +4 -2
  403. package/dist/middleware/currentapp.js +6 -3
  404. package/dist/middleware/publicApi.js +4 -2
  405. package/dist/middleware/selfhost.js +4 -1
  406. package/dist/package.json +9 -7
  407. package/dist/startup.js +17 -17
  408. package/dist/threads/automation.js +9 -5
  409. package/dist/threads/index.js +4 -4
  410. package/dist/tsconfig.build.tsbuildinfo +1 -1
  411. package/dist/utilities/fileSystem/filesystem.js +3 -3
  412. package/dist/utilities/schema.js +108 -0
  413. package/dist/utilities/scriptRunner.js +2 -1
  414. package/dist/utilities/statusCodes.js +2 -1
  415. package/dist/utilities/workerRequests.js +2 -0
  416. package/dist/watch.js +2 -25
  417. package/jest.config.ts +5 -2
  418. package/package.json +10 -8
  419. package/src/api/controllers/query/index.ts +2 -2
  420. package/src/api/controllers/row/ExternalRequest.ts +6 -0
  421. package/src/api/controllers/row/internal.ts +10 -9
  422. package/src/api/controllers/static/index.ts +1 -1
  423. package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  424. package/src/api/controllers/table/external.ts +10 -10
  425. package/src/api/controllers/table/index.ts +46 -17
  426. package/src/api/controllers/table/internal.ts +6 -7
  427. package/src/api/controllers/table/utils.ts +12 -13
  428. package/src/api/controllers/user.ts +21 -13
  429. package/src/api/controllers/view/exporters.ts +20 -5
  430. package/src/api/controllers/view/index.ts +21 -12
  431. package/src/api/controllers/view/tests/viewBuilder.spec.js +1 -1
  432. package/src/api/controllers/view/viewBuilder.ts +1 -1
  433. package/src/api/routes/analytics.ts +1 -1
  434. package/src/api/routes/apikeys.ts +1 -1
  435. package/src/api/routes/application.ts +1 -1
  436. package/src/api/routes/auth.ts +1 -1
  437. package/src/api/routes/automation.ts +1 -1
  438. package/src/api/routes/backup.ts +1 -1
  439. package/src/api/routes/cloud.ts +1 -1
  440. package/src/api/routes/component.ts +1 -1
  441. package/src/api/routes/datasource.ts +1 -1
  442. package/src/api/routes/deploy.ts +1 -1
  443. package/src/api/routes/dev.ts +1 -1
  444. package/src/api/routes/integration.ts +1 -1
  445. package/src/api/routes/layout.ts +1 -1
  446. package/src/api/routes/metadata.ts +1 -1
  447. package/src/api/routes/migrations.ts +1 -1
  448. package/src/api/routes/permission.ts +1 -1
  449. package/src/api/routes/query.ts +1 -1
  450. package/src/api/routes/role.ts +1 -1
  451. package/src/api/routes/routing.ts +1 -1
  452. package/src/api/routes/screen.ts +1 -1
  453. package/src/api/routes/script.ts +1 -1
  454. package/src/api/routes/static.ts +2 -2
  455. package/src/api/routes/table.ts +16 -39
  456. package/src/api/routes/templates.ts +1 -1
  457. package/src/api/routes/tests/misc.spec.js +4 -10
  458. package/src/api/routes/tests/plugin.spec.ts +10 -10
  459. package/src/api/routes/tests/table.spec.js +8 -30
  460. package/src/api/routes/tests/user.spec.js +20 -1
  461. package/src/api/routes/tests/utilities/TestFunctions.ts +1 -1
  462. package/src/api/routes/user.ts +1 -1
  463. package/src/api/routes/utils/validators.ts +1 -1
  464. package/src/api/routes/view.ts +1 -1
  465. package/src/api/routes/webhook.ts +1 -1
  466. package/src/app.ts +5 -3
  467. package/src/automations/logging/index.ts +1 -1
  468. package/src/automations/tests/loop.spec.ts +45 -0
  469. package/src/automations/triggers.ts +6 -1
  470. package/src/db/index.ts +1 -1
  471. package/src/db/linkedRows/LinkController.ts +1 -1
  472. package/src/db/linkedRows/LinkDocument.ts +1 -1
  473. package/src/db/newid.ts +1 -1
  474. package/src/db/tests/linkController.spec.js +1 -1
  475. package/src/environment.ts +1 -1
  476. package/src/events/AutomationEmitter.ts +1 -1
  477. package/src/events/BudibaseEmitter.ts +1 -1
  478. package/src/events/index.ts +1 -1
  479. package/src/integrations/index.ts +4 -4
  480. package/src/integrations/mongodb.ts +315 -271
  481. package/src/integrations/tests/rest.spec.ts +15 -13
  482. package/src/middleware/authorized.ts +5 -1
  483. package/src/middleware/builder.ts +1 -1
  484. package/src/middleware/currentapp.ts +4 -3
  485. package/src/middleware/publicApi.ts +1 -1
  486. package/src/middleware/selfhost.ts +1 -1
  487. package/src/middleware/tests/authorized.spec.js +1 -1
  488. package/src/middleware/tests/currentapp.spec.js +1 -1
  489. package/src/middleware/tests/selfhost.spec.js +1 -1
  490. package/src/startup.ts +3 -8
  491. package/src/tests/jestEnv.ts +13 -0
  492. package/src/tests/jestSetup.ts +0 -14
  493. package/src/tests/utilities/TestConfiguration.ts +1 -1
  494. package/src/tests/utilities/structures.ts +65 -2
  495. package/src/threads/automation.ts +9 -5
  496. package/src/threads/index.ts +1 -1
  497. package/src/utilities/fileSystem/filesystem.ts +1 -1
  498. package/src/utilities/schema.ts +141 -0
  499. package/src/utilities/scriptRunner.ts +1 -1
  500. package/src/utilities/statusCodes.ts +1 -1
  501. package/src/utilities/workerRequests.ts +10 -1
  502. package/src/watch.ts +1 -1
  503. package/tsconfig.json +2 -1
  504. package/builder/assets/index.fa480d5b.css +0 -6
  505. package/coverage/lcov-report/src/utilities/statusCodes.ts.html +0 -106
  506. package/dist/utilities/csvParser.js +0 -152
  507. package/src/utilities/csvParser.ts +0 -161
  508. package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -15
  509. package/src/utilities/tests/csvParser.spec.js +0 -112
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/8</span>
28
+ <span class='fraction'>0/6</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/8</span>
49
+ <span class='fraction'>0/6</span>
50
50
  </div>
51
51
 
52
52
 
@@ -82,7 +82,7 @@
82
82
  <a name='L17'></a><a href='#L17'>17</a>
83
83
  <a name='L18'></a><a href='#L18'>18</a>
84
84
  <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
85
+ <a name='L20'></a><a href='#L20'>20</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
86
86
  <span class="cline-any cline-neutral">&nbsp;</span>
87
87
  <span class="cline-any cline-no">&nbsp;</span>
88
88
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -95,26 +95,26 @@
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
- <span class="cline-any cline-no">&nbsp;</span>
98
+ <span class="cline-any cline-neutral">&nbsp;</span>
99
99
  <span class="cline-any cline-no">&nbsp;</span>
100
100
  <span class="cline-any cline-no">&nbsp;</span>
101
101
  <span class="cline-any cline-neutral">&nbsp;</span>
102
102
  <span class="cline-any cline-no">&nbsp;</span>
103
103
  <span class="cline-any cline-neutral">&nbsp;</span>
104
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import jimp from "jimp"</span>
104
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import jimp from "jimp"
105
105
  &nbsp;
106
106
  const FORMATS = <span class="cstat-no" title="statement not covered" >{</span>
107
107
  IMAGES: ["png", "jpg", "jpeg", "gif", "bmp", "tiff"],
108
108
  }
109
109
  &nbsp;
110
- function <span class="fstat-no" title="function not covered" >processImage(</span>file: { path: string }) {
110
+ function <span class="fstat-no" title="function not covered" >processImage(f</span>ile: { path: string }) {
111
111
  // this will overwrite the temp file
112
- <span class="cstat-no" title="statement not covered" > return jimp.read(file.path).then(<span class="fstat-no" title="function not covered" >img </span>=&gt; {</span>
112
+ <span class="cstat-no" title="statement not covered" > return jimp.read(file.path).then(<span class="fstat-no" title="function not covered" >img =&gt; {</span></span>
113
113
  <span class="cstat-no" title="statement not covered" > return img.resize(300, jimp.AUTO).write(file.path)</span>
114
114
  })
115
115
  }
116
116
  &nbsp;
117
- <span class="cstat-no" title="statement not covered" >export async function <span class="fstat-no" title="function not covered" >p</span>rocess(</span>file: { extension: string; path: string }) {
117
+ export async function <span class="fstat-no" title="function not covered" >process(f</span>ile: { extension: string; path: string }) {
118
118
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (FORMATS.IMAGES.includes(file.extension.toLowerCase())) {</span>
119
119
  <span class="cstat-no" title="statement not covered" > await processImage(file)</span>
120
120
  }
@@ -127,7 +127,7 @@ function <span class="fstat-no" title="function not covered" >processImage(</spa
127
127
  <div class='footer quiet pad2 space-top1 center small'>
128
128
  Code coverage generated by
129
129
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
130
- at Tue Jan 10 2023 14:54:34 GMT+0000 (Coordinated Universal Time)
130
+ at Fri Jan 27 2023 09:44:19 GMT+0000 (Coordinated Universal Time)
131
131
  </div>
132
132
  <script src="../../../prettify.js"></script>
133
133
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">44.44% </span>
26
+ <span class="strong">37.5% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>8/18</span>
28
+ <span class='fraction'>6/16</span>
29
29
  </div>
30
30
 
31
31
 
@@ -145,7 +145,7 @@ import { objectStore } from "@budibase/backend-core"
145
145
  * @param {Object} template The template object retrieved from the Koa context object.
146
146
  * @returns {Object} Returns an fs read stream which can be loaded into the database.
147
147
  */
148
- export const getTemplateStream = <span class="fstat-no" title="function not covered" >async (t</span>emplate: any) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
148
+ export const <span class="cstat-no" title="statement not covered" >getTemplateStream<span class="fstat-no" title="function not covered" > </span>= <span class="fstat-no" title="function not covered" >a</span>sync (t</span>emplate: any) =&gt; {
149
149
  <span class="cstat-no" title="statement not covered" > if (template.file) {</span>
150
150
  <span class="cstat-no" title="statement not covered" > return fs.createReadStream(template.file.path)</span>
151
151
  } else {
@@ -161,7 +161,7 @@ export const getTemplateStream = <span class="fstat-no" title="function not cove
161
161
  * @param name
162
162
  * @return {Promise&lt;*&gt;}
163
163
  */
164
- export const downloadTemplate = <span class="fstat-no" title="function not covered" >async (t</span>ype: string, name: string) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
164
+ export const <span class="cstat-no" title="statement not covered" >downloadTemplate<span class="fstat-no" title="function not covered" > </span>= <span class="fstat-no" title="function not covered" >a</span>sync (t</span>ype: string, name: string) =&gt; {
165
165
  const DEFAULT_TEMPLATES_BUCKET =
166
166
  <span class="cstat-no" title="statement not covered" > "prod-budi-templates.s3-eu-west-1.amazonaws.com"</span>
167
167
  const templateUrl = <span class="cstat-no" title="statement not covered" >`https://${DEFAULT_TEMPLATES_BUCKET}/templates/${type}/${name}.tar.gz`</span>
@@ -178,7 +178,7 @@ export const downloadTemplate = <span class="fstat-no" title="function not cover
178
178
  <div class='footer quiet pad2 space-top1 center small'>
179
179
  Code coverage generated by
180
180
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
181
- at Tue Jan 10 2023 14:54:34 GMT+0000 (Coordinated Universal Time)
181
+ at Fri Jan 27 2023 09:44:19 GMT+0000 (Coordinated Universal Time)
182
182
  </div>
183
183
  <script src="../../../prettify.js"></script>
184
184
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">75.36% </span>
26
+ <span class="strong">73.91% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>52/69</span>
28
+ <span class='fraction'>51/69</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">63.23% </span>
33
+ <span class="strong">61.11% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>43/68</span>
35
+ <span class='fraction'>22/36</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">68.75% </span>
40
+ <span class="strong">72.72% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>11/16</span>
42
+ <span class='fraction'>16/22</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">75% </span>
47
+ <span class="strong">73.52% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>51/68</span>
49
+ <span class='fraction'>50/68</span>
50
50
  </div>
51
51
 
52
52
 
@@ -201,49 +201,49 @@
201
201
  <a name='L136'></a><a href='#L136'>136</a>
202
202
  <a name='L137'></a><a href='#L137'>137</a>
203
203
  <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">63x</span>
205
- <span class="cline-any cline-yes">63x</span>
204
+ <a name='L139'></a><a href='#L139'>139</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">64x</span>
206
205
  <span class="cline-any cline-neutral">&nbsp;</span>
207
206
  <span class="cline-any cline-neutral">&nbsp;</span>
208
207
  <span class="cline-any cline-neutral">&nbsp;</span>
209
208
  <span class="cline-any cline-neutral">&nbsp;</span>
210
209
  <span class="cline-any cline-neutral">&nbsp;</span>
211
210
  <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-yes">63x</span>
213
- <span class="cline-any cline-yes">63x</span>
211
+ <span class="cline-any cline-yes">64x</span>
212
+ <span class="cline-any cline-yes">64x</span>
213
+ <span class="cline-any cline-yes">64x</span>
214
214
  <span class="cline-any cline-neutral">&nbsp;</span>
215
215
  <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-yes">63x</span>
216
+ <span class="cline-any cline-no">&nbsp;</span>
217
217
  <span class="cline-any cline-neutral">&nbsp;</span>
218
218
  <span class="cline-any cline-neutral">&nbsp;</span>
219
219
  <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-yes">790x</span>
220
+ <span class="cline-any cline-yes">829x</span>
221
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-yes">790x</span>
222
+ <span class="cline-any cline-yes">829x</span>
223
223
  <span class="cline-any cline-yes">3x</span>
224
224
  <span class="cline-any cline-neutral">&nbsp;</span>
225
225
  <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-yes">787x</span>
226
+ <span class="cline-any cline-yes">826x</span>
227
227
  <span class="cline-any cline-no">&nbsp;</span>
228
228
  <span class="cline-any cline-no">&nbsp;</span>
229
229
  <span class="cline-any cline-no">&nbsp;</span>
230
230
  <span class="cline-any cline-no">&nbsp;</span>
231
231
  <span class="cline-any cline-neutral">&nbsp;</span>
232
232
  <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-yes">787x</span>
234
- <span class="cline-any cline-yes">787x</span>
233
+ <span class="cline-any cline-yes">826x</span>
234
+ <span class="cline-any cline-yes">826x</span>
235
235
  <span class="cline-any cline-neutral">&nbsp;</span>
236
236
  <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-yes">787x</span>
238
- <span class="cline-any cline-yes">643x</span>
239
- <span class="cline-any cline-yes">144x</span>
240
- <span class="cline-any cline-yes">139x</span>
237
+ <span class="cline-any cline-yes">826x</span>
238
+ <span class="cline-any cline-yes">683x</span>
239
+ <span class="cline-any cline-yes">143x</span>
240
+ <span class="cline-any cline-yes">138x</span>
241
241
  <span class="cline-any cline-yes">5x</span>
242
242
  <span class="cline-any cline-no">&nbsp;</span>
243
243
  <span class="cline-any cline-neutral">&nbsp;</span>
244
244
  <span class="cline-any cline-neutral">&nbsp;</span>
245
- <span class="cline-any cline-yes">787x</span>
246
- <span class="cline-any cline-yes">787x</span>
245
+ <span class="cline-any cline-yes">826x</span>
246
+ <span class="cline-any cline-yes">826x</span>
247
247
  <span class="cline-any cline-neutral">&nbsp;</span>
248
248
  <span class="cline-any cline-neutral">&nbsp;</span>
249
249
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -274,29 +274,29 @@
274
274
  <span class="cline-any cline-yes">271x</span>
275
275
  <span class="cline-any cline-neutral">&nbsp;</span>
276
276
  <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-yes">63x</span>
277
+ <span class="cline-any cline-yes">269x</span>
278
278
  <span class="cline-any cline-neutral">&nbsp;</span>
279
279
  <span class="cline-any cline-neutral">&nbsp;</span>
280
280
  <span class="cline-any cline-yes">269x</span>
281
281
  <span class="cline-any cline-yes">269x</span>
282
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
283
  <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-yes">63x</span>
285
- <span class="cline-any cline-yes">3x</span>
286
- <span class="cline-any cline-yes">3x</span>
284
+ <span class="cline-any cline-yes">2x</span>
285
+ <span class="cline-any cline-yes">4x</span>
286
+ <span class="cline-any cline-yes">4x</span>
287
287
  <span class="cline-any cline-neutral">&nbsp;</span>
288
288
  <span class="cline-any cline-neutral">&nbsp;</span>
289
- <span class="cline-any cline-yes">63x</span>
289
+ <span class="cline-any cline-yes">2x</span>
290
290
  <span class="cline-any cline-yes">2x</span>
291
291
  <span class="cline-any cline-yes">2x</span>
292
292
  <span class="cline-any cline-yes">2x</span>
293
293
  <span class="cline-any cline-neutral">&nbsp;</span>
294
294
  <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-yes">63x</span>
296
- <span class="cline-any cline-yes">355x</span>
297
- <span class="cline-any cline-yes">355x</span>
295
+ <span class="cline-any cline-yes">329x</span>
296
+ <span class="cline-any cline-yes">359x</span>
297
+ <span class="cline-any cline-yes">359x</span>
298
298
  <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-yes">355x</span>
299
+ <span class="cline-any cline-yes">359x</span>
300
300
  <span class="cline-any cline-yes">30x</span>
301
301
  <span class="cline-any cline-no">&nbsp;</span>
302
302
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -304,29 +304,29 @@
304
304
  <span class="cline-any cline-no">&nbsp;</span>
305
305
  <span class="cline-any cline-neutral">&nbsp;</span>
306
306
  <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-yes">325x</span>
307
+ <span class="cline-any cline-yes">329x</span>
308
308
  <span class="cline-any cline-neutral">&nbsp;</span>
309
309
  <span class="cline-any cline-neutral">&nbsp;</span>
310
310
  <span class="cline-any cline-neutral">&nbsp;</span>
311
311
  <span class="cline-any cline-neutral">&nbsp;</span>
312
312
  <span class="cline-any cline-neutral">&nbsp;</span>
313
- <span class="cline-any cline-yes">519x</span>
313
+ <span class="cline-any cline-yes">558x</span>
314
314
  <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-yes">355x</span>
316
- <span class="cline-any cline-yes">519x</span>
315
+ <span class="cline-any cline-yes">359x</span>
316
+ <span class="cline-any cline-yes">558x</span>
317
317
  <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-yes">519x</span>
319
- <span class="cline-any cline-yes">519x</span>
320
- <span class="cline-any cline-yes">519x</span>
318
+ <span class="cline-any cline-yes">558x</span>
319
+ <span class="cline-any cline-yes">558x</span>
320
+ <span class="cline-any cline-yes">558x</span>
321
321
  <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-yes">355x</span>
322
+ <span class="cline-any cline-yes">359x</span>
323
323
  <span class="cline-any cline-no">&nbsp;</span>
324
324
  <span class="cline-any cline-neutral">&nbsp;</span>
325
325
  <span class="cline-any cline-neutral">&nbsp;</span>
326
- <span class="cline-any cline-yes">519x</span>
326
+ <span class="cline-any cline-yes">558x</span>
327
327
  <span class="cline-any cline-neutral">&nbsp;</span>
328
328
  <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-yes">63x</span>
329
+ <span class="cline-any cline-yes">30x</span>
330
330
  <span class="cline-any cline-yes">30x</span>
331
331
  <span class="cline-any cline-yes">30x</span>
332
332
  <span class="cline-any cline-no">&nbsp;</span>
@@ -351,7 +351,7 @@ import env from "../environment"
351
351
  import { groups } from "@budibase/pro"
352
352
  import { BBContext, ContextUser, User } from "@budibase/types"
353
353
  &nbsp;
354
- export function updateAppRole(
354
+ export function <span class="cstat-no" title="statement not covered" >updateAppRole<span class="fstat-no" title="function not covered" >(</span></span>
355
355
  user: ContextUser,
356
356
  { appId }: { appId?: string } = {}
357
357
  ) {
@@ -361,7 +361,7 @@ export function updateAppRole(
361
361
  return user
362
362
  }
363
363
  // if in an multi-tenancy environment make sure roles are never updated
364
- <span class="missing-if-branch" title="if path not taken" >I</span>if (env.MULTI_TENANCY &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >appId </span>&amp;&amp; <span class="branch-2 cbranch-no" title="branch not covered" >!tenancy.isUserInAppTenant(appId, user))</span> {
364
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (env.MULTI_TENANCY &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >appId &amp;&amp; <span class="branch-2 cbranch-no" title="branch not covered" >!</span>tenancy.isUserInAppTenant(appId, user)) {</span>
365
365
  <span class="cstat-no" title="statement not covered" > delete user.builder</span>
366
366
  <span class="cstat-no" title="statement not covered" > delete user.admin</span>
367
367
  <span class="cstat-no" title="statement not covered" > user.roleId = roles.BUILTIN_ROLE_IDS.PUBLIC</span>
@@ -374,9 +374,9 @@ export function updateAppRole(
374
374
  // if a role wasn't found then either set as admin (builder) or public (everyone else)
375
375
  if (!user.roleId &amp;&amp; user.builder &amp;&amp; user.builder.global) {
376
376
  user.roleId = roles.BUILTIN_ROLE_IDS.ADMIN
377
- } else if (!user.roleId &amp;&amp; !user<span class="branch-0 cbranch-no" title="branch not covered" >?.u</span>serGroups<span class="branch-1 cbranch-no" title="branch not covered" >?.length)</span> {
377
+ } else if (!user.roleId &amp;&amp; !user?.userGroups?.length) {
378
378
  user.roleId = roles.BUILTIN_ROLE_IDS.PUBLIC
379
- } else <span class="missing-if-branch" title="if path not taken" >I</span>if (user<span class="branch-0 cbranch-no" title="branch not covered" >?.u</span>serGroups<span class="branch-1 cbranch-no" title="branch not covered" >?.length)</span> {
379
+ } else <span class="missing-if-branch" title="if path not taken" >I</span>if (user?.userGroups?.length) {
380
380
  <span class="cstat-no" title="statement not covered" > user.roleId = undefined</span>
381
381
  }
382
382
  &nbsp;
@@ -405,7 +405,7 @@ async function processUser(
405
405
  delete user.password
406
406
  }
407
407
  user = await updateAppRole(user, { appId })
408
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!user.roleId &amp;&amp; user<span class="branch-0 cbranch-no" title="branch not covered" >?.u</span>serGroups<span class="branch-1 cbranch-no" title="branch not covered" >?.length)</span> {
408
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!user.roleId &amp;&amp; user?.userGroups?.length) {
409
409
  <span class="cstat-no" title="statement not covered" > user = await checkGroupRoles(user, { appId })</span>
410
410
  }
411
411
  &nbsp;
@@ -415,7 +415,7 @@ async function processUser(
415
415
  export async function getCachedSelf(ctx: BBContext, appId: string) {
416
416
  // this has to be tenant aware, can't depend on the context to find it out
417
417
  // running some middlewares before the tenancy causes context to break
418
- const user = await cache.user.getUser(ctx.user<span class="branch-0 cbranch-no" title="branch not covered" >?._</span>id!)
418
+ const user = await cache.user.getUser(ctx.user?._id!)
419
419
  return processUser(user, { appId })
420
420
  }
421
421
  &nbsp;
@@ -435,11 +435,11 @@ export async function getGlobalUsers(users?: ContextUser[]) {
435
435
  const db = tenancy.getGlobalDB()
436
436
  let globalUsers
437
437
  if (users) {
438
- const globalIds = users.map(<span class="fstat-no" title="function not covered" >user </span>=&gt;
438
+ const globalIds = users.map(<span class="fstat-no" title="function not covered" >user =&gt;</span>
439
439
  <span class="cstat-no" title="statement not covered" > getGlobalIDFromUserMetadataID(user._id!)</span>
440
440
  )
441
441
  globalUsers = (await db.allDocs(getMultiIDParams(globalIds))).rows.map(
442
- <span class="fstat-no" title="function not covered" > row </span>=&gt; <span class="cstat-no" title="statement not covered" >row.doc</span>
442
+ <span class="fstat-no" title="function not covered" > row =&gt; <span class="cstat-no" title="statement not covered" >r</span>ow.doc</span>
443
443
  )
444
444
  } else {
445
445
  globalUsers = (
@@ -466,9 +466,9 @@ export async function getGlobalUsers(users?: ContextUser[]) {
466
466
  &nbsp;
467
467
  export async function getGlobalUsersFromMetadata(users: ContextUser[]) {
468
468
  const globalUsers = await getGlobalUsers(users)
469
- return users.map(<span class="fstat-no" title="function not covered" >user </span>=&gt; {
469
+ return users.map(<span class="fstat-no" title="function not covered" >user =&gt; {</span>
470
470
  const globalUser = <span class="cstat-no" title="statement not covered" >globalUsers.find(</span>
471
- <span class="fstat-no" title="function not covered" > globalUser </span>=&gt; <span class="cstat-no" title="statement not covered" >globalUser &amp;&amp; user._id?.includes(globalUser._id)</span>
471
+ <span class="fstat-no" title="function not covered" > globalUser =&gt; <span class="cstat-no" title="statement not covered" >g</span>lobalUser &amp;&amp; user._id?.includes(globalUser._id)</span>
472
472
  )
473
473
  <span class="cstat-no" title="statement not covered" > return {</span>
474
474
  ...globalUser,
@@ -484,7 +484,7 @@ export async function getGlobalUsersFromMetadata(users: ContextUser[]) {
484
484
  <div class='footer quiet pad2 space-top1 center small'>
485
485
  Code coverage generated by
486
486
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
487
- at Tue Jan 10 2023 14:54:34 GMT+0000 (Coordinated Universal Time)
487
+ at Fri Jan 27 2023 09:44:19 GMT+0000 (Coordinated Universal Time)
488
488
  </div>
489
489
  <script src="../../prettify.js"></script>
490
490
  <script>