Adding login admin, fix ipv6 Vienamese version, add env example

This commit is contained in:
2026-05-15 19:52:34 +07:00
parent 31aebc40f0
commit c7f09d941e
15 changed files with 334 additions and 66 deletions
+46
View File
@@ -0,0 +1,46 @@
import mongoose from "mongoose";
import User from "../models/User";
import * as dotenv from "dotenv";
import path from "path";
import crypto from "crypto";
dotenv.config({ path: path.join(__dirname, "../.env") });
function hashPassword(password: string) {
return crypto.createHash("sha256").update(password).digest("hex");
}
async function seedAdmin() {
const MONGODB_URI = process.env.MONGODB_URI;
if (!MONGODB_URI) {
console.error("MONGODB_URI not found");
process.exit(1);
}
try {
await mongoose.connect(MONGODB_URI);
console.log("Connected to MongoDB");
const adminEmail = "adminipv6@mail.com".toLowerCase().trim();
const adminPassword = "adminipv6A@a";
const hashedPassword = hashPassword(adminPassword);
// Xóa sạch user cũ để tránh xung đột
await User.deleteMany({ email: adminEmail });
await User.create({
email: adminEmail,
password: hashedPassword,
});
console.log("SUCCESS: Admin account created/refreshed with hashed password.");
console.log(`Email: ${adminEmail}`);
} catch (error) {
console.error("Error:", error);
} finally {
await mongoose.disconnect();
}
}
seedAdmin();