35 lines
950 B
JavaScript
35 lines
950 B
JavaScript
const Coupon = require('../models/Coupon');
|
|
const { successResponse, errorResponse } = require('../utils/apiResponse');
|
|
|
|
const getCoupons = async (req, res, next) => {
|
|
try {
|
|
const coupons = await Coupon.find({}).sort({ createdAt: -1 });
|
|
return successResponse(res, 'Coupons retrieved', coupons);
|
|
} catch (error) {
|
|
next(error);
|
|
}
|
|
};
|
|
|
|
const createCoupon = async (req, res, next) => {
|
|
try {
|
|
const coupon = new Coupon(req.body);
|
|
const saved = await coupon.save();
|
|
return successResponse(res, 'Coupon created', saved, 201);
|
|
} catch (error) {
|
|
next(error);
|
|
}
|
|
};
|
|
|
|
const deleteCoupon = async (req, res, next) => {
|
|
try {
|
|
const coupon = await Coupon.findByIdAndDelete(req.params.id);
|
|
if (!coupon) return errorResponse(res, 'Coupon not found', [], 404);
|
|
return successResponse(res, 'Coupon deleted');
|
|
} catch (error) {
|
|
next(error);
|
|
}
|
|
};
|
|
|
|
module.exports = { getCoupons, createCoupon, deleteCoupon };
|
|
|