forked from UKSOURCE/cms.hailearning.edu.vn
feat: Refactor header menu and social link controllers to use RESTful method names, remove social link API routes, and add comprehensive social link management to admin routes.
This commit is contained in:
@@ -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 }
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user