BlogImage
This commit is contained in:
parent
df0d19b106
commit
f8335cbfe9
|
@ -1,37 +1,12 @@
|
||||||
const { log } = require("handlebars");
|
const { log } = require("handlebars");
|
||||||
const Blog = require("../models/Blog");
|
const Blog = require("../models/Blog");
|
||||||
const User = require("../models/User");
|
const User = require("../models/User");
|
||||||
const mongoose = require("mongoose");
|
|
||||||
const GridFsStorage = require("multer-gridfs-storage");
|
|
||||||
const Grid = require("gridfs-stream");
|
|
||||||
const multer = require("multer");
|
|
||||||
const MONGO_URI = `mongodb+srv://Cantilever:Cantilever@cluster0.dqxva.mongodb.net/myFirstDatabase?retryWrites=true&w=majority`;
|
|
||||||
|
|
||||||
const connect = mongoose.createConnection(MONGO_URI, {
|
|
||||||
useNewUrlParser: true,
|
|
||||||
useUnifiedTopology: true,
|
|
||||||
});
|
|
||||||
let gfs;
|
|
||||||
connect.once("open", () => {
|
|
||||||
// initialize stream
|
|
||||||
gfs = Grid(connect.db, mongoose.mongo);
|
|
||||||
gfs.collection("blogImages");
|
|
||||||
});
|
|
||||||
|
|
||||||
module.exports.getAllBlogs = async (req, res, next) => {
|
module.exports.getAllBlogs = async (req, res, next) => {
|
||||||
try {
|
try {
|
||||||
let blog = await Blog.find();
|
let blog = await Blog.find();
|
||||||
if (blog) {
|
if (blog) {
|
||||||
gfs.files.find().toArray((err, files) => {
|
res.json({ blogs: blog });
|
||||||
//check if files exist
|
|
||||||
if (!files || files.length == 0) {
|
|
||||||
return res.status(404).json({
|
|
||||||
err: "No files exist",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
// files exist
|
|
||||||
res.json({ files, blogs: blog });
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
console.log("Error in Blog", blog);
|
console.log("Error in Blog", blog);
|
||||||
return;
|
return;
|
||||||
|
@ -76,7 +51,7 @@ module.exports.addBlog = async (req, res, next) => {
|
||||||
let blog = new Blog({
|
let blog = new Blog({
|
||||||
title,
|
title,
|
||||||
body,
|
body,
|
||||||
image: req.file,
|
image: req.file.location,
|
||||||
date: new Date().toISOString(),
|
date: new Date().toISOString(),
|
||||||
author,
|
author,
|
||||||
});
|
});
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -28,6 +28,7 @@
|
||||||
"mongoose": "^5.12.2",
|
"mongoose": "^5.12.2",
|
||||||
"multer": "^1.4.2",
|
"multer": "^1.4.2",
|
||||||
"multer-gridfs-storage": "^4.2.0",
|
"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",
|
||||||
|
|
|
@ -2,26 +2,34 @@ 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 GridFsStorage = require("multer-gridfs-storage");
|
|
||||||
const Grid = require("gridfs-stream");
|
|
||||||
const multer = require("multer");
|
const multer = require("multer");
|
||||||
const MONGO_URI = `mongodb+srv://Cantilever:Cantilever@cluster0.dqxva.mongodb.net/myFirstDatabase?retryWrites=true&w=majority`;
|
const multerS3 = require("multer-s3");
|
||||||
|
const aws = require("aws-sdk");
|
||||||
|
|
||||||
let storage = new GridFsStorage({
|
aws.config.update({
|
||||||
url: MONGO_URI,
|
secretAccessKey: `${process.env.AWS_SEC}`,
|
||||||
file: (req, file) => {
|
accessKeyId: `${process.env.AWS_KEY}`,
|
||||||
return new Promise((resolve, reject) => {
|
region: "ap-south-1",
|
||||||
const fileInfo = {
|
|
||||||
filename: file.originalname,
|
|
||||||
bucketName: "blogImages",
|
|
||||||
};
|
|
||||||
resolve(fileInfo);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
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);
|
||||||
|
},
|
||||||
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
const upload = multer({ storage });
|
router.post("/addBlog", upload.single("blog_image"), BlogController.addBlog);
|
||||||
router.post("/addBlog", upload.single("file"), BlogController.addBlog);
|
|
||||||
|
|
||||||
router.get("/getAllBlogs", BlogController.getAllBlogs);
|
router.get("/getAllBlogs", BlogController.getAllBlogs);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue