Files
seguidorDeLotes/nuxt4/server/api/lotes/[id].delete.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

49 lines
1.0 KiB
TypeScript

import { deleteLote } from '~/server/utils/queries'
/**
* DELETE /api/lotes/:id
* Elimina un lote
*
* CUIDADO: Esta operación es irreversible y eliminará también
* todas las relaciones en operacion_lotes (CASCADE).
* Usar solo en casos excepcionales.
*/
export default defineEventHandler(async (event) => {
try {
const id = getRouterParam(event, 'id')
if (!id) {
throw createError({
statusCode: 400,
statusMessage: 'ID de lote requerido',
})
}
const deleted = await deleteLote(id)
if (!deleted) {
throw createError({
statusCode: 404,
statusMessage: 'Lote no encontrado',
})
}
return {
success: true,
message: 'Lote eliminado correctamente',
}
} catch (error: any) {
console.error('Error eliminando lote:', error)
if (error.statusCode) {
throw error
}
throw createError({
statusCode: 500,
statusMessage: 'Error eliminando lote',
data: { message: error.message },
})
}
})