Files

12 lines
438 B
TypeScript

import { signInPath } from "~/utils/auth";
export default defineNuxtRouteMiddleware(async (to) => {
if (import.meta.server) return;
const signIn = signInPath(to.fullPath);
const session = useSessionStore();
if (!session.token) session.hydrate();
if (!session.token) return navigateTo(signIn);
if (!(await session.validate())) return navigateTo(signIn);
if (session.user?.role !== "customer") return navigateTo(signIn);
});