31 lines
974 B
JavaScript
31 lines
974 B
JavaScript
const { MenuItem } = require('../models');
|
|
const fetchMenuData = require('../utils/fetchMenuData');
|
|
|
|
exports.getMenuData = async (req, res) => {
|
|
try {
|
|
const menuData = await fetchMenuData();
|
|
res.json(menuData);
|
|
} catch (error) {
|
|
res.status(500).send('Error fetching menu data');
|
|
}
|
|
};
|
|
|
|
exports.saveMenuData = async (req, res) => {
|
|
try {
|
|
const menuData = req.body;
|
|
const adjustedMenuData = menuData.map(item => {
|
|
item.parent_id = item.parent_id < 0 ? null : item.parent_id;
|
|
return item;
|
|
})
|
|
.sort((a, b) => (a.parent_id === null ? -1 : 1) - (b.parent_id === null ? -1 : 1));
|
|
await MenuItem.destroy({ where: {} });
|
|
for (const item of adjustedMenuData) {
|
|
await MenuItem.create(item);
|
|
}
|
|
res.status(200).send('Menü-Daten erfolgreich gespeichert');
|
|
} catch (error) {
|
|
console.error('Fehler beim Speichern der Menü-Daten:', error);
|
|
res.status(500).send('Fehler beim Speichern der Menü-Daten');
|
|
}
|
|
};
|