Files
cms.techvanguard.vn/scripts/2026_04_20_101500_seed_users.js
T

59 lines
1.4 KiB
JavaScript

require("dotenv").config();
const connectDB = require("../config/database");
const User = require("../models/User");
const mongoose = require("mongoose");
/**
* Migration: seed_users
* Description: Tạo sẵn tài khoản cứng cho login CMS
*/
async function migrate() {
try {
await connectDB();
const users = [
{
username: process.env.ADMIN_USERNAME || "admin",
email: "admin@cms.local",
name: "System Admin",
password: process.env.ADMIN_PASSWORD || "admin1234",
role: "admin",
},
{
username: "manager",
email: "manager@cms.local",
name: "Content Manager",
password: "manager1234",
role: "manager",
},
];
for (const item of users) {
const existing = await User.findOne({ username: item.username });
if (existing) {
console.log(`SKIP user exists: ${item.username}`);
continue;
}
await User.create(item);
console.log(`DONE created user: ${item.username}`);
}
console.log("User seed migration completed.");
await mongoose.disconnect();
process.exit(0);
} catch (error) {
console.error("User seed migration failed:", error);
if (mongoose.connection.readyState === 1) {
await mongoose.disconnect();
}
process.exit(1);
}
}
if (require.main === module) {
migrate();
}
module.exports = { migrate };