All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 46s
- Crear endpoint /api/clientes para obtener clientes desde Supabase - Crear endpoint /api/postgres/query para ejecutar queries SQL - Crear componente ClienteMultiSelector con búsqueda y filtro por ubicación - Agregar filtros de clientes, ubicaciones y calidades en informe-ingresos.vue - Cargar opciones de filtros desde Metabase (query ID 53) - Actualizar detección de cambios pendientes con nuevos filtros - Enviar cliente_ids, ubicaciones y calidades al endpoint de Metabase - Componente con formato de cédula y ordenamiento por nombre - Búsqueda por nombre, cédula o ubicación - Contador de selección y botón limpiar todo - Botones rápidos para seleccionar por ubicación
35 lines
808 B
TypeScript
35 lines
808 B
TypeScript
/**
|
|
* Execute a raw SQL query against Supabase/PostgreSQL
|
|
* This is a server-only endpoint for internal API use
|
|
*/
|
|
export default defineEventHandler(async (event) => {
|
|
const body = await readBody(event)
|
|
const { query, params = [] } = body
|
|
|
|
if (!query) {
|
|
throw createError({
|
|
statusCode: 400,
|
|
statusMessage: 'Query is required'
|
|
})
|
|
}
|
|
|
|
try {
|
|
// Execute query using MCP postgres tool
|
|
const result = await $fetch('/__mcp/mcp__postgres__query', {
|
|
method: 'POST',
|
|
body: {
|
|
query,
|
|
params
|
|
}
|
|
})
|
|
|
|
return result
|
|
} catch (error: any) {
|
|
console.error('[Postgres] Query failed:', error)
|
|
throw createError({
|
|
statusCode: error.statusCode || 500,
|
|
statusMessage: error.statusMessage || 'Database query failed'
|
|
})
|
|
}
|
|
})
|