mise a jour

This commit is contained in:
Emma781227
2026-07-01 22:06:22 +02:00
parent efd10d6754
commit 68a9650223
22 changed files with 719 additions and 167 deletions

View File

@@ -5,24 +5,30 @@ function authHeaders() {
}
}
function apiError(message, status) {
const err = new Error(message)
err.status = status
return err
}
export async function getStatsApi() {
const res = await fetch('/api/admin/stats', { headers: authHeaders() })
const data = await res.json()
if (!res.ok) throw new Error(data.message || 'Erreur stats.')
if (!res.ok) throw apiError(data.message || 'Erreur stats.', res.status)
return data
}
export async function getUsersApi() {
const res = await fetch('/api/admin/users', { headers: authHeaders() })
const data = await res.json()
if (!res.ok) throw new Error(data.message || 'Erreur utilisateurs.')
if (!res.ok) throw apiError(data.message || 'Erreur utilisateurs.', res.status)
return data
}
export async function drawWinnerApi() {
const res = await fetch('/api/admin/draw', { method: 'POST', headers: authHeaders() })
const data = await res.json()
if (!res.ok) throw new Error(data.message || 'Erreur tirage.')
if (!res.ok) throw apiError(data.message || 'Erreur tirage.', res.status)
return data
}
@@ -30,6 +36,6 @@ export async function getWinnerApi() {
const res = await fetch('/api/admin/draw', { headers: authHeaders() })
if (res.status === 404) return null
const data = await res.json()
if (!res.ok) throw new Error(data.message || 'Erreur gagnant.')
if (!res.ok) throw apiError(data.message || 'Erreur gagnant.', res.status)
return data
}

View File

@@ -1,5 +1,11 @@
const BASE = '/api/auth'
function apiError(message, status) {
const err = new Error(message)
err.status = status
return err
}
export async function loginApi({ email, password }) {
const res = await fetch(`${BASE}/login`, {
method: 'POST',
@@ -7,7 +13,7 @@ export async function loginApi({ email, password }) {
body: JSON.stringify({ email, password }),
})
const data = await res.json()
if (!res.ok) throw new Error(data.message || 'Erreur de connexion.')
if (!res.ok) throw apiError(data.message || 'Erreur de connexion.', res.status)
return data
}
@@ -18,6 +24,21 @@ export async function registerApi({ email, firstname, lastname, password }) {
body: JSON.stringify({ email, firstname, lastname, password }),
})
const data = await res.json()
if (!res.ok) throw new Error(data.message || "Erreur lors de l'inscription.")
if (!res.ok) throw apiError(data.message || "Erreur lors de l'inscription.", res.status)
return data
}
export async function changePasswordApi({ currentPassword, newPassword }) {
const token = localStorage.getItem('token')
const res = await fetch(`${BASE}/change-password`, {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${token}`,
},
body: JSON.stringify({ currentPassword, newPassword }),
})
const data = await res.json()
if (!res.ok) throw apiError(data.message || 'Erreur lors du changement de mot de passe.', res.status)
return data
}

View File

@@ -0,0 +1,31 @@
const BASE = '/api/employee'
function authHeaders() {
const token = localStorage.getItem('token')
return { 'Content-Type': 'application/json', Authorization: `Bearer ${token}` }
}
function apiError(message, status) {
const err = new Error(message)
err.status = status
return err
}
export async function searchTicketApi(code) {
const res = await fetch(`${BASE}/ticket/${encodeURIComponent(code.toUpperCase())}`, {
headers: authHeaders(),
})
const data = await res.json()
if (!res.ok) throw apiError(data.message || 'Erreur lors de la recherche.', res.status)
return data
}
export async function deliverClaimApi(claimId) {
const res = await fetch(`${BASE}/claim/${claimId}/deliver`, {
method: 'PATCH',
headers: authHeaders(),
})
const data = await res.json()
if (!res.ok) throw apiError(data.message || 'Erreur lors de la remise.', res.status)
return data
}

View File

@@ -1,10 +1,16 @@
function apiError(message, status) {
const err = new Error(message)
err.status = status
return err
}
export async function myGainsApi() {
const token = localStorage.getItem('token')
const res = await fetch('/api/game/my-gains', {
headers: { Authorization: `Bearer ${token}` },
})
const data = await res.json()
if (!res.ok) throw new Error(data.message || 'Erreur lors de la récupération des gains.')
if (!res.ok) throw apiError(data.message || 'Erreur lors de la récupération des gains.', res.status)
return data
}
@@ -19,6 +25,6 @@ export async function participateApi(code) {
body: JSON.stringify({ code }),
})
const data = await res.json()
if (!res.ok) throw new Error(data.message || 'Erreur lors de la participation.')
if (!res.ok) throw apiError(data.message || 'Erreur lors de la participation.', res.status)
return data
}