@budibase/server 2.1.32-alpha.5 → 2.1.32-alpha.7

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 (583) hide show
  1. package/builder/assets/{index.192baaa3.js → index.e0fdcf54.js} +184 -184
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +3112 -3177
  4. package/coverage/coverage-final.json +105 -106
  5. package/coverage/lcov-report/index.html +145 -145
  6. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +1 -1
  7. package/coverage/lcov-report/src/api/controllers/{apikeys.js.html → apikeys.ts.html} +19 -19
  8. package/coverage/lcov-report/src/api/controllers/application.ts.html +1 -1
  9. package/coverage/lcov-report/src/api/controllers/auth.ts.html +3 -3
  10. package/coverage/lcov-report/src/api/controllers/{automation.js.html → automation.ts.html} +68 -68
  11. package/coverage/lcov-report/src/api/controllers/backup.ts.html +1 -1
  12. package/coverage/lcov-report/src/api/controllers/{cloud.js.html → cloud.ts.html} +40 -40
  13. package/coverage/lcov-report/src/api/controllers/component.ts.html +6 -3
  14. package/coverage/lcov-report/src/api/controllers/{datasource.js.html → datasource.ts.html} +100 -79
  15. package/coverage/lcov-report/src/api/controllers/deploy/{Deployment.js.html → Deployment.ts.html} +30 -21
  16. package/coverage/lcov-report/src/api/controllers/deploy/index.html +6 -6
  17. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +1 -1
  18. package/coverage/lcov-report/src/api/controllers/dev.ts.html +1 -1
  19. package/coverage/lcov-report/src/api/controllers/index.html +108 -108
  20. package/coverage/lcov-report/src/api/controllers/integration.js.html +1 -1
  21. package/coverage/lcov-report/src/api/controllers/{layout.js.html → layout.ts.html} +19 -19
  22. package/coverage/lcov-report/src/api/controllers/{metadata.js.html → metadata.ts.html} +19 -16
  23. package/coverage/lcov-report/src/api/controllers/migrations.js.html +1 -1
  24. package/coverage/lcov-report/src/api/controllers/{permission.js.html → permission.ts.html} +73 -64
  25. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +1 -1
  26. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +1 -1
  27. package/coverage/lcov-report/src/api/controllers/plugin/index.html +11 -11
  28. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +10 -13
  29. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +1 -1
  30. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +1 -1
  31. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +1 -1
  32. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +1 -1
  33. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +1 -1
  34. package/coverage/lcov-report/src/api/controllers/public/index.html +1 -1
  35. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +1 -1
  36. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +1 -1
  37. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +1 -1
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +1 -1
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +1 -1
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +1 -1
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +1 -1
  42. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +1 -1
  43. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +1 -1
  44. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +3 -3
  45. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +1 -1
  46. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +1 -1
  47. package/coverage/lcov-report/src/api/controllers/query/import/index.html +11 -11
  48. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +8 -11
  49. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +1 -1
  50. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +1 -1
  51. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +1 -1
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +1 -1
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +1 -1
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +1 -1
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +1 -1
  56. package/coverage/lcov-report/src/api/controllers/query/index.html +2 -2
  57. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +1 -1
  58. package/coverage/lcov-report/src/api/controllers/query/{validation.js.html → validation.ts.html} +10 -10
  59. package/coverage/lcov-report/src/api/controllers/{role.js.html → role.ts.html} +37 -49
  60. package/coverage/lcov-report/src/api/controllers/{routing.js.html → routing.ts.html} +58 -49
  61. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +6 -18
  62. package/coverage/lcov-report/src/api/controllers/row/external.js.html +4 -4
  63. package/coverage/lcov-report/src/api/controllers/row/index.html +35 -35
  64. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +1 -1
  65. package/coverage/lcov-report/src/api/controllers/row/internal.js.html +17 -20
  66. package/coverage/lcov-report/src/api/controllers/row/{internalSearch.js.html → internalSearch.ts.html} +175 -103
  67. package/coverage/lcov-report/src/api/controllers/row/{staticFormula.js.html → staticFormula.ts.html} +62 -47
  68. package/coverage/lcov-report/src/api/controllers/row/{utils.js.html → utils.ts.html} +57 -36
  69. package/coverage/lcov-report/src/api/controllers/screen.ts.html +29 -17
  70. package/coverage/lcov-report/src/api/controllers/{script.js.html → script.ts.html} +10 -7
  71. package/coverage/lcov-report/src/api/controllers/static/index.html +10 -10
  72. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +15 -27
  73. package/coverage/lcov-report/src/api/controllers/table/{bulkFormula.js.html → bulkFormula.ts.html} +89 -47
  74. package/coverage/lcov-report/src/api/controllers/table/{external.js.html → external.ts.html} +192 -87
  75. package/coverage/lcov-report/src/api/controllers/table/index.html +39 -39
  76. package/coverage/lcov-report/src/api/controllers/table/{index.js.html → index.ts.html} +28 -28
  77. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +3 -6
  78. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +18 -18
  79. package/coverage/lcov-report/src/api/controllers/{templates.js.html → templates.ts.html} +27 -18
  80. package/coverage/lcov-report/src/api/controllers/{user.js.html → user.ts.html} +72 -78
  81. package/coverage/lcov-report/src/api/controllers/view/{exporters.js.html → exporters.ts.html} +13 -7
  82. package/coverage/lcov-report/src/api/controllers/view/index.html +21 -21
  83. package/coverage/lcov-report/src/api/controllers/view/{index.js.html → index.ts.html} +68 -41
  84. package/coverage/lcov-report/src/api/controllers/view/{utils.js.html → utils.ts.html} +54 -36
  85. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.js.html +1 -1
  86. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +1 -1
  87. package/coverage/lcov-report/src/api/index.html +14 -14
  88. package/coverage/lcov-report/src/api/{index.js.html → index.ts.html} +28 -49
  89. package/coverage/lcov-report/src/api/routes/{analytics.js.html → analytics.ts.html} +7 -7
  90. package/coverage/lcov-report/src/api/routes/{apikeys.js.html → apikeys.ts.html} +11 -11
  91. package/coverage/lcov-report/src/api/routes/application.ts.html +35 -11
  92. package/coverage/lcov-report/src/api/routes/auth.ts.html +3 -3
  93. package/coverage/lcov-report/src/api/routes/{automation.js.html → automation.ts.html} +41 -35
  94. package/coverage/lcov-report/src/api/routes/backup.ts.html +18 -6
  95. package/coverage/lcov-report/src/api/routes/{deploy.js.html → cloud.ts.html} +18 -15
  96. package/coverage/lcov-report/src/api/routes/{component.js.html → component.ts.html} +10 -10
  97. package/coverage/lcov-report/src/api/routes/{datasource.js.html → datasource.ts.html} +53 -26
  98. package/coverage/lcov-report/src/api/routes/deploy.ts.html +148 -0
  99. package/coverage/lcov-report/src/api/routes/{dev.js.html → dev.ts.html} +54 -18
  100. package/coverage/lcov-report/src/api/routes/index.html +41 -41
  101. package/coverage/lcov-report/src/api/routes/index.ts.html +3 -3
  102. package/coverage/lcov-report/src/api/routes/integration.ts.html +133 -0
  103. package/coverage/lcov-report/src/api/routes/{layout.js.html → layout.ts.html} +11 -11
  104. package/coverage/lcov-report/src/api/routes/{metadata.js.html → metadata.ts.html} +17 -17
  105. package/coverage/lcov-report/src/api/routes/{migrations.js.html → migrations.ts.html} +12 -12
  106. package/coverage/lcov-report/src/api/routes/{permission.js.html → permission.ts.html} +41 -17
  107. package/coverage/lcov-report/src/api/routes/plugin.ts.html +32 -8
  108. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +1 -1
  109. package/coverage/lcov-report/src/api/routes/public/index.html +1 -1
  110. package/coverage/lcov-report/src/api/routes/public/index.ts.html +1 -1
  111. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +1 -1
  112. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +1 -1
  113. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +1 -1
  114. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +1 -1
  115. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +1 -1
  116. package/coverage/lcov-report/src/api/routes/public/users.ts.html +1 -1
  117. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +1 -1
  118. package/coverage/lcov-report/src/api/routes/public/utils/index.html +1 -1
  119. package/coverage/lcov-report/src/api/routes/{query.js.html → query.ts.html} +24 -33
  120. package/coverage/lcov-report/src/{utilities/routing/index.js.html → api/routes/role.ts.html} +32 -35
  121. package/coverage/lcov-report/src/api/routes/{routing.js.html → routing.ts.html} +10 -10
  122. package/coverage/lcov-report/src/api/routes/row.ts.html +8 -14
  123. package/coverage/lcov-report/src/api/routes/{screen.js.html → screen.ts.html} +29 -14
  124. package/coverage/lcov-report/src/api/routes/{script.js.html → script.ts.html} +10 -10
  125. package/coverage/lcov-report/src/api/routes/static.ts.html +9 -18
  126. package/coverage/lcov-report/src/api/routes/{table.js.html → table.ts.html} +16 -25
  127. package/coverage/lcov-report/src/api/routes/{templates.js.html → templates.ts.html} +11 -11
  128. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +12 -18
  129. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +10 -10
  130. package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +1 -1
  131. package/coverage/lcov-report/src/api/routes/{user.js.html → user.ts.html} +14 -20
  132. package/coverage/lcov-report/src/api/routes/utils/index.html +6 -6
  133. package/coverage/lcov-report/src/api/routes/utils/{validators.js.html → validators.ts.html} +39 -51
  134. package/coverage/lcov-report/src/api/routes/{view.js.html → view.ts.html} +33 -24
  135. package/coverage/lcov-report/src/api/routes/webhook.ts.html +3 -3
  136. package/coverage/lcov-report/src/app.ts.html +9 -12
  137. package/coverage/lcov-report/src/automations/actions.js.html +1 -1
  138. package/coverage/lcov-report/src/automations/automationUtils.js.html +1 -1
  139. package/coverage/lcov-report/src/automations/bullboard.js.html +1 -1
  140. package/coverage/lcov-report/src/automations/index.html +10 -10
  141. package/coverage/lcov-report/src/automations/index.js.html +1 -1
  142. package/coverage/lcov-report/src/automations/logging/index.html +1 -1
  143. package/coverage/lcov-report/src/automations/logging/index.ts.html +1 -1
  144. package/coverage/lcov-report/src/automations/steps/bash.js.html +1 -1
  145. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +1 -1
  146. package/coverage/lcov-report/src/automations/steps/delay.js.html +1 -1
  147. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +1 -1
  148. package/coverage/lcov-report/src/automations/steps/discord.js.html +1 -1
  149. package/coverage/lcov-report/src/automations/steps/executeQuery.js.html +1 -1
  150. package/coverage/lcov-report/src/automations/steps/executeScript.js.html +1 -1
  151. package/coverage/lcov-report/src/automations/steps/filter.js.html +1 -1
  152. package/coverage/lcov-report/src/automations/steps/index.html +1 -1
  153. package/coverage/lcov-report/src/automations/steps/integromat.js.html +1 -1
  154. package/coverage/lcov-report/src/automations/steps/loop.js.html +1 -1
  155. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.js.html +1 -1
  156. package/coverage/lcov-report/src/automations/steps/queryRows.js.html +1 -1
  157. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.js.html +1 -1
  158. package/coverage/lcov-report/src/automations/steps/serverLog.js.html +1 -1
  159. package/coverage/lcov-report/src/automations/steps/slack.js.html +1 -1
  160. package/coverage/lcov-report/src/automations/steps/updateRow.js.html +1 -1
  161. package/coverage/lcov-report/src/automations/steps/utils.js.html +1 -1
  162. package/coverage/lcov-report/src/automations/steps/zapier.js.html +1 -1
  163. package/coverage/lcov-report/src/automations/tests/utilities/index.html +1 -1
  164. package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +1 -1
  165. package/coverage/lcov-report/src/automations/triggerInfo/app.js.html +1 -1
  166. package/coverage/lcov-report/src/automations/triggerInfo/cron.js.html +1 -1
  167. package/coverage/lcov-report/src/automations/triggerInfo/index.html +1 -1
  168. package/coverage/lcov-report/src/automations/triggerInfo/index.js.html +1 -1
  169. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.js.html +1 -1
  170. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.js.html +1 -1
  171. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.js.html +1 -1
  172. package/coverage/lcov-report/src/automations/triggerInfo/webhook.js.html +1 -1
  173. package/coverage/lcov-report/src/automations/triggers.js.html +11 -14
  174. package/coverage/lcov-report/src/automations/utils.ts.html +1 -1
  175. package/coverage/lcov-report/src/constants/index.html +5 -5
  176. package/coverage/lcov-report/src/constants/index.js.html +7 -13
  177. package/coverage/lcov-report/src/constants/layouts.js.html +1 -1
  178. package/coverage/lcov-report/src/constants/screens.js.html +3 -3
  179. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.js.html +1 -1
  180. package/coverage/lcov-report/src/db/defaultData/employeeImport.js.html +1 -1
  181. package/coverage/lcov-report/src/db/defaultData/expensesImport.js.html +1 -1
  182. package/coverage/lcov-report/src/db/defaultData/index.html +1 -1
  183. package/coverage/lcov-report/src/db/defaultData/inventoryImport.js.html +1 -1
  184. package/coverage/lcov-report/src/db/defaultData/jobsImport.js.html +1 -1
  185. package/coverage/lcov-report/src/db/dynamoClient.js.html +1 -1
  186. package/coverage/lcov-report/src/db/inMemoryView.js.html +4 -4
  187. package/coverage/lcov-report/src/db/index.html +1 -1
  188. package/coverage/lcov-report/src/db/index.js.html +1 -1
  189. package/coverage/lcov-report/src/db/linkedRows/LinkController.js.html +3 -3
  190. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.js.html +1 -1
  191. package/coverage/lcov-report/src/db/linkedRows/index.html +1 -1
  192. package/coverage/lcov-report/src/db/linkedRows/index.js.html +3 -3
  193. package/coverage/lcov-report/src/db/linkedRows/linkUtils.js.html +4 -4
  194. package/coverage/lcov-report/src/db/newid.js.html +1 -1
  195. package/coverage/lcov-report/src/db/utils.ts.html +2 -2
  196. package/coverage/lcov-report/src/definitions/automations.ts.html +1 -1
  197. package/coverage/lcov-report/src/definitions/datasource.ts.html +1 -1
  198. package/coverage/lcov-report/src/definitions/index.html +1 -1
  199. package/coverage/lcov-report/src/environment.js.html +1 -1
  200. package/coverage/lcov-report/src/events/AutomationEmitter.js.html +1 -1
  201. package/coverage/lcov-report/src/events/index.html +1 -1
  202. package/coverage/lcov-report/src/events/index.js.html +1 -1
  203. package/coverage/lcov-report/src/events/utils.js.html +1 -1
  204. package/coverage/lcov-report/src/index.html +17 -32
  205. package/coverage/lcov-report/src/index.ts.html +1 -1
  206. package/coverage/lcov-report/src/integrations/airtable.ts.html +1 -1
  207. package/coverage/lcov-report/src/integrations/arangodb.ts.html +1 -1
  208. package/coverage/lcov-report/src/integrations/base/index.html +1 -1
  209. package/coverage/lcov-report/src/integrations/base/query.ts.html +1 -1
  210. package/coverage/lcov-report/src/integrations/base/sql.ts.html +2 -2
  211. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +2 -2
  212. package/coverage/lcov-report/src/integrations/base/utils.ts.html +1 -1
  213. package/coverage/lcov-report/src/integrations/couchdb.ts.html +1 -1
  214. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +1 -1
  215. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +1 -1
  216. package/coverage/lcov-report/src/integrations/firebase.ts.html +1 -1
  217. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +1 -1
  218. package/coverage/lcov-report/src/integrations/index.html +4 -4
  219. package/coverage/lcov-report/src/integrations/index.ts.html +58 -46
  220. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +1 -1
  221. package/coverage/lcov-report/src/integrations/mongodb.ts.html +1 -1
  222. package/coverage/lcov-report/src/integrations/mysql.ts.html +1 -1
  223. package/coverage/lcov-report/src/integrations/oracle.ts.html +1 -1
  224. package/coverage/lcov-report/src/integrations/postgres.ts.html +1 -1
  225. package/coverage/lcov-report/src/integrations/queries/index.html +1 -1
  226. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +1 -1
  227. package/coverage/lcov-report/src/integrations/redis.ts.html +1 -1
  228. package/coverage/lcov-report/src/integrations/rest.ts.html +1 -1
  229. package/coverage/lcov-report/src/integrations/s3.ts.html +1 -1
  230. package/coverage/lcov-report/src/integrations/snowflake.ts.html +1 -1
  231. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  232. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  233. package/coverage/lcov-report/src/integrations/utils.ts.html +1 -1
  234. package/coverage/lcov-report/src/middleware/appInfo.ts.html +1 -1
  235. package/coverage/lcov-report/src/middleware/authorized.ts.html +30 -51
  236. package/coverage/lcov-report/src/middleware/builder.ts.html +1 -1
  237. package/coverage/lcov-report/src/middleware/currentapp.ts.html +1 -1
  238. package/coverage/lcov-report/src/middleware/index.html +10 -10
  239. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +1 -1
  240. package/coverage/lcov-report/src/middleware/publicApi.ts.html +1 -1
  241. package/coverage/lcov-report/src/middleware/resourceId.ts.html +1 -1
  242. package/coverage/lcov-report/src/middleware/selfhost.ts.html +1 -1
  243. package/coverage/lcov-report/src/middleware/utils.ts.html +1 -1
  244. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +3 -3
  245. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +1 -1
  246. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +1 -1
  247. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +1 -1
  248. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +1 -1
  249. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +1 -1
  250. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +1 -1
  251. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +1 -1
  252. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +1 -1
  253. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +1 -1
  254. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +1 -1
  255. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +1 -1
  256. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +1 -1
  257. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +1 -1
  258. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +1 -1
  259. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +1 -1
  260. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +1 -1
  261. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +1 -1
  262. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  263. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +1 -1
  264. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +9 -9
  265. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +1 -1
  266. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +7 -10
  267. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +1 -1
  268. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -10
  269. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
  270. package/coverage/lcov-report/src/migrations/index.html +1 -1
  271. package/coverage/lcov-report/src/migrations/index.ts.html +1 -1
  272. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +1 -1
  273. package/coverage/lcov-report/src/migrations/tests/index.html +1 -1
  274. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +1 -1
  275. package/coverage/lcov-report/src/sdk/app/automations/index.html +1 -1
  276. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +1 -1
  277. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +1 -1
  278. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +1 -1
  279. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +16 -10
  280. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +9 -21
  281. package/coverage/lcov-report/src/sdk/app/backups/index.html +16 -16
  282. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +1 -1
  283. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +1 -1
  284. package/coverage/lcov-report/src/sdk/app/tables/index.html +1 -1
  285. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +1 -1
  286. package/coverage/lcov-report/src/sdk/index.html +1 -1
  287. package/coverage/lcov-report/src/sdk/index.ts.html +1 -1
  288. package/coverage/lcov-report/src/startup.ts.html +3 -3
  289. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +61 -49
  290. package/coverage/lcov-report/src/tests/utilities/controllers.js.html +1 -1
  291. package/coverage/lcov-report/src/tests/utilities/index.html +15 -15
  292. package/coverage/lcov-report/src/tests/utilities/index.js.html +1 -1
  293. package/coverage/lcov-report/src/tests/utilities/structures.js.html +9 -12
  294. package/coverage/lcov-report/src/threads/automation.ts.html +20 -23
  295. package/coverage/lcov-report/src/threads/index.html +24 -24
  296. package/coverage/lcov-report/src/threads/index.ts.html +1 -1
  297. package/coverage/lcov-report/src/threads/query.ts.html +18 -33
  298. package/coverage/lcov-report/src/threads/utils.ts.html +10 -13
  299. package/coverage/lcov-report/src/utilities/{budibaseDir.js.html → budibaseDir.ts.html} +5 -5
  300. package/coverage/lcov-report/src/utilities/centralPath.js.html +1 -1
  301. package/coverage/lcov-report/src/utilities/csvParser.js.html +1 -1
  302. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +13 -13
  303. package/coverage/lcov-report/src/utilities/fileSystem/index.html +5 -20
  304. package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +16 -16
  305. package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +1 -1
  306. package/coverage/lcov-report/src/utilities/global.ts.html +1 -1
  307. package/coverage/lcov-report/src/utilities/index.html +44 -44
  308. package/coverage/lcov-report/src/utilities/{index.js.html → index.ts.html} +68 -44
  309. package/coverage/lcov-report/src/utilities/plugins.js.html +1 -1
  310. package/coverage/lcov-report/src/utilities/queue/inMemoryQueue.js.html +1 -1
  311. package/coverage/lcov-report/src/utilities/queue/index.html +1 -1
  312. package/coverage/lcov-report/src/utilities/{redis.js.html → redis.ts.html} +36 -33
  313. package/coverage/lcov-report/src/utilities/routing/index.html +6 -6
  314. package/coverage/lcov-report/src/utilities/routing/index.ts.html +181 -0
  315. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +38 -23
  316. package/coverage/lcov-report/src/utilities/rowProcessor/{index.js.html → index.ts.html} +106 -337
  317. package/coverage/lcov-report/src/utilities/rowProcessor/map.js.html +370 -0
  318. package/coverage/lcov-report/src/utilities/rowProcessor/{utils.js.html → utils.ts.html} +43 -31
  319. package/coverage/lcov-report/src/utilities/scriptRunner.js.html +1 -1
  320. package/coverage/lcov-report/src/utilities/{security.js.html → security.ts.html} +49 -67
  321. package/coverage/lcov-report/src/utilities/statusCodes.js.html +1 -1
  322. package/coverage/lcov-report/src/utilities/usageQuota/index.html +18 -18
  323. package/coverage/lcov-report/src/utilities/usageQuota/{rows.js.html → rows.ts.html} +27 -39
  324. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  325. package/coverage/lcov-report/src/utilities/{users.js.html → users.ts.html} +22 -28
  326. package/coverage/lcov-report/src/utilities/{workerRequests.js.html → workerRequests.ts.html} +69 -54
  327. package/coverage/lcov-report/src/watch.ts.html +8 -11
  328. package/coverage/lcov-report/src/websocket.ts.html +1 -1
  329. package/coverage/lcov.info +5519 -5768
  330. package/dist/api/controllers/apikeys.js +12 -9
  331. package/dist/api/controllers/automation.js +104 -84
  332. package/dist/api/controllers/cloud.js +84 -71
  333. package/dist/api/controllers/component.js +4 -2
  334. package/dist/api/controllers/datasource.js +125 -111
  335. package/dist/api/controllers/deploy/Deployment.js +10 -6
  336. package/dist/api/controllers/layout.js +18 -15
  337. package/dist/api/controllers/metadata.js +51 -37
  338. package/dist/api/controllers/permission.js +52 -43
  339. package/dist/api/controllers/plugin/index.js +6 -7
  340. package/dist/api/controllers/public/tables.js +29 -9
  341. package/dist/api/controllers/query/import/index.js +1 -2
  342. package/dist/api/controllers/query/validation.js +41 -33
  343. package/dist/api/controllers/role.js +29 -27
  344. package/dist/api/controllers/routing.js +71 -58
  345. package/dist/api/controllers/row/ExternalRequest.js +6 -7
  346. package/dist/api/controllers/row/external.js +3 -3
  347. package/dist/api/controllers/row/internal.js +11 -12
  348. package/dist/api/controllers/row/internalSearch.js +95 -80
  349. package/dist/api/controllers/row/staticFormula.js +85 -75
  350. package/dist/api/controllers/row/utils.js +118 -84
  351. package/dist/api/controllers/screen.js +81 -66
  352. package/dist/api/controllers/script.js +13 -6
  353. package/dist/api/controllers/static/index.js +9 -11
  354. package/dist/api/controllers/table/bulkFormula.js +47 -35
  355. package/dist/api/controllers/table/external.js +67 -54
  356. package/dist/api/controllers/table/index.js +66 -33
  357. package/dist/api/controllers/table/internal.js +1 -2
  358. package/dist/api/controllers/table/utils.js +8 -9
  359. package/dist/api/controllers/templates.js +17 -10
  360. package/dist/api/controllers/user.js +82 -70
  361. package/dist/api/controllers/view/exporters.js +8 -4
  362. package/dist/api/controllers/view/index.js +201 -153
  363. package/dist/api/controllers/view/utils.js +151 -121
  364. package/dist/api/index.js +38 -34
  365. package/dist/api/routes/analytics.js +29 -3
  366. package/dist/api/routes/apikeys.js +33 -7
  367. package/dist/api/routes/application.js +8 -9
  368. package/dist/api/routes/auth.js +1 -2
  369. package/dist/api/routes/automation.js +46 -20
  370. package/dist/api/routes/backup.js +3 -4
  371. package/dist/api/routes/cloud.js +32 -6
  372. package/dist/api/routes/component.js +32 -6
  373. package/dist/api/routes/datasource.js +39 -13
  374. package/dist/api/routes/deploy.js +34 -8
  375. package/dist/api/routes/dev.js +36 -10
  376. package/dist/api/routes/integration.js +10 -7
  377. package/dist/api/routes/layout.js +33 -7
  378. package/dist/api/routes/metadata.js +36 -10
  379. package/dist/api/routes/migrations.js +32 -6
  380. package/dist/api/routes/permission.js +38 -12
  381. package/dist/api/routes/plugin.js +5 -5
  382. package/dist/api/routes/query.js +42 -15
  383. package/dist/api/routes/role.js +36 -10
  384. package/dist/api/routes/routing.js +32 -6
  385. package/dist/api/routes/row.js +2 -1
  386. package/dist/api/routes/screen.js +35 -9
  387. package/dist/api/routes/script.js +32 -6
  388. package/dist/api/routes/static.js +9 -9
  389. package/dist/api/routes/table.js +40 -13
  390. package/dist/api/routes/templates.js +33 -7
  391. package/dist/api/routes/tests/utilities/TestFunctions.js +6 -8
  392. package/dist/api/routes/user.js +40 -13
  393. package/dist/api/routes/utils/validators.js +142 -126
  394. package/dist/api/routes/view.js +38 -12
  395. package/dist/api/routes/webhook.js +1 -2
  396. package/dist/app.js +3 -4
  397. package/dist/automations/triggers.js +5 -6
  398. package/dist/constants/index.js +3 -5
  399. package/dist/constants/screens.js +2 -2
  400. package/dist/db/inMemoryView.js +3 -3
  401. package/dist/db/linkedRows/LinkController.js +2 -2
  402. package/dist/db/linkedRows/index.js +2 -2
  403. package/dist/db/linkedRows/linkUtils.js +3 -3
  404. package/dist/db/views/staticViews.js +4 -4
  405. package/dist/integrations/index.js +15 -6
  406. package/dist/middleware/authorized.js +22 -21
  407. package/dist/migrations/functions/appUrls.js +2 -2
  408. package/dist/migrations/functions/usageQuotas/syncApps.js +3 -4
  409. package/dist/migrations/functions/usageQuotas/syncRows.js +3 -4
  410. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  411. package/dist/package.json +6 -6
  412. package/dist/sdk/app/backups/exports.js +1 -2
  413. package/dist/sdk/app/backups/imports.js +2 -3
  414. package/dist/startup.js +4 -4
  415. package/dist/tests/utilities/TestConfiguration.js +27 -35
  416. package/dist/tests/utilities/structures.js +3 -4
  417. package/dist/threads/automation.js +15 -16
  418. package/dist/threads/query.js +17 -19
  419. package/dist/threads/utils.js +11 -9
  420. package/dist/tsconfig.build.tsbuildinfo +1 -1
  421. package/dist/utilities/budibaseDir.js +4 -2
  422. package/dist/utilities/fileSystem/clientLibrary.js +12 -12
  423. package/dist/utilities/fileSystem/index.js +3 -3
  424. package/dist/utilities/index.js +102 -75
  425. package/dist/utilities/redis.js +100 -65
  426. package/dist/utilities/routing/index.js +27 -23
  427. package/dist/utilities/rowProcessor/index.js +124 -191
  428. package/dist/utilities/rowProcessor/map.js +96 -0
  429. package/dist/utilities/rowProcessor/utils.js +35 -26
  430. package/dist/utilities/security.js +39 -35
  431. package/dist/utilities/usageQuota/rows.js +56 -49
  432. package/dist/utilities/users.js +31 -28
  433. package/dist/utilities/workerRequests.js +115 -82
  434. package/dist/watch.js +1 -2
  435. package/package.json +7 -7
  436. package/scripts/exportAppTemplate.js +2 -2
  437. package/src/api/controllers/{apikeys.js → apikeys.ts} +10 -10
  438. package/src/api/controllers/auth.ts +2 -2
  439. package/src/api/controllers/{automation.js → automation.ts} +48 -48
  440. package/src/api/controllers/{cloud.js → cloud.ts} +24 -24
  441. package/src/api/controllers/component.ts +2 -1
  442. package/src/api/controllers/{datasource.js → datasource.ts} +55 -48
  443. package/src/api/controllers/deploy/{Deployment.js → Deployment.ts} +13 -10
  444. package/src/api/controllers/{layout.js → layout.ts} +8 -8
  445. package/src/api/controllers/{metadata.js → metadata.ts} +11 -10
  446. package/src/api/controllers/{permission.js → permission.ts} +49 -46
  447. package/src/api/controllers/plugin/index.ts +4 -5
  448. package/src/api/controllers/public/tables.ts +2 -2
  449. package/src/api/controllers/query/import/index.ts +2 -3
  450. package/src/api/controllers/query/{validation.js → validation.ts} +7 -7
  451. package/src/api/controllers/{role.js → role.ts} +21 -25
  452. package/src/api/controllers/{routing.js → routing.ts} +37 -34
  453. package/src/api/controllers/row/ExternalRequest.ts +4 -8
  454. package/src/api/controllers/row/external.js +3 -3
  455. package/src/api/controllers/row/internal.js +11 -12
  456. package/src/api/controllers/row/{internalSearch.js → internalSearch.ts} +92 -68
  457. package/src/api/controllers/row/{staticFormula.js → staticFormula.ts} +28 -23
  458. package/src/api/controllers/row/{utils.js → utils.ts} +25 -18
  459. package/src/api/controllers/screen.ts +10 -6
  460. package/src/api/controllers/script.ts +12 -0
  461. package/src/api/controllers/static/index.ts +9 -13
  462. package/src/api/controllers/table/{bulkFormula.js → bulkFormula.ts} +39 -25
  463. package/src/api/controllers/table/{external.js → external.ts} +86 -51
  464. package/src/api/controllers/table/{index.js → index.ts} +17 -17
  465. package/src/api/controllers/table/internal.ts +1 -2
  466. package/src/api/controllers/table/utils.ts +10 -10
  467. package/src/api/controllers/{templates.js → templates.ts} +10 -7
  468. package/src/api/controllers/{user.js → user.ts} +47 -49
  469. package/src/api/controllers/view/{exporters.js → exporters.ts} +5 -3
  470. package/src/api/controllers/view/{index.js → index.ts} +36 -27
  471. package/src/api/controllers/view/{utils.js → utils.ts} +26 -20
  472. package/src/api/{index.js → index.ts} +15 -22
  473. package/src/api/routes/analytics.ts +9 -0
  474. package/src/api/routes/apikeys.ts +12 -0
  475. package/src/api/routes/application.ts +17 -9
  476. package/src/api/routes/auth.ts +2 -2
  477. package/src/api/routes/automation.ts +87 -0
  478. package/src/api/routes/backup.ts +8 -4
  479. package/src/api/routes/cloud.ts +18 -0
  480. package/src/api/routes/component.ts +14 -0
  481. package/src/api/routes/datasource.ts +60 -0
  482. package/src/api/routes/deploy.ts +21 -0
  483. package/src/api/routes/dev.ts +38 -0
  484. package/src/api/routes/integration.ts +16 -0
  485. package/src/api/routes/layout.ts +16 -0
  486. package/src/api/routes/{metadata.js → metadata.ts} +13 -13
  487. package/src/api/routes/migrations.ts +14 -0
  488. package/src/api/routes/permission.ts +41 -0
  489. package/src/api/routes/plugin.ts +14 -6
  490. package/src/api/routes/{query.js → query.ts} +17 -20
  491. package/src/api/routes/role.ts +24 -0
  492. package/src/api/routes/routing.ts +14 -0
  493. package/src/api/routes/row.ts +3 -5
  494. package/src/api/routes/screen.ts +23 -0
  495. package/src/api/routes/script.ts +10 -0
  496. package/src/api/routes/static.ts +4 -7
  497. package/src/api/routes/{table.js → table.ts} +9 -12
  498. package/src/api/routes/templates.ts +16 -0
  499. package/src/api/routes/tests/backup.spec.js +9 -1
  500. package/src/api/routes/tests/permissions.spec.js +2 -1
  501. package/src/api/routes/tests/role.spec.js +3 -5
  502. package/src/api/routes/tests/routing.spec.js +2 -1
  503. package/src/api/routes/tests/row.spec.js +3 -4
  504. package/src/api/routes/tests/user.spec.js +2 -1
  505. package/src/api/routes/tests/utilities/TestFunctions.ts +6 -8
  506. package/src/api/routes/{user.js → user.ts} +7 -9
  507. package/src/api/routes/utils/{validators.js → validators.ts} +33 -37
  508. package/src/api/routes/view.ts +34 -0
  509. package/src/api/routes/webhook.ts +2 -2
  510. package/src/app.ts +3 -4
  511. package/src/automations/triggers.js +5 -6
  512. package/src/constants/index.js +3 -5
  513. package/src/constants/screens.js +2 -2
  514. package/src/db/inMemoryView.js +3 -3
  515. package/src/db/linkedRows/LinkController.js +2 -2
  516. package/src/db/linkedRows/index.js +2 -2
  517. package/src/db/linkedRows/linkUtils.js +3 -3
  518. package/src/db/utils.ts +1 -1
  519. package/src/db/views/staticViews.js +4 -4
  520. package/src/integrations/base/sql.ts +1 -1
  521. package/src/integrations/base/sqlTable.ts +1 -1
  522. package/src/integrations/index.ts +45 -41
  523. package/src/middleware/authorized.ts +21 -28
  524. package/src/middleware/tests/authorized.spec.js +5 -6
  525. package/src/migrations/functions/appUrls.ts +2 -2
  526. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  527. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +14 -9
  528. package/src/migrations/functions/usageQuotas/syncApps.ts +3 -4
  529. package/src/migrations/functions/usageQuotas/syncRows.ts +3 -4
  530. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  531. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  532. package/src/sdk/app/backups/exports.ts +5 -3
  533. package/src/sdk/app/backups/imports.ts +3 -7
  534. package/src/startup.ts +2 -2
  535. package/src/tests/utilities/TestConfiguration.js +39 -35
  536. package/src/tests/utilities/structures.js +3 -4
  537. package/src/threads/automation.ts +14 -15
  538. package/src/threads/query.ts +11 -16
  539. package/src/threads/utils.ts +4 -5
  540. package/src/utilities/budibaseDir.ts +3 -0
  541. package/src/utilities/fileSystem/clientLibrary.js +12 -12
  542. package/src/utilities/fileSystem/index.js +8 -8
  543. package/src/utilities/{index.js → index.ts} +40 -32
  544. package/src/utilities/{redis.js → redis.ts} +21 -20
  545. package/src/utilities/routing/index.ts +32 -0
  546. package/src/utilities/rowProcessor/{index.js → index.ts} +65 -142
  547. package/src/utilities/rowProcessor/map.js +95 -0
  548. package/src/utilities/rowProcessor/{utils.js → utils.ts} +19 -15
  549. package/src/utilities/security.ts +65 -0
  550. package/src/utilities/usageQuota/{rows.js → rows.ts} +14 -18
  551. package/src/utilities/{users.js → users.ts} +11 -13
  552. package/src/utilities/{workerRequests.js → workerRequests.ts} +43 -38
  553. package/src/watch.ts +2 -3
  554. package/coverage/lcov-report/src/api/routes/cloud.js.html +0 -127
  555. package/coverage/lcov-report/src/api/routes/integration.js.html +0 -121
  556. package/coverage/lcov-report/src/api/routes/role.js.html +0 -130
  557. package/coverage/lcov-report/src/module.d.ts.html +0 -127
  558. package/coverage/lcov-report/src/utilities/fileSystem/utilities.js.html +0 -193
  559. package/dist/utilities/fileSystem/utilities.js +0 -22
  560. package/src/api/controllers/script.js +0 -11
  561. package/src/api/routes/analytics.js +0 -9
  562. package/src/api/routes/apikeys.js +0 -12
  563. package/src/api/routes/automation.js +0 -85
  564. package/src/api/routes/cloud.js +0 -14
  565. package/src/api/routes/component.js +0 -14
  566. package/src/api/routes/datasource.js +0 -51
  567. package/src/api/routes/deploy.js +0 -17
  568. package/src/api/routes/dev.js +0 -26
  569. package/src/api/routes/integration.js +0 -12
  570. package/src/api/routes/layout.js +0 -16
  571. package/src/api/routes/migrations.js +0 -14
  572. package/src/api/routes/permission.js +0 -33
  573. package/src/api/routes/role.js +0 -15
  574. package/src/api/routes/routing.js +0 -14
  575. package/src/api/routes/screen.js +0 -18
  576. package/src/api/routes/script.js +0 -10
  577. package/src/api/routes/templates.js +0 -16
  578. package/src/api/routes/view.js +0 -31
  579. package/src/module.d.ts +0 -14
  580. package/src/utilities/budibaseDir.js +0 -3
  581. package/src/utilities/fileSystem/utilities.js +0 -36
  582. package/src/utilities/routing/index.js +0 -25
  583. package/src/utilities/security.js +0 -71
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/utilities/security.js</title>
6
+ <title>Code coverage report for src/utilities/security.ts</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../base.css" />
@@ -19,20 +19,20 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/utilities</a> security.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/utilities</a> security.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">82.75% </span>
26
+ <span class="strong">79.31% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>24/29</span>
28
+ <span class='fraction'>23/29</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">53.33% </span>
33
+ <span class="strong">46.15% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>8/15</span>
35
+ <span class='fraction'>6/13</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">82.14% </span>
47
+ <span class="strong">78.57% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>23/28</span>
49
+ <span class='fraction'>22/28</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line high'></div>
64
+ <div class='status-line medium'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -128,22 +128,7 @@
128
128
  <a name='L63'></a><a href='#L63'>63</a>
