const express = require("express"); const mysql = require("mysql"); const cors = require("cors"); const bcrypt = require("bcrypt"); const saltRounds = 10; const jwt = require('jsonwebtoken'); const app = express(); app.use(express.json()); app.use(express.urlencoded()) app.use(cors({ } )); const db = mysql.createConnection({ user: "root", host: "localhost", password: "password", database: "vision", }); app.get('/',(req,res) => { res.send({id:"priya"}); }) app.post("/register", (req, res) => { const username = req.body.name; const password = req.body.password; const phoneno = req.body.phoneno; const email = req.body.email; const school = req.body.school; const ten = req.body.ten; const twelve = req.body.twelve; const hash = bcrypt.hashSync(password, saltRounds); db.query( "INSERT INTO users (name,email,phoneno,hash,school,10mark,12mark) VALUES (?,?,?,?,?,?,?);", [username,email,phoneno,hash,school,ten,twelve], (err, result) => { if(err){ console.log(err); res.sendStatus(500) } else{ console.log(result) res.sendStatus(200) } } ); }); app.post("/service", (req, res) => { const username = req.body.name; const phoneno = req.body.phoneno; const email = req.body.email; const school = req.body.school; const ten = req.body.ten; const twelve = req.body.twelve; const profession = req.body.profession; const address = req.body.address; const message = req.body.message; const section = req.body.section; const payment = req.body.payment; const type = req.body.type; const transferid = req.body.transferid; db.query( "INSERT INTO service (name,email,phoneno,school,address,10mark,12mark,profession,section,payment,type,transferid,message) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", [username,email,phoneno,school,address,ten,twelve,profession,section,payment,type,transferid,message], function(err, result){ if(err){ console.log(err); res.send({auth:false}); } else{ console.log(result); res.json({auth:true, message:"success",result:result}); } } ); }); app.post("/feedback", (req, res) => { const username = req.body.name; const email = req.body.email; const message = req.body.message; const section = req.body.section; db.query( "INSERT INTO feedback (name,email,message,section) VALUES (?,?,?,?)", [username,email,message,section], function(err, result){ if(err){ // console.log(err); res.send({auth:false}); } else{ // console.log(result); res.send({auth:true}); } } ); }); const verifyJWT = (req,res,next) =>{ const token = req.headers["x-access-token"] // console.log(token); if(!token){ res.json({auth:false, message:"fails"}); } else{ jwt.verify(token,"hellovisionftf",(err,decoded) => { if(err){ res.json({auth:false, message:"fails"}); } else{ req.data = decoded.id; next(); } }) } } app.get("/auth",verifyJWT,(req, res) => { res.json({auth:true, message:"success",data:req.data}); }); app.post("/login", (req, res) => { const email = req.body.email; const password = req.body.password; db.query( "SELECT * FROM users WHERE email = ?;", email, (err, result) => { // console.log(result); if (err) { res.send({ err: err }); } if (result.length > 0) { // console.log(result[0].hash) bcrypt.compare(password, result[0].hash, (error, response) => { if (response) { const id=result[0].name; const token = jwt.sign({id},"hellovisionftf",{ expiresIn:3000, }) // console.log("true") res.send({auth:true, token :token, result:result[0].name}); } else { res.send({ auth:false,result:"Wrong username/password combination!" }); } }); } else { // console.log(result) res.json({auth:false, result:"no token"}); } } ); }); app.get("/videos", (req, res) => { db.query( "SELECT * FROM videos;", (err, result) => { // console.log(result); if (err) { res.send({code:false, err: err }); } else{ res.send({code:true, result:result}); } } ); }); app.listen(5000, () => { console.log("running server"); });