Untitled
unknown
plain_text
4 years ago
4.9 kB
7
Indexable
const express = require('express'); const bodyParser = require('body-parser'); const app =express(); const crypto= require('crypto'); const multer=require('multer'); const {GridFsStorage}=require('multer-gridfs-storage'); const Grid=require('gridfs-stream'); const methodOverride = require('method-override'); const mongoose =require('mongoose') app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(methodOverride('_method')); const path =require('path'); //const db= require("./db"); const user =require("./models/user"); const uri= 'mongodb+srv://user:dbUser@cluster0.um1b0.mongodb.net/cms?retryWrites=true&w=majority' let gfs; mongoose.connect(uri,{ useNewUrlParser: true, useUnifiedTopology: true, }).then(()=> console.log('db is connected')).catch((err)=> console.error('Error')); const a=mongoose.connection; a.once('open',()=>{ gfs=Grid(a.db,mongoose.mongo); gfs.collection('uploads'); }); const storage = new GridFsStorage({ url:uri, file:(req,file)=>{ return new Promise((resolve,reject)=>{ crypto.randomBytes(16,(err,buf)=>{ if(err){ return reject(err); } }) const filename= file.originalname; const fileInfo={ filename:filename, bucketName:'uploads' }; resolve(fileInfo); })}} ) const upload=multer({storage}); let files app.get('/test',(req,res)=>{ //res.sendFile(__dirname +"test.html",); res.json({title:"api",message:"root"}); }) app.get('/render',(req,res)=>{ res.sendFile(path.join(__dirname,'test.html')); }) //Display all files app.use('/files',(req,res,next)=>{ gfs.files.find().toArray((err,files)=>{ const a =JSON.stringify(files) const t=JSON.parse(a) console.log(t[0].filename) res.json(t) }) }) app.get('/',(req,res)=>{ res.sendFile(path.join(__dirname,'index.html')); }); app.get('/register',(req,res)=>{ res.sendFile(path.join(__dirname,'pass.html')); }); app.get('/user',(req,res)=>{ res.sendFile(path.join(__dirname,'user.html')); }); app.post('/user',(req,res)=>{ gfs.files.find().toArray((err,files)=>{ req.body.col1=files[0].filename; console.log(req.body.col1); res.redirect('/user')}) }); app.post("/user", upload.single('file'),(req, res, next) => { // req.body.col1="a" res.redirect('/user'); }); app.post("/submit", (req, res, next) => { if(req.body.password==" "&& req.body.name==" "){ return res.status(500).json({ message:"Make sure there isn't any empty field" }); } else if(req.body.password==""|| req.body.name==""){ return res.status(500).json({ message:"Make sure there isn't any empty field" }); } else{ user.find({type:req.body.type ,name:req.body.name,pass:req.body.password}).exec() .then(user=> { if (user.length > 0 && req.body.type=='admin' ) { res.redirect('/admin') } else if (user.length > 0 && req.body.type=='user' ) { res.redirect('/user') } else { res.sendFile(path.join(__dirname,'msg.html')) }}) .catch(err => { console.log(err); res.status(500).json({ error: err });}); } }); app.post("/changepassword", (req, res, next) => { if(req.body.oldP==""|| req.body.username==""|| req.body.email==""||req.body.newP==""){ return res.status(500).json({ message:"Make sure there isn't any empty field" }); } else{ user.findOneAndUpdate({type:req.body.type,email:req.body.email,name:req.body.username,pass:req.body.oldP},{pass:req.body.newP}).exec() .then(doc=> {if(!doc){ return res.status(500).json({ message:"The information entered is not correct!", }); } return res.status(500).json({ message:"Password changed successfully!", }); }).catch(err => { console.log(err); res.status(500).json({ error: err });}); } }); app.listen(3000)
Editor is loading...