22 lines
844 B
TypeScript
22 lines
844 B
TypeScript
export default defineEventHandler(async (event) => {
|
|
try {
|
|
const variables = await readBody<AuthLoginForm>(event);
|
|
const { data } = await useGraphQLOperation(event, "AuthLogin", variables);
|
|
if (!data?.login) {
|
|
throw new Error("INVALID_LOGIN");
|
|
}
|
|
if (!(await handleLogin(event, data))) {
|
|
throw new Error("LOGIN_FAILED");
|
|
}
|
|
return { success: true, message: "Connexion réussie" };
|
|
} catch (error) {
|
|
const messages = {
|
|
INVALID_LOGIN: "Identifiants invalides. Veuillez réessayer.",
|
|
LOGIN_FAILED: "Une erreur est survenue lors de la connexion. Veuillez réessayer plus tard.",
|
|
};
|
|
const message =
|
|
error instanceof Error && error.message in messages ? error.message : "LOGIN_FAILED";
|
|
return { success: false, message: messages[message as keyof typeof messages] };
|
|
}
|
|
});
|