laravel-nuxt/nuxt/app/middleware/role-admin.ts

17 lines
403 B
TypeScript

export default defineNuxtRouteMiddleware(() => {
const nuxtApp = useNuxtApp()
const auth = useAuthStore()
if (auth.isLoggedIn && !auth.user.roles.includes('admin')) {
return nuxtApp.runWithContext(() => {
useToast().add({
icon: 'i-heroicons-exclamation-circle-solid',
title: 'Access denied.',
color: 'error',
})
return navigateTo('/')
})
}
})