app/middleware/setup.global.ts

20 lines
555 B
TypeScript

export default defineNuxtRouteMiddleware((to) => {
// Skip middleware for wizard and API routes
if (to.path === "/wizard" || to.path.startsWith("/api/")) {
return;
}
// Use actual store state to determine whether setup is complete
const membersStore = useMembersStore();
const policiesStore = usePoliciesStore();
const streamsStore = useStreamsStore();
const setupComplete =
membersStore.isValid &&
policiesStore.isValid &&
streamsStore.hasValidStreams;
if (!setupComplete) {
return navigateTo("/wizard");
}
});