29 lines
712 B
TypeScript
29 lines
712 B
TypeScript
import { getAuthSessionData } from '~/lib/api/auth/getSession';
|
|
|
|
export default defineNuxtRouteMiddleware(async (to, _from) => {
|
|
const session = useAuthSession();
|
|
if (session.value != null) {
|
|
const result = await getAuthSessionData({
|
|
sessionType: session.value.type,
|
|
sessionId: session.value.id,
|
|
});
|
|
|
|
if (result.success) {
|
|
return;
|
|
} else if (result.code === 401) {
|
|
session.value = null;
|
|
return navigateTo({
|
|
path: '/login',
|
|
});
|
|
}
|
|
}
|
|
|
|
if (to.name === 'login' || to.name === 'register') {
|
|
return;
|
|
}
|
|
|
|
return navigateTo({
|
|
path: '/login',
|
|
});
|
|
});
|