import { PrismaClient } from '@prisma/client' import bcrypt from 'bcryptjs' import { generateUniqueUsername } from '../src/lib/server-utils' const prisma = new PrismaClient() async function setup() { try { console.log('🔧 Configurando base de datos...') // Crear usuario super administrador const superAdminUsername = await generateUniqueUsername('Super', 'Admin') const superAdminPassword = await bcrypt.hash('admin123', 12) const superAdmin = await prisma.user.upsert({ where: { email: 'admin@ani-assistant.com' }, update: {}, create: { name: 'Super', lastname: 'Admin', username: superAdminUsername, email: 'admin@ani-assistant.com', password: superAdminPassword, role: 'ADMIN' } }) console.log(`✅ Usuario administrador creado: ${superAdmin.email}`) // Crear usuario doctor const doctorUsername = await generateUniqueUsername('Doctor', 'Sistema') const doctorPassword = await bcrypt.hash('doctor123', 12) const doctor = await prisma.user.upsert({ where: { email: 'doctor@ani-assistant.com' }, update: {}, create: { name: 'Doctor', lastname: 'Sistema', username: doctorUsername, email: 'doctor@ani-assistant.com', password: doctorPassword, role: 'DOCTOR' } }) console.log(`✅ Usuario doctor creado: ${doctor.email}`) // Crear usuario paciente de prueba const patientUsername = await generateUniqueUsername('Paciente', 'Prueba') const patientPassword = await bcrypt.hash('patient123', 12) const patient = await prisma.user.upsert({ where: { email: 'patient@ani-assistant.com' }, update: {}, create: { name: 'Paciente', lastname: 'Prueba', username: patientUsername, email: 'patient@ani-assistant.com', password: patientPassword, role: 'PATIENT' } }) console.log(`✅ Usuario paciente creado: ${patient.email}`) console.log('') console.log('🎉 Configuración completada!') console.log('') console.log('📋 Credenciales de acceso:') console.log('') console.log('Administrador:') console.log(' Email: admin@ani-assistant.com') console.log(' Contraseña: admin123') console.log('') console.log('👨‍⚕️ Doctor:') console.log(' Email: doctor@ani-assistant.com') console.log(' Contraseña: doctor123') console.log('') console.log('👤 Paciente:') console.log(' Email: patient@ani-assistant.com') console.log(' Contraseña: patient123') console.log('') } catch (error) { console.error('❌ Error durante la configuración:', error) } finally { await prisma.$disconnect() } } setup()