import { useAuth } from 'react-oidc-context' /** * Permission helpers для schema workflow. Phase 1c — stub: проверяем * только что пользователь authenticated (любой logged-in юзер может * approve/publish). Backend всё равно отрежет: * * *

Phase 1d: подключим decode JWT → realm_access.roles, и эти hook'и * начнут возвращать false для users без \`ordinis-schema-reviewer\` / * \`ordinis-schema-publisher\` ролей. UI hide'ит соответствующие кнопки. * *

До тех пор все logged-in юзеры могут жать любые workflow buttons — * backend гейт остаётся primary defence. */ /** Может ли актор approve / request_changes / reject schema draft. */ export function useCanReviewSchema(): boolean { const auth = useAuth() // TODO Phase 1d: const roles = (auth.user?.profile as { realm_access?: { roles?: string[] } })?.realm_access?.roles ?? [] // return roles.includes('ordinis-schema-reviewer') return auth.isAuthenticated } /** Может ли актор publish approved schema draft (bump live version). */ export function useCanPublishSchema(): boolean { const auth = useAuth() // TODO Phase 1d: roles.includes('ordinis-schema-publisher') return auth.isAuthenticated } /** Может ли актор create schema draft (maker side). */ export function useCanCreateSchemaDraft(): boolean { const auth = useAuth() // TODO Phase 1d: roles.includes('ordinis-schema-maker') OR any authenticated return auth.isAuthenticated }