@budibase/server 2.1.43-alpha.10 → 2.1.43-alpha.11

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 (349) hide show
  1. package/builder/assets/{index.183b181c.css → index.071ce1a2.css} +1 -1
  2. package/builder/assets/{index.c8b919df.js → index.9e365981.js} +209 -209
  3. package/builder/index.html +2 -2
  4. package/coverage/clover.xml +2859 -2830
  5. package/coverage/coverage-final.json +258 -257
  6. package/coverage/lcov-report/index.html +49 -34
  7. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +7 -7
  8. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +5 -5
  9. package/coverage/lcov-report/src/api/controllers/application.ts.html +83 -83
  10. package/coverage/lcov-report/src/api/controllers/auth.ts.html +9 -9
  11. package/coverage/lcov-report/src/api/controllers/automation.ts.html +27 -27
  12. package/coverage/lcov-report/src/api/controllers/backup.ts.html +6 -6
  13. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +12 -12
  14. package/coverage/lcov-report/src/api/controllers/component.ts.html +5 -5
  15. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +15 -15
  16. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +14 -14
  17. package/coverage/lcov-report/src/api/controllers/deploy/index.html +1 -1
  18. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +81 -81
  19. package/coverage/lcov-report/src/api/controllers/dev.ts.html +18 -18
  20. package/coverage/lcov-report/src/api/controllers/index.html +1 -1
  21. package/coverage/lcov-report/src/api/controllers/integration.ts.html +4 -4
  22. package/coverage/lcov-report/src/api/controllers/layout.ts.html +6 -6
  23. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +9 -9
  24. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +4 -4
  25. package/coverage/lcov-report/src/api/controllers/permission.ts.html +13 -13
  26. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +3 -3
  27. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +6 -6
  28. package/coverage/lcov-report/src/api/controllers/plugin/index.html +1 -1
  29. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +15 -15
  30. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +6 -6
  31. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +5 -5
  32. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +4 -4
  33. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +4 -4
  34. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +10 -10
  35. package/coverage/lcov-report/src/api/controllers/public/index.html +18 -18
  36. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +2 -2
  37. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +1 -1
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +7 -7
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +2 -2
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +2 -2
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +2 -2
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +4 -4
  43. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +6 -6
  44. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +10 -10
  45. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +9 -9
  46. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +80 -29
  47. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +6 -6
  48. package/coverage/lcov-report/src/api/controllers/query/import/index.html +1 -1
  49. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +8 -8
  50. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +1 -1
  51. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +8 -8
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +5 -5
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +8 -8
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +1 -1
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +10 -10
  56. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +14 -14
  57. package/coverage/lcov-report/src/api/controllers/query/index.html +1 -1
  58. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +21 -21
  59. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +9 -9
  60. package/coverage/lcov-report/src/api/controllers/role.ts.html +8 -8
  61. package/coverage/lcov-report/src/api/controllers/routing.ts.html +6 -6
  62. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +11 -11
  63. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +20 -20
  64. package/coverage/lcov-report/src/api/controllers/row/index.html +1 -1
  65. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +14 -14
  66. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +29 -29
  67. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +9 -9
  68. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +10 -10
  69. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +13 -13
  70. package/coverage/lcov-report/src/api/controllers/screen.ts.html +7 -7
  71. package/coverage/lcov-report/src/api/controllers/script.ts.html +4 -4
  72. package/coverage/lcov-report/src/api/controllers/static/index.html +1 -1
  73. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +24 -24
  74. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +10 -10
  75. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +14 -14
  76. package/coverage/lcov-report/src/api/controllers/table/index.html +1 -1
  77. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +14 -14
  78. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +17 -17
  79. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +27 -27
  80. package/coverage/lcov-report/src/api/controllers/templates.ts.html +7 -7
  81. package/coverage/lcov-report/src/api/controllers/user.ts.html +15 -15
  82. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +4 -4
  83. package/coverage/lcov-report/src/api/controllers/view/index.html +1 -1
  84. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +17 -17
  85. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +13 -13
  86. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +7 -7
  87. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +14 -14
  88. package/coverage/lcov-report/src/api/index.html +1 -1
  89. package/coverage/lcov-report/src/api/index.ts.html +33 -33
  90. package/coverage/lcov-report/src/api/routes/analytics.ts.html +7 -7
  91. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +8 -8
  92. package/coverage/lcov-report/src/api/routes/application.ts.html +9 -9
  93. package/coverage/lcov-report/src/api/routes/auth.ts.html +6 -6
  94. package/coverage/lcov-report/src/api/routes/automation.ts.html +11 -11
  95. package/coverage/lcov-report/src/api/routes/backup.ts.html +8 -8
  96. package/coverage/lcov-report/src/api/routes/cloud.ts.html +8 -8
  97. package/coverage/lcov-report/src/api/routes/component.ts.html +8 -8
  98. package/coverage/lcov-report/src/api/routes/datasource.ts.html +9 -9
  99. package/coverage/lcov-report/src/api/routes/deploy.ts.html +8 -8
  100. package/coverage/lcov-report/src/api/routes/dev.ts.html +13 -13
  101. package/coverage/lcov-report/src/api/routes/index.html +1 -1
  102. package/coverage/lcov-report/src/api/routes/index.ts.html +34 -34
  103. package/coverage/lcov-report/src/api/routes/integration.ts.html +8 -8
  104. package/coverage/lcov-report/src/api/routes/layout.ts.html +8 -8
  105. package/coverage/lcov-report/src/api/routes/metadata.ts.html +9 -9
  106. package/coverage/lcov-report/src/api/routes/migrations.ts.html +7 -7
  107. package/coverage/lcov-report/src/api/routes/permission.ts.html +9 -9
  108. package/coverage/lcov-report/src/api/routes/plugin.ts.html +8 -8
  109. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +12 -12
  110. package/coverage/lcov-report/src/api/routes/public/index.html +1 -1
  111. package/coverage/lcov-report/src/api/routes/public/index.ts.html +52 -52
  112. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +1 -1
  113. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +21 -21
  114. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +9 -9
  115. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +12 -12
  116. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +12 -12
  117. package/coverage/lcov-report/src/api/routes/public/tests/index.html +116 -0
  118. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +169 -0
  119. package/coverage/lcov-report/src/api/routes/public/users.ts.html +12 -12
  120. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +19 -19
  121. package/coverage/lcov-report/src/api/routes/public/utils/index.html +1 -1
  122. package/coverage/lcov-report/src/api/routes/query.ts.html +11 -11
  123. package/coverage/lcov-report/src/api/routes/role.ts.html +9 -9
  124. package/coverage/lcov-report/src/api/routes/routing.ts.html +8 -8
  125. package/coverage/lcov-report/src/api/routes/row.ts.html +11 -11
  126. package/coverage/lcov-report/src/api/routes/screen.ts.html +9 -9
  127. package/coverage/lcov-report/src/api/routes/script.ts.html +1 -1
  128. package/coverage/lcov-report/src/api/routes/static.ts.html +14 -14
  129. package/coverage/lcov-report/src/api/routes/table.ts.html +11 -11
  130. package/coverage/lcov-report/src/api/routes/templates.ts.html +8 -8
  131. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +1 -1
  132. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +15 -15
  133. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +32 -32
  134. package/coverage/lcov-report/src/api/routes/user.ts.html +9 -9
  135. package/coverage/lcov-report/src/api/routes/utils/index.html +1 -1
  136. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +42 -42
  137. package/coverage/lcov-report/src/api/routes/view.ts.html +10 -10
  138. package/coverage/lcov-report/src/api/routes/webhook.ts.html +10 -10
  139. package/coverage/lcov-report/src/app.ts.html +32 -32
  140. package/coverage/lcov-report/src/automations/actions.ts.html +25 -25
  141. package/coverage/lcov-report/src/automations/automationUtils.ts.html +8 -8
  142. package/coverage/lcov-report/src/automations/bullboard.ts.html +11 -11
  143. package/coverage/lcov-report/src/automations/index.html +1 -1
  144. package/coverage/lcov-report/src/automations/index.ts.html +13 -13
  145. package/coverage/lcov-report/src/automations/logging/index.html +1 -1
  146. package/coverage/lcov-report/src/automations/logging/index.ts.html +6 -6
  147. package/coverage/lcov-report/src/automations/steps/bash.ts.html +8 -8
  148. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +7 -7
  149. package/coverage/lcov-report/src/automations/steps/delay.ts.html +5 -5
  150. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +7 -7
  151. package/coverage/lcov-report/src/automations/steps/discord.ts.html +8 -8
  152. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +7 -7
  153. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +7 -7
  154. package/coverage/lcov-report/src/automations/steps/filter.ts.html +6 -6
  155. package/coverage/lcov-report/src/automations/steps/index.html +1 -1
  156. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +6 -6
  157. package/coverage/lcov-report/src/automations/steps/loop.ts.html +3 -3
  158. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +14 -14
  159. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +17 -17
  160. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +6 -6
  161. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +4 -4
  162. package/coverage/lcov-report/src/automations/steps/slack.ts.html +6 -6
  163. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +7 -7
  164. package/coverage/lcov-report/src/automations/steps/utils.ts.html +3 -3
  165. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +6 -6
  166. package/coverage/lcov-report/src/automations/tests/utilities/index.html +1 -1
  167. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +1 -1
  168. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +3 -3
  169. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +3 -3
  170. package/coverage/lcov-report/src/automations/triggerInfo/index.html +1 -1
  171. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +8 -8
  172. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +3 -3
  173. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +3 -3
  174. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +3 -3
  175. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +3 -3
  176. package/coverage/lcov-report/src/automations/triggers.ts.html +21 -21
  177. package/coverage/lcov-report/src/automations/utils.ts.html +45 -45
  178. package/coverage/lcov-report/src/constants/index.html +1 -1
  179. package/coverage/lcov-report/src/constants/index.ts.html +92 -92
  180. package/coverage/lcov-report/src/constants/layouts.ts.html +4 -4
  181. package/coverage/lcov-report/src/constants/screens.ts.html +4 -4
  182. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +23 -23
  183. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +2 -2
  184. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +2 -2
  185. package/coverage/lcov-report/src/db/defaultData/index.html +1 -1
  186. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +2 -2
  187. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +2 -2
  188. package/coverage/lcov-report/src/db/dynamoClient.ts.html +16 -16
  189. package/coverage/lcov-report/src/db/inMemoryView.ts.html +5 -5
  190. package/coverage/lcov-report/src/db/index.html +1 -1
  191. package/coverage/lcov-report/src/db/index.ts.html +9 -9
  192. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +8 -8
  193. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +4 -4
  194. package/coverage/lcov-report/src/db/linkedRows/index.html +1 -1
  195. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +15 -15
  196. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +12 -12
  197. package/coverage/lcov-report/src/db/newid.ts.html +4 -4
  198. package/coverage/lcov-report/src/db/utils.ts.html +58 -58
  199. package/coverage/lcov-report/src/definitions/automations.ts.html +4 -4
  200. package/coverage/lcov-report/src/definitions/datasource.ts.html +4 -4
  201. package/coverage/lcov-report/src/definitions/index.html +1 -1
  202. package/coverage/lcov-report/src/environment.ts.html +19 -19
  203. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +6 -6
  204. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +5 -5
  205. package/coverage/lcov-report/src/events/index.html +1 -1
  206. package/coverage/lcov-report/src/events/index.ts.html +4 -4
  207. package/coverage/lcov-report/src/events/utils.ts.html +3 -3
  208. package/coverage/lcov-report/src/index.html +1 -1
  209. package/coverage/lcov-report/src/index.ts.html +1 -1
  210. package/coverage/lcov-report/src/integrations/airtable.ts.html +5 -5
  211. package/coverage/lcov-report/src/integrations/arangodb.ts.html +5 -5
  212. package/coverage/lcov-report/src/integrations/base/index.html +1 -1
  213. package/coverage/lcov-report/src/integrations/base/query.ts.html +3 -3
  214. package/coverage/lcov-report/src/integrations/base/sql.ts.html +12 -12
  215. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +7 -7
  216. package/coverage/lcov-report/src/integrations/base/utils.ts.html +3 -3
  217. package/coverage/lcov-report/src/integrations/couchdb.ts.html +5 -5
  218. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +6 -6
  219. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +5 -5
  220. package/coverage/lcov-report/src/integrations/firebase.ts.html +5 -5
  221. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +11 -11
  222. package/coverage/lcov-report/src/integrations/index.html +1 -1
  223. package/coverage/lcov-report/src/integrations/index.ts.html +30 -30
  224. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +8 -8
  225. package/coverage/lcov-report/src/integrations/mongodb.ts.html +5 -5
  226. package/coverage/lcov-report/src/integrations/mysql.ts.html +10 -10
  227. package/coverage/lcov-report/src/integrations/oracle.ts.html +13 -13
  228. package/coverage/lcov-report/src/integrations/postgres.ts.html +10 -10
  229. package/coverage/lcov-report/src/integrations/queries/index.html +1 -1
  230. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +1 -1
  231. package/coverage/lcov-report/src/integrations/redis.ts.html +5 -5
  232. package/coverage/lcov-report/src/integrations/rest.ts.html +16 -16
  233. package/coverage/lcov-report/src/integrations/s3.ts.html +6 -6
  234. package/coverage/lcov-report/src/integrations/snowflake.ts.html +5 -5
  235. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  236. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  237. package/coverage/lcov-report/src/integrations/utils.ts.html +31 -31
  238. package/coverage/lcov-report/src/middleware/appInfo.ts.html +7 -7
  239. package/coverage/lcov-report/src/middleware/authorized.ts.html +30 -30
  240. package/coverage/lcov-report/src/middleware/builder.ts.html +17 -17
  241. package/coverage/lcov-report/src/middleware/currentapp.ts.html +39 -39
  242. package/coverage/lcov-report/src/middleware/index.html +1 -1
  243. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +1 -1
  244. package/coverage/lcov-report/src/middleware/publicApi.ts.html +8 -8
  245. package/coverage/lcov-report/src/middleware/resourceId.ts.html +28 -28
  246. package/coverage/lcov-report/src/middleware/selfhost.ts.html +1 -1
  247. package/coverage/lcov-report/src/middleware/utils.ts.html +4 -4
  248. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +4 -4
  249. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +5 -5
  250. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +5 -5
  251. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +1 -1
  252. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +5 -5
  253. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +7 -7
  254. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +5 -5
  255. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +5 -5
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +4 -4
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +19 -19
  258. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +6 -6
  259. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +1 -1
  260. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +7 -7
  261. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +6 -6
  262. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +15 -15
  263. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +1 -1
  264. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +5 -5
  265. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +8 -8
  266. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  267. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +6 -6
  268. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +6 -6
  269. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +1 -1
  270. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +2 -2
  271. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +5 -5
  272. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +4 -4
  273. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +6 -6
  274. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +3 -3
  275. package/coverage/lcov-report/src/migrations/index.html +1 -1
  276. package/coverage/lcov-report/src/migrations/index.ts.html +32 -32
  277. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +1 -1
  278. package/coverage/lcov-report/src/migrations/tests/index.html +1 -1
  279. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +1 -1
  280. package/coverage/lcov-report/src/sdk/app/applications/index.html +1 -1
  281. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +4 -4
  282. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +5 -5
  283. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +9 -9
  284. package/coverage/lcov-report/src/sdk/app/automations/index.html +1 -1
  285. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +3 -3
  286. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +6 -6
  287. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +3 -3
  288. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +17 -17
  289. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +17 -17
  290. package/coverage/lcov-report/src/sdk/app/backups/index.html +1 -1
  291. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +5 -5
  292. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +7 -7
  293. package/coverage/lcov-report/src/sdk/app/tables/index.html +1 -1
  294. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +5 -5
  295. package/coverage/lcov-report/src/sdk/index.html +1 -1
  296. package/coverage/lcov-report/src/sdk/index.ts.html +8 -8
  297. package/coverage/lcov-report/src/sdk/users/index.html +1 -1
  298. package/coverage/lcov-report/src/sdk/users/index.ts.html +3 -3
  299. package/coverage/lcov-report/src/sdk/users/utils.ts.html +8 -8
  300. package/coverage/lcov-report/src/startup.ts.html +41 -41
  301. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +97 -97
  302. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +15 -15
  303. package/coverage/lcov-report/src/tests/utilities/index.html +1 -1
  304. package/coverage/lcov-report/src/tests/utilities/index.ts.html +1 -1
  305. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +26 -26
  306. package/coverage/lcov-report/src/threads/automation.ts.html +23 -23
  307. package/coverage/lcov-report/src/threads/index.html +1 -1
  308. package/coverage/lcov-report/src/threads/index.ts.html +11 -11
  309. package/coverage/lcov-report/src/threads/query.ts.html +1 -1
  310. package/coverage/lcov-report/src/threads/utils.ts.html +15 -15
  311. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +3 -3
  312. package/coverage/lcov-report/src/utilities/centralPath.ts.html +4 -4
  313. package/coverage/lcov-report/src/utilities/csvParser.ts.html +8 -8
  314. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +11 -11
  315. package/coverage/lcov-report/src/utilities/fileSystem/index.html +1 -1
  316. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +42 -42
  317. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +1 -1
  318. package/coverage/lcov-report/src/utilities/global.ts.html +27 -27
  319. package/coverage/lcov-report/src/utilities/index.html +15 -15
  320. package/coverage/lcov-report/src/utilities/index.ts.html +26 -26
  321. package/coverage/lcov-report/src/utilities/plugins.ts.html +5 -5
  322. package/coverage/lcov-report/src/utilities/redis.ts.html +22 -22
  323. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  324. package/coverage/lcov-report/src/utilities/routing/index.ts.html +5 -5
  325. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +1 -1
  326. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +17 -17
  327. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +3 -3
  328. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +6 -6
  329. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +5 -5
  330. package/coverage/lcov-report/src/utilities/security.ts.html +6 -6
  331. package/coverage/lcov-report/src/utilities/statusCodes.ts.html +1 -1
  332. package/coverage/lcov-report/src/utilities/usageQuota/index.html +1 -1
  333. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +5 -5
  334. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +1 -1
  335. package/coverage/lcov-report/src/utilities/users.ts.html +23 -23
  336. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +3 -3
  337. package/coverage/lcov-report/src/watch.ts.html +9 -9
  338. package/coverage/lcov-report/src/websocket.ts.html +6 -6
  339. package/coverage/lcov.info +3335 -3284
  340. package/dist/api/controllers/public/users.js +16 -0
  341. package/dist/api/routes/public/tests/utils.js +33 -0
  342. package/dist/package.json +6 -6
  343. package/dist/tsconfig.build.tsbuildinfo +1 -1
  344. package/package.json +7 -7
  345. package/src/api/controllers/public/users.ts +23 -6
  346. package/src/api/routes/public/tests/compare.spec.js +3 -21
  347. package/src/api/routes/public/tests/users.spec.js +38 -0
  348. package/src/api/routes/public/tests/utils.ts +28 -0
  349. package/src/utilities/workerRequests.ts +2 -2
