Files
Inventory/app/middleware/profile.global.ts
2025-09-29 15:05:54 +02:00

25 lines
794 B
TypeScript

import { useProfileSession } from "#imports";
export default defineNuxtRouteMiddleware(async (to) => {
const { ensureSession, fetchCurrentProfile, activeProfile } =
useProfileSession();
await ensureSession();
const rawPath = to?.path ?? "";
const normalizedPath = rawPath.startsWith("/") ? rawPath : `/${rawPath}`;
const fullPath = to?.fullPath ?? normalizedPath;
const routeName = typeof to?.name === "string" ? to.name : "";
const isProfilesRoute =
normalizedPath.startsWith("/profiles") ||
fullPath.startsWith("/profiles") ||
routeName.startsWith("profiles");
if (process.client && !activeProfile.value) {
await fetchCurrentProfile();
}
if (process.client && !activeProfile.value && !isProfilesRoute) {
return navigateTo("/profiles");
}
});