Files
nav-carte/server/api/fiche/[id].get.ts
2026-04-28 14:00:05 +02:00

27 lines
778 B
TypeScript

/**
* GET /api/fiche/[id]
* Proxy NocoDB — retourne la fiche complète avec tous les champs V2.
* Utilisé par pages/fiche/[id].vue (SSR).
*/
export default defineEventHandler(async (event) => {
const config = useRuntimeConfig()
const id = getRouterParam(event, 'id')
if (!id || isNaN(Number(id))) {
throw createError({ statusCode: 400, message: 'Identifiant invalide' })
}
const url = `${config.nocodbUrl}/api/v2/tables/${config.orgTableId}/records?where=(Id,eq,${id})&limit=1`
const data: any = await $fetch(url, {
headers: { 'xc-token': config.nocodbToken },
}).catch(() => null)
const record = data?.list?.[0] ?? null
if (!record) {
throw createError({ statusCode: 404, message: 'Organisation non trouvée' })
}
return record
})