@budibase/server 2.2.12-alpha.2 → 2.2.12-alpha.20

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 (471) hide show
  1. package/builder/assets/{index.940455a2.js → index.35af2c9c.js} +296 -296
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +1627 -1752
  4. package/coverage/coverage-final.json +278 -279
  5. package/coverage/lcov-report/index.html +389 -389
  6. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +4 -4
  7. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +2 -2
  8. package/coverage/lcov-report/src/api/controllers/application.ts.html +81 -81
  9. package/coverage/lcov-report/src/api/controllers/auth.ts.html +2 -2
  10. package/coverage/lcov-report/src/api/controllers/automation.ts.html +17 -17
  11. package/coverage/lcov-report/src/api/controllers/backup.ts.html +3 -3
  12. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +5 -5
  13. package/coverage/lcov-report/src/api/controllers/component.ts.html +8 -8
  14. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +23 -23
  15. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +16 -16
  16. package/coverage/lcov-report/src/api/controllers/deploy/index.html +7 -7
  17. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +73 -73
  18. package/coverage/lcov-report/src/api/controllers/dev.ts.html +15 -15
  19. package/coverage/lcov-report/src/api/controllers/index.html +98 -98
  20. package/coverage/lcov-report/src/api/controllers/integration.ts.html +2 -2
  21. package/coverage/lcov-report/src/api/controllers/layout.ts.html +5 -5
  22. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +3 -3
  23. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +3 -3
  24. package/coverage/lcov-report/src/api/controllers/permission.ts.html +4 -4
  25. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +4 -4
  26. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +17 -17
  27. package/coverage/lcov-report/src/api/controllers/plugin/index.html +31 -31
  28. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +21 -21
  29. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +7 -7
  30. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +5 -5
  31. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +2 -2
  32. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +2 -2
  33. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +27 -27
  34. package/coverage/lcov-report/src/api/controllers/public/index.html +58 -58
  35. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +6 -6
  36. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +25 -25
  37. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +3 -3
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +7 -7
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +3 -3
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +3 -3
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +3 -3
  42. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +13 -13
  43. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +18 -18
  44. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +19 -19
  45. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +24 -24
  46. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +5 -5
  47. package/coverage/lcov-report/src/api/controllers/query/import/index.html +8 -8
  48. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +5 -5
  49. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +14 -14
  50. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +13 -13
  51. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +5 -5
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +6 -6
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +23 -23
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +8 -8
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +8 -8
  56. package/coverage/lcov-report/src/api/controllers/query/index.html +15 -15
  57. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +20 -20
  58. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +5 -5
  59. package/coverage/lcov-report/src/api/controllers/role.ts.html +4 -4
  60. package/coverage/lcov-report/src/api/controllers/routing.ts.html +5 -5
  61. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +30 -30
  62. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +38 -38
  63. package/coverage/lcov-report/src/api/controllers/row/index.html +53 -53
  64. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +12 -12
  65. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +19 -19
  66. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +28 -28
  67. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +14 -14
  68. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +7 -7
  69. package/coverage/lcov-report/src/api/controllers/screen.ts.html +8 -8
  70. package/coverage/lcov-report/src/api/controllers/script.ts.html +10 -10
  71. package/coverage/lcov-report/src/api/controllers/static/index.html +15 -15
  72. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +17 -17
  73. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +10 -10
  74. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +22 -22
  75. package/coverage/lcov-report/src/api/controllers/table/index.html +37 -37
  76. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +9 -9
  77. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +15 -18
  78. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +34 -34
  79. package/coverage/lcov-report/src/api/controllers/templates.ts.html +15 -15
  80. package/coverage/lcov-report/src/api/controllers/user.ts.html +101 -77
  81. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +5 -5
  82. package/coverage/lcov-report/src/api/controllers/view/index.html +25 -25
  83. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +15 -15
  84. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +19 -19
  85. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +3 -3
  86. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +4 -4
  87. package/coverage/lcov-report/src/api/index.html +15 -15
  88. package/coverage/lcov-report/src/api/index.ts.html +14 -14
  89. package/coverage/lcov-report/src/api/routes/analytics.ts.html +4 -4
  90. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +4 -4
  91. package/coverage/lcov-report/src/api/routes/application.ts.html +4 -4
  92. package/coverage/lcov-report/src/api/routes/auth.ts.html +4 -4
  93. package/coverage/lcov-report/src/api/routes/automation.ts.html +5 -5
  94. package/coverage/lcov-report/src/api/routes/backup.ts.html +4 -4
  95. package/coverage/lcov-report/src/api/routes/cloud.ts.html +4 -4
  96. package/coverage/lcov-report/src/api/routes/component.ts.html +4 -4
  97. package/coverage/lcov-report/src/api/routes/datasource.ts.html +5 -5
  98. package/coverage/lcov-report/src/api/routes/deploy.ts.html +4 -4
  99. package/coverage/lcov-report/src/api/routes/dev.ts.html +5 -5
  100. package/coverage/lcov-report/src/api/routes/index.html +66 -66
  101. package/coverage/lcov-report/src/api/routes/index.ts.html +5 -5
  102. package/coverage/lcov-report/src/api/routes/integration.ts.html +4 -4
  103. package/coverage/lcov-report/src/api/routes/layout.ts.html +4 -4
  104. package/coverage/lcov-report/src/api/routes/metadata.ts.html +5 -5
  105. package/coverage/lcov-report/src/api/routes/migrations.ts.html +4 -4
  106. package/coverage/lcov-report/src/api/routes/permission.ts.html +4 -4
  107. package/coverage/lcov-report/src/api/routes/plugin.ts.html +3 -3
  108. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +3 -3
  109. package/coverage/lcov-report/src/api/routes/public/index.html +24 -24
  110. package/coverage/lcov-report/src/api/routes/public/index.ts.html +10 -10
  111. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +5 -5
  112. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +10 -10
  113. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +3 -3
  114. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +3 -3
  115. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +3 -3
  116. package/coverage/lcov-report/src/api/routes/public/tests/index.html +7 -7
  117. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +5 -5
  118. package/coverage/lcov-report/src/api/routes/public/users.ts.html +3 -3
  119. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +4 -4
  120. package/coverage/lcov-report/src/api/routes/public/utils/index.html +5 -5
  121. package/coverage/lcov-report/src/api/routes/query.ts.html +5 -5
  122. package/coverage/lcov-report/src/api/routes/role.ts.html +4 -4
  123. package/coverage/lcov-report/src/api/routes/routing.ts.html +4 -4
  124. package/coverage/lcov-report/src/api/routes/row.ts.html +3 -3
  125. package/coverage/lcov-report/src/api/routes/screen.ts.html +4 -4
  126. package/coverage/lcov-report/src/api/routes/script.ts.html +13 -13
  127. package/coverage/lcov-report/src/api/routes/static.ts.html +6 -6
  128. package/coverage/lcov-report/src/api/routes/table.ts.html +4 -4
  129. package/coverage/lcov-report/src/api/routes/templates.ts.html +4 -4
  130. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +13 -13
  131. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +23 -23
  132. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +14 -14
  133. package/coverage/lcov-report/src/api/routes/user.ts.html +4 -4
  134. package/coverage/lcov-report/src/api/routes/utils/index.html +3 -3
  135. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +7 -7
  136. package/coverage/lcov-report/src/api/routes/view.ts.html +4 -4
  137. package/coverage/lcov-report/src/api/routes/webhook.ts.html +4 -4
  138. package/coverage/lcov-report/src/app.ts.html +22 -16
  139. package/coverage/lcov-report/src/automations/actions.ts.html +9 -9
  140. package/coverage/lcov-report/src/automations/automationUtils.ts.html +15 -15
  141. package/coverage/lcov-report/src/automations/bullboard.ts.html +12 -12
  142. package/coverage/lcov-report/src/automations/index.html +52 -52
  143. package/coverage/lcov-report/src/automations/index.ts.html +16 -16
  144. package/coverage/lcov-report/src/automations/logging/index.html +3 -3
  145. package/coverage/lcov-report/src/automations/logging/index.ts.html +5 -5
  146. package/coverage/lcov-report/src/automations/steps/bash.ts.html +5 -5
  147. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +4 -4
  148. package/coverage/lcov-report/src/automations/steps/delay.ts.html +4 -4
  149. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +4 -4
  150. package/coverage/lcov-report/src/automations/steps/discord.ts.html +5 -5
  151. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +4 -4
  152. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +4 -4
  153. package/coverage/lcov-report/src/automations/steps/filter.ts.html +8 -8
  154. package/coverage/lcov-report/src/automations/steps/index.html +71 -71
  155. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +6 -6
  156. package/coverage/lcov-report/src/automations/steps/loop.ts.html +3 -3
  157. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +12 -12
  158. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +12 -12
  159. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +5 -5
  160. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +5 -5
  161. package/coverage/lcov-report/src/automations/steps/slack.ts.html +6 -6
  162. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +4 -4
  163. package/coverage/lcov-report/src/automations/steps/utils.ts.html +4 -4
  164. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +4 -4
  165. package/coverage/lcov-report/src/automations/tests/utilities/index.html +15 -15
  166. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +14 -14
  167. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +5 -5
  168. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +5 -5
  169. package/coverage/lcov-report/src/automations/triggerInfo/index.html +17 -17
  170. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +4 -4
  171. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +5 -5
  172. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +5 -5
  173. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +5 -5
  174. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +5 -5
  175. package/coverage/lcov-report/src/automations/triggers.ts.html +11 -11
  176. package/coverage/lcov-report/src/automations/utils.ts.html +37 -37
  177. package/coverage/lcov-report/src/constants/index.html +19 -19
  178. package/coverage/lcov-report/src/constants/index.ts.html +80 -80
  179. package/coverage/lcov-report/src/constants/layouts.ts.html +6 -6
  180. package/coverage/lcov-report/src/constants/screens.ts.html +2 -2
  181. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +25 -25
  182. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +7 -7
  183. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +7 -7
  184. package/coverage/lcov-report/src/db/defaultData/index.html +43 -43
  185. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +7 -7
  186. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +7 -7
  187. package/coverage/lcov-report/src/db/dynamoClient.ts.html +12 -12
  188. package/coverage/lcov-report/src/db/inMemoryView.ts.html +10 -10
  189. package/coverage/lcov-report/src/db/index.html +32 -32
  190. package/coverage/lcov-report/src/db/index.ts.html +3 -3
  191. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +22 -22
  192. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +4 -4
  193. package/coverage/lcov-report/src/db/linkedRows/index.html +37 -37
  194. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +18 -18
  195. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +15 -15
  196. package/coverage/lcov-report/src/db/newid.ts.html +4 -4
  197. package/coverage/lcov-report/src/db/utils.ts.html +59 -59
  198. package/coverage/lcov-report/src/definitions/automations.ts.html +4 -4
  199. package/coverage/lcov-report/src/definitions/datasource.ts.html +4 -4
  200. package/coverage/lcov-report/src/definitions/index.html +4 -4
  201. package/coverage/lcov-report/src/environment.ts.html +11 -11
  202. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +7 -7
  203. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +4 -4
  204. package/coverage/lcov-report/src/events/index.html +20 -20
  205. package/coverage/lcov-report/src/events/index.ts.html +5 -5
  206. package/coverage/lcov-report/src/events/utils.ts.html +11 -11
  207. package/coverage/lcov-report/src/index.html +36 -36
  208. package/coverage/lcov-report/src/index.ts.html +6 -6
  209. package/coverage/lcov-report/src/integrations/airtable.ts.html +8 -8
  210. package/coverage/lcov-report/src/integrations/arangodb.ts.html +7 -7
  211. package/coverage/lcov-report/src/integrations/base/index.html +20 -20
  212. package/coverage/lcov-report/src/integrations/base/query.ts.html +2 -2
  213. package/coverage/lcov-report/src/integrations/base/sql.ts.html +28 -28
  214. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +15 -15
  215. package/coverage/lcov-report/src/integrations/base/utils.ts.html +2 -2
  216. package/coverage/lcov-report/src/integrations/couchdb.ts.html +8 -8
  217. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +12 -12
  218. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +7 -7
  219. package/coverage/lcov-report/src/integrations/firebase.ts.html +10 -10
  220. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +33 -33
  221. package/coverage/lcov-report/src/integrations/index.html +123 -123
  222. package/coverage/lcov-report/src/integrations/index.ts.html +13 -13
  223. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +26 -26
  224. package/coverage/lcov-report/src/integrations/mongodb.ts.html +15 -15
  225. package/coverage/lcov-report/src/integrations/mysql.ts.html +20 -20
  226. package/coverage/lcov-report/src/integrations/oracle.ts.html +21 -21
  227. package/coverage/lcov-report/src/integrations/postgres.ts.html +15 -15
  228. package/coverage/lcov-report/src/integrations/queries/index.html +5 -5
  229. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +6 -6
  230. package/coverage/lcov-report/src/integrations/redis.ts.html +5 -5
  231. package/coverage/lcov-report/src/integrations/rest.ts.html +15 -15
  232. package/coverage/lcov-report/src/integrations/s3.ts.html +14 -14
  233. package/coverage/lcov-report/src/integrations/snowflake.ts.html +12 -12
  234. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  235. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  236. package/coverage/lcov-report/src/integrations/utils.ts.html +34 -34
  237. package/coverage/lcov-report/src/middleware/appInfo.ts.html +8 -8
  238. package/coverage/lcov-report/src/middleware/authorized.ts.html +43 -31
  239. package/coverage/lcov-report/src/middleware/builder.ts.html +22 -22
  240. package/coverage/lcov-report/src/middleware/currentapp.ts.html +46 -43
  241. package/coverage/lcov-report/src/middleware/index.html +40 -40
  242. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +10 -10
  243. package/coverage/lcov-report/src/middleware/publicApi.ts.html +7 -7
  244. package/coverage/lcov-report/src/middleware/resourceId.ts.html +6 -6
  245. package/coverage/lcov-report/src/middleware/selfhost.ts.html +2 -2
  246. package/coverage/lcov-report/src/middleware/utils.ts.html +3 -3
  247. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +4 -4
  248. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +3 -3
  249. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +3 -3
  250. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +31 -31
  251. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +4 -4
  252. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +7 -7
  253. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +3 -3
  254. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +3 -3
  255. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +5 -5
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +3 -3
  257. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +6 -6
  258. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +19 -19
  259. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +3 -3
  260. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +8 -8
  261. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +11 -11
  262. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +26 -26
  263. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +3 -3
  264. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +7 -7
  265. package/coverage/lcov-report/src/migrations/functions/index.html +18 -18
  266. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +4 -4
  267. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +7 -7
  268. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +11 -11
  269. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +2 -2
  270. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +2 -2
  271. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +5 -5
  272. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +2 -2
  273. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +3 -3
  274. package/coverage/lcov-report/src/migrations/index.html +15 -15
  275. package/coverage/lcov-report/src/migrations/index.ts.html +13 -13
  276. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +4 -4
  277. package/coverage/lcov-report/src/migrations/tests/index.html +6 -6
  278. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +3 -3
  279. package/coverage/lcov-report/src/sdk/app/applications/index.html +11 -11
  280. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +3 -3
  281. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +20 -20
  282. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +13 -13
  283. package/coverage/lcov-report/src/sdk/app/automations/index.html +7 -7
  284. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +3 -3
  285. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +6 -6
  286. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +3 -3
  287. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +15 -15
  288. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +8 -8
  289. package/coverage/lcov-report/src/sdk/app/backups/index.html +27 -27
  290. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +3 -3
  291. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +7 -7
  292. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +3 -3
  293. package/coverage/lcov-report/src/sdk/app/rows/index.html +8 -8
  294. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +3 -3
  295. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +1 -1
  296. package/coverage/lcov-report/src/sdk/app/tables/index.html +11 -11
  297. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +7 -7
  298. package/coverage/lcov-report/src/sdk/index.html +5 -5
  299. package/coverage/lcov-report/src/sdk/index.ts.html +4 -4
  300. package/coverage/lcov-report/src/sdk/users/index.html +6 -6
  301. package/coverage/lcov-report/src/sdk/users/index.ts.html +3 -3
  302. package/coverage/lcov-report/src/sdk/users/utils.ts.html +22 -22
  303. package/coverage/lcov-report/src/startup.ts.html +10 -25
  304. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +76 -76
  305. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +11 -11
  306. package/coverage/lcov-report/src/tests/utilities/index.html +26 -26
  307. package/coverage/lcov-report/src/tests/utilities/index.ts.html +2 -2
  308. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +30 -30
  309. package/coverage/lcov-report/src/threads/automation.ts.html +20 -20
  310. package/coverage/lcov-report/src/threads/index.html +39 -39
  311. package/coverage/lcov-report/src/threads/index.ts.html +17 -17
  312. package/coverage/lcov-report/src/threads/query.ts.html +12 -12
  313. package/coverage/lcov-report/src/threads/utils.ts.html +19 -19
  314. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +4 -4
  315. package/coverage/lcov-report/src/utilities/centralPath.ts.html +5 -5
  316. package/coverage/lcov-report/src/utilities/csvParser.ts.html +19 -19
  317. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +9 -9
  318. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +12 -12
  319. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +11 -11
  320. package/coverage/lcov-report/src/utilities/fileSystem/index.html +40 -40
  321. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +1 -1
  322. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +6 -6
  323. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +9 -9
  324. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +5 -5
  325. package/coverage/lcov-report/src/utilities/global.ts.html +56 -56
  326. package/coverage/lcov-report/src/utilities/index.html +69 -84
  327. package/coverage/lcov-report/src/utilities/index.ts.html +25 -25
  328. package/coverage/lcov-report/src/utilities/redis.ts.html +25 -25
  329. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  330. package/coverage/lcov-report/src/utilities/routing/index.ts.html +2 -2
  331. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +32 -32
  332. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +20 -20
  333. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +8 -8
  334. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +15 -15
  335. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +4 -4
  336. package/coverage/lcov-report/src/utilities/security.ts.html +10 -10
  337. package/coverage/lcov-report/src/utilities/usageQuota/index.html +9 -9
  338. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +5 -5
  339. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +3 -3
  340. package/coverage/lcov-report/src/utilities/users.ts.html +4 -4
  341. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +57 -30
  342. package/coverage/lcov-report/src/watch.ts.html +13 -13
  343. package/coverage/lcov-report/src/websocket.ts.html +3 -3
  344. package/coverage/lcov.info +7002 -6691
  345. package/dist/api/controllers/query/index.js +5 -2
  346. package/dist/api/controllers/static/index.js +7 -4
  347. package/dist/api/controllers/table/internal.js +2 -3
  348. package/dist/api/controllers/user.js +14 -6
  349. package/dist/api/controllers/view/viewBuilder.js +15 -2
  350. package/dist/api/routes/analytics.js +2 -1
  351. package/dist/api/routes/apikeys.js +2 -1
  352. package/dist/api/routes/application.js +2 -1
  353. package/dist/api/routes/auth.js +2 -1
  354. package/dist/api/routes/automation.js +2 -1
  355. package/dist/api/routes/backup.js +2 -1
  356. package/dist/api/routes/cloud.js +2 -1
  357. package/dist/api/routes/component.js +2 -1
  358. package/dist/api/routes/datasource.js +2 -1
  359. package/dist/api/routes/deploy.js +2 -1
  360. package/dist/api/routes/dev.js +2 -1
  361. package/dist/api/routes/integration.js +2 -1
  362. package/dist/api/routes/layout.js +2 -1
  363. package/dist/api/routes/metadata.js +2 -1
  364. package/dist/api/routes/migrations.js +2 -1
  365. package/dist/api/routes/permission.js +2 -1
  366. package/dist/api/routes/query.js +2 -1
  367. package/dist/api/routes/role.js +2 -1
  368. package/dist/api/routes/routing.js +2 -1
  369. package/dist/api/routes/screen.js +2 -1
  370. package/dist/api/routes/script.js +2 -1
  371. package/dist/api/routes/static.js +6 -5
  372. package/dist/api/routes/table.js +2 -1
  373. package/dist/api/routes/templates.js +2 -1
  374. package/dist/api/routes/user.js +2 -1
  375. package/dist/api/routes/view.js +2 -1
  376. package/dist/api/routes/webhook.js +2 -1
  377. package/dist/app.js +9 -7
  378. package/dist/automations/logging/index.js +5 -25
  379. package/dist/db/index.js +5 -2
  380. package/dist/db/linkedRows/LinkController.js +2 -1
  381. package/dist/db/linkedRows/LinkDocument.js +2 -1
  382. package/dist/db/newid.js +4 -2
  383. package/dist/environment.js +2 -1
  384. package/dist/events/AutomationEmitter.js +2 -1
  385. package/dist/events/BudibaseEmitter.js +2 -1
  386. package/dist/events/index.js +2 -1
  387. package/dist/integrations/index.js +5 -5
  388. package/dist/middleware/authorized.js +2 -1
  389. package/dist/middleware/builder.js +4 -2
  390. package/dist/middleware/currentapp.js +6 -3
  391. package/dist/middleware/publicApi.js +4 -2
  392. package/dist/middleware/selfhost.js +4 -1
  393. package/dist/package.json +8 -6
  394. package/dist/startup.js +17 -17
  395. package/dist/threads/index.js +4 -4
  396. package/dist/tsconfig.build.tsbuildinfo +1 -1
  397. package/dist/utilities/fileSystem/filesystem.js +3 -3
  398. package/dist/utilities/scriptRunner.js +2 -1
  399. package/dist/utilities/statusCodes.js +2 -1
  400. package/dist/utilities/workerRequests.js +2 -0
  401. package/dist/watch.js +2 -25
  402. package/jest.config.ts +5 -2
  403. package/package.json +9 -7
  404. package/src/api/controllers/query/index.ts +2 -2
  405. package/src/api/controllers/static/index.ts +1 -1
  406. package/src/api/controllers/table/internal.ts +2 -3
  407. package/src/api/controllers/user.ts +21 -13
  408. package/src/api/controllers/view/tests/viewBuilder.spec.js +1 -1
  409. package/src/api/controllers/view/viewBuilder.ts +1 -1
  410. package/src/api/routes/analytics.ts +1 -1
  411. package/src/api/routes/apikeys.ts +1 -1
  412. package/src/api/routes/application.ts +1 -1
  413. package/src/api/routes/auth.ts +1 -1
  414. package/src/api/routes/automation.ts +1 -1
  415. package/src/api/routes/backup.ts +1 -1
  416. package/src/api/routes/cloud.ts +1 -1
  417. package/src/api/routes/component.ts +1 -1
  418. package/src/api/routes/datasource.ts +1 -1
  419. package/src/api/routes/deploy.ts +1 -1
  420. package/src/api/routes/dev.ts +1 -1
  421. package/src/api/routes/integration.ts +1 -1
  422. package/src/api/routes/layout.ts +1 -1
  423. package/src/api/routes/metadata.ts +1 -1
  424. package/src/api/routes/migrations.ts +1 -1
  425. package/src/api/routes/permission.ts +1 -1
  426. package/src/api/routes/query.ts +1 -1
  427. package/src/api/routes/role.ts +1 -1
  428. package/src/api/routes/routing.ts +1 -1
  429. package/src/api/routes/screen.ts +1 -1
  430. package/src/api/routes/script.ts +1 -1
  431. package/src/api/routes/static.ts +2 -2
  432. package/src/api/routes/table.ts +1 -1
  433. package/src/api/routes/templates.ts +1 -1
  434. package/src/api/routes/tests/plugin.spec.ts +10 -10
  435. package/src/api/routes/tests/user.spec.js +20 -1
  436. package/src/api/routes/tests/utilities/TestFunctions.ts +1 -1
  437. package/src/api/routes/user.ts +1 -1
  438. package/src/api/routes/view.ts +1 -1
  439. package/src/api/routes/webhook.ts +1 -1
  440. package/src/app.ts +5 -3
  441. package/src/automations/logging/index.ts +1 -1
  442. package/src/db/index.ts +1 -1
  443. package/src/db/linkedRows/LinkController.ts +1 -1
  444. package/src/db/linkedRows/LinkDocument.ts +1 -1
  445. package/src/db/newid.ts +1 -1
  446. package/src/db/tests/linkController.spec.js +1 -1
  447. package/src/environment.ts +1 -1
  448. package/src/events/AutomationEmitter.ts +1 -1
  449. package/src/events/BudibaseEmitter.ts +1 -1
  450. package/src/events/index.ts +1 -1
  451. package/src/integrations/index.ts +4 -4
  452. package/src/integrations/tests/rest.spec.ts +15 -13
  453. package/src/middleware/authorized.ts +5 -1
  454. package/src/middleware/builder.ts +1 -1
  455. package/src/middleware/currentapp.ts +4 -3
  456. package/src/middleware/publicApi.ts +1 -1
  457. package/src/middleware/selfhost.ts +1 -1
  458. package/src/middleware/tests/authorized.spec.js +1 -1
  459. package/src/middleware/tests/currentapp.spec.js +1 -1
  460. package/src/middleware/tests/selfhost.spec.js +1 -1
  461. package/src/startup.ts +3 -8
  462. package/src/tests/jestEnv.ts +13 -0
  463. package/src/tests/jestSetup.ts +0 -14
  464. package/src/tests/utilities/TestConfiguration.ts +1 -1
  465. package/src/threads/index.ts +1 -1
  466. package/src/utilities/fileSystem/filesystem.ts +1 -1
  467. package/src/utilities/scriptRunner.ts +1 -1
  468. package/src/utilities/statusCodes.ts +1 -1
  469. package/src/utilities/workerRequests.ts +10 -1
  470. package/src/watch.ts +1 -1
  471. package/coverage/lcov-report/src/utilities/statusCodes.ts.html +0 -106
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">82.97% </span>
26
+ <span class="strong">88.88% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>78/94</span>
28
+ <span class='fraction'>88/99</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">43.75% </span>
33
+ <span class="strong">66.66% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>14/32</span>
35
+ <span class='fraction'>14/21</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">76.92% </span>
40
+ <span class="strong">95.23% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>10/13</span>
42
+ <span class='fraction'>20/21</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">82.6% </span>
47
+ <span class="strong">88.77% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>76/92</span>
49
+ <span class='fraction'>87/98</span>
50
50
  </div>
