| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- 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()
|