/** * Seed : crée le compte administrateur par défaut si inexistant. * Login : adminItinova | Mot de passe : Itinova69! */ import mysql from 'mysql2/promise'; import bcrypt from 'bcrypt'; const conn = await mysql.createConnection(process.env.DATABASE_URL); // Vérifier si adminItinova existe déjà const [rows] = await conn.execute("SELECT id FROM users WHERE login = 'adminItinova' LIMIT 1"); if (rows.length > 0) { console.log('Compte adminItinova déjà existant, seed ignoré.'); await conn.end(); process.exit(0); } // Créer l'utilisateur adminItinova const [result] = await conn.execute( `INSERT INTO users (login, email, firstName, lastName, name, role, sonumRole, isActive, loginMethod, cguAccepted, lastSignedIn, createdAt, updatedAt) VALUES (?, ?, ?, ?, ?, 'admin', 'gestionnaire', 1, 'local', 1, NOW(), NOW(), NOW())`, ['adminItinova', 'adminItinova@santinova-soft.org', 'Admin', 'SONUM', 'Admin SONUM'] ); const userId = result.insertId; // Hasher le mot de passe Itinova69! const hash = await bcrypt.hash('Itinova69!', 10); await conn.execute( `INSERT INTO local_credentials (userId, passwordHash, createdAt, updatedAt) VALUES (?, ?, NOW(), NOW())`, [userId, hash] ); console.log(`Compte adminItinova créé avec succès (id=${userId})`); await conn.end();