setup.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import { PrismaClient } from '@prisma/client'
  2. import bcrypt from 'bcryptjs'
  3. import { generateUniqueUsername } from '../src/lib/server-utils'
  4. const prisma = new PrismaClient()
  5. async function setup() {
  6. try {
  7. console.log('🔧 Configurando base de datos...')
  8. // Crear usuario administrador
  9. const adminUsername = await generateUniqueUsername('Administrador', 'Sistema')
  10. const adminPassword = await bcrypt.hash('admin123', 12)
  11. const admin = await prisma.user.upsert({
  12. where: { email: 'admin@ani-assistant.com' },
  13. update: {},
  14. create: {
  15. name: 'Administrador',
  16. lastname: 'Sistema',
  17. username: adminUsername,
  18. email: 'admin@ani-assistant.com',
  19. password: adminPassword,
  20. role: 'DOCTOR'
  21. }
  22. })
  23. console.log(`✅ Usuario administrador creado: ${admin.email}`)
  24. // Crear usuario paciente de prueba
  25. const patientUsername = await generateUniqueUsername('Paciente', 'Prueba')
  26. const patientPassword = await bcrypt.hash('patient123', 12)
  27. const patient = await prisma.user.upsert({
  28. where: { email: 'patient@ani-assistant.com' },
  29. update: {},
  30. create: {
  31. name: 'Paciente',
  32. lastname: 'Prueba',
  33. username: patientUsername,
  34. email: 'patient@ani-assistant.com',
  35. password: patientPassword,
  36. role: 'PATIENT'
  37. }
  38. })
  39. console.log(`✅ Usuario paciente creado: ${patient.email}`)
  40. console.log('')
  41. console.log('🎉 Configuración completada!')
  42. console.log('')
  43. console.log('📋 Credenciales de acceso:')
  44. console.log('')
  45. console.log('👨‍⚕️ Doctor:')
  46. console.log(' Email: admin@ani-assistant.com')
  47. console.log(' Contraseña: admin123')
  48. console.log('')
  49. console.log('👤 Paciente:')
  50. console.log(' Email: patient@ani-assistant.com')
  51. console.log(' Contraseña: patient123')
  52. console.log('')
  53. } catch (error) {
  54. console.error('❌ Error durante la configuración:', error)
  55. } finally {
  56. await prisma.$disconnect()
  57. }
  58. }
  59. setup()