129
129
  <a name='L64'></a><a href='#L64'>64</a>
130
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-neutral">&nbsp;</span>
140
- <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-yes">44x</span>
143
- <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-yes">44x</span>
131
+ <a name='L66'></a><a href='#L66'>66</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
147
132
  <span class="cline-any cline-yes">44x</span>
148
133
  <span class="cline-any cline-neutral">&nbsp;</span>
149
134
  <span class="cline-any cline-yes">44x</span>
@@ -176,8 +161,6 @@
176
161
  <span class="cline-any cline-neutral">&nbsp;</span>
177
162
  <span class="cline-any cline-neutral">&nbsp;</span>
178
163
  <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-neutral">&nbsp;</span>
181
164
  <span class="cline-any cline-yes">44x</span>
182
165
  <span class="cline-any cline-yes">4x</span>
183
166
  <span class="cline-any cline-yes">4x</span>
@@ -186,6 +169,9 @@
186
169
  <span class="cline-any cline-no">&nbsp;</span>
187
170
  <span class="cline-any cline-neutral">&nbsp;</span>
188
171
  <span class="cline-any cline-yes">20x</span>
172
+ <span class="cline-any cline-yes">20x</span>
173
+ <span class="cline-any cline-no">&nbsp;</span>
174
+ <span class="cline-any cline-neutral">&nbsp;</span>
189
175
  <span class="cline-any cline-yes">24x</span>
