Merge pull request #17 from yashrajverma/yashrajverma

Yashrajverma
This commit is contained in:
yashraj verma 2021-05-27 20:34:03 +05:30 committed by GitHub
commit 2606644244
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 516 additions and 5930 deletions

27
app.js
View File

@ -1,4 +1,5 @@
const express = require("express"); const express = require("express");
const app = express();
const mongoose = require("mongoose"); const mongoose = require("mongoose");
const bodyparser = require("body-parser"); const bodyparser = require("body-parser");
const authRoute = require("./routes/auth"); const authRoute = require("./routes/auth");
@ -11,7 +12,6 @@ const adminRoute = require("./routes/admin");
const blogRouter = require("./routes/blog"); const blogRouter = require("./routes/blog");
const port = process.env.PORT || 5000; const port = process.env.PORT || 5000;
const cors = require("cors"); const cors = require("cors");
const app = express();
//const passport = require('passport'); //const passport = require('passport');
//const cookieSession = require('cookie-session') ; //const cookieSession = require('cookie-session') ;
@ -75,21 +75,18 @@ app.use(bodyparser.json());
// req.logout() ; // req.logout() ;
// res.redirect('/') ; // res.redirect('/') ;
// }) // })
mongoose
.connect(MONGO_URI, { mongoose.connect(MONGO_URI, {
useNewUrlParser: true, useNewUrlParser: true,
useUnifiedTopology: true, useUnifiedTopology: true,
useFindAndModify: false, useFindAndModify: false,
}) });
.then((result) => { let conn = mongoose.connection.on("connected", (res) => {
console.log("connected"); console.log("Connected to MongoDB");
app.listen(port, () => { app.listen(port, () => {
console.log("server is running on port", port); console.log("Server Listening on Port", port);
});
})
.catch((err) => {
console.log(err);
}); });
});
app.use(authRoute); app.use(authRoute);
app.use(profileRoute); app.use(profileRoute);

View File

@ -8,6 +8,10 @@ const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS", null, [
]); ]);
const nodemailer = require("nodemailer"); const nodemailer = require("nodemailer");
const smtpTransport = require("nodemailer-smtp-transport"); const smtpTransport = require("nodemailer-smtp-transport");
// const { OAuth2Client } = require("google-auth-library");
// const client = new OAuth2Client(
// "7810129519-dr5l4l1i7a7bh07sbvl49gd80coenphj.apps.googleusercontent.com"
// );
// -------------------------------------------- mail transporter ----------------------------------------- // -------------------------------------------- mail transporter -----------------------------------------
@ -148,6 +152,24 @@ module.exports.postSignin = async (req, res, next) => {
console.log(err); console.log(err);
} }
}; };
// Gmail Login Starts.
// -----------------------------------------------------------------------------------------------
//1026548376782-5p5tjck8ffhan9l1ajhv6orr87dfkrrf.apps.googleusercontent.com
// module.exports.googleSignIn = async (req, res, next) => {
// const { tokenId } = req.params;
// console.log("TokenId from frontend", tokenId);
// client
// .verifyIdToken({
// idToken: tokenId,
// audience:
// "7810129519-dr5l4l1i7a7bh07sbvl49gd80coenphj.apps.googleusercontent.com",
// })
// .then((response) => {
// console.log(response.payload);
// });
// };
// Phone verification Starts. // Phone verification Starts.
// ----------------------------------------------------------------------------------------------- // -----------------------------------------------------------------------------------------------

View File

