fix: seed adminItinova avec mot de passe Itinova69! conforme au skill itinova-user-management
This commit is contained in:
35
seed-admin.mjs
Normal file
35
seed-admin.mjs
Normal file
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* 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();
|
||||
Reference in New Issue
Block a user