Untitled
unknown
plain_text
4 years ago
4.5 kB
11
Indexable
const express = require('express');
const bodyParser = require('body-parser');
const pdfP =require('pdf2json');
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')
const fs =require('fs')
const getStream =require('get-stream')
app.use(bodyParser.json());
app.use(bodyParser.raw())
app.use(bodyParser.urlencoded({ extended: true }));
app.use(methodOverride('_method'));
const path =require('path');
//const db= require("./db");
//const fs= require('fs');
const pdfParse= require("pdf-parse");
const user =require("./models/user");
const uri= 'mongodb+srv://user:dbUser@cluster0.um1b0.mongodb.net/lib?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,
}
)
const upload=multer({dest:"models/files"});
let files,m,t,name
//Display all files
/*app.use('/files',(req,res,next)=>{
gfs.files.find().toArray((err,files)=>{
m=JSON.stringify(files)
t=JSON.parse(m)
console.log(m)
res.json(t)
})*/
//const pdffile= fs.readFileSync("C:/Users/Ervisa/Desktop/yazlab/proje2_Sudoku/sudokurapor.pdf");
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.get('/admin',(req,res)=>{
res.sendFile(path.join(__dirname,'admin.html'));
});
app.post("/user",upload.single('file'),(req, res, next) => {
pdfParse(req.file.path).then(function(data) {
console.log(data.numpages)
})
.catch(function(error){
console.log(err);
})
});
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...