require('dotenv').config(); const fs = require('fs').promises; const path = require('path'); const connectDB = require('../config/database'); const Footer = require('../models/footer'); async function validateFooterData(data) { if (!data || typeof data !== 'object') { throw new Error('Footer data must be a valid object'); } const required = ['brand', 'explore', 'contact', 'newsletter', 'bottom']; for (const field of required) { if (!data[field]) { throw new Error(`Missing required field: ${field}`); } } } async function migrateFooterData() { try { await connectDB(); console.log('Đã kết nối MongoDB...'); // Xóa dữ liệu cũ await Footer.deleteMany({}); console.log('Đã xóa dữ liệu Footer cũ'); // Đọc file JSON const footerData = JSON.parse( await fs.readFile( path.join(__dirname, '../data/footer.json'), 'utf8' ) ); // Validate await validateFooterData(footerData); // Transform const finalData = { ...footerData, updatedAt: new Date(), }; // Insert await Footer.create(finalData); console.log('✓ Migrate Footer thành công!'); process.exit(0); } catch (error) { console.error('❌ Lỗi:', error.message); process.exit(1); } } migrateFooterData();