import { getLotes } from '../../utils/queries' /** * GET /api/lotes * Lista todos los lotes con filtros opcionales * * Query params: * - tipo: filtrar por tipo de lote (uva, despulpado_primera, oreado, etc.) * - limit: límite de resultados * - offset: offset para paginación * - soloFinales: filtrar solo lotes sin hijos (true/false) */ export default defineEventHandler(async (event) => { console.log('🟦 API /api/lotes: Request recibido') try { const query = getQuery(event) console.log('🟦 API /api/lotes: Query params:', query) const filtros = { tipo: query.tipo as string | undefined, limit: query.limit ? parseInt(query.limit as string) : undefined, offset: query.offset ? parseInt(query.offset as string) : undefined, soloFinales: query.soloFinales === 'true' || query.soloFinales === '1', } console.log('🟦 API /api/lotes: Filtros procesados:', filtros) console.log('🟦 API /api/lotes: Llamando a getLotes...') const lotes = await getLotes(filtros) console.log('🟦 API /api/lotes: Lotes obtenidos:', lotes.length) return { success: true, data: lotes, count: lotes.length, } } catch (error: any) { console.error('❌ API /api/lotes: Error:', error.message) console.error('❌ API /api/lotes: Stack:', error.stack) throw createError({ statusCode: 500, statusMessage: 'Error obteniendo lotes', data: { message: error.message }, }) } })