feat: add role negation and negate some routes to admins

This commit is contained in:
2026-06-17 22:27:03 +02:00 Unverified
parent 3315a9ce6e
commit ed0e12b1b6
4 changed files with 45 additions and 9 deletions
+5 -3
View File
@@ -1,3 +1,5 @@
import { checkRoleAccess, type MetaRoleRequirement } from '~/utils/roles'
export default defineNuxtRouteMiddleware(async (to) => {
const auth = useAuth()
@@ -14,13 +16,13 @@ export default defineNuxtRouteMiddleware(async (to) => {
return navigateTo('/auth/login')
}
const requiredRole = to.meta.auth?.role
const requiredRole = to.meta.auth?.role as MetaRoleRequirement | undefined
if (requiredRole && auth.user.value) {
const userRole = auth.user.value.role
if (!hasMinimumRole(userRole, requiredRole)) {
console.warn(`[Auth] User role ${userRole} insufficient for required ${requiredRole}`)
if (!checkRoleAccess(userRole, requiredRole)) {
console.warn(`[Auth] User role '${userRole}' rejected for route requirement:`, requiredRole)
return navigateTo('/')
}
}