Fix: corregir parsing de opciones-filtros (soportar strings y arrays)
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 46s

This commit is contained in:
2025-10-29 19:19:47 -06:00
parent be538eaf29
commit dfe822319d

View File

@@ -55,12 +55,22 @@ export default defineEventHandler(async () => {
data[col.name] = row[index] data[col.name] = row[index]
}) })
// Parse JSON arrays console.log('[API] Transformed data object:', data)
console.log('[API] Column names:', cols.map((c: any) => c.name))
// Parse arrays - some come as JSON strings, others as arrays
const parseIfString = (value: any) => {
if (typeof value === 'string') {
return JSON.parse(value)
}
return value
}
return { return {
ubicaciones: data.ubicaciones ? JSON.parse(data.ubicaciones) : [], ubicaciones: data.ubicaciones ? parseIfString(data.ubicaciones) : [],
calidades: data.calidades ? JSON.parse(data.calidades) : [], calidades: data.calidades ? parseIfString(data.calidades) : [],
tipos: data.tipos ? JSON.parse(data.tipos) : [], tipos: data.tipos ? parseIfString(data.tipos) : [],
estados: data.estados ? JSON.parse(data.estados) : [] estados: data.estados ? parseIfString(data.estados) : []
} }
} catch (error: any) { } catch (error: any) {
console.error('[API] Failed to fetch opciones de filtros from Metabase:', error) console.error('[API] Failed to fetch opciones de filtros from Metabase:', error)