Files
wp-headless/wp-content/themes/moonshine/server/api/login.post.ts

18 lines
675 B
TypeScript

export default defineEventHandler(async (event) => {
try {
const variables = await readBody<AuthLoginForm>(event);
const { data, error } = await useServerGraphQLMutation(event, "AuthLogin", variables);
if (!data?.login) {
throw new Error(error?.message || "Une erreur est survenue lors de la connexion.");
}
if (!await handleLogin(event, data)) {
throw new Error("Échec de la connexion.");
}
return { success: true, message: "Connexion réussie" };
}
catch (error) {
const message = error instanceof Error ? error.message : "Une erreur est survenue lors de la déconnexion.";
return { success: false, message };
}
});