other
This commit is contained in:
44
backend/utils/createAdmin.js
Normal file
44
backend/utils/createAdmin.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import mongoose from "mongoose";
|
||||
import bcrypt from "bcryptjs";
|
||||
import dotenv from "dotenv";
|
||||
import Staff from "../models/Staff.model.js";
|
||||
|
||||
dotenv.config();
|
||||
|
||||
mongoose
|
||||
.connect(process.env.MONGO_URI, {
|
||||
useNewUrlParser: true,
|
||||
useUnifiedTopology: true,
|
||||
})
|
||||
.then(() => console.log("✅ MongoDB Connected"))
|
||||
.catch((err) => console.error("❌ MongoDB Connection Error:", err));
|
||||
|
||||
const createAdmin = async () => {
|
||||
const username = "admin";
|
||||
const password = "88sO)£2igu-:";
|
||||
|
||||
try {
|
||||
const existingAdmin = await Staff.findOne({ username });
|
||||
if (existingAdmin) {
|
||||
console.log("⚠️ Admin user already exists.");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const hashedPassword = await bcrypt.hash(password, 10);
|
||||
|
||||
const admin = new Staff({
|
||||
username,
|
||||
passwordHash: hashedPassword,
|
||||
role: "admin",
|
||||
});
|
||||
|
||||
await admin.save();
|
||||
console.log(`✅ Admin user '${username}' created successfully!`);
|
||||
process.exit();
|
||||
} catch (error) {
|
||||
console.error("❌ Error creating admin user:", error);
|
||||
process.exit(1);
|
||||
}
|
||||
};
|
||||
|
||||
createAdmin();
|
||||
Reference in New Issue
Block a user