Checkpoint: Ajout d'un utilisateur administrateur pour l'authentification locale.
Identifiants créés : - Login/Email : adminServFacturation - Mot de passe : Itinova69! - Rôle : admin L'utilisateur peut maintenant se connecter via la page de connexion locale et accéder à toutes les fonctionnalités d'administration de l'application.
This commit is contained in:
42
create-admin.mjs
Normal file
42
create-admin.mjs
Normal file
@@ -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();
|
||||
Reference in New Issue
Block a user