diff --git a/server/api/chatbot-taff.post.ts b/server/api/chatbot-taff.post.ts index 23a0838..33efa48 100644 --- a/server/api/chatbot-taff.post.ts +++ b/server/api/chatbot-taff.post.ts @@ -4,8 +4,6 @@ * Lit plateformes-taff.json, appelle Mistral Small, retourne recommandations. */ -import { readFileSync } from 'node:fs' -import { fileURLToPath } from 'node:url' import { checkRateLimitJson } from '~/server/utils/rateLimitJson' interface PlateformeMinimal { @@ -67,12 +65,14 @@ export default defineEventHandler(async (event) => { throw createError({ statusCode: 400, statusMessage: 'Question trop courte.' }) } - // Lire le JSON statique des plateformes + // Lire le JSON statique des plateformes (servi en public par Nitro) let plateformes: PlateformeMinimal[] = [] try { - const jsonUrl = new URL('../../public/data/plateformes-taff.json', import.meta.url) - const raw = JSON.parse(readFileSync(fileURLToPath(jsonUrl), 'utf8')) - plateformes = (raw.plateformes ?? []).map((p: any) => ({ + const origin = getRequestURL(event).origin + const json = await $fetch<{ plateformes: PlateformeMinimal[] }>('/data/plateformes-taff.json', { + baseURL: origin, + }) + plateformes = (json.plateformes ?? []).map((p: any) => ({ id: p.id, nom: p.nom, type: p.type,