Updated Coupon

This commit is contained in:
hardcodder 2021-05-05 19:04:23 +05:30
parent 31e7944eed
commit 35062f5068
4 changed files with 85 additions and 46 deletions

4
app.js
View File

@ -6,6 +6,7 @@ const profileRoute = require('./routes/profile') ;
const paymentRoute = require('./routes/payment') ;
const courseRoute = require('./routes/course') ;
const adminRoute = require('./routes/admin') ;
const couponRoute = require('./routes/Coupon') ;
const port=process.env.PORT || 5000;
const cors = require('cors') ;
@ -75,7 +76,7 @@ require('./models/Coupon')
// req.logout() ;
// res.redirect('/') ;
// })
app.use(require('./routes/Coupon'))
app.use(authRoute) ;
app.use(profileRoute) ;
@ -86,6 +87,7 @@ app.use(courseRoute) ;
app.use(adminRoute) ;
app.use(couponRoute) ;
mongoose.connect(MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true ,useFindAndModify:false}).
then(result => {

64
controllers/coupon.js Normal file
View File

@ -0,0 +1,64 @@
const Coupon = require("../models/Coupon");
module.exports.getAllCoupons = async (req , res , next) => {
try
{
const coupons = await Coupon.find() ;
console.log(coupons) ;
res.json({
coupons : coupons
}) ;
}
catch(err)
{
console.log(err) ;
}
}
module.exports.addCoupon = async (req , res , next) => {
try
{
const couponCode = req.body.couponCode ;
const percentage = req.body.percentage ;
const numAllowed = req.body.numAllowed ;
let coupon = await Coupon.findOne({couponCode : couponCode}) ;
if(coupon)
{
res.json({
error:"coupon already Exist"
})
}
else
{
let coupon = new Coupon({
couponCode : couponCode ,
percentage : percentage ,
numAllowed : numAllowed
}) ;
coupon = await coupon.save() ;
res.json({
message: "Created Successfully"
})
}
}
catch(err)
{
console.log(err);
}
}
module.exports.deleteCoupon = async (req , res, next) => {
try
{
const couponCode = req.body.couponCode ;
await Coupon.deleteOne({couponCode : couponCode}) ;
res.json({
message: "Deleted Successfully"
})
}
catch(err)
{
console.log(err);
}
}

View File

@ -1,11 +1,17 @@
const mongoose=require('mongoose')
const CouponSchema=new mongoose.Schema({
coupon_code:{
type:String
couponCode:{
type:String,
required:true
},
percentage:{
type:String
type:Number ,
required:true
},
numAllowed:{
type:Number ,
required:true
}
})
module.exports=mongoose.model("Coupon",CouponSchema)
module.exports = mongoose.model('Coupon' , CouponSchema) ;

View File

@ -1,48 +1,15 @@
const express = require("express");
const couponController = require('../controllers/coupon') ;
const isAuth = require('../middleware/requirelogin') ;
const isAdmin = require('../middleware/isAdmin') ;
const router = express.Router();
const mongoose = require("mongoose");
const Coupon = mongoose.model("Coupon");
router.get("/get-coupon", (req, res) => {
Coupon.find().then((result) => {
res.status(200).json({ coupon: result });
console.log(result);
});
});
router.get("/getAllCoupons",isAuth , isAdmin , couponController.getAllCoupons);
router.post("/set-coupon", (req, res) => {
const { percentage, coupon_code } = req.body;
const coupon = new Coupon({
coupon_code,
percentage,
});
coupon.save().then((result) => {
res.status(200).json({ message: "Coupon set Successfully" });
});
});
router.post("/addCoupon", isAuth , isAdmin ,couponController.addCoupon);
router.delete("/delete-coupon", (req, res) => {
Coupon.remove({ _id: req.body.id }).then((result) => {
res.status(200).json({ message: "Coupon Deleted" });
});
});
router.put("/update-coupon", (req, res) => {
const {coupon_code,percentage} =req.body;
Coupon.findByIdAndUpdate(
req.body._id,
{
$set: {
coupon_code,percentage
}
},
{ new: true })
.then((result) => {
res.status(200).json({ message: result });
})
.catch((err) => {
console.log(err);
});
});
router.post("/deleteCoupon", isAuth , isAdmin ,couponController.deleteCoupon);
module.exports = router;