/** * ⚠️ ⚠️ ⚠️ ENDPOINT DE DEBUG - TEMPORAL ⚠️ ⚠️ ⚠️ * * POST /api/debug/reset-database * * BORRA COMPLETAMENTE TODOS LOS DATOS DE LA BASE DE DATOS * * ⚠️ NO ELIMINAR SIN CONSULTAR A DARIO/DRAGANEL/NUCLEO000 ⚠️ * * Este endpoint fue creado para desarrollo y debugging. * Antes de eliminarlo, preguntar si todavía es necesario. */ import { query, getClient } from '../../utils/db' export default defineEventHandler(async (event) => { try { console.log('⚠️ RESET DATABASE - Borrando todos los datos...') const client = await getClient() try { await client.query('BEGIN') // Eliminar completamente las tablas (DROP) para que el workflow las recree await client.query('DROP TABLE IF EXISTS operacion_lotes CASCADE') await client.query('DROP TABLE IF EXISTS operaciones CASCADE') await client.query('DROP TABLE IF EXISTS lotes CASCADE') // También eliminar la función y vista si existen await client.query('DROP FUNCTION IF EXISTS get_trazabilidad CASCADE') await client.query('DROP VIEW IF EXISTS vista_lotes_con_origen CASCADE') await client.query('COMMIT') console.log('✅ Base de datos reseteada exitosamente (tablas eliminadas)') return { success: true, message: 'Base de datos reseteada. Tablas eliminadas completamente. El próximo deploy las recreará con datos de ejemplo.', } } catch (error) { await client.query('ROLLBACK') throw error } finally { client.release() } } catch (error: any) { console.error('❌ Error reseteando base de datos:', error) throw createError({ statusCode: 500, statusMessage: 'Error reseteando base de datos', data: { message: error.message }, }) } })