@ -18,9 +18,26 @@ module.exports.getAllBlogs = async (req, res, next) => {
} }
}; };
module.exports.addBlog = async (req, res, next) => { module.exports.getSingleBlog = async (req, res, next) => {
const { _id, title, body, image, author } = req.body; //_id is of user from frontend who is adding the blog.
try { try {
const { id } = req.params;
let blog = await Blog.findById({ _id: id });
if (blog) {
res.json({ blog });
} else {
res.json({ error: "Blog Not Found" });
}
} catch {
(err) => {
console.log("Error", err);
};
}
};
module.exports.addBlog = async (req, res, next) => {
const { _id, title, body, author } = req.body; //_id is of user from frontend who is adding the blog.
try {
console.log("Image File", req.file);
let user = await User.findById({ _id }); let user = await User.findById({ _id });
if (!title) { if (!title) {
res.status(422).json({ message: "Please, Add Title of the Blog" }); res.status(422).json({ message: "Please, Add Title of the Blog" });
@ -34,8 +51,8 @@ module.exports.addBlog = async (req, res, next) => {
let blog = new Blog({ let blog = new Blog({
title, title,
body, body,
image, image: req.file.location,
date: new Date(), date: new Date().toISOString(),
author, author,
}); });
await blog.save(); await blog.save();

View File

@ -10,7 +10,7 @@ const blogSchema = new mongoose.Schema({
type: Date, type: Date,
}, },
image: { image: {
type: String, type: Object,
default: "", default: "",
}, },
body: { body: {

6331
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -19,11 +19,16 @@
"crypto": "^1.0.1", "crypto": "^1.0.1",
"dotenv": "^9.0.1", "dotenv": "^9.0.1",
"express": "^4.17.1", "express": "^4.17.1",
"google-auth-library": "^7.0.4",
"grandjs": "^2.2.30", "grandjs": "^2.2.30",
"gridfs-stream": "^1.1.1",
"handlebars": "^4.7.7", "handlebars": "^4.7.7",
"jsonwebtoken": "^8.5.1", "jsonwebtoken": "^8.5.1",
"messagebird": "^3.6.1", "messagebird": "^3.6.1",
"mongoose": "^5.12.2", "mongoose": "^5.12.2",
"multer": "^1.4.2",
"multer-gridfs-storage": "^4.2.0",
"multer-s3": "^2.9.0",
"nodemailer": "^6.6.0", "nodemailer": "^6.6.0",
"nodemailer-smtp-transport": "^2.7.4", "nodemailer-smtp-transport": "^2.7.4",
"passport": "^0.4.1", "passport": "^0.4.1",

View File

@ -17,6 +17,8 @@ router.post("/forgotpassword", authController.forgotpassword);
router.post("/resetpassword/:_id/:token", authController.resetpassword); router.post("/resetpassword/:_id/:token", authController.resetpassword);
// router.post("/googleSignIn/:tokenId", authController.googleSignIn);
// router.post("/verifyemail", authController.verfiyemail); // router.post("/verifyemail", authController.verfiyemail);
module.exports = router; module.exports = router;

View File

@ -2,11 +2,39 @@ const express = require("express");
const router = express.Router(); const router = express.Router();
const BlogController = require("../controllers/blog"); const BlogController = require("../controllers/blog");
const isAuth = require("../middleware/requirelogin"); const isAuth = require("../middleware/requirelogin");
const multer = require("multer");
const multerS3 = require("multer-s3");
const aws = require("aws-sdk");
router.post("/addBlog", BlogController.addBlog); aws.config.update({
secretAccessKey: `${process.env.AWS_SEC}`,
accessKeyId: `${process.env.AWS_KEY}`,
region: "ap-south-1",
});
const s3 = new aws.S3();
const upload = multer({
storage: multerS3({
s3: s3,
acl: "public-read",
bucket: "cantilever-blog-images",
metadata: function (req, file, cb) {
cb(null, { fieldName: file.originalname });
},
key: function (req, file, cb) {
cb(null, file.originalname);
},
}),
});
router.post("/addBlog", upload.single("blog_image"), BlogController.addBlog);
router.get("/getAllBlogs", BlogController.getAllBlogs); router.get("/getAllBlogs", BlogController.getAllBlogs);
router.get("/blog/:id", BlogController.getSingleBlog);
router.post("/deleteBlog/", BlogController.deleteBlog); router.post("/deleteBlog/", BlogController.deleteBlog);
router.post("/editBlog/", BlogController.editBlog); router.post("/editBlog/", BlogController.editBlog);