Initial commit
This commit is contained in:
44
server/controllers/categoryController.js
Normal file
44
server/controllers/categoryController.js
Normal file
@@ -0,0 +1,44 @@
|
||||
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 };
|
||||
|
||||
Reference in New Issue
Block a user