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
+ 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;