forked from UKSOURCE/cms.hailearning.edu.vn
refactor: add auto-generated menu for new services
This commit is contained in:
34
scripts/sync-service-menu-now.js
Normal file
34
scripts/sync-service-menu-now.js
Normal file
@@ -0,0 +1,34 @@
|
||||
/**
|
||||
* One-time script: sync service menu items from DB into HeaderMenu.
|
||||
* Run: node scripts/sync-service-menu-now.js
|
||||
*/
|
||||
const mongoose = require("mongoose");
|
||||
const dotenv = require("dotenv");
|
||||
dotenv.config();
|
||||
|
||||
const Service = require("../models/service");
|
||||
const syncServiceMenu = require("../services/syncServiceMenu");
|
||||
|
||||
const MONGODB_URI = process.env.MONGODB_URI || "mongodb://localhost:27017/hailearning";
|
||||
|
||||
async function run() {
|
||||
await mongoose.connect(MONGODB_URI);
|
||||
console.log("✅ Connected to MongoDB");
|
||||
|
||||
const serviceDoc = await Service.findOne().lean();
|
||||
if (!serviceDoc?.services?.items?.length) {
|
||||
console.log("⚠️ No services found in DB.");
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
console.log(`Found ${serviceDoc.services.items.length} services. Syncing menu...`);
|
||||
await syncServiceMenu(serviceDoc.services.items);
|
||||
|
||||
console.log("✅ Done.");
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
run().catch((err) => {
|
||||
console.error("❌ Error:", err);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user