import { PrismaClient } from '@prisma/client' import bcrypt from 'bcryptjs' import { config } from '../src/lib/config' const prisma = new PrismaClient() async function main() { console.log('🌱 Iniciando seed de la base de datos...') console.log(`📊 Usando base de datos: ${config.database.url}`) console.log('') // Buscar usuario paciente existente const patient = await prisma.user.findUnique({ where: { email: 'patient@ani-assistant.com' } }) if (!patient) { console.log('❌ Usuario paciente no encontrado. Ejecuta "npm run db:setup" primero.') return } // Buscar usuario doctor existente const doctor = await prisma.user.findUnique({ where: { email: 'admin@ani-assistant.com' } }) if (!doctor) { console.log('❌ Usuario doctor no encontrado. Ejecuta "npm run db:setup" primero.') return } console.log('👤 Usuario Paciente:', patient.email, `(${patient.username})`) console.log('👨‍⚕️ Usuario Doctor:', doctor.email, `(${doctor.username})`) console.log('') // Crear algunos reportes de ejemplo const sampleReports = [ { userId: patient.id, content: `=== REPORTE MÉDICO === Fecha: ${new Date().toLocaleDateString('es-ES')} Hora: ${new Date().toLocaleTimeString('es-ES')} SÍNTOMAS IDENTIFICADOS: • Dolor de cabeza • Fatiga RESUMEN DE LA CONSULTA: El paciente realizó 3 consulta(s) con el asistente virtual. TEMAS PRINCIPALES: • Medicamentos • Tratamiento RECOMENDACIONES DEL ASISTENTE: 1. Descansar adecuadamente 2. Mantener hidratación 3. Consultar con médico si persisten los síntomas NOTA: Este es un reporte generado automáticamente por el asistente virtual. Se recomienda consultar con un profesional médico para un diagnóstico completo. === FIN DEL REPORTE ===`, messages: [ { role: 'user', content: 'Tengo dolor de cabeza desde hace 2 días' }, { role: 'assistant', content: 'Entiendo tu preocupación. ¿Has notado algún otro síntoma?' }, { role: 'user', content: 'También me siento muy cansado' }, { role: 'assistant', content: 'Es importante descansar y mantenerse hidratado' }, { role: 'user', content: '¿Qué medicamentos puedo tomar?' }, { role: 'assistant', content: 'Te recomiendo consultar con un médico para el tratamiento adecuado' } ] }, { userId: patient.id, content: `=== REPORTE MÉDICO === Fecha: ${new Date().toLocaleDateString('es-ES')} Hora: ${new Date().toLocaleTimeString('es-ES')} SÍNTOMAS IDENTIFICADOS: • Dolor de garganta • Tos RESUMEN DE LA CONSULTA: El paciente realizó 3 consulta(s) con el asistente virtual. TEMAS PRINCIPALES: • Prevención • Control de síntomas RECOMENDACIONES DEL ASISTENTE: 1. Gargar con agua salada 2. Mantener reposo 3. Beber abundante líquido NOTA: Este es un reporte generado automáticamente por el asistente virtual. Se recomienda consultar con un profesional médico para un diagnóstico completo. === FIN DEL REPORTE ===`, messages: [ { role: 'user', content: 'Me duele la garganta y tengo tos' }, { role: 'assistant', content: '¿Cuánto tiempo llevas con estos síntomas?' }, { role: 'user', content: 'Desde ayer por la mañana' }, { role: 'assistant', content: 'Te recomiendo descansar y beber mucho líquido' } ] } ] for (const report of sampleReports) { await prisma.record.upsert({ where: { id: `sample-${Date.now()}-${Math.random().toString(36).substr(2, 9)}` }, update: {}, create: report, }) } console.log('✅ Seed completado exitosamente!') console.log('👤 Usuario Paciente:', patient.email) console.log('👨‍⚕️ Usuario Doctor:', doctor.email) console.log('📊 Reportes de ejemplo creados') } main() .catch((e) => { console.error('❌ Error durante el seed:', e) process.exit(1) }) .finally(async () => { await prisma.$disconnect() })