const { PrismaClient } = require('@prisma/client') const bcrypt = require('bcryptjs') const prisma = new PrismaClient() async function main() { const passwordHash = await bcrypt.hash('admin123', 12) const user = await prisma.user.upsert({ where: { email: 'pierre@secourit.fr' }, update: {}, create: { email: 'pierre@secourit.fr', name: 'Pierre', passwordHash, role: 'admin', }, }) console.log('User created:', user.email) const defaultProducts = [ { key: 'maintenance-poste', label: 'Maintenance Poste (Windows/Mac)', costPrice: 1.40, sellPrice: 9.60, unit: 'mois', category: 'maintenance' }, { key: 'maintenance-serveur', label: 'Maintenance Serveur', costPrice: 4.20, sellPrice: 25.20, unit: 'mois', category: 'maintenance' }, { key: 'ksuite-business', label: 'KSuite Business / utilisateur', costPrice: 6.58, sellPrice: 15.80, unit: 'mois', category: 'ksuite' }, { key: 'ksuite-standard', label: 'KSuite Standard / utilisateur', costPrice: 1.58, sellPrice: 0, unit: 'mois', category: 'ksuite' }, { key: 'ksuite-entreprise', label: 'KSuite Entreprise / utilisateur', costPrice: 12.41, sellPrice: 0, unit: 'mois', category: 'ksuite' }, { key: 'intervention-horaire', label: 'Intervention (Taux horaire)', costPrice: 0, sellPrice: 50, unit: 'heure', category: 'hourly' }, { key: 'deplacement-km', label: 'Déplacement (par km)', costPrice: 0.30, sellPrice: 0.50, unit: 'km', category: 'travel' }, ] for (const product of defaultProducts) { await prisma.productCost.upsert({ where: { key: product.key }, update: product, create: product, }) } console.log('Default products created') } main() .catch((e) => { console.error(e) process.exit(1) }) .finally(async () => { await prisma.$disconnect() })