From 5a5a89fc926926351be838411c785ac4e2df0876 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 28 Sep 2026 08:31:14 +0000 Subject: [PATCH] fix(api-reference): don't show 'not documented' for filter-only permissions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit An operation that only declares filter: true grants (e.g. searchRoles) documents its access: no grant is required and results are filtered. Render it as 'results filtered by `role:view`' instead of 'not documented · results filtered by …'. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01C2A97XBNr735zXYDgBMs45 --- src/utils/openapi-permissions.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/utils/openapi-permissions.ts b/src/utils/openapi-permissions.ts index b042fba..f2fb3b3 100644 --- a/src/utils/openapi-permissions.ts +++ b/src/utils/openapi-permissions.ts @@ -109,10 +109,16 @@ export const formatPermissions = (permissions: unknown): string | null => { return null; } + const filtered = filters.length ? `results filtered by ${filters.join(' and ')}` : ''; + + if (!requirements.length && filtered) { + // Filter grants document the operation on their own: no grant is required, results are filtered + return `> ${label} ${filtered}`; + } + const required = requirements.length ? requirements.join(' and ') : 'not documented'; - const filtered = filters.length ? ` · results filtered by ${filters.join(' and ')}` : ''; - return `> ${label} ${required}${filtered}`; + return `> ${label} ${required}${filtered ? ` · ${filtered}` : ''}`; }; /**