templates2.Content.Nuxt/shared/rbac.ts
w4c-templates 940313f8c5
Some checks failed
CI / quality (push) Has been cancelled
chore(template): publish Content.Nuxt
2026-10-11 23:26:40 +03:00

21 lines
652 B
TypeScript

export type StaffRole = 'admin' | 'editor';
/** Anyone who may enter the content admin (authoring UI). */
export function isStaffRole(value: unknown): value is StaffRole {
return value === 'admin' || value === 'editor';
}
/** Admins and editors may author posts and docs; everyone else is read-only. */
export function canAuthor(value: unknown): boolean {
return value === 'admin' || value === 'editor';
}
/** Only admins may delete published content. */
export function canDelete(value: unknown): boolean {
return value === 'admin';
}
export function roleLabel(value: unknown): string {
return canAuthor(value) ? String(value) : 'user';
}