diff --git a/app.js b/app.js index 43635e8..b02365d 100644 --- a/app.js +++ b/app.js @@ -8,21 +8,19 @@ const courseRoute = require("./routes/course"); const couponRoute = require("./routes/Coupon"); const queryRoute = require("./routes/query"); const adminRoute = require("./routes/admin"); +const blogRouter = require("./routes/blog"); const port = process.env.PORT || 5000; - const cors = require("cors"); +const app = express(); //const passport = require('passport'); //const cookieSession = require('cookie-session') ; //require('./passport-setup') ; -const app = express(); - const MONGO_URI = `mongodb+srv://${process.env.MONGO_USER}:${process.env.MONGO_PASSWORD}@cluster0.dqxva.mongodb.net/${process.env.MONGO_DEFAULT_DATABASE}?retryWrites=true&w=majority`; app.use(cors()); app.use(bodyparser.json()); -require("./models/Coupon"); // app.use(cookieSession({ // name: 'test-session', @@ -104,4 +102,6 @@ app.use(adminRoute); app.use(couponRoute); +app.use(blogRouter); + app.use(queryRoute); diff --git a/controllers/auth.js b/controllers/auth.js index d6558d0..b80d0cc 100644 --- a/controllers/auth.js +++ b/controllers/auth.js @@ -13,11 +13,11 @@ const smtpTransport = require("nodemailer-smtp-transport"); var transport = nodemailer.createTransport( smtpTransport({ - host: `${process.env.HOST}`, //`${process.env.HOST}` + host: `email-smtp.us-east-1.amazonaws.com`, //`${process.env.HOST}` port: 465, auth: { - user: `${process.env.EMAIL}`, //`${process.env.EMAIL}` - pass: `${process.env.PASS}`, //`${process.env.PASS}` + user: `AKIA2G7743RRTZMVXE3X`, //`${process.env.EMAIL}` + pass: `BJSjV3jArJfsnk1LhFc/hUmisEyEtbLNGgrRbv0noh8c`, //`${process.env.PASS}` }, }) ); @@ -289,7 +289,9 @@ module.exports.forgotpassword = async (req, res, next) => { Facing any issue? Write us at

info@cantileverlabs.com

logo + src="data:image/png;base64,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" + title="logo" alt="logo"> +

Privacy Policy Terms Of Use @@ -369,6 +371,8 @@ module.exports.resetpassword = async (req, res, next) => { await user .save() .then((ok) => { + res.header("Access-Control-Allow-Origin", "*"); + res.header("Access-Control-Allow-Headers", "*"); res.json({ message: "Password Updated!" }); }) .catch((err) => { diff --git a/controllers/blog.js b/controllers/blog.js new file mode 100644 index 0000000..f6ea6c1 --- /dev/null +++ b/controllers/blog.js @@ -0,0 +1,103 @@ +const { log } = require("handlebars"); +const Blog = require("../models/Blog"); +const Course = require("../models/Course"); + +module.exports.getAllBlogs = async (req, res, next) => { + try { + let blog = await Blog.find(); + if (blog) { + res.json({ blogs: blog }); + } else { + console.log("Error in Blog", blog); + return; + } + } catch { + (err) => { + res.status(422).json({ error: err }); + }; + } +}; + +module.exports.addBlog = async (req, res, next) => { + const { _id, title, body, image } = req.body; //_id is of user from frontend who is adding the blog. + try { + let course = await Course.find({ _id }); + if (!title) { + res.status(422).json({ message: "Please, Add Title of the Blog" }); + return; + } + if (!body) { + res.status(422).json({ message: "Please, Add Body of the Blog" }); + return; + } + if (course) { + let blog = new Blog({ + title, + body, + image, + date: new Date(), + }); + await blog.save(); + res.json({ message: "Blog Saved Successfully!" }); + } else { + res.status.json({ error: "User Doesn't Exists" }); + return; + } + } catch { + (err) => { + res.status(422).json({ error: err }); + }; + } +}; + +module.exports.deleteBlog = async (req, res, next) => { + const { _id } = req.body; + try { + let blog = await Blog.find({ _id }); + if (blog) { + await Blog.findByIdAndDelete(_id); + res.json({ message: "Blog Deleted!" }); + } else { + res.status(404).json({ message: "Blog Not Found" }); + return; + } + } catch { + (err) => { + res.status(422).json({ error: err }); + }; + } +}; + +module.exports.editBlog = async (req, res, next) => { + const { _id, body, title, image } = req.body; + + try { + if (!title) { + res.status(422).json({ message: "Please, Add the Title of the Blog." }); + return; + } + if (!body) { + res.status(422).json({ message: "Please, Add the Body of the Blog." }); + return; + } + if (!image) { + res.status(422).json({ message: "Please, Add the Image of the Blog." }); + return; + } + let blog = Blog.findById(_id); + if (blog) { + blog.title = title; + blog.body = body; + blog.image = image; + await blog.save(); + res.json({ message: "Blog Updated!" }); + } else { + res.status(422).json({ error: "Blog Doesn't Found" }); + return; + } + } catch { + (err) => { + res.status(422).json({ error: err }); + }; + } +}; diff --git a/controllers/coupon.js b/controllers/coupon.js index 2220624..238e1ed 100644 --- a/controllers/coupon.js +++ b/controllers/coupon.js @@ -1,64 +1,52 @@ 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.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.addCoupon = async (req, res, next) => { + try { + const couponCode = req.body.couponCode; + const percentage = req.body.percentage; + const numAllowed = req.body.numAllowed; -module.exports.deleteCoupon = async (req , res, next) => { - try - { - const couponCode = req.body.couponCode ; - await Coupon.deleteOne({couponCode : couponCode}) ; - res.json({ - message: "Deleted Successfully" - }) + 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); - } -} \ No newline at end of file + } 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); + } +}; diff --git a/models/Blog.js b/models/Blog.js new file mode 100644 index 0000000..33e6c55 --- /dev/null +++ b/models/Blog.js @@ -0,0 +1,27 @@ +const mongoose = require("mongoose"); +const blogSchema = new mongoose.Schema({ + title: { + type: String, + require: true, + }, + author: { + type: String, + ref: "Course", + }, + date: { + type: Date, + }, + image: { + type: String, + default: "", + }, + body: { + type: String, + required: true, + }, + isBookMarked: { + type: Boolean, + default: false, + }, +}); +module.exports = mongoose.model("Blog", blogSchema); diff --git a/routes/blog.js b/routes/blog.js new file mode 100644 index 0000000..51e5d57 --- /dev/null +++ b/routes/blog.js @@ -0,0 +1,14 @@ +const express = require("express"); +const router = express.Router(); +const BlogController = require("../controllers/blog"); +const isAuth = require("../middleware/requirelogin"); + +router.post("/add-blog", BlogController.addBlog); + +router.get("/get-all-blogs", BlogController.getAllBlogs); + +router.post("/delete-blog/", isAuth, BlogController.deleteBlog); + +router.post("/edit-blog/", isAuth, BlogController.editBlog); + +module.exports = router;