diff --git a/create-admin.mjs b/create-admin.mjs new file mode 100644 index 0000000..7249c7b --- /dev/null +++ b/create-admin.mjs @@ -0,0 +1,42 @@ +import "dotenv/config"; +import { drizzle } from "drizzle-orm/mysql2"; +import { users } from "./drizzle/schema.js"; +import bcrypt from "bcrypt"; + +async function createAdmin() { + const db = drizzle(process.env.DATABASE_URL); + + const email = "adminServFacturation"; + const password = "Itinova69!"; + const name = "Administrateur"; + + // Hash the password + const passwordHash = await bcrypt.hash(password, 10); + + // Create a unique openId for local auth + const openId = `local_${email}_${Date.now()}`; + + try { + await db.insert(users).values({ + openId, + email, + name, + passwordHash, + loginMethod: "local", + role: "admin", + isActive: 1, + lastSignedIn: new Date(), + }); + + console.log("✅ Utilisateur administrateur créé avec succès !"); + console.log("📧 Email/Login: adminServFacturation"); + console.log("🔑 Mot de passe: Itinova69!"); + console.log("👤 Rôle: admin"); + } catch (error) { + console.error("❌ Erreur lors de la création de l'utilisateur:", error); + } + + process.exit(0); +} + +createAdmin(); diff --git a/todo.md b/todo.md index f5ea66b..a17a8b6 100644 --- a/todo.md +++ b/todo.md @@ -57,3 +57,7 @@ - [x] Vérification du build et de la compilation TypeScript - [x] Vérification du serveur de développement - [x] Créer le checkpoint final + +## Corrections et améliorations +- [x] Créer un utilisateur administrateur avec login adminServFacturation +- [x] Tester la connexion locale avec le nouvel utilisateur