Files
seguidorDeLotes/nuxt4/server/api/lotes/index.post.ts
josedario87 ee3dffa38e
Some checks failed
build-and-deploy / build-and-deploy (push) Failing after 1m47s
Implementar sistema completo de trazabilidad de lotes
- Agregar PostgreSQL 16 con esquema completo
- Crear API endpoints para lotes y operaciones
- Implementar UI con Nuxt UI (tablas, formularios, trazabilidad)
- Agregar datos de ejemplo del flujo completo
- Documentar sistema en PLAN_TRAZABILIDAD.md
2025-11-21 18:39:04 -06:00

54 lines
1023 B
TypeScript

import { createLote } from '~/server/utils/queries'
/**
* POST /api/lotes
* Crea un nuevo lote
*
* Body:
* {
* codigo?: string,
* tipo: string,
* cantidad_kg?: number,
* lugar_id?: number,
* meta?: object
* }
*/
export default defineEventHandler(async (event) => {
try {
const body = await readBody(event)
// Validaciones básicas
if (!body.tipo) {
throw createError({
statusCode: 400,
statusMessage: 'El campo "tipo" es requerido',
})
}
const lote = await createLote({
codigo: body.codigo,
tipo: body.tipo,
cantidad_kg: body.cantidad_kg,
lugar_id: body.lugar_id,
meta: body.meta,
})
return {
success: true,
data: lote,
}
} catch (error: any) {
console.error('Error creando lote:', error)
if (error.statusCode) {
throw error
}
throw createError({
statusCode: 500,
statusMessage: 'Error creando lote',
data: { message: error.message },
})
}
})