homebox/frontend/middleware/auth.ts
Hayden d759fad40c feat: add log statements + remove auto redirect (#671)
Former-commit-id: 3ee150e7d66d18c6369d171994932744a614a74f
2023-12-15 18:32:44 -09:00

24 lines
663 B
TypeScript

export default defineNuxtRouteMiddleware(async () => {
const ctx = useAuthContext();
const api = useUserApi();
if (!ctx.isAuthorized()) {
if (window.location.pathname !== "/") {
console.debug("[middleware/auth] isAuthorized returned false, redirecting to /");
return navigateTo("/");
}
}
if (!ctx.user) {
console.log("Fetching user data");
const { data, error } = await api.user.self();
if (error) {
if (window.location.pathname !== "/") {
console.debug("[middleware/user] user is null and fetch failed, redirecting to /");
return navigateTo("/");
}
}
ctx.user = data.item;
}
});