From 535446696c8eb1d9d51c13c22c8b8377d0d9270a Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Mon, 30 Mar 2026 07:36:23 -0500 Subject: [PATCH] Include accessLevel in vault categories list response --- packages/backend/src/routes/v1/vault.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/routes/v1/vault.ts b/packages/backend/src/routes/v1/vault.ts index c17b87d..f7c2b4a 100644 --- a/packages/backend/src/routes/v1/vault.ts +++ b/packages/backend/src/routes/v1/vault.ts @@ -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) => { 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) => {