+
Mail : {user.email}
Téléphone : {user.phone === null ? "Pas de numéro enregistré" : user.phone}
diff --git a/src/utils/getRoles.js b/src/utils/getRoles.js
new file mode 100644
index 0000000..5d6d3d6
--- /dev/null
+++ b/src/utils/getRoles.js
@@ -0,0 +1,21 @@
+export default async function getRoles() {
+ try {
+ const res = await fetch(`${import.meta.env.VITE_API_URL}/api/roles`, {
+ method: 'GET',
+ credentials: 'include',
+ headers: {
+ 'Accept': 'application/json'
+ }
+ });
+
+ if (!res.ok) {
+ throw new Error(`Erreur serveur : ${res.status}`);
+ }
+
+ const data = await res.json();
+ return data;
+ } catch (err) {
+ console.error('Erreur :', err);
+ return null;
+ }
+}
diff --git a/src/utils/users/deleteUser.js b/src/utils/users/deleteUser.js
index e6f13fd..4e3f24d 100644
--- a/src/utils/users/deleteUser.js
+++ b/src/utils/users/deleteUser.js
@@ -1,35 +1,34 @@
-import getXSRFToken from "../getXSRF";
+import getXSRFToken from "../getXSRF.js";
export default async function deleteUser(userId) {
-
- const csrfToken = await getXSRFToken();
+ const csrfToken = await getXSRFToken();
- try {
-
+ try {
+ const response = await fetch(`${import.meta.env.VITE_API_URL}/api/users/${userId}`, {
+ method: 'DELETE',
+ credentials: 'include',
+ headers: {
+ 'Content-Type': 'application/json',
+ 'X-XSRF-TOKEN': csrfToken,
+ 'Accept': 'application/json'
+ },
+ body: JSON.stringify({
+ id: userId
+ })
+ });
- const res = await fetch(
- `${import.meta.env.VITE_API_URL}/api/users/${userId}`,
- {
- method: "DELETE",
- credentials: "include",
- headers: {
- Accept: "application/json",
- "X-XSRF-TOKEN": csrfToken,
- },
- }
- );
+ const data = await response.json();
- if (!res.ok) {
- let message = "Erreur backend";
- try {
- const errorData = await res.json();
- message = errorData.message || message;
- } catch {}
- return { success: false, message };
+ if (!response.ok) {
+ return {
+ status: response.status,
+ errors: data.errors || data.message
+ };
+ }
+
+ return { status: response.status, data };
+
+ } catch (error) {
+ return { status: 500, error };
}
- return { success: true };
- } catch (err) {
- console.error(err);
- return { success: false, message: "Erreur réseau" };
- }
}
diff --git a/src/utils/users/modifyRole.js b/src/utils/users/modifyRole.js
new file mode 100644
index 0000000..e0c9ae8
--- /dev/null
+++ b/src/utils/users/modifyRole.js
@@ -0,0 +1,33 @@
+import getXSRFToken from "../getXSRF.js";
+
+
+export default async function modifyRole(role, userId) {
+ try {
+ const csrfToken = await getXSRFToken();
+
+ const res = await fetch(
+ `${import.meta.env.VITE_API_URL}/api/users/${userId}/role`,
+ {
+ method: 'POST',
+ credentials: 'include',
+ headers: {
+ 'Accept': 'application/json',
+ 'X-XSRF-TOKEN': csrfToken,
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({ role }),
+ }
+ );
+
+ const data = await res.json();
+
+ if (!res.ok) {
+ return { success: false, error: data.message ?? "Erreur serveur" };
+ }
+
+ return { success: true, data };
+ } catch (err) {
+ console.error(err);
+ return { success: false, error: "Erreur réseau" };
+ }
+}