Initial commit
This commit is contained in:
44
server/controllers/bannerController.js
Normal file
44
server/controllers/bannerController.js
Normal file
@@ -0,0 +1,44 @@
|
||||
const Banner = require('../models/Banner');
|
||||
const { successResponse, errorResponse } = require('../utils/apiResponse');
|
||||
|
||||
const getBanners = async (req, res, next) => {
|
||||
try {
|
||||
const banners = await Banner.find({ isActive: true }).sort({ displayOrder: 1 });
|
||||
return successResponse(res, 'Hero banners retrieved', banners);
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
};
|
||||
|
||||
const createBanner = async (req, res, next) => {
|
||||
try {
|
||||
const banner = new Banner(req.body);
|
||||
const saved = await banner.save();
|
||||
return successResponse(res, 'Banner created', saved, 201);
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
};
|
||||
|
||||
const updateBanner = async (req, res, next) => {
|
||||
try {
|
||||
const banner = await Banner.findByIdAndUpdate(req.params.id, req.body, { new: true });
|
||||
if (!banner) return errorResponse(res, 'Banner not found', [], 404);
|
||||
return successResponse(res, 'Banner updated', banner);
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
};
|
||||
|
||||
const deleteBanner = async (req, res, next) => {
|
||||
try {
|
||||
const banner = await Banner.findByIdAndDelete(req.params.id);
|
||||
if (!banner) return errorResponse(res, 'Banner not found', [], 404);
|
||||
return successResponse(res, 'Banner deleted');
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = { getBanners, createBanner, updateBanner, deleteBanner };
|
||||
|
||||
Reference in New Issue
Block a user