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

17 lines
410 B
TypeScript

export default defineNuxtRouteMiddleware((to, from) => {
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: "red",
});
return navigateTo('/')
})
}
})