generated from pascalmartineau/wp-skeleton
14 lines
449 B
TypeScript
14 lines
449 B
TypeScript
export default defineNuxtRouteMiddleware((to) => {
|
|
const { loggedIn, session } = useUserSession();
|
|
if (!loggedIn.value) {
|
|
return navigateTo(`/connexion?redirect=${encodeURIComponent(to.fullPath)}`);
|
|
}
|
|
const isAdmin = session.value?.user?.roles?.includes("administrator") || false;
|
|
if (!isAdmin) {
|
|
throw createError({
|
|
statusCode: 403,
|
|
statusMessage: "Accès refusé - Privilèges administrateur requis",
|
|
});
|
|
}
|
|
});
|