From a5bf51c267dfac82a8885af63ae531d6c2d3d944 Mon Sep 17 00:00:00 2001 From: Manus Deploy Date: Tue, 21 Apr 2026 07:20:34 -0400 Subject: [PATCH] fix: seed adminItinova avec mot de passe Itinova69! conforme au skill itinova-user-management --- seed-admin.mjs | 35 +++++++++++++++++++++++++++++++++++ todo.md | 6 ++++++ 2 files changed, 41 insertions(+) create mode 100644 seed-admin.mjs diff --git a/seed-admin.mjs b/seed-admin.mjs new file mode 100644 index 0000000..18d8655 --- /dev/null +++ b/seed-admin.mjs @@ -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(); diff --git a/todo.md b/todo.md index fa20b57..e09891b 100644 --- a/todo.md +++ b/todo.md @@ -103,3 +103,9 @@ - [x] Login.tsx : page de choix avec logo FEHAP - [x] LoginLocal.tsx : formulaire connexion locale avec logo FEHAP (haut) et Santinova (bas) - [x] Seed admin : compte admin@sonum.fr / Admin2024! créé + +## Correction v8b — Seed admin conforme au skill + +- [x] seed-admin.mjs : créer le compte adminItinova / Itinova69! (login=adminItinova, email=adminItinova@santinova-soft.org, rôle=admin) +- [x] Nettoyage de l'ancien compte mal créé (id=180019) +- [ ] Redéploiement Gitea avec seed corrigé