23 lines
550 B
TypeScript
23 lines
550 B
TypeScript
|
import {useAuthStore} from "~/store/auth";
|
||
|
|
||
|
const publicUrl = [
|
||
|
"index",
|
||
|
"login",
|
||
|
"account-password-reset",
|
||
|
"account-password-confirm-reset",
|
||
|
"account-create",
|
||
|
"cgu"
|
||
|
]
|
||
|
|
||
|
export default defineNuxtRouteMiddleware((to) => {
|
||
|
const store = useAuthStore();
|
||
|
if (store.authenticated && to?.name === 'login') {
|
||
|
return navigateTo('/bundle');
|
||
|
}
|
||
|
// if token doesn't exist redirect to log in if not in public URL
|
||
|
if (!store.authenticated && !publicUrl.includes(to?.name)) {
|
||
|
abortNavigation();
|
||
|
return navigateTo('/login');
|
||
|
}
|
||
|
});
|