Files
MAD-Platform/scripts/setup.ts
2026-01-21 18:13:35 +01:00

78 lines
2.1 KiB
TypeScript

import { PrismaClient } from '@prisma/client';
import bcrypt from 'bcryptjs';
const prisma = new PrismaClient();
async function main() {
console.log('🌱 Initialisation de la base de données...');
// Créer le premier utilisateur de test
const email1 = 'admin@example.com';
const password1 = 'admin123';
const hashedPassword1 = await bcrypt.hash(password1, 10);
const existingUser1 = await prisma.user.findUnique({
where: { email: email1 },
});
if (existingUser1) {
console.log('✅ Utilisateur 1 existe déjà');
console.log(` Email: ${email1}`);
console.log(` Mot de passe: ${password1}`);
} else {
const user1 = await prisma.user.create({
data: {
email: email1,
password: hashedPassword1,
name: 'Administrateur',
},
});
console.log('✅ Utilisateur 1 créé');
console.log(` Email: ${email1}`);
console.log(` Mot de passe: ${password1}`);
}
// Créer le deuxième utilisateur de test
const email2 = 'chauffeur@example.com';
const password2 = 'chauffeur123';
const hashedPassword2 = await bcrypt.hash(password2, 10);
const existingUser2 = await prisma.user.findUnique({
where: { email: email2 },
});
if (existingUser2) {
console.log('✅ Utilisateur 2 existe déjà');
console.log(` Email: ${email2}`);
console.log(` Mot de passe: ${password2}`);
} else {
const user2 = await prisma.user.create({
data: {
email: email2,
password: hashedPassword2,
name: 'Chauffeur Test',
},
});
console.log('✅ Utilisateur 2 créé');
console.log(` Email: ${email2}`);
console.log(` Mot de passe: ${password2}`);
}
console.log('\n📝 Comptes de test disponibles:');
console.log(' Compte 1:');
console.log(` Email: ${email1}`);
console.log(` Mot de passe: ${password1}`);
console.log(' Compte 2:');
console.log(` Email: ${email2}`);
console.log(` Mot de passe: ${password2}`);
}
main()
.catch((e) => {
console.error('❌ Erreur:', e);
process.exit(1);
})
.finally(async () => {
await prisma.$disconnect();
});