// src/controllers/categoryController.js const Category = require('../models/Category'); // @desc Get all categories // @route GET /api/categories // @access Public const getCategories = async (req, res) => { try { const categories = await Category.find({}); res.json(categories); } catch (error) { res.status(500).json({ message: error.message }); } }; // @desc Create category // @route POST /api/categories // @access Private/Admin const createCategory = async (req, res) => { try { const { name, image } = req.body; const categoryExists = await Category.findOne({ name }); if (categoryExists) { return res.status(400).json({ message: 'Category already exists' }); } const category = await Category.create({ name, image }); res.status(201).json(category); } catch (error) { res.status(400).json({ message: error.message }); } }; // @desc Delete category // @route DELETE /api/categories/:id // @access Private/Admin const deleteCategory = async (req, res) => { try { const category = await Category.findById(req.params.id); if (category) { await category.deleteOne(); res.json({ message: 'Category removed' }); } else { res.status(404).json({ message: 'Category not found' }); } } catch (error) { res.status(500).json({ message: error.message }); } }; module.exports = { getCategories, createCategory, deleteCategory };