import { getTrazabilidad, getEstadisticasLote } from '~/server/utils/queries' /** * GET /api/lotes/:id/trazabilidad * Obtiene el historial completo de trazabilidad de un lote * * Retorna todos los lotes ancestros hasta llegar a los ingresos iniciales, * organizado por profundidad (0 = lote actual, n = ancestros más antiguos) */ export default defineEventHandler(async (event) => { try { const id = getRouterParam(event, 'id') if (!id) { throw createError({ statusCode: 400, statusMessage: 'ID de lote requerido', }) } // Obtener trazabilidad completa const trazabilidad = await getTrazabilidad(id) if (trazabilidad.length === 0) { throw createError({ statusCode: 404, statusMessage: 'Lote no encontrado', }) } // Obtener estadísticas const estadisticas = await getEstadisticasLote(id) return { success: true, data: { historial: trazabilidad, estadisticas, }, } } catch (error: any) { console.error('Error obteniendo trazabilidad:', error) if (error.statusCode) { throw error } throw createError({ statusCode: 500, statusMessage: 'Error obteniendo trazabilidad', data: { message: error.message }, }) } })