frontend/app/lib/api.ts
Nathan b54d087a51
Some checks failed
Deploy to Netlify / Deploy to Netlify (push) Failing after 1m8s
🎉 Initial commit
2025-06-19 15:48:47 +02:00

50 lines
1 KiB
TypeScript

const BASE_URL = import.meta.env.VITE_API_URL;
const makeRequest = async (
url: string,
body: object,
error = "Une erreur est survenue",
method = "POST"
) => {
const response = await fetch(BASE_URL + url, {
method,
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(body),
});
const data = await response.json();
if (!response.ok) throw new Error(data.error || error);
return data?.data || data;
};
export const requestLogin = async (email: string, token: string) => {
return makeRequest(
"/auth/request",
{ email, token },
"Échec de la demande de connexion"
);
};
export const verifyOtp = async ({
otpCode,
email,
}: {
otpCode: string;
email: string;
}) => {
return makeRequest(
"/auth/verify",
{ email, code: otpCode },
"Code de vérification invalide"
);
};
export const sendOtp = async (email: string) => {
return makeRequest(
"/auth/send-otp",
{ email },
"Échec de l'envoi du code de vérification"
);
};