import type { Permission } from "~/models/role" const route = useRoute() const { checkRole, hasCreateAccess, hasReadAccess, hasUpdateAccess, hasDeleteAccess } = useRBAC() export function getRouteTitle() { return route.meta.title as string } export function getParamsId() { const id = route.params.id return typeof id === 'string' ? parseInt(id) : 0 } export function checkPageAccess(roleAccess: Record, type: 'create' | 'read' | 'update' | 'delete') { // Check if user has access to this page, need to use try - catch for proper handling const hasAccess = checkRole(roleAccess) if (!hasAccess) { navigateTo('/403') } // Define permission-based computed properties const canCreate = hasCreateAccess(roleAccess) const canRead = hasReadAccess(roleAccess) const canUpdate = hasUpdateAccess(roleAccess) const canDelete = hasDeleteAccess(roleAccess) switch (type) { case 'create': return canCreate case 'read': return canRead case 'update': return canUpdate case 'delete': return canDelete default: return false } }