refactor: useAuth / useAuthActions
All checks were successful
Deploy WordPress and Nuxt / deploy (push) Successful in 1m4s

This commit is contained in:
2025-09-18 14:02:00 -04:00
parent 5f23d4094e
commit 6b078267de
7 changed files with 23 additions and 19 deletions

View File

@@ -1,5 +1,6 @@
<script setup lang="ts">
const { isLoggedIn, loginFields, login } = useAuth();
const { isLoggedIn } = useAuth();
const { loginFields, login } = useAuthActions();
if (isLoggedIn.value) {
throw createError({ statusCode: 500, statusMessage: "Erreur serveur", message: "Le formulaire de connexion ne peut pas être affiché pour un utilisateur déjà connecté." });
}

View File

@@ -1,5 +1,6 @@
<script setup lang="ts">
const { isLoggedIn, logout } = useAuth();
const { isLoggedIn } = useAuth();
const { logout } = useAuthActions();
if (!isLoggedIn.value) {
throw createError({ statusCode: 500, statusMessage: "Erreur serveur", message: "Le formulaire de déconnexion ne peut pas être affiché pour un utilisateur déjà déconnecté." });
}

View File

@@ -2,17 +2,21 @@ import type { FormSubmitEvent } from "@nuxt/ui";
export function useAuth() {
const { loggedIn, session } = useUserSession();
const toast = useToast();
const redirect = useRoute().query.redirect as string || "/";
const router = useRouter();
const { fetch: refreshUserSession } = useUserSession();
const isLoggedIn = loggedIn;
const isSwitchedTo = computed(() => Boolean(session.value?.isSwitchedTo));
const hasRole = (role: string) => session.value?.user?.roles?.includes(role) || false;
const isAdmin = computed(() => hasRole("administrator"));
return { isLoggedIn, isSwitchedTo, hasRole, isAdmin };
}
export function useAuthActions() {
const { fetch: refreshUserSession } = useUserSession();
const redirect = useRoute().query.redirect as string || "/";
const router = useRouter();
const toast = useToast();
// Login
const loginFields = [
{
@@ -91,5 +95,5 @@ export function useAuth() {
}
}
return { isLoggedIn, isSwitchedTo, hasRole, isAdmin, loginFields, login, logout, switchTo, switchBack };
return { loginFields, login, logout, switchTo, switchBack };
}

View File

@@ -1,7 +1,6 @@
export default defineNuxtRouteMiddleware((to) => {
const { loggedIn, session } = useUserSession();
const hasRole = (role: string) => session.value?.user?.roles?.includes(role) || false;
if (!loggedIn.value) {
const { isLoggedIn, hasRole } = useAuth();
if (!isLoggedIn.value) {
return navigateTo(`/connexion?redirect=${encodeURIComponent(to.fullPath)}`);
}
if (!to.meta.role) {

View File

@@ -1,10 +1,9 @@
export default defineNuxtRouteMiddleware((to) => {
const { loggedIn, session } = useUserSession();
if (!loggedIn.value) {
const { isLoggedIn, isAdmin } = useAuth();
if (!isLoggedIn.value) {
return navigateTo(`/connexion?redirect=${encodeURIComponent(to.fullPath)}`);
}
const isAdmin = session.value?.user?.roles?.includes("administrator") || false;
if (!isAdmin) {
if (!isAdmin.value) {
throw createError({
statusCode: 403,
statusMessage: "Accès refusé - Privilèges administrateur requis",

View File

@@ -1,6 +1,6 @@
export default defineNuxtRouteMiddleware((to) => {
const { loggedIn } = useUserSession();
if (!loggedIn.value) {
const { isLoggedIn } = useAuth();
if (!isLoggedIn.value) {
return navigateTo(`/connexion?redirect=${encodeURIComponent(to.fullPath)}`);
}
});

View File

@@ -1,6 +1,6 @@
export default defineNuxtRouteMiddleware((to) => {
const { loggedIn } = useUserSession();
if (loggedIn.value) {
const { isLoggedIn } = useAuth();
if (isLoggedIn.value) {
return navigateTo(`/connexion?redirect=${encodeURIComponent(to.fullPath)}`);
}
});