190
176
  <span class="cline-any cline-yes">20x</span>
191
177
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -193,6 +179,9 @@
193
179
  <span class="cline-any cline-neutral">&nbsp;</span>
194
180
  <span class="cline-any cline-yes">8x</span>
195
181
  <span class="cline-any cline-yes">8x</span>
182
+ <span class="cline-any cline-neutral">&nbsp;</span>
183
+ <span class="cline-any cline-neutral">&nbsp;</span>
184
+ <span class="cline-any cline-neutral">&nbsp;</span>
196
185
  <span class="cline-any cline-yes">8x</span>
197
186
  <span class="cline-any cline-yes">8x</span>
198
187
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -201,81 +190,74 @@
201
190
  <span class="cline-any cline-neutral">&nbsp;</span>
202
191
  <span class="cline-any cline-neutral">&nbsp;</span>
203
192
  <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-yes">4x</span>
205
193
  <span class="cline-any cline-neutral">&nbsp;</span>
194
+ <span class="cline-any cline-yes">4x</span>
206
195
  <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-yes">44x</span>
208
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
209
- PermissionLevel,
210
- PermissionType,
211
- getBuiltinPermissionByID,
212
- isPermissionLevelHigherThanRead,
213
- } = require("@budibase/backend-core/permissions")
214
- const {
215
- lowerBuiltinRoleID,
216
- getBuiltinRoles,
217
- } = require("@budibase/backend-core/roles")
218
- const { DocumentType } = require("../db/utils")
196
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { permissions, roles } from "@budibase/backend-core"
197
+ import { DocumentType } from "../db/utils"
219
198
  &nbsp;