@@ -144,10 +144,10 @@
144
144
  <a name='L79'></a><a href='#L79'>79</a>
145
145
  <a name='L80'></a><a href='#L80'>80</a>
146
146
  <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
148
- <span class="cline-any cline-yes">45x</span>
147
+ <a name='L82'></a><a href='#L82'>82</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
148
+ <span class="cline-any cline-yes">46x</span>
149
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-yes">45x</span>
150
+ <span class="cline-any cline-yes">46x</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>
@@ -167,7 +167,7 @@
167
167
  <span class="cline-any cline-yes">3x</span>
168
168
  <span class="cline-any cline-neutral">&nbsp;</span>
169
169
  <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-yes">45x</span>
170
+ <span class="cline-any cline-yes">46x</span>
171
171
  <span class="cline-any cline-yes">1x</span>
172
172
  <span class="cline-any cline-neutral">&nbsp;</span>
173
173
  <span class="cline-any cline-yes">1x</span>
@@ -186,25 +186,25 @@
186
186
  <span class="cline-any cline-yes">1x</span>
187
187
  <span class="cline-any cline-neutral">&nbsp;</span>
188
188
  <span class="cline-any cline-neutral">&nbsp;</span>
189
- <span class="cline-any cline-yes">45x</span>
189
+ <span class="cline-any cline-yes">46x</span>
190
190
  <span class="cline-any cline-yes">1x</span>
191
191
  <span class="cline-any cline-yes">1x</span>
192
192
  <span class="cline-any cline-yes">1x</span>
193
193
  <span class="cline-any cline-neutral">&nbsp;</span>
194
194
  <span class="cline-any cline-neutral">&nbsp;</span>
195
- <span class="cline-any cline-yes">45x</span>
195
+ <span class="cline-any cline-yes">46x</span>
196
196
  <span class="cline-any cline-yes">1x</span>
197
197
  <span class="cline-any cline-yes">1x</span>
198
198
  <span class="cline-any cline-neutral">&nbsp;</span>
199
199
  <span class="cline-any cline-neutral">&nbsp;</span>
200
- <span class="cline-any cline-yes">45x</span>
200
+ <span class="cline-any cline-yes">46x</span>
201
201
  <span class="cline-any cline-yes">1x</span>
202
202
  <span class="cline-any cline-yes">1x</span>
203
203
  <span class="cline-any cline-yes">1x</span>
204
204
  <span class="cline-any cline-yes">1x</span>
205
205
  <span class="cline-any cline-neutral">&nbsp;</span>
206
206
  <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-yes">45x</span>
207
+ <span class="cline-any cline-yes">46x</span>
208
208
  <span class="cline-any cline-yes">1x</span>
209
209
  <span class="cline-any cline-neutral">&nbsp;</span>
210
210
  <span class="cline-any cline-yes">1x</span>
@@ -218,7 +218,7 @@
218
218
  <span class="cline-any cline-yes">1x</span>
219
219
  <span class="cline-any cline-neutral">&nbsp;</span>
220
220
  <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-yes">45x</span>
221
+ <span class="cline-any cline-yes">46x</span>
222
222
  <span class="cline-any cline-neutral">&nbsp;</span>
223
223
  <span class="cline-any cline-neutral">&nbsp;</span>
224
224
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -313,7 +313,7 @@ export default {
313
313
  <div class='footer quiet pad2 space-top1 center small'>
314
314
  Code coverage generated by
315
315
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
316
- at Tue Dec 06 2022 16:28:21 GMT+0000 (Coordinated Universal Time)
316
+ at Wed Dec 07 2022 11:18:08 GMT+0000 (Coordinated Universal Time)
317
317
  </div>
318
318
  <script src="../../../../prettify.js"></script>
319
319
  <script>
@@ -119,8 +119,8 @@
119
119
  <a name='L54'></a><a href='#L54'>54</a>
120
120
  <a name='L55'></a><a href='#L55'>55</a>
121
121
  <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
123
- <span class="cline-any cline-yes">45x</span>
122
+ <a name='L57'></a><a href='#L57'>57</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
123
+ <span class="cline-any cline-yes">46x</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span>
125
125
  <span class="cline-any cline-neutral">&nbsp;</span>
126
126
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -136,24 +136,24 @@
136
136
  <span class="cline-any cline-yes">1x</span>
137
137
  <span class="cline-any cline-neutral">&nbsp;</span>
138
138
  <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-yes">45x</span>
139
+ <span class="cline-any cline-yes">46x</span>
140
140
  <span class="cline-any cline-yes">1x</span>
141
141
  <span class="cline-any cline-yes">1x</span>
142
142
  <span class="cline-any cline-yes">1x</span>
143
143
  <span class="cline-any cline-yes">1x</span>
144
144
  <span class="cline-any cline-neutral">&nbsp;</span>
145
145
  <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-yes">45x</span>
146
+ <span class="cline-any cline-yes">46x</span>
147
147
  <span class="cline-any cline-yes">1x</span>
148
148
  <span class="cline-any cline-yes">1x</span>
149
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
150
  <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-yes">45x</span>
151
+ <span class="cline-any cline-yes">46x</span>
152
152
  <span class="cline-any cline-yes">1x</span>
153
153
  <span class="cline-any cline-yes">1x</span>
154
154
  <span class="cline-any cline-neutral">&nbsp;</span>
155
155
  <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-yes">45x</span>
156
+ <span class="cline-any cline-yes">46x</span>
157
157
  <span class="cline-any cline-yes">1x</span>
158
158
  <span class="cline-any cline-neutral">&nbsp;</span>
159
159
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -162,13 +162,13 @@
162
162
  <span class="cline-any cline-yes">1x</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">45x</span>
165
+ <span class="cline-any cline-yes">46x</span>
166
166
  <span class="cline-any cline-yes">1x</span>
167
167
  <span class="cline-any cline-yes">1x</span>
168
168
  <span class="cline-any cline-yes">1x</span>
169
169
  <span class="cline-any cline-neutral">&nbsp;</span>
170
170
  <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-yes">45x</span>
171
+ <span class="cline-any cline-yes">46x</span>
172
172
  <span class="cline-any cline-neutral">&nbsp;</span>
173
173
  <span class="cline-any cline-neutral">&nbsp;</span>
174
174
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -238,7 +238,7 @@ export default {
238
238
  <div class='footer quiet pad2 space-top1 center small'>
239
239
  Code coverage generated by
240
240
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
241
- at Tue Dec 06 2022 16:28:21 GMT+0000 (Coordinated Universal Time)
241
+ at Wed Dec 07 2022 11:18:08 GMT+0000 (Coordinated Universal Time)
242
242
  </div>
243
243
  <script src="../../../../prettify.js"></script>
244
244
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">96.87% </span>
26
+ <span class="strong">97.5% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>31/32</span>
28
+ <span class='fraction'>39/40</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">71.42% </span>
33
+ <span class="strong">80% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>5/7</span>
35
+ <span class='fraction'>12/15</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'>6/6</span>
42
+ <span class='fraction'>7/7</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">96.87% </span>
47
+ <span class="strong">97.5% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>31/32</span>
49
+ <span class='fraction'>39/40</span>
50
50
  </div>
51
51
 
52
52
 
@@ -124,61 +124,95 @@
124
124
  <a name='L59'></a><a href='#L59'>59</a>
125
125
  <a name='L60'></a><a href='#L60'>60</a>
126
126
  <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
128
145
  <span class="cline-any cline-neutral">&nbsp;</span>
129
146
  <span class="cline-any cline-neutral">&nbsp;</span>
130
147
  <span class="cline-any cline-neutral">&nbsp;</span>
131
148
  <span class="cline-any cline-neutral">&nbsp;</span>
132
149
  <span class="cline-any cline-neutral">&nbsp;</span>
133
- <span class="cline-any cline-yes">45x</span>
134
- <span class="cline-any cline-yes">45x</span>
150
+ <span class="cline-any cline-yes">46x</span>
151
+ <span class="cline-any cline-yes">46x</span>
152
+ <span class="cline-any cline-yes">46x</span>
135
153
  <span class="cline-any cline-neutral">&nbsp;</span>
136
154
  <span class="cline-any cline-neutral">&nbsp;</span>
155
+ <span class="cline-any cline-neutral">&nbsp;</span>
156
+ <span class="cline-any cline-yes">4x</span>
157
+ <span class="cline-any cline-yes">4x</span>
158
+ <span class="cline-any cline-neutral">&nbsp;</span>
159
+ <span class="cline-any cline-yes">4x</span>
160
+ <span class="cline-any cline-neutral">&nbsp;</span>
161
+ <span class="cline-any cline-neutral">&nbsp;</span>
162
+ <span class="cline-any cline-neutral">&nbsp;</span>
163
+ <span class="cline-any cline-yes">5x</span>
137
164
  <span class="cline-any cline-yes">3x</span>
138
165
  <span class="cline-any cline-yes">2x</span>
139
- <span class="cline-any cline-yes">1x</span>
140
166
  <span class="cline-any cline-no">&nbsp;</span>
141
167
  <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-yes">3x</span>
168
+ <span class="cline-any cline-yes">5x</span>
143
169
  <span class="cline-any cline-neutral">&nbsp;</span>
144
170
  <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-yes">45x</span>
171
+ <span class="cline-any cline-yes">46x</span>
146
172
  <span class="cline-any cline-yes">1x</span>
147
173
  <span class="cline-any cline-yes">1x</span>
148
174
  <span class="cline-any cline-yes">1x</span>
149
175
  <span class="cline-any cline-yes">1x</span>
150
176
  <span class="cline-any cline-neutral">&nbsp;</span>
151
177
  <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-yes">45x</span>
178
+ <span class="cline-any cline-yes">46x</span>
153
179
  <span class="cline-any cline-yes">1x</span>
154
180
  <span class="cline-any cline-yes">1x</span>
155
181
  <span class="cline-any cline-yes">1x</span>
156
182
  <span class="cline-any cline-neutral">&nbsp;</span>
157
183
  <span class="cline-any cline-neutral">&nbsp;</span>
158
- <span class="cline-any cline-yes">45x</span>
184
+ <span class="cline-any cline-yes">46x</span>
159
185
  <span class="cline-any cline-yes">1x</span>
160
186
  <span class="cline-any cline-yes">1x</span>
161
187
  <span class="cline-any cline-neutral">&nbsp;</span>
162
188
  <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-yes">45x</span>
164
- <span class="cline-any cline-yes">1x</span>
165
- <span class="cline-any cline-yes">1x</span>
189
+ <span class="cline-any cline-yes">46x</span>
190
+ <span class="cline-any cline-yes">2x</span>
191
+ <span class="cline-any cline-yes">2x</span>
166
192
  <span class="cline-any cline-neutral">&nbsp;</span>
167
193
  <span class="cline-any cline-neutral">&nbsp;</span>
168
194
  <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-yes">1x</span>
170
- <span class="cline-any cline-yes">1x</span>
195
+ <span class="cline-any cline-neutral">&nbsp;</span>
196
+ <span class="cline-any cline-yes">2x</span>
171
197
  <span class="cline-any cline-yes">1x</span>
172
198
  <span class="cline-any cline-neutral">&nbsp;</span>
199
+ <span class="cline-any cline-yes">2x</span>
200
+ <span class="cline-any cline-yes">2x</span>
201
+ <span class="cline-any cline-yes">2x</span>
202
+ <span class="cline-any cline-neutral">&nbsp;</span>
203
+ <span class="cline-any cline-neutral">&nbsp;</span>
204
+ <span class="cline-any cline-yes">46x</span>
205
+ <span class="cline-any cline-yes">2x</span>
173
206
  <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-yes">45x</span>
207
+ <span class="cline-any cline-yes">2x</span>
175
208
  <span class="cline-any cline-yes">1x</span>
209
+ <span class="cline-any cline-neutral">&nbsp;</span>
176
210
  <span class="cline-any cline-yes">1x</span>
177
211
  <span class="cline-any cline-yes">1x</span>
178
212
  <span class="cline-any cline-yes">1x</span>
179
213
  <span class="cline-any cline-neutral">&nbsp;</span>
180
214
  <span class="cline-any cline-neutral">&nbsp;</span>
181
- <span class="cline-any cline-yes">45x</span>
215
+ <span class="cline-any cline-yes">46x</span>
182
216
  <span class="cline-any cline-neutral">&nbsp;</span>
183
217
  <span class="cline-any cline-neutral">&nbsp;</span>
184
218
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -192,9 +226,18 @@
192
226
  saveGlobalUser,
193
227
  } from "../../../utilities/workerRequests"
194
228
  import { publicApiUserFix } from "../../../utilities/users"
229
+ import { db as dbCore } from "@budibase/backend-core"
195
230
  import { search as stringSearch } from "./utils"
231
+ import { BBContext, User } from "@budibase/types"
232
+ &nbsp;
233
+ function isLoggedInUser(ctx: BBContext, user: User) {
234
+ const loggedInId = ctx.user<span class="branch-0 cbranch-no" title="branch not covered" >?._</span>id
235
+ const globalUserId = dbCore.getGlobalIDFromUserMetadataID(loggedInId!)
236
+ // check both just incase
237
+ return globalUserId === user._id || loggedInId === user._id
238
+ }
196
239
  &nbsp;
197
- function getUser(ctx: any, userId?: string) {
240
+ function getUser(ctx: BBContext, userId?: string) {
198
241
  if (userId) {
199
242
  ctx.params = { userId }
200
243
  } else <span class="missing-if-branch" title="if path not taken" >I</span>if (!ctx.params<span class="branch-0 cbranch-no" title="branch not covered" >?.u</span>serId) {
@@ -203,37 +246,45 @@ function getUser(ctx: any, userId?: string) {
203
246
  return readGlobalUser(ctx)
204
247
  }
205
248
  &nbsp;
206
- export async function search(ctx: any, next: any) {
249
+ export async function search(ctx: BBContext, next: any) {
207
250
  const { name } = ctx.request.body
208
251
  const users = await allGlobalUsers(ctx)
209
252
  ctx.body = stringSearch(users, name, "email")
210
253
  await next()
211
254
  }
212
255
  &nbsp;
213
- export async function create(ctx: any, next: any) {
256
+ export async function create(ctx: BBContext, next: any) {
214
257
  const response = await saveGlobalUser(publicApiUserFix(ctx))
215
258
  ctx.body = await getUser(ctx, response._id)
216
259
  await next()
217
260
  }
218
261
  &nbsp;
219
- export async function read(ctx: any, next: any) {
262
+ export async function read(ctx: BBContext, next: any) {
220
263
  ctx.body = await readGlobalUser(ctx)
221
264
  await next()
222
265
  }
223
266
  &nbsp;
224
- export async function update(ctx: any, next: any) {
267
+ export async function update(ctx: BBContext, next: any) {
225
268
  const user = await readGlobalUser(ctx)
226
269
  ctx.request.body = {
227
270
  ...ctx.request.body,
228
271
  _rev: user._rev,
229
272
  }
273
+ // disallow updating your own role - always overwrite with DB roles
274
+ if (isLoggedInUser(ctx, user)) {
275
+ ctx.request.body.roles = user.roles
276
+ }
230
277
  const response = await saveGlobalUser(publicApiUserFix(ctx))
231
278
  ctx.body = await getUser(ctx, response._id)
232
279
  await next()
233
280
  }
234
281
  &nbsp;
235
- export async function destroy(ctx: any, next: any) {
282
+ export async function destroy(ctx: BBContext, next: any) {
236
283
  const user = await getUser(ctx)
284
+ // disallow deleting yourself
285
+ if (isLoggedInUser(ctx, user)) {
286
+ ctx.throw(405, "Cannot delete user using its own API key.")
287
+ }
237
288
  await deleteGlobalUser(ctx)
238
289
  ctx.body = user
239
290
  await next()
@@ -253,7 +304,7 @@ export default {
253
304
  <div class='footer quiet pad2 space-top1 center small'>
254
305
  Code coverage generated by
255
306
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
256
- at Tue Dec 06 2022 16:28:21 GMT+0000 (Coordinated Universal Time)
307
+ at Wed Dec 07 2022 11:18:08 GMT+0000 (Coordinated Universal Time)
257
308
  </div>
258
309
  <script src="../../../../prettify.js"></script>
259
310
  <script>
@@ -108,11 +108,11 @@
108
108
  <a name='L43'></a><a href='#L43'>43</a>
109
109
  <a name='L44'></a><a href='#L44'>44</a>
110
110
  <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
112
- <span class="cline-any cline-yes">45x</span>
113
- <span class="cline-any cline-yes">45x</span>
111
+ <a name='L46'></a><a href='#L46'>46</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
112
+ <span class="cline-any cline-yes">46x</span>
113
+ <span class="cline-any cline-yes">46x</span>
114
114
  <span class="cline-any cline-neutral">&nbsp;</span>
115
- <span class="cline-any cline-yes">45x</span>
115
+ <span class="cline-any cline-yes">46x</span>
116
116
  <span class="cline-any cline-neutral">&nbsp;</span>
117
117
  <span class="cline-any cline-neutral">&nbsp;</span>
118
118
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -136,7 +136,7 @@
136
136
  <span class="cline-any cline-neutral">&nbsp;</span>
137
137
  <span class="cline-any cline-neutral">&nbsp;</span>
138
138
  <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-yes">45x</span>
139
+ <span class="cline-any cline-yes">46x</span>
140
140
  <span class="cline-any cline-yes">4x</span>
141
141
  <span class="cline-any cline-yes">4x</span>
142
142
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -205,7 +205,7 @@ export function search(docs: any[], value: any, key = "name") {
205
205
  <div class='footer quiet pad2 space-top1 center small'>
206
206
  Code coverage generated by
207
207
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
208
- at Tue Dec 06 2022 16:28:21 GMT+0000 (Coordinated Universal Time)
208
+ at Wed Dec 07 2022 11:18:08 GMT+0000 (Coordinated Universal Time)
209
209
  </div>
210
210
  <script src="../../../../prettify.js"></script>
211
211
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Tue Dec 06 2022 16:28:21 GMT+0000 (Coordinated Universal Time)
104
+ at Wed Dec 07 2022 11:18:08 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../../../prettify.js"></script>
107
107
  <script>
@@ -159,14 +159,14 @@
159
159
  <a name='L94'></a><a href='#L94'>94</a>
160
160
  <a name='L95'></a><a href='#L95'>95</a>
161
161
  <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
163
- <span class="cline-any cline-yes">46x</span>
162
+ <a name='L97'></a><a href='#L97'>97</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">47x</span>
163
+ <span class="cline-any cline-yes">47x</span>
164
164
  <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-yes">46x</span>
166
- <span class="cline-any cline-yes">46x</span>
167
- <span class="cline-any cline-yes">46x</span>
165
+ <span class="cline-any cline-yes">47x</span>
166
+ <span class="cline-any cline-yes">47x</span>
167
+ <span class="cline-any cline-yes">47x</span>
168
168
  <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-yes">46x</span>
169
+ <span class="cline-any cline-yes">47x</span>
170
170
  <span class="cline-any cline-neutral">&nbsp;</span>
171
171
  <span class="cline-any cline-neutral">&nbsp;</span>
172
172
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -174,7 +174,7 @@
174
174
  <span class="cline-any cline-neutral">&nbsp;</span>
175
175
  <span class="cline-any cline-neutral">&nbsp;</span>
176
176
  <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-yes">46x</span>
177
+ <span class="cline-any cline-yes">47x</span>
178
178
  <span class="cline-any cline-neutral">&nbsp;</span>
179
179
  <span class="cline-any cline-neutral">&nbsp;</span>
180
180
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -358,7 +358,7 @@ export class RestImporter {
358
358
  <div class='footer quiet pad2 space-top1 center small'>
359
359
  Code coverage generated by
360
360
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
361
- at Tue Dec 06 2022 16:28:21 GMT+0000 (Coordinated Universal Time)
361
+ at Wed Dec 07 2022 11:18:08 GMT+0000 (Coordinated Universal Time)
362
362
  </div>
363
363
  <script src="../../../../../prettify.js"></script>
364
364
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at Tue Dec 06 2022 16:28:21 GMT+0000 (Coordinated Universal Time)
119
+ at Wed Dec 07 2022 11:18:08 GMT+0000 (Coordinated Universal Time)
120
120
  </div>
121
121
  <script src="../../../../../../../prettify.js"></script>
122
122
  <script>
@@ -168,15 +168,15 @@
168
168
  <span class="cline-any cline-neutral">&nbsp;</span>
169
169
  <span class="cline-any cline-neutral">&nbsp;</span>
170
170
  <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-yes">49x</span>
172
- <span class="cline-any cline-yes">49x</span>
173
- <span class="cline-any cline-yes">49x</span>
174
- <span class="cline-any cline-yes">49x</span>
175
- <span class="cline-any cline-yes">49x</span>
176
- <span class="cline-any cline-yes">49x</span>
171
+ <span class="cline-any cline-yes">50x</span>
172
+ <span class="cline-any cline-yes">50x</span>
173
+ <span class="cline-any cline-yes">50x</span>
174
+ <span class="cline-any cline-yes">50x</span>
175
+ <span class="cline-any cline-yes">50x</span>
176
+ <span class="cline-any cline-yes">50x</span>
177
177
  <span class="cline-any cline-neutral">&nbsp;</span>
178
178
  <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-yes">49x</span>
179
+ <span class="cline-any cline-yes">50x</span>
180
180
  <span class="cline-any cline-neutral">&nbsp;</span>
181
181
  <span class="cline-any cline-neutral">&nbsp;</span>
182
182
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -364,7 +364,7 @@ export abstract class ImportSource {
364
364
  <div class='footer quiet pad2 space-top1 center small'>
365
365
  Code coverage generated by
366
366
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
367
- at Tue Dec 06 2022 16:28:21 GMT+0000 (Coordinated Universal Time)
367
+ at Wed Dec 07 2022 11:18:08 GMT+0000 (Coordinated Universal Time)
368
368
  </div>
369
369
  <script src="../../../../../../../prettify.js"></script>
370
370
  <script>
@@ -87,12 +87,12 @@
87
87
  <a name='L22'></a><a href='#L22'>22</a>
88
88
  <a name='L23'></a><a href='#L23'>23</a>
89
89
  <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">48x</span>
91
- <span class="cline-any cline-yes">48x</span>
90
+ <a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">49x</span>
91
+ <span class="cline-any cline-yes">49x</span>
92
92
  <span class="cline-any cline-neutral">&nbsp;</span>
93
- <span class="cline-any cline-yes">48x</span>
93
+ <span class="cline-any cline-yes">49x</span>
94
94
  <span class="cline-any cline-neutral">&nbsp;</span>
95
- <span class="cline-any cline-yes">48x</span>
95
+ <span class="cline-any cline-yes">49x</span>
96
96
  <span class="cline-any cline-yes">60x</span>
97
97
  <span class="cline-any cline-neutral">&nbsp;</span>
98
98
  <span class="cline-any cline-yes">60x</span>
@@ -142,7 +142,7 @@ export abstract class OpenAPISource extends ImportSource {
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
- at Tue Dec 06 2022 16:28:21 GMT+0000 (Coordinated Universal Time)
145
+ at Wed Dec 07 2022 11:18:08 GMT+0000 (Coordinated Universal Time)
146
146
  </div>
147
147
  <script src="../../../../../../../prettify.js"></script>
148
148
  <script>
@@ -169,12 +169,12 @@
169
169
  <a name='L104'></a><a href='#L104'>104</a>
170
170
  <a name='L105'></a><a href='#L105'>105</a>
171
171
  <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">47x</span>
172
+ <a name='L107'></a><a href='#L107'>107</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">48x</span>
173
173
  <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-yes">47x</span>
175
- <span class="cline-any cline-yes">47x</span>
174
+ <span class="cline-any cline-yes">48x</span>
175
+ <span class="cline-any cline-yes">48x</span>
176
176
  <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-yes">47x</span>
177
+ <span class="cline-any cline-yes">48x</span>
178
178
  <span class="cline-any cline-yes">19x</span>
179
179
  <span class="cline-any cline-yes">17x</span>
180
180
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -184,7 +184,7 @@
184
184
  <span class="cline-any cline-neutral">&nbsp;</span>
185
185
  <span class="cline-any cline-neutral">&nbsp;</span>
186
186
  <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-yes">47x</span>
187
+ <span class="cline-any cline-yes">48x</span>
188
188
  <span class="cline-any cline-yes">15x</span>
189
189
  <span class="cline-any cline-yes">6x</span>
190
190
  <span class="cline-any cline-yes">6x</span>
@@ -203,7 +203,7 @@
203
203
  <span class="cline-any cline-yes">9x</span>
204
204
  <span class="cline-any cline-neutral">&nbsp;</span>
205
205
  <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-yes">47x</span>
206
+ <span class="cline-any cline-yes">48x</span>
207
207
  <span class="cline-any cline-yes">15x</span>
208
208
  <span class="cline-any cline-no">&nbsp;</span>
209
209
  <span class="cline-any cline-no">&nbsp;</span>
@@ -218,7 +218,7 @@
218
218
  <span class="cline-any cline-neutral">&nbsp;</span>
219
219
  <span class="cline-any cline-neutral">&nbsp;</span>
220
220
  <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-yes">47x</span>
221
+ <span class="cline-any cline-yes">48x</span>
222
222
  <span class="cline-any cline-neutral">&nbsp;</span>
223
223
  <span class="cline-any cline-neutral">&nbsp;</span>
224
224
  <span class="cline-any cline-yes">25x</span>
@@ -388,7 +388,7 @@ export class Curl extends ImportSource {
388
388
  <div class='footer quiet pad2 space-top1 center small'>
389
389
  Code coverage generated by
390
390
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
391
- at Tue Dec 06 2022 16:28:21 GMT+0000 (Coordinated Universal Time)
391
+ at Wed Dec 07 2022 11:18:08 GMT+0000 (Coordinated Universal Time)
392
392
  </div>
393
393
  <script src="../../../../../../prettify.js"></script>
394
394
  <script>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at Tue Dec 06 2022 16:28:21 GMT+0000 (Coordinated Universal Time)
134
+ at Wed Dec 07 2022 11:18:08 GMT+0000 (Coordinated Universal Time)
135
135
  </div>
136
136
  <script src="../../../../../../prettify.js"></script>
137
137
  <script>