feat(front): aligner api platform et sessions [INV-20260111-02]

This commit is contained in:
2026-01-11 17:14:24 +01:00
parent 936a73fde3
commit e99f053233
17 changed files with 346 additions and 67 deletions

View File

@@ -39,6 +39,22 @@ const upsertConstructeurs = (items = []) => {
const getIndexedConstructeur = (id) =>
constructeurs.value.find((item) => item && item.id === id) || null
const extractCollection = (payload) => {
if (Array.isArray(payload)) {
return payload
}
if (Array.isArray(payload?.member)) {
return payload.member
}
if (Array.isArray(payload?.['hydra:member'])) {
return payload['hydra:member']
}
if (Array.isArray(payload?.data)) {
return payload.data
}
return []
}
const pendingFetches = new Map()
export function useConstructeurs () {
@@ -51,7 +67,7 @@ export function useConstructeurs () {
const query = search ? `?search=${encodeURIComponent(search)}` : ''
const result = await get(`/constructeurs${query}`)
if (result.success) {
const items = Array.isArray(result.data) ? result.data : []
const items = extractCollection(result.data)
constructeurs.value = uniqueConstructeurs(items)
}
return result