51
51
 
52
52
 
@@ -238,25 +238,35 @@
238
238
  <a name='L173'></a><a href='#L173'>173</a>
239
239
  <a name='L174'></a><a href='#L174'>174</a>
240
240
  <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">56x</span>
242
- <span class="cline-any cline-yes">56x</span>
243
- <span class="cline-any cline-yes">56x</span>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">56x</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
251
  <span class="cline-any cline-yes">56x</span>
245
252
  <span class="cline-any cline-yes">56x</span>
246
253
  <span class="cline-any cline-neutral">&nbsp;</span>
247
254
  <span class="cline-any cline-neutral">&nbsp;</span>
248
255
  <span class="cline-any cline-neutral">&nbsp;</span>
249
256
  <span class="cline-any cline-neutral">&nbsp;</span>
250
- <span class="cline-any cline-neutral">&nbsp;</span>
251
- <span class="cline-any cline-neutral">&nbsp;</span>
252
257
  <span class="cline-any cline-yes">56x</span>
253
258
  <span class="cline-any cline-neutral">&nbsp;</span>
254
259
  <span class="cline-any cline-yes">56x</span>
255
- <span class="cline-any cline-yes">1x</span>
256
260
  <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-yes">1x</span>
258
- <span class="cline-any cline-yes">1x</span>
259
- <span class="cline-any cline-yes">1x</span>
261
+ <span class="cline-any cline-yes">54x</span>
262
+ <span class="cline-any cline-yes">2x</span>
263
+ <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-yes">2x</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-yes">2x</span>
267
+ <span class="cline-any cline-neutral">&nbsp;</span>
268
+ <span class="cline-any cline-yes">2x</span>
269
+ <span class="cline-any cline-yes">2x</span>
260
270
  <span class="cline-any cline-neutral">&nbsp;</span>
