arm-core/web/src/widgets/Sidebar/visibility.ts
Andrey Epifancev 717dec69cf feat(#190): экран «Качество первички» (web)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-11-07 02:49:24 +04:00

11 lines
588 B
TypeScript

// Видимость пунктов меню по правам из `/me`. Прячет лишнее для удобства; доступ всё равно решает сервер.
export interface PermissionItem {
/** Право, без которого пункт не показывается; нет — пункт виден всем. */
permission?: string;
}
export function filterByPermission<T extends PermissionItem>(items: readonly T[], permissions: readonly string[]): T[] {
return items.filter((item) => !item.permission || permissions.includes(item.permission));
}