Checkpoint: Connexion locale avec identifiant libre (non-email), compte adminItinova créé, page Login mise à jour avec champ Identifiant
This commit is contained in:
52
scripts/create-admin.mjs
Normal file
52
scripts/create-admin.mjs
Normal file
@@ -0,0 +1,52 @@
|
||||
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);
|
||||
Reference in New Issue
Block a user