diff --git a/controllers/headerMenuController.js b/controllers/headerMenuController.js index 1ab91b5..43c246a 100644 --- a/controllers/headerMenuController.js +++ b/controllers/headerMenuController.js @@ -42,8 +42,8 @@ const deleteRecursive = async (parentId) => { } }; -// 1. Render Menu Tab logic (called from Header index or directly if route allows) -exports.renderMenuTab = async (req, res) => { +// 1. Render Menu Tab logic +exports.index = async (req, res) => { try { const items = await HeaderMenu.find().sort({ order: 1 }); const menuTree = buildMenuTree(items); @@ -55,9 +55,9 @@ exports.renderMenuTab = async (req, res) => { }; // 2. Create Menu Item -exports.createMenu = async (req, res) => { +exports.store = async (req, res) => { try { - console.log('=== BACKEND: createMenu hit ==='); + console.log('=== BACKEND: store hit ==='); console.log('Body:', req.body); const { title, url, parentId, order, status, type } = req.body; const slug = slugify(title, { lower: true, strict: true }); @@ -84,10 +84,10 @@ exports.createMenu = async (req, res) => { }; // 3. Update Menu Item -exports.updateMenu = async (req, res) => { +exports.update = async (req, res) => { try { const { id } = req.params; - console.log('=== BACKEND: updateMenu hit ===', { id }); + console.log('=== BACKEND: update hit ===', { id }); console.log('Body:', req.body); const { title, url, parentId, order, status, type } = req.body; @@ -122,11 +122,11 @@ exports.updateMenu = async (req, res) => { }; // 4. Delete Menu Item (Cascade delete children) -exports.deleteMenu = async (req, res) => { +exports.destroy = async (req, res) => { try { const { id } = req.body; const menuId = id || req.params.id; - console.log('=== BACKEND: deleteMenu hit ===', { menuId, body: req.body }); + console.log('=== BACKEND: destroy hit ===', { menuId, body: req.body }); await deleteRecursive(menuId); await HeaderMenu.findByIdAndDelete(menuId); @@ -142,7 +142,7 @@ exports.deleteMenu = async (req, res) => { }; // 5. Reorder Menu -exports.reorderMenu = async (req, res) => { +exports.reorder = async (req, res) => { try { const { items } = req.body; // Array of { id, order, parentId } diff --git a/controllers/socialLinkController.js b/controllers/socialLinkController.js index 8c71fae..4308cf3 100644 --- a/controllers/socialLinkController.js +++ b/controllers/socialLinkController.js @@ -1,7 +1,7 @@ const Header = require("../models/header"); // Get all social links -exports.getAll = async (req, res) => { +exports.index = async (req, res) => { try { const header = await Header.findOne({ status: "active" }).sort({ order: 1 }); @@ -262,7 +262,7 @@ exports.destroy = async (req, res) => { }; // Bulk update social links (used for reordering and batch updates) -exports.bulkUpdate = async (req, res) => { +exports.reorder = async (req, res) => { try { const { socialLinks } = req.body; diff --git a/routes/admin.js b/routes/admin.js index 38e0070..3c105a3 100644 --- a/routes/admin.js +++ b/routes/admin.js @@ -30,6 +30,7 @@ const headerMenuController = require("../controllers/headerMenuController"); const blogController = require("../controllers/blogController"); const blogCategoryController = require("../controllers/blogCategoryController"); const blogTagController = require("../controllers/blogTagController"); +const socialLinkController = require("../controllers/socialLinkController"); // Dashboard router.get("/dashboard", ensureAuthenticated, dashboardController.getDashboard); @@ -76,23 +77,25 @@ router.post("/upload/video", ensureAuthenticated, uploadVideo.single("video"), u router.post("/upload/update-path", ensureAuthenticated, uploadController.updateImagePath); router.post("/upload/delete", ensureAuthenticated, uploadController.deleteImage); -// Header routes // Header routes router.get("/header", ensureAuthenticated, headerController.index); router.post("/header/update", ensureAuthenticated, headerController.update); -router.post("/header/update-menu", ensureAuthenticated, headerController.updateMenu); -router.get("/header/menu-tree", ensureAuthenticated, headerController.getMenuTree); -router.get("/header/programmes/:menuId", ensureAuthenticated, headerController.getProgrammesByMenuId); -router.get("/header/menu-item/:menuId", ensureAuthenticated, headerController.getMenuItem); -router.get("/header/data", ensureAuthenticated, headerController.getHeaderData); +router.get("/header/data", ensureAuthenticated, headerController.api); // Normalized from getHeaderData router.patch("/header/:id/status", ensureAuthenticated, headerController.updateStatus); router.delete("/header/:id", ensureAuthenticated, headerController.destroy); // Header Menu INTEGRATED routes -router.post("/header/menu/create", ensureAuthenticated, headerMenuController.createMenu); -router.post("/header/menu/update/:id", ensureAuthenticated, headerMenuController.updateMenu); -router.post("/header/menu/delete", ensureAuthenticated, headerMenuController.deleteMenu); -router.post("/header/menu/reorder", ensureAuthenticated, headerMenuController.reorderMenu); +router.post("/header/menu/create", ensureAuthenticated, headerMenuController.store); +router.post("/header/menu/update/:id", ensureAuthenticated, headerMenuController.update); +router.post("/header/menu/delete", ensureAuthenticated, headerMenuController.destroy); +router.post("/header/menu/reorder", ensureAuthenticated, headerMenuController.reorder); + +// Social Links routes +router.get("/social-links", ensureAuthenticated, socialLinkController.index); +router.post("/social-links", ensureAuthenticated, socialLinkController.store); +router.put("/social-links/:platform", ensureAuthenticated, socialLinkController.update); +router.delete("/social-links/:platform", ensureAuthenticated, socialLinkController.destroy); +router.post("/social-links/reorder", ensureAuthenticated, socialLinkController.reorder); // Footer routes router.get("/footer", ensureAuthenticated, footerController.index); diff --git a/routes/index.js b/routes/index.js index 101a396..2a51b18 100644 --- a/routes/index.js +++ b/routes/index.js @@ -56,12 +56,8 @@ router.get("/api/menu-tree", headerController.getMenuTreeAPI); router.get("/api/header-menu", headerMenuController.api); // Social Links API routes -router.get("/api/social-links", socialLinkController.getAll); +router.get("/api/social-links", socialLinkController.index); router.get("/api/social-links/:platform", socialLinkController.show); -router.post("/api/social-links", socialLinkController.store); -router.put("/api/social-links/:platform", socialLinkController.update); -router.delete("/api/social-links/:platform", socialLinkController.destroy); -router.post("/api/social-links/bulk-update", socialLinkController.bulkUpdate); // Footer API route router.get("/api/footer", footerController.api);