import { createConnection } from "mysql2/promise"; import bcrypt from "bcrypt"; import * as dotenv from "dotenv"; dotenv.config(); const DATABASE_URL = process.env.DATABASE_URL; async function main() { console.log("Connexion à la base de données..."); const connection = await createConnection(DATABASE_URL); try { // Hash du mot de passe const passwordHash = await bcrypt.hash("Itinova69!", 10); // Vérifier si l'utilisateur existe déjà const [existing] = await connection.execute( "SELECT id FROM users WHERE email = ?", ["adminItinova"] ); if (existing.length > 0) { // Mettre à jour le mot de passe si l'utilisateur existe déjà await connection.execute( "UPDATE users SET passwordHash = ?, role = 'admin', isActive = 1 WHERE email = ?", [passwordHash, "adminItinova"] ); console.log("✅ Compte adminItinova mis à jour avec succès"); } else { // Créer l'utilisateur await connection.execute( "INSERT INTO users (openId, name, email, passwordHash, loginMethod, role, isActive) VALUES (NULL, 'Administrateur Itinova', 'adminItinova', ?, 'local', 'admin', 1)", [passwordHash] ); console.log("✅ Compte adminItinova créé avec succès"); } // Vérification const [user] = await connection.execute( "SELECT id, name, email, role, isActive FROM users WHERE email = ?", ["adminItinova"] ); console.log("Utilisateur créé :", user[0]); } finally { await connection.end(); } } main().catch(console.error);