const Category = require('../models/Category'); const { successResponse, errorResponse } = require('../utils/apiResponse'); const getCategories = async (req, res, next) => { try { const categories = await Category.find({ isActive: true }).sort({ displayOrder: 1 }); return successResponse(res, 'Categories retrieved', categories); } catch (error) { next(error); } }; const createCategory = async (req, res, next) => { try { const category = new Category(req.body); const saved = await category.save(); return successResponse(res, 'Category created', saved, 201); } catch (error) { next(error); } }; const updateCategory = async (req, res, next) => { try { const category = await Category.findByIdAndUpdate(req.params.id, req.body, { new: true }); if (!category) return errorResponse(res, 'Category not found', [], 404); return successResponse(res, 'Category updated', category); } catch (error) { next(error); } }; const deleteCategory = async (req, res, next) => { try { const category = await Category.findByIdAndDelete(req.params.id); if (!category) return errorResponse(res, 'Category not found', [], 404); return successResponse(res, 'Category deleted'); } catch (error) { next(error); } }; module.exports = { getCategories, createCategory, updateCategory, deleteCategory };