220
- const CURRENTLY_SUPPORTED_LEVELS = [
221
- PermissionLevel.WRITE,
222
- PermissionLevel.READ,
223
- PermissionLevel.EXECUTE,
199
+ export const CURRENTLY_SUPPORTED_LEVELS: string[] = [
200
+ permissions.PermissionLevel.WRITE,
201
+ permissions.PermissionLevel.READ,
202
+ permissions.PermissionLevel.EXECUTE,
224
203
  ]
225
204
  &nbsp;
226
- exports.getPermissionType = resourceId =&gt; {
205
+ export function getPermissionType(resourceId: string) {
227
206
  const docType = Object.values(DocumentType).filter(docType =&gt;
228
207
  resourceId.startsWith(docType)
229
208
  )[0]
230
209
  switch (docType) {
231
210
  case DocumentType.TABLE:
232
211
  case DocumentType.ROW:
233
- return PermissionType.TABLE
212
+ return permissions.PermissionType.TABLE
234
213
  <span class="branch-2 cbranch-no" title="branch not covered" > case DocumentType.AUTOMATION:</span>
235
- <span class="cstat-no" title="statement not covered" > return PermissionType.AUTOMATION</span>
214
+ <span class="cstat-no" title="statement not covered" > return permissions.PermissionType.AUTOMATION</span>
236
215
  <span class="branch-3 cbranch-no" title="branch not covered" > case DocumentType.WEBHOOK:</span>
237
- <span class="cstat-no" title="statement not covered" > return PermissionType.WEBHOOK</span>
216
+ <span class="cstat-no" title="statement not covered" > return permissions.PermissionType.WEBHOOK</span>
238
217
  <span class="branch-4 cbranch-no" title="branch not covered" > case DocumentType.QUERY:</span>
239
218
  <span class="branch-5 cbranch-no" title="branch not covered" > case DocumentType.DATASOURCE:</span>
240
- <span class="cstat-no" title="statement not covered" > return PermissionType.QUERY</span>
219
+ <span class="cstat-no" title="statement not covered" > return permissions.PermissionType.QUERY</span>
241
220
  <span class="branch-6 cbranch-no" title="branch not covered" > default:</span>
242
221
  // views don't have an ID, will end up here
243
- <span class="cstat-no" title="statement not covered" > return PermissionType.VIEW</span>
222
+ <span class="cstat-no" title="statement not covered" > return permissions.PermissionType.VIEW</span>
244
223
  }
245
224
  }
246
225
  &nbsp;
247
226
  /**
248
227
  * works out the basic permissions based on builtin roles for a resource, using its ID
249
- * @param resourceId
250
- * @returns {{}}
251
228
  */
252
- exports.getBasePermissions = resourceId =&gt; {
253
- const type = exports.getPermissionType(resourceId)
254
- const permissions = {}
255
- for (let [roleId, role] of Object.entries(getBuiltinRoles())) {
229
+ export function getBasePermissions(resourceId: string) {
230
+ const type = getPermissionType(resourceId)
231
+ const basePermissions: { [key: string]: string } = {}
232
+ for (let [roleId, role] of Object.entries(roles.getBuiltinRoles())) {
256
233
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!role.permissionId) {
257
234
  <span class="cstat-no" title="statement not covered" > continue</span>
258
235
  }
259
- const perms = getBuiltinPermissionByID(role.permissionId)
236
+ const perms = permissions.getBuiltinPermissionByID(role.permissionId)
237
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!perms) {
238
+ <span class="cstat-no" title="statement not covered" > continue</span>
239
+ }
260
240
  const typedPermission = perms.permissions.find(perm =&gt; perm.type === type)
261
241
  if (
262
242
  typedPermission &amp;&amp;
263
243
  CURRENTLY_SUPPORTED_LEVELS.indexOf(typedPermission.level) !== -1
264
244
  ) {
265
245
  const level = typedPermission.level
266
- permissions[level] = lowerBuiltinRoleID(permissions[level], roleId)
267
- <span class="missing-if-branch" title="else path not taken" >E</span>if (isPermissionLevelHigherThanRead(level)) {
268
- permissions[PermissionLevel.READ] = lowerBuiltinRoleID(
269
- permissions[PermissionLevel.READ],
270
- roleId
271
- )
246
+ basePermissions[level] = roles.lowerBuiltinRoleID(
247
+ basePermissions[level],
248
+ roleId
249
+ )
250
+ if (permissions.isPermissionLevelHigherThanRead(level)) {
251
+ basePermissions[permissions.PermissionLevel.READ] =
252
+ roles.lowerBuiltinRoleID(
253
+ basePermissions[permissions.PermissionLevel.READ],
254
+ roleId
255
+ )
272
256
  }
273
257
  }
274
258
  }
275
- return permissions
259
+ return basePermissions
276
260
  }
277
- &nbsp;
278
- exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
279
261
  &nbsp;</pre></td></tr></table></pre>
280
262
 
281
263
  <div class='push'></div><!-- for sticky footer -->
@@ -283,7 +265,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
283
265
  <div class='footer quiet pad2 space-top1 center small'>
284
266
  Code coverage generated by
285
267
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
286
- at Wed Nov 23 2022 08:44:01 GMT+0000 (Coordinated Universal Time)
268
+ at Wed Nov 23 2022 15:12:32 GMT+0000 (Coordinated Universal Time)
287
269
  </div>
288
270
  <script src="../../prettify.js"></script>
289
271
  <script>
@@ -91,7 +91,7 @@
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
94
- at Wed Nov 23 2022 08:44:01 GMT+0000 (Coordinated Universal Time)
94
+ at Wed Nov 23 2022 15:12:32 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  <script src="../../prettify.js"></script>
97
97
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">83.72% </span>
26
+ <span class="strong">83.33% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>36/43</span>
28
+ <span class='fraction'>35/42</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">75% </span>
33
+ <span class="strong">66.66% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>9/12</span>
35
+ <span class='fraction'>6/9</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">75% </span>
40
+ <span class="strong">77.77% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>6/8</span>
42
+ <span class='fraction'>7/9</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">83.72% </span>
47
+ <span class="strong">82.92% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>36/43</span>
49
+ <span class='fraction'>34/41</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,18 +79,18 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file high" data-value="rows.js"><a href="rows.js.html">rows.js</a></td>
83
- <td data-value="94.73" class="pic high">
82
+ <td class="file high" data-value="rows.ts"><a href="rows.ts.html">rows.ts</a></td>
83
+ <td data-value="94.59" class="pic high">
84
84
  <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
85
85
  </td>
86
- <td data-value="94.73" class="pct high">94.73%</td>
87
- <td data-value="38" class="abs high">36/38</td>
88
- <td data-value="90" class="pct high">90%</td>
89
- <td data-value="10" class="abs high">9/10</td>
86
+ <td data-value="94.59" class="pct high">94.59%</td>
87
+ <td data-value="37" class="abs high">35/37</td>
88
+ <td data-value="85.71" class="pct high">85.71%</td>
89
+ <td data-value="7" class="abs high">6/7</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
- <td data-value="6" class="abs high">6/6</td>
92
- <td data-value="94.73" class="pct high">94.73%</td>
93
- <td data-value="38" class="abs high">36/38</td>
91
+ <td data-value="7" class="abs high">7/7</td>
92
+ <td data-value="94.44" class="pct high">94.44%</td>
93
+ <td data-value="36" class="abs high">34/36</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -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 Wed Nov 23 2022 08:44:01 GMT+0000 (Coordinated Universal Time)
119
+ at Wed Nov 23 2022 15:12:32 GMT+0000 (Coordinated Universal Time)
120
120
  </div>
121
121
  <script src="../../../prettify.js"></script>
122
122
  <script>
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/utilities/usageQuota/rows.js</title>
6
+ <title>Code coverage report for src/utilities/usageQuota/rows.ts</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../../base.css" />
@@ -19,34 +19,34 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/utilities/usageQuota</a> rows.js</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/utilities/usageQuota</a> rows.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">94.73% </span>
26
+ <span class="strong">94.59% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>36/38</span>
28
+ <span class='fraction'>35/37</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">90% </span>
33
+ <span class="strong">85.71% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>9/10</span>
35
+ <span class='fraction'>6/7</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">94.73% </span>
47
+ <span class="strong">94.44% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>36/38</span>
49
+ <span class='fraction'>34/36</span>
50
50
  </div>
51
51
 
52
52
 
@@ -143,21 +143,13 @@
143
143
  <a name='L78'></a><a href='#L78'>78</a>
144
144
  <a name='L79'></a><a href='#L79'>79</a>
145
145
  <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
151
- <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-neutral">&nbsp;</span>
146
+ <a name='L81'></a><a href='#L81'>81</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
147
+ <span class="cline-any cline-yes">44x</span>
154
148
  <span class="cline-any cline-neutral">&nbsp;</span>
155
149
  <span class="cline-any cline-neutral">&nbsp;</span>
156
150
  <span class="cline-any cline-yes">44x</span>
157
151
  <span class="cline-any cline-neutral">&nbsp;</span>
158
- <span class="cline-any cline-yes">44x</span>
159
152
  <span class="cline-any cline-neutral">&nbsp;</span>
160
- <span class="cline-any cline-yes">44x</span>
161
153
  <span class="cline-any cline-neutral">&nbsp;</span>
162
154
  <span class="cline-any cline-neutral">&nbsp;</span>
163
155
  <span class="cline-any cline-yes">27x</span>
@@ -175,7 +167,7 @@
175
167
  <span class="cline-any cline-yes">27x</span>
176
168
  <span class="cline-any cline-neutral">&nbsp;</span>
177
169
  <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-yes">44x</span>
170
+ <span class="cline-any cline-neutral">&nbsp;</span>
179
171
  <span class="cline-any cline-neutral">&nbsp;</span>
180
172
  <span class="cline-any cline-yes">30x</span>
181
173
  <span class="cline-any cline-yes">30x</span>
@@ -231,26 +223,22 @@
231
223
  <span class="cline-any cline-neutral">&nbsp;</span>
232
224
  <span class="cline-any cline-yes">27x</span>
233
225
  <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { getRowParams, USER_METDATA_PREFIX } = require("../../db/utils")
235
- const {
236
- isDevAppID,
237
- getDevelopmentAppID,
238
- getProdAppID,
239
- doWithDB,
240
- } = require("@budibase/backend-core/db")
226
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { getRowParams, USER_METDATA_PREFIX } from "../../db/utils"
227
+ import { db as dbCore } from "@budibase/backend-core"
228
+ import { Database, Row } from "@budibase/types"
241
229
  &nbsp;
242
230
  const ROW_EXCLUSIONS = [USER_METDATA_PREFIX]
243
231
  &nbsp;
244
- const getAppPairs = appIds =&gt; {
232
+ function getAppPairs(appIds: string[]) {
245
233
  // collect the app ids into dev / prod pairs
246
234
  // keyed by the dev app id
247
- const pairs = {}
235
+ const pairs: { [key: string]: { devId?: string; prodId?: string } } = {}
248
236
  for (let appId of appIds) {
249
- const devId = getDevelopmentAppID(appId)
237
+ const devId = dbCore.getDevelopmentAppID(appId)
250
238
  if (!pairs[devId]) {
251
239
  pairs[devId] = {}
252
240
  }
253
- if (isDevAppID(appId)) {
241
+ if (dbCore.isDevAppID(appId)) {
254
242
  pairs[devId].devId = appId
255
243
  } else {
256
244
  pairs[devId].prodId = appId
@@ -259,9 +247,9 @@ const getAppPairs = appIds =&gt; {
259
247
  return pairs
260
248
  }
261
249
  &nbsp;
262
- const getAppRows = async appId =&gt; {
250
+ async function getAppRows(appId: string) {
263
251
  // need to specify the app ID, as this is used for different apps in one call
264
- return doWithDB(appId, async db =&gt; {
252
+ return dbCore.doWithDB(appId, async (db: Database) =&gt; {
265
253
  const response = await db.allDocs(
266
254
  getRowParams(null, null, {
267
255
  include_docs: false,
@@ -285,13 +273,13 @@ const getAppRows = async appId =&gt; {
285
273
  * The returned rows will be unique on a per dev/prod app basis.
286
274
  * Rows duplicates may exist across apps due to data import so they are not filtered out.
287
275
  */
288
- exports.getUniqueRows = async appIds =&gt; {
289
- let uniqueRows = [],
290
- rowsByApp = {}
276
+ export async function getUniqueRows(appIds: string[]) {
277
+ let uniqueRows: Row[] = [],
278
+ rowsByApp: { [key: string]: Row[] } = {}
291
279
  const pairs = getAppPairs(appIds)
292
280
  &nbsp;
293
281
  for (let pair of Object.values(pairs)) {
294
- let appRows = []
282
+ let appRows: Row[] = []
295
283
  for (let appId of [pair.devId, pair.prodId]) {
296
284
  if (!appId) {
297
285
  continue
@@ -308,7 +296,7 @@ exports.getUniqueRows = async appIds =&gt; {
308
296
  // this can't be done on all rows because app import results in
309
297
  // duplicate row ids across apps
310
298
  // the array pre-concat is important to avoid stack overflow
311
- const prodId = getProdAppID(pair.devId || pair.prodId)
299
+ const prodId = dbCore.getProdAppID((pair.devId || pair.prodId)!)
312
300
  rowsByApp[prodId] = [...new Set(appRows)]
313
301
  uniqueRows = uniqueRows.concat(rowsByApp[prodId])
314
302
  }
@@ -322,7 +310,7 @@ exports.getUniqueRows = async appIds =&gt; {
322
310
  <div class='footer quiet pad2 space-top1 center small'>
323
311
  Code coverage generated by
324
312
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
325
- at Wed Nov 23 2022 08:44:01 GMT+0000 (Coordinated Universal Time)
313
+ at Wed Nov 23 2022 15:12:32 GMT+0000 (Coordinated Universal Time)
326
314
  </div>
327
315
  <script src="../../../prettify.js"></script>
328
316
  <script>
@@ -124,7 +124,7 @@ function <span class="fstat-no" title="function not covered" >resetQuotasIfRequi
124
124
  <div class='footer quiet pad2 space-top1 center small'>
125
125
  Code coverage generated by
126
126
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
127
- at Wed Nov 23 2022 08:44:01 GMT+0000 (Coordinated Universal Time)
127
+ at Wed Nov 23 2022 15:12:32 GMT+0000 (Coordinated Universal Time)
128
128
  </div>
129
129
  <script src="../../../prettify.js"></script>
130
130
  <script>
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/utilities/users.js</title>
6
+ <title>Code coverage report for src/utilities/users.ts</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../base.css" />
@@ -19,20 +19,20 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/utilities</a> users.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/utilities</a> users.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.48% </span>
26
+ <span class="strong">80% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>22/27</span>
28
+ <span class='fraction'>20/25</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">70% </span>
33
+ <span class="strong">62.5% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/10</span>
35
+ <span class='fraction'>5/8</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">81.48% </span>
47
+ <span class="strong">80% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>22/27</span>
49
+ <span class='fraction'>20/25</span>
50
50
  </div>
51
51
 
52
52
 
@@ -112,14 +112,11 @@
112
112
  <a name='L47'></a><a href='#L47'>47</a>
113
113
  <a name='L48'></a><a href='#L48'>48</a>
114
114
  <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
118
- <span class="cline-any cline-yes">46x</span>
119
- <span class="cline-any cline-yes">46x</span>
115
+ <a name='L50'></a><a href='#L50'>50</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
120
116
  <span class="cline-any cline-yes">46x</span>
121
117
  <span class="cline-any cline-yes">46x</span>
122
118
  <span class="cline-any cline-neutral">&nbsp;</span>
119
+ <span class="cline-any cline-neutral">&nbsp;</span>
123
120
  <span class="cline-any cline-yes">46x</span>
124
121
  <span class="cline-any cline-yes">2x</span>
125
122
  <span class="cline-any cline-yes">2x</span>
@@ -158,22 +155,20 @@
158
155
  <span class="cline-any cline-neutral">&nbsp;</span>
159
156
  <span class="cline-any cline-no">&nbsp;</span>
160
157
  <span class="cline-any cline-no">&nbsp;</span>
161
- <span class="cline-any cline-neutral">&nbsp;</span>
162
158
  <span class="cline-any cline-no">&nbsp;</span>
163
159
  <span class="cline-any cline-neutral">&nbsp;</span>
164
160
  <span class="cline-any cline-no">&nbsp;</span>
165
161
  <span class="cline-any cline-neutral">&nbsp;</span>
166
162
  <span class="cline-any cline-yes">2x</span>
167
163
  <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { InternalTables } = require("../db/utils")
169
- const { getGlobalUser } = require("../utilities/global")
170
- const { getAppDB } = require("@budibase/backend-core/context")
171
- const { getProdAppID } = require("@budibase/backend-core/db")
172
- const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
164
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { InternalTables } from "../db/utils"
165
+ import { getGlobalUser } from "./global"
166
+ import { context, db as dbCore, roles } from "@budibase/backend-core"
167
+ import { BBContext } from "@budibase/types"
173
168
  &nbsp;
174
- exports.getFullUser = async (ctx, userId) =&gt; {
169
+ export async function getFullUser(ctx: BBContext, userId: string) {
175
170
  const global = await getGlobalUser(userId)
176
- let metadata = {}
171
+ let metadata: any = {}
177
172
  &nbsp;
178
173
  // always prefer the user metadata _id and _rev
179
174
  delete global._id
@@ -181,7 +176,7 @@ exports.getFullUser = async (ctx, userId) =&gt; {
181
176
  &nbsp;
182
177
  try {
183
178
  // this will throw an error if the db doesn't exist, or there is no appId
184
- const db = getAppDB()
179
+ const db = context.getAppDB()
185
180
  metadata = await db.get(userId)
186
181
  } catch (err) {
187
182
  // it is fine if there is no user metadata yet
@@ -190,14 +185,14 @@ exports.getFullUser = async (ctx, userId) =&gt; {
190
185
  return {
191
186
  ...metadata,
192
187
  ...global,
193
- roleId: global.roleId || <span class="branch-1 cbranch-no" title="branch not covered" >BUILTIN_ROLE_IDS.PUBLIC,</span>
188
+ roleId: global.roleId || <span class="branch-1 cbranch-no" title="branch not covered" >roles.BUILTIN_ROLE_IDS.PUBLIC,</span>
194
189
  tableId: InternalTables.USER_METADATA,
195
190
  // make sure the ID is always a local ID, not a global one
196
191
  _id: userId,
197
192
  }
198
193
  }
199
194
  &nbsp;
200
- exports.publicApiUserFix = ctx =&gt; {
195
+ export function publicApiUserFix(ctx: BBContext) {
201
196
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!ctx.request.body) {
202
197
  <span class="cstat-no" title="statement not covered" > return ctx</span>
203
198
  }
@@ -207,10 +202,9 @@ exports.publicApiUserFix = ctx =&gt; {
207
202
  if (!ctx.request.body.roles) {
208
203
  ctx.request.body.roles = {}
209
204
  } else <span class="missing-if-branch" title="else path not taken" >E</span>{
210
- const newRoles = <span class="cstat-no" title="statement not covered" >{}</span>
205
+ const newRoles: { [key: string]: any } = <span class="cstat-no" title="statement not covered" >{}</span>
211
206
  <span class="cstat-no" title="statement not covered" > for (let [appId, role] of Object.entries(ctx.request.body.roles)) {</span>
212
- // @ts-ignore
213
- <span class="cstat-no" title="statement not covered" > newRoles[getProdAppID(appId)] = role</span>
207
+ <span class="cstat-no" title="statement not covered" > newRoles[dbCore.getProdAppID(appId)] = role</span>
214
208
  }
215
209
  <span class="cstat-no" title="statement not covered" > ctx.request.body.roles = newRoles</span>
216
210
  }
@@ -223,7 +217,7 @@ exports.publicApiUserFix = ctx =&gt; {
223
217
  <div class='footer quiet pad2 space-top1 center small'>
224
218
  Code coverage generated by
225
219
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
226
- at Wed Nov 23 2022 08:44:01 GMT+0000 (Coordinated Universal Time)
220
+ at Wed Nov 23 2022 15:12:32 GMT+0000 (Coordinated Universal Time)
227
221
  </div>
228
222
  <script src="../../prettify.js"></script>
229
223
  <script>