use fetchWrapper for auth functions

This commit is contained in:
T'JAMPENS QUENTIN p2406187
2026-01-28 15:25:18 +01:00
parent 4f184dd7c5
commit 659a6c1623
3 changed files with 21 additions and 78 deletions
+7 -26
View File
@@ -1,32 +1,13 @@
import fetchWrapper from "../fetchWrapper.js";
import getXSRFToken from "../getXSRF.js";
export default async function login(email, password) {
const csrfToken = await getXSRFToken();
try {
const response = await fetch(`${import.meta.env.VITE_API_URL}/api/users/login`, {
method: 'POST',
credentials: 'include',
headers: {
'Content-Type': 'application/json',
'X-XSRF-TOKEN': csrfToken,
'Accept': 'application/json'
},
body: JSON.stringify({ email, password })
});
const data = await response.json();
if (!response.ok) {
return {
status: response.status,
errors: data.errors || data.message
};
}
return { status: response.status, data };
} catch (error) {
return { status: 500, error };
}
return fetchWrapper(
"/api/users/login",
{ email, password },
"POST",
{ "X-XSRF-TOKEN": csrfToken }
);
}
+7 -22
View File
@@ -1,28 +1,13 @@
import fetchWrapper from "../fetchWrapper.js";
import getXSRFToken from "../getXSRF.js";
export default async function logout() {
const csrfToken = await getXSRFToken();
try {
const response = await fetch(`${import.meta.env.VITE_API_URL}/api/users/logout`, {
method: 'POST',
credentials: 'include',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'X-XSRF-TOKEN': csrfToken
},
});
console.log('Code HTTP :', response.status);
if (!response.ok) {
throw new Error(`Erreur HTTP ${response.status}`);
}
return { status: response.status };
} catch (error) {
return error;
}
return fetchWrapper(
"/api/users/logout",
null,
"POST",
{ "X-XSRF-TOKEN": csrfToken }
);
}
+7 -30
View File
@@ -1,36 +1,13 @@
import fetchWrapper from "./fetchWrapper.js";
import getXSRFToken from "./getXSRF.js";
export default async function register(email, password, name, lastname, phone) {
const csrfToken = await getXSRFToken();
try {
const response = await fetch(`${import.meta.env.VITE_API_URL}/api/users/register`, {
method: 'POST',
credentials: 'include',
headers: {
'Content-Type': 'application/json',
'X-XSRF-TOKEN': csrfToken,
'Accept': 'application/json'
},
body: JSON.stringify({ email, password, name, lastname, phone }),
});
const data = await response.json();
if (!response.ok) {
if (response.status === 422) {
return {
status: 422,
errors: data.errors
};
}
throw new Error(`Erreur HTTP ${response.status}`);
}
return { status: response.status, data };
} catch (error) {
return { status: "error", error };
}
return fetchWrapper(
"/api/users/register",
{ email, password, name, lastname, phone },
"POST",
{ "X-XSRF-TOKEN": csrfToken }
);
}