Fix: corregir tipos de parámetros para queries nativas SQL de Metabase
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 47s
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 47s
Cambios principales: - Cambiar tipo de parámetros de fecha de 'date/single' a 'text' - Cambiar tipo de parámetro booleano de 'category' a 'boolean' - Cambiar tipo de parámetros de categoría de 'category' a 'text' Las queries SQL nativas en Metabase usan template-tags con tipos específicos que deben coincidir exactamente con el tipo definido en el template-tag, no con los tipos de UI de Metabase. Archivos modificados: - server/api/metabase/panorama.post.ts - server/api/metabase/informe.post.ts Resuelve el problema donde todas las queries retornaban error 500 y respuestas vacías debido a tipos de parámetros incompatibles.
This commit is contained in:
@@ -38,21 +38,21 @@ export default defineEventHandler(async (event) => {
|
||||
}
|
||||
|
||||
// Build parameters array for Metabase queries
|
||||
// Convertir null a string vacío para que las queries usen NULLIF correctamente
|
||||
// Las queries SQL nativas usan template-tags de tipo 'text' para fechas, no 'date/single'
|
||||
const buildParameters = (includeGranularidad: boolean = false) => {
|
||||
const params = [
|
||||
{
|
||||
type: 'date/single',
|
||||
type: 'text',
|
||||
target: ['variable', ['template-tag', 'fecha_desde']],
|
||||
value: fecha_desde || ''
|
||||
},
|
||||
{
|
||||
type: 'date/single',
|
||||
type: 'text',
|
||||
target: ['variable', ['template-tag', 'fecha_hasta']],
|
||||
value: fecha_hasta || ''
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
type: 'boolean',
|
||||
target: ['variable', ['template-tag', 'incluir_anulados']],
|
||||
value: incluir_anulados
|
||||
},
|
||||
@@ -62,22 +62,22 @@ export default defineEventHandler(async (event) => {
|
||||
value: cliente_ids
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
type: 'text',
|
||||
target: ['variable', ['template-tag', 'tipos']],
|
||||
value: tipos
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
type: 'text',
|
||||
target: ['variable', ['template-tag', 'estados']],
|
||||
value: estados
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
type: 'text',
|
||||
target: ['variable', ['template-tag', 'ubicaciones']],
|
||||
value: ubicaciones
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
type: 'text',
|
||||
target: ['variable', ['template-tag', 'calidades']],
|
||||
value: calidades
|
||||
}
|
||||
@@ -85,7 +85,7 @@ export default defineEventHandler(async (event) => {
|
||||
|
||||
if (includeGranularidad) {
|
||||
params.push({
|
||||
type: 'category',
|
||||
type: 'text',
|
||||
target: ['variable', ['template-tag', 'granularidad']],
|
||||
value: granularidad
|
||||
})
|
||||
|
||||
@@ -34,20 +34,20 @@ export default defineEventHandler(async (event) => {
|
||||
console.log('[Panorama] Cards to execute:', Object.keys(cards))
|
||||
|
||||
// Build parameters array for Metabase queries
|
||||
// Convertir null a string vacío para que las queries usen NULLIF correctamente
|
||||
// Las queries SQL nativas usan template-tags de tipo 'text' para fechas, no 'date/single'
|
||||
const parameters = [
|
||||
{
|
||||
type: 'date/single',
|
||||
type: 'text',
|
||||
target: ['variable', ['template-tag', 'fecha_desde']],
|
||||
value: fecha_desde || ''
|
||||
},
|
||||
{
|
||||
type: 'date/single',
|
||||
type: 'text',
|
||||
target: ['variable', ['template-tag', 'fecha_hasta']],
|
||||
value: fecha_hasta || ''
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
type: 'boolean',
|
||||
target: ['variable', ['template-tag', 'incluir_anulados']],
|
||||
value: incluir_anulados
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user