Include accessLevel in vault categories list response
This commit is contained in:
@@ -75,7 +75,12 @@ export const vaultRoutes: FastifyPluginAsync = async (app) => {
|
|||||||
|
|
||||||
app.get('/vault/categories', { preHandler: [app.authenticate, app.requirePermission('vault.view'), requireUnlocked] }, async (request, reply) => {
|
app.get('/vault/categories', { preHandler: [app.authenticate, app.requirePermission('vault.view'), requireUnlocked] }, async (request, reply) => {
|
||||||
const categories = await VaultCategoryService.listAccessible(app.db, request.user.id)
|
const categories = await VaultCategoryService.listAccessible(app.db, request.user.id)
|
||||||
return reply.send({ data: categories })
|
// Include accessLevel for each category so the UI knows what actions to show
|
||||||
|
const withAccess = await Promise.all(categories.map(async (cat) => {
|
||||||
|
const accessLevel = await VaultPermissionService.getAccessLevel(app.db, cat.id, request.user.id)
|
||||||
|
return { ...cat, accessLevel }
|
||||||
|
}))
|
||||||
|
return reply.send({ data: withAccess })
|
||||||
})
|
})
|
||||||
|
|
||||||
app.get('/vault/categories/:id', { preHandler: [app.authenticate, app.requirePermission('vault.view'), requireUnlocked] }, async (request, reply) => {
|
app.get('/vault/categories/:id', { preHandler: [app.authenticate, app.requirePermission('vault.view'), requireUnlocked] }, async (request, reply) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user