Files
portail-gise/src/services/api.js
T
2026-06-11 22:39:45 +02:00

54 lines
2.0 KiB
JavaScript

// src/services/api.js
const apiCall = async (url, body = {}) => {
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
},
credentials: 'include', // Garde bien ça pour envoyer le cookie de session
body: JSON.stringify(body)
});
const data = await response.json();
if (data.error) throw new Error(data.error.message);
return data.result;
};
export const loginClient = (email, password) =>
apiCall('/api/guest/client/login', { email, password });
export const getClientProfile = () =>
apiCall('/api/client/profile/get');
// Récupère la liste des services/commandes du client
export const getClientOrders = () =>
apiCall('/api/client/order/get_list');
// Récupère les détails techniques du service rattaché à une commande
export const getOrderService = (order_id) =>
apiCall('/api/client/order/service', { id: order_id });
// Fonction d'inscription unifiee pour créer un compte client et commander un service en une seule étape
export const registerUnifiedClient = async (email, username, password, firstName, lastName) => {
try {
const response = await fetch('/custom_api/signup.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
email: email,
username: username,
password: password,
first_name: firstName, // L'étiquette est "first_name", le contenu est ta variable JS "firstName"
last_name: lastName // L'étiquette est "last_name", le contenu est ta variable JS "lastName"
})
});
const data = await response.json();
if (data.error) throw new Error(data.error.message);
return data.result;
} catch (err) {
console.error("Erreur lors de l'inscription unifiée :", err);
throw new Error("Échec de l'inscription. Veuillez réessayer plus tard.");
}
}