261
271
  <span class="cline-any cline-no">&nbsp;</span>
262
272
  <span class="cline-any cline-no">&nbsp;</span>
@@ -265,66 +275,72 @@
265
275
  <span class="cline-any cline-no">&nbsp;</span>
266
276
  <span class="cline-any cline-neutral">&nbsp;</span>
267
277
  <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-yes">1x</span>
269
278
  <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-yes">1x</span>
271
- <span class="cline-any cline-yes">1x</span>
272
- <span class="cline-any cline-yes">1x</span>
279
+ <span class="cline-any cline-yes">2x</span>
280
+ <span class="cline-any cline-yes">2x</span>
273
281
  <span class="cline-any cline-neutral">&nbsp;</span>
274
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-yes">2x</span>
275
284
  <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-yes">1x</span>
277
- <span class="cline-any cline-yes">1x</span>
285
+ <span class="cline-any cline-yes">2x</span>
286
+ <span class="cline-any cline-yes">2x</span>
287
+ <span class="cline-any cline-yes">2x</span>
278
288
  <span class="cline-any cline-neutral">&nbsp;</span>
279
- <span class="cline-any cline-no">&nbsp;</span>
280
- <span class="cline-any cline-no">&nbsp;</span>
281
- <span class="cline-any cline-no">&nbsp;</span>
282
289
  <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-yes">1x</span>
