From dfe822319df71ac274fdaeff01e71e4057c66a22 Mon Sep 17 00:00:00 2001 From: josedario87 Date: Wed, 29 Oct 2025 19:19:47 -0600 Subject: [PATCH] Fix: corregir parsing de opciones-filtros (soportar strings y arrays) --- .../api/metabase/opciones-filtros.get.ts | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/nuxt4-app/server/api/metabase/opciones-filtros.get.ts b/nuxt4-app/server/api/metabase/opciones-filtros.get.ts index 04444cc..469a2d8 100644 --- a/nuxt4-app/server/api/metabase/opciones-filtros.get.ts +++ b/nuxt4-app/server/api/metabase/opciones-filtros.get.ts @@ -55,12 +55,22 @@ export default defineEventHandler(async () => { 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 { - ubicaciones: data.ubicaciones ? JSON.parse(data.ubicaciones) : [], - calidades: data.calidades ? JSON.parse(data.calidades) : [], - tipos: data.tipos ? JSON.parse(data.tipos) : [], - estados: data.estados ? JSON.parse(data.estados) : [] + ubicaciones: data.ubicaciones ? parseIfString(data.ubicaciones) : [], + calidades: data.calidades ? parseIfString(data.calidades) : [], + tipos: data.tipos ? parseIfString(data.tipos) : [], + estados: data.estados ? parseIfString(data.estados) : [] } } catch (error: any) { console.error('[API] Failed to fetch opciones de filtros from Metabase:', error)