284
- <span class="cline-any cline-yes">12x</span>
285
- <span class="cline-any cline-yes">12x</span>
286
- <span class="cline-any cline-yes">12x</span>
287
- <span class="cline-any cline-yes">24x</span>
288
- <span class="cline-any cline-no">&nbsp;</span>
289
290
  <span class="cline-any cline-neutral">&nbsp;</span>
290
- <span class="cline-any cline-yes">24x</span>
291
- <span class="cline-any cline-yes">24x</span>
292
- <span class="cline-any cline-yes">24x</span>
291
+ <span class="cline-any cline-yes">2x</span>
292
+ <span class="cline-any cline-yes">1x</span>
293
293
  <span class="cline-any cline-neutral">&nbsp;</span>
294
- <span class="cline-any cline-yes">24x</span>
295
- <span class="cline-any cline-yes">24x</span>
294
+ <span class="cline-any cline-yes">1x</span>
295
+ <span class="cline-any cline-yes">1x</span>
296
+ <span class="cline-any cline-yes">1x</span>
296
297
  <span class="cline-any cline-neutral">&nbsp;</span>
297
- <span class="cline-any cline-yes">23x</span>
298
+ <span class="cline-any cline-yes">2x</span>
299
+ <span class="cline-any cline-yes">14x</span>
300
+ <span class="cline-any cline-yes">14x</span>
301
+ <span class="cline-any cline-yes">14x</span>
302
+ <span class="cline-any cline-yes">14x</span>
303
+ <span class="cline-any cline-yes">28x</span>
298
304
  <span class="cline-any cline-no">&nbsp;</span>
299
305
  <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-yes">23x</span>
306
+ <span class="cline-any cline-yes">28x</span>
307
+ <span class="cline-any cline-yes">28x</span>
308
+ <span class="cline-any cline-yes">28x</span>
301
309
  <span class="cline-any cline-neutral">&nbsp;</span>
310
+ <span class="cline-any cline-yes">28x</span>
311
+ <span class="cline-any cline-yes">28x</span>
302
312
  <span class="cline-any cline-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-yes">26x</span>
314
+ <span class="cline-any cline-yes">25x</span>
303
315
  <span class="cline-any cline-neutral">&nbsp;</span>
316
+ <span class="cline-any cline-yes">1x</span>
304
317
  <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-yes">24x</span>
306
- <span class="cline-any cline-no">&nbsp;</span>
307
318
  <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-yes">24x</span>
309
319
  <span class="cline-any cline-neutral">&nbsp;</span>
310
320
  <span class="cline-any cline-neutral">&nbsp;</span>
321
+ <span class="cline-any cline-yes">3x</span>
322
+ <span class="cline-any cline-yes">1x</span>
323
+ <span class="cline-any cline-yes">1x</span>
311
324
  <span class="cline-any cline-neutral">&nbsp;</span>
312
325
  <span class="cline-any cline-neutral">&nbsp;</span>
313
326
  <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-yes">2x</span>
328
+ <span class="cline-any cline-yes">2x</span>
314
329
  <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-yes">2x</span>
315
331
  <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-yes">24x</span>
317
- <span class="cline-any cline-yes">24x</span>
332
+ <span class="cline-any cline-yes">2x</span>
333
+ <span class="cline-any cline-yes">2x</span>
318
334
  <span class="cline-any cline-neutral">&nbsp;</span>
319
335
  <span class="cline-any cline-neutral">&nbsp;</span>
320
336
  <span class="cline-any cline-neutral">&nbsp;</span>
321
337
  <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-yes">1x</span>
338
+ <span class="cline-any cline-yes">2x</span>
323
339
  <span class="cline-any cline-neutral">&nbsp;</span>
324
340
  <span class="cline-any cline-neutral">&nbsp;</span>
325
341
  <span class="cline-any cline-neutral">&nbsp;</span>
326
342
  <span class="cline-any cline-neutral">&nbsp;</span>
327
- <span class="cline-any cline-yes">56x</span>
343
+ <span class="cline-any cline-yes">54x</span>
328
344
  <span class="cline-any cline-yes">2x</span>
329
345
  <span class="cline-any cline-yes">2x</span>
330
346
  <span class="cline-any cline-yes">2x</span>
@@ -343,7 +359,7 @@
343
359
  <span class="cline-any cline-yes">2x</span>
344
360
  <span class="cline-any cline-neutral">&nbsp;</span>
345
361
  <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-yes">56x</span>
362
+ <span class="cline-any cline-yes">54x</span>
347
363
  <span class="cline-any cline-neutral">&nbsp;</span>
348
364
  <span class="cline-any cline-no">&nbsp;</span>
349
365
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -353,7 +369,7 @@
353
369
  <span class="cline-any cline-no">&nbsp;</span>
354
370
  <span class="cline-any cline-neutral">&nbsp;</span>
355
371
  <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-yes">56x</span>
372
+ <span class="cline-any cline-yes">54x</span>
357
373
  <span class="cline-any cline-yes">1x</span>
358
374
  <span class="cline-any cline-yes">1x</span>
359
375
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -365,7 +381,7 @@
365
381
  <span class="cline-any cline-yes">1x</span>
366
382
  <span class="cline-any cline-neutral">&nbsp;</span>
367
383
  <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-yes">56x</span>
384
+ <span class="cline-any cline-yes">54x</span>
369
385
  <span class="cline-any cline-yes">1x</span>
370
386
  <span class="cline-any cline-yes">1x</span>
371
387
  <span class="cline-any cline-yes">1x</span>
@@ -378,11 +394,11 @@
378
394
  <span class="cline-any cline-neutral">&nbsp;</span>
379
395
  <span class="cline-any cline-neutral">&nbsp;</span>
380
396
  <span class="cline-any cline-neutral">&nbsp;</span>
381
- <span class="cline-any cline-yes">56x</span>
397
+ <span class="cline-any cline-yes">54x</span>
382
398
  <span class="cline-any cline-yes">1x</span>
383
399
  <span class="cline-any cline-neutral">&nbsp;</span>
384
400
  <span class="cline-any cline-neutral">&nbsp;</span>
385
- <span class="cline-any cline-yes">56x</span>
401
+ <span class="cline-any cline-yes">54x</span>
386
402
  <span class="cline-any cline-yes">5x</span>
387
403
  <span class="cline-any cline-yes">5x</span>
388
404
  <span class="cline-any cline-yes">5x</span>
@@ -401,7 +417,7 @@
401
417
  <span class="cline-any cline-yes">3x</span>
402
418
  <span class="cline-any cline-neutral">&nbsp;</span>
403
419
  <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-yes">56x</span>
420
+ <span class="cline-any cline-yes">54x</span>
405
421
  <span class="cline-any cline-yes">1x</span>
406
422
  <span class="cline-any cline-yes">1x</span>
407
423
  <span class="cline-any cline-yes">1x</span>
@@ -419,19 +435,21 @@ import { getGlobalUsers, getRawGlobalUser } from "../../utilities/global"
419
435
  import { getFullUser } from "../../utilities/users"
420
436
  import {
421
437
  context,
422
- constants,
423
438
  roles as rolesCore,
424
439
  db as dbCore,
425
440
  } from "@budibase/backend-core"
426
- import { BBContext, User } from "@budibase/types"
441
+ import { BBContext, Ctx, SyncUserRequest, User } from "@budibase/types"
427
442
  import sdk from "../../sdk"
428
443
  &nbsp;
429
- export async function syncUser(ctx: BBContext) {
444
+ export async function syncUser(ctx: Ctx&lt;SyncUserRequest&gt;) {
430
445
  let deleting = false,
431
446
  user: User | any
432
447
  const userId = ctx.params.id
448
+ &nbsp;
449
+ const previousUser = ctx.request.body?.previousUser
450
+ &nbsp;
433
451
  try {
434
- user = await getRawGlobalUser(userId)
452
+ user = (await getRawGlobalUser(userId)) as User
435
453
  } catch (err: any) {
436
454
  <span class="cstat-no" title="statement not covered" > if (err &amp;&amp; err.status === 404) {</span>
437
455
  <span class="cstat-no" title="statement not covered" > user = {}</span>
@@ -440,7 +458,12 @@ export async function syncUser(ctx: BBContext) {
440
458
  <span class="cstat-no" title="statement not covered" > throw err</span>
441
459
  }
442
460
  }
443
- const roles = deleting ? <span class="branch-0 cbranch-no" title="branch not covered" >{} </span>: user.roles
461
+ &nbsp;
462
+ let previousApps = previousUser
463
+ ? Object.keys(previousUser.roles).map(appId =&gt; appId)
464
+ : []
465
+ &nbsp;
466
+ const roles = deleting ? <span class="branch-0 cbranch-no" title="branch not covered" >{} : u</span>ser.roles
444
467
  // remove props which aren't useful to metadata
445
468
  delete user.password
446
469
  delete user.forceResetPassword
@@ -448,15 +471,16 @@ export async function syncUser(ctx: BBContext) {
448
471
  // run through all production appIDs in the users roles
449
472
  let prodAppIds
450
473
  // if they are a builder then get all production app IDs
451
- if ((user.builder &amp;&amp; user.builder.global) || <span class="branch-2 cbranch-no" title="branch not covered" >deleting)</span> {
474
+ if ((user.builder &amp;&amp; user.builder.global) || deleting) {
452
475
  prodAppIds = await dbCore.getProdAppIDs()
453
- } else <span class="missing-if-branch" title="else path not taken" >E</span>{
454
- <span class="cstat-no" title="statement not covered" > prodAppIds = Object.entries(roles)</span>
455
- .filter(<span class="fstat-no" title="function not covered" >entry </span>=&gt; <span class="cstat-no" title="statement not covered" >entry[1] !== rolesCore.BUILTIN_ROLE_IDS.PUBLIC)</span>
456
- .map(<span class="fstat-no" title="function not covered" >([</span>appId]) =&gt; <span class="cstat-no" title="statement not covered" >appId)</span>
476
+ } else {
477
+ prodAppIds = Object.entries(roles)
478
+ .filter(entry =&gt; entry[1] !== rolesCore.BUILTIN_ROLE_IDS.PUBLIC)
479
+ .map(([appId]) =&gt; appId)
457
480
  }
458
- for (let prodAppId of prodAppIds) {
481
+ for (let prodAppId of new Set([...prodAppIds, ...previousApps])) {
459
482
  const roleId = roles[prodAppId]
483
+ const deleteFromApp = !roleId
460
484
  const devAppId = dbCore.getDevelopmentAppID(prodAppId)
461
485
  for (let appId of [prodAppId, devAppId]) {
462
486
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!(await dbCore.dbExists(appId))) {
@@ -469,24 +493,24 @@ export async function syncUser(ctx: BBContext) {
469
493
  try {
470
494
  metadata = await db.get(metadataId)
471
495
  } catch (err) {
472
- <span class="missing-if-branch" title="if path not taken" >I</span>if (deleting) {
473
- <span class="cstat-no" title="statement not covered" > return</span>
496
+ if (deleteFromApp) {
497
+ return
474
498
  }
475
499
  metadata = {
476
500
  tableId: InternalTables.USER_METADATA,
477
501
  }
478
502
  }
503
+ &nbsp;
504
+ if (deleteFromApp) {
505
+ await db.remove(metadata)
506
+ return
507
+ }
508
+ &nbsp;
479
509
  // assign the roleId for the metadata doc
480
- <span class="missing-if-branch" title="if path not taken" >I</span>if (roleId) {
481
- <span class="cstat-no" title="statement not covered" > metadata.roleId = roleId</span>
510
+ if (roleId) {
511
+ metadata.roleId = roleId
482
512
  }
483
- let combined = !deleting
484
- ? sdk.users.combineMetadataAndUser(user, metadata)
485
- :<span class="branch-1 cbranch-no" title="branch not covered" > {</span>
486
- ...metadata,
487
- status: constants.UserStatus.INACTIVE,
488
- metadata: rolesCore.BUILTIN_ROLE_IDS.PUBLIC,
489
- }
513
+ let combined = sdk.users.combineMetadataAndUser(user, metadata)
490
514
  // if its null then there was no updates required
491
515
  if (combined) {
492
516
  await db.put(combined)
@@ -558,7 +582,7 @@ export async function findMetadata(ctx: BBContext) {
558
582
  }
559
583
  &nbsp;
560
584
  export async function setFlag(ctx: BBContext) {
561
- const userId = ctx.user<span class="branch-0 cbranch-no" title="branch not covered" >?._</span>id
585
+ const userId = ctx.user?._id
562
586
  const { flag, value } = ctx.request.body
563
587
  if (!flag) {
564
588
  ctx.throw(400, "Must supply a 'flag' field in request body.")
@@ -577,7 +601,7 @@ export async function setFlag(ctx: BBContext) {
577
601
  }
578
602
  &nbsp;
579
603
  export async function getFlags(ctx: BBContext) {
580
- const userId = ctx.user<span class="branch-0 cbranch-no" title="branch not covered" >?._</span>id
604
+ const userId = ctx.user?._id
581
605
  const docId = generateUserFlagID(userId!)
582
606
  const db = context.getAppDB()
583
607
  let doc
@@ -595,7 +619,7 @@ export async function getFlags(ctx: BBContext) {
595
619
  <div class='footer quiet pad2 space-top1 center small'>
596
620
  Code coverage generated by
597
621
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
598
- at Mon Jan 09 2023 12:36:46 GMT+0000 (Coordinated Universal Time)
622
+ at Mon Jan 16 2023 11:39:43 GMT+0000 (Coordinated Universal Time)
599
623
  </div>
600
624
  <script src="../../../prettify.js"></script>
601
625
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>12/12</span>
28
+ <span class='fraction'>13/13</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,7 +39,7 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/4</span>
42
+ <span class='fraction'>7/7</span>
43
43
  </div>
44
44
 
45
45
 
@@ -93,7 +93,7 @@
93
93
  <a name='L28'></a><a href='#L28'>28</a>
94
94
  <a name='L29'></a><a href='#L29'>29</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
95
95
  <span class="cline-any cline-neutral">&nbsp;</span>
96
- <span class="cline-any cline-yes">55x</span>
96
+ <span class="cline-any cline-yes">2x</span>
97
97
  <span class="cline-any cline-yes">4x</span>
98
98
  <span class="cline-any cline-neutral">&nbsp;</span>
99
99
  <span class="cline-any cline-yes">2x</span>
@@ -111,7 +111,7 @@
111
111
  <span class="cline-any cline-yes">2x</span>
112
112
  <span class="cline-any cline-neutral">&nbsp;</span>
113
113
  <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-yes">55x</span>
114
+ <span class="cline-any cline-yes">4x</span>
115
115
  <span class="cline-any cline-yes">4x</span>
116
116
  <span class="cline-any cline-neutral">&nbsp;</span>
117
117
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -154,7 +154,7 @@ export const ExportFormats = {
154
154
  <div class='footer quiet pad2 space-top1 center small'>
155
155
  Code coverage generated by
156
156
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
157
- at Mon Jan 09 2023 12:36:46 GMT+0000 (Coordinated Universal Time)
157
+ at Mon Jan 16 2023 11:39:43 GMT+0000 (Coordinated Universal Time)
158
158
  </div>
159
159
  <script src="../../../../prettify.js"></script>
160
160
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">77.27% </span>
26
+ <span class="strong">75.93% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>187/242</span>
28
+ <span class='fraction'>183/241</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">79.31% </span>
40
+ <span class="strong">80.43% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>23/29</span>
42
+ <span class='fraction'>37/46</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">77.31% </span>
47
+ <span class="strong">76.05% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>184/238</span>
49
+ <span class='fraction'>181/238</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,43 +84,43 @@
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="12" class="abs high">12/12</td>
87
+ <td data-value="13" class="abs high">13/13</td>
88
88
  <td data-value="50" class="pct medium">50%</td>
89
89
  <td data-value="4" class="abs medium">2/4</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
- <td data-value="4" class="abs high">4/4</td>
91
+ <td data-value="7" class="abs high">7/7</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
93
  <td data-value="11" class="abs high">11/11</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
97
  <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
98
- <td data-value="90.38" class="pic high">
99
- <div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
98
+ <td data-value="88.23" class="pic high">
99
+ <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
100
100
  </td>
101
- <td data-value="90.38" class="pct high">90.38%</td>
102
- <td data-value="104" class="abs high">94/104</td>
101
+ <td data-value="88.23" class="pct high">88.23%</td>
102
+ <td data-value="102" class="abs high">90/102</td>
103
103
  <td data-value="90.56" class="pct high">90.56%</td>
104
104
  <td data-value="53" class="abs high">48/53</td>
105
- <td data-value="72.72" class="pct medium">72.72%</td>
106
- <td data-value="11" class="abs medium">8/11</td>
107
- <td data-value="91.08" class="pct high">91.08%</td>
108
- <td data-value="101" class="abs high">92/101</td>
105
+ <td data-value="70.58" class="pct medium">70.58%</td>
106
+ <td data-value="17" class="abs medium">12/17</td>
107
+ <td data-value="89.1" class="pct high">89.1%</td>
108
+ <td data-value="101" class="abs high">90/101</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
112
112
  <td class="file medium" data-value="utils.ts"><a href="utils.ts.html">utils.ts</a></td>
113
- <td data-value="51.72" class="pic medium">
114
- <div class="chart"><div class="cover-fill" style="width: 51%"></div><div class="cover-empty" style="width: 49%"></div></div>
113
+ <td data-value="50.57" class="pic medium">
114
+ <div class="chart"><div class="cover-fill" style="width: 50%"></div><div class="cover-empty" style="width: 50%"></div></div>
115
115
  </td>
116
- <td data-value="51.72" class="pct medium">51.72%</td>
117
- <td data-value="87" class="abs medium">45/87</td>
116
+ <td data-value="50.57" class="pct medium">50.57%</td>
117
+ <td data-value="87" class="abs medium">44/87</td>
118
118
  <td data-value="28.57" class="pct low">28.57%</td>
119
119
  <td data-value="21" class="abs low">6/21</td>
120
- <td data-value="66.66" class="pct medium">66.66%</td>
121
- <td data-value="9" class="abs medium">6/9</td>
122
- <td data-value="51.72" class="pct medium">51.72%</td>
123
- <td data-value="87" class="abs medium">45/87</td>
120
+ <td data-value="76.47" class="pct medium">76.47%</td>
121
+ <td data-value="17" class="abs medium">13/17</td>
122
+ <td data-value="50.57" class="pct medium">50.57%</td>
123
+ <td data-value="87" class="abs medium">44/87</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at Mon Jan 09 2023 12:36:46 GMT+0000 (Coordinated Universal Time)
149
+ at Mon Jan 16 2023 11:39:43 GMT+0000 (Coordinated Universal Time)
150
150
  </div>
151
151
  <script src="../../../../prettify.js"></script>
152
152
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">90.38% </span>
26
+ <span class="strong">88.23% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>94/104</span>
28
+ <span class='fraction'>90/102</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">72.72% </span>
40
+ <span class="strong">70.58% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>8/11</span>
42
+ <span class='fraction'>12/17</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">91.08% </span>
47
+ <span class="strong">89.1% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>92/101</span>
49
+ <span class='fraction'>90/101</span>
50
50
  </div>
51
51
 
52
52
 
@@ -285,7 +285,7 @@
285
285
  <span class="cline-any cline-yes">1x</span>
286
286
  <span class="cline-any cline-neutral">&nbsp;</span>
287
287
  <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-yes">54x</span>
288
+ <span class="cline-any cline-yes">64x</span>
289
289
  <span class="cline-any cline-yes">24x</span>
290
290
  <span class="cline-any cline-yes">24x</span>
291
291
  <span class="cline-any cline-yes">24x</span>
@@ -318,7 +318,7 @@
318
318
  <span class="cline-any cline-neutral">&nbsp;</span>
319
319
  <span class="cline-any cline-neutral">&nbsp;</span>
320
320
  <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-yes">54x</span>
321
+ <span class="cline-any cline-no">&nbsp;</span>
322
322
  <span class="cline-any cline-yes">24x</span>
323
323
  <span class="cline-any cline-yes">24x</span>
324
324
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -339,7 +339,7 @@
339
339
  <span class="cline-any cline-neutral">&nbsp;</span>
340
340
  <span class="cline-any cline-neutral">&nbsp;</span>
341
341
  <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-yes">54x</span>
342
+ <span class="cline-any cline-no">&nbsp;</span>
343
343
  <span class="cline-any cline-yes">24x</span>
344
344
  <span class="cline-any cline-neutral">&nbsp;</span>
345
345
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -516,7 +516,7 @@ export async function save(ctx: BBContext) {
516
516
  }
517
517
  }
518
518
  &nbsp;
519
- export async function calculationEvents(existingView: View, newView: View) {
519
+ export async function <span class="cstat-no" title="statement not covered" >calculationEvents<span class="fstat-no" title="function not covered" >(</span>e</span>xistingView: View, newView: View) {
520
520
  const existingCalculation = existingView &amp;&amp; existingView.calculation
521
521
  const newCalculation = newView &amp;&amp; newView.calculation
522
522
  &nbsp;
@@ -537,7 +537,7 @@ export async function calculationEvents(existingView: View, newView: View) {
537
537
  }
538
538
  }
539
539
  &nbsp;
540
- export async function filterEvents(existingView: View, newView: View) {
540
+ export async function <span class="cstat-no" title="statement not covered" >filterEvents<span class="fstat-no" title="function not covered" >(</span>e</span>xistingView: View, newView: View) {
541
541
  const hasExistingFilters = !!(
542
542
  existingView &amp;&amp;
543
543
  existingView.filters &amp;&amp;
@@ -622,10 +622,10 @@ export async function exportView(ctx: BBContext) {
622
622
  // remove any relationships
623
623
  const relationships = Object.entries(schema)
624
624
  .filter(entry =&gt; entry[1].type === FieldTypes.LINK)
625
- .map(<span class="fstat-no" title="function not covered" >entry </span>=&gt; <span class="cstat-no" title="statement not covered" >entry[0])</span>
625
+ .map(<span class="fstat-no" title="function not covered" >entry =&gt; <span class="cstat-no" title="statement not covered" >e</span>ntry[0])</span>
626
626
  // iterate relationship columns and remove from and row and schema
627
- relationships.forEach(<span class="fstat-no" title="function not covered" >column </span>=&gt; {
628
- <span class="cstat-no" title="statement not covered" > rows.forEach(<span class="fstat-no" title="function not covered" >row </span>=&gt; {</span>
627
+ relationships.forEach(<span class="fstat-no" title="function not covered" >column =&gt; {</span>
628
+ <span class="cstat-no" title="statement not covered" > rows.forEach(<span class="fstat-no" title="function not covered" >row =&gt; {</span></span>
629
629
  <span class="cstat-no" title="statement not covered" > delete row[column]</span>
630
630
  })
631
631
  <span class="cstat-no" title="statement not covered" > delete schema[column]</span>
@@ -664,7 +664,7 @@ export async function exportView(ctx: BBContext) {
664
664
  <div class='footer quiet pad2 space-top1 center small'>
665
665
  Code coverage generated by
666
666
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
667
- at Mon Jan 09 2023 12:36:46 GMT+0000 (Coordinated Universal Time)
667
+ at Mon Jan 16 2023 11:39:43 GMT+0000 (Coordinated Universal Time)
668
668
  </div>
669
669
  <script src="../../../../prettify.js"></script>
670
670
  <script>