From 09161a2379ef1d8efd9d935c1420c57863c39cb3 Mon Sep 17 00:00:00 2001 From: yashrajverma Date: Tue, 11 May 2021 19:52:30 +0530 Subject: [PATCH] Added forgot pass --- .history/app_20210509182623.js | 102 ---------- .history/app_20210511125853.js | 102 ---------- .history/controllers/auth_20210511124920.js | 144 -------------- .history/controllers/auth_20210511125553.js | 147 -------------- .history/controllers/auth_20210511130304.js | 147 -------------- .history/controllers/auth_20210511130652.js | 148 -------------- .history/controllers/auth_20210511130704.js | 148 -------------- .history/controllers/auth_20210511130706.js | 148 -------------- .history/controllers/auth_20210511130738.js | 148 -------------- .history/controllers/auth_20210511130806.js | 148 -------------- .history/controllers/auth_20210511130823.js | 148 -------------- .history/controllers/auth_20210511153608.js | 154 --------------- .history/controllers/auth_20210511153626.js | 154 --------------- .history/controllers/auth_20210511172833.js | 179 ----------------- .history/controllers/auth_20210511172847.js | 179 ----------------- .history/controllers/auth_20210511173119.js | 179 ----------------- .history/controllers/auth_20210511173233.js | 181 ----------------- .history/controllers/auth_20210511193324.js | 186 ------------------ .history/controllers/auth_20210511193420.js | 186 ------------------ ...210509165913.js => auth_20210511194950.js} | 0 ...210511193801.js => auth_20210511195210.js} | 0 .history/models/User_20210509151718.js | 37 ---- .history/models/User_20210511124914.js | 44 ----- .history/models/User_20210511125400.js | 51 ----- .history/models/User_20210511132742.js | 39 ---- .history/routes/auth_20210509164313.js | 16 -- .history/routes/auth_20210511125551.js | 20 -- .history/routes/auth_20210511171625.js | 20 -- .history/routes/auth_20210511171726.js | 20 -- .history/utils/emailSend_20210511130922.js | 0 .history/utils/emailSend_20210511130932.js | 1 - 31 files changed, 3176 deletions(-) delete mode 100644 .history/app_20210509182623.js delete mode 100644 .history/app_20210511125853.js delete mode 100644 .history/controllers/auth_20210511124920.js delete mode 100644 .history/controllers/auth_20210511125553.js delete mode 100644 .history/controllers/auth_20210511130304.js delete mode 100644 .history/controllers/auth_20210511130652.js delete mode 100644 .history/controllers/auth_20210511130704.js delete mode 100644 .history/controllers/auth_20210511130706.js delete mode 100644 .history/controllers/auth_20210511130738.js delete mode 100644 .history/controllers/auth_20210511130806.js delete mode 100644 .history/controllers/auth_20210511130823.js delete mode 100644 .history/controllers/auth_20210511153608.js delete mode 100644 .history/controllers/auth_20210511153626.js delete mode 100644 .history/controllers/auth_20210511172833.js delete mode 100644 .history/controllers/auth_20210511172847.js delete mode 100644 .history/controllers/auth_20210511173119.js delete mode 100644 .history/controllers/auth_20210511173233.js delete mode 100644 .history/controllers/auth_20210511193324.js delete mode 100644 .history/controllers/auth_20210511193420.js rename .history/controllers/{auth_20210509165913.js => auth_20210511194950.js} (100%) rename .history/controllers/{auth_20210511193801.js => auth_20210511195210.js} (100%) delete mode 100644 .history/models/User_20210509151718.js delete mode 100644 .history/models/User_20210511124914.js delete mode 100644 .history/models/User_20210511125400.js delete mode 100644 .history/models/User_20210511132742.js delete mode 100644 .history/routes/auth_20210509164313.js delete mode 100644 .history/routes/auth_20210511125551.js delete mode 100644 .history/routes/auth_20210511171625.js delete mode 100644 .history/routes/auth_20210511171726.js delete mode 100644 .history/utils/emailSend_20210511130922.js delete mode 100644 .history/utils/emailSend_20210511130932.js diff --git a/.history/app_20210509182623.js b/.history/app_20210509182623.js deleted file mode 100644 index 9dec7ab..0000000 --- a/.history/app_20210509182623.js +++ /dev/null @@ -1,102 +0,0 @@ -const express = require("express"); -const mongoose = require("mongoose"); -const bodyparser = require("body-parser"); -const authRoute = require("./routes/auth"); -const profileRoute = require("./routes/profile"); -const paymentRoute = require("./routes/payment"); -const courseRoute = require("./routes/course"); -const adminRoute = require("./routes/admin"); -const port = process.env.PORT || 5000; - -const cors = require("cors"); -//const passport = require('passport'); -//const cookieSession = require('cookie-session') ; -//require('./passport-setup') ; - -const app = express(); - -const MONGO_URI = `mongodb+srv://${process.env.MONGO_USER}:${process.env.MONGO_PASSWORD}@cluster0.dqxva.mongodb.net/${process.env.MONGO_DEFAULT_DATABASE}?retryWrites=true&w=majority`; - -app.use(cors()); -app.use(bodyparser.json()); -require("./models/Coupon"); - -// app.use(cookieSession({ -// name: 'test-session', -// keys: ['key1', 'key2'] -// })) - -// const isLoggedIn = (req , res , next) => { -// if(req.user) -// { -// next() -// } -// else -// { -// res.json({ -// error : "No user" -// }) -// } -// } - -// app.use(passport.initialize()); -// app.use(passport.session()); - -// app.get('/failed' , (req , res) => { -// res.json({ -// error : "You have failed to login" -// }) -// }) - -// app.get('/' , (req , res) => { -// console.log('you are not logged in'); - -// }) - -// app.get('/good' ,isLoggedIn , (req , res) => { -// res.json({ -// message:"success" , -// user : req.user -// }) -// }) - -// app.get('/auth/google', -// passport.authenticate('google', { scope: ['profile' , 'email'] })); - -// app.get('/auth/google/callback', -// passport.authenticate('google', { failureRedirect: '/failed' }), -// function(req, res) { -// res.redirect('/good'); -// }); - -// app.get('/logout', (req , res) => { -// req.session = null ; -// req.logout() ; -// res.redirect('/') ; -// }) -app.use(require("./routes/Coupon")); -app.use(authRoute); - -app.use(profileRoute); - -app.use(paymentRoute); - -app.use(courseRoute); - -app.use(adminRoute); - -mongoose - .connect(MONGO_URI, { - useNewUrlParser: true, - useUnifiedTopology: true, - useFindAndModify: false, - }) - .then((result) => { - console.log("connected"); - app.listen(port, () => { - console.log("server is running on port", port); - }); - }) - .catch((err) => { - console.log(err); - }); diff --git a/.history/app_20210511125853.js b/.history/app_20210511125853.js deleted file mode 100644 index c3b4e48..0000000 --- a/.history/app_20210511125853.js +++ /dev/null @@ -1,102 +0,0 @@ -const express = require("express"); -const mongoose = require("mongoose"); -const bodyparser = require("body-parser"); -const authRoute = require("./routes/auth"); -const profileRoute = require("./routes/profile"); -const paymentRoute = require("./routes/payment"); -const courseRoute = require("./routes/course"); -const adminRoute = require("./routes/admin"); -const port = process.env.PORT || 5000; - -const cors = require("cors"); -//const passport = require('passport'); -//const cookieSession = require('cookie-session') ; -//require('./passport-setup') ; - -const app = express(); - -const MONGO_URI = `mongodb+srv://Cantilever:Cantilever@cluster0.dqxva.mongodb.net/myFirstDatabase?retryWrites=true&w=majority`; - -app.use(cors()); -app.use(bodyparser.json()); -require("./models/Coupon"); - -// app.use(cookieSession({ -// name: 'test-session', -// keys: ['key1', 'key2'] -// })) - -// const isLoggedIn = (req , res , next) => { -// if(req.user) -// { -// next() -// } -// else -// { -// res.json({ -// error : "No user" -// }) -// } -// } - -// app.use(passport.initialize()); -// app.use(passport.session()); - -// app.get('/failed' , (req , res) => { -// res.json({ -// error : "You have failed to login" -// }) -// }) - -// app.get('/' , (req , res) => { -// console.log('you are not logged in'); - -// }) - -// app.get('/good' ,isLoggedIn , (req , res) => { -// res.json({ -// message:"success" , -// user : req.user -// }) -// }) - -// app.get('/auth/google', -// passport.authenticate('google', { scope: ['profile' , 'email'] })); - -// app.get('/auth/google/callback', -// passport.authenticate('google', { failureRedirect: '/failed' }), -// function(req, res) { -// res.redirect('/good'); -// }); - -// app.get('/logout', (req , res) => { -// req.session = null ; -// req.logout() ; -// res.redirect('/') ; -// }) -app.use(require("./routes/Coupon")); -app.use(authRoute); - -app.use(profileRoute); - -app.use(paymentRoute); - -app.use(courseRoute); - -app.use(adminRoute); - -mongoose - .connect(MONGO_URI, { - useNewUrlParser: true, - useUnifiedTopology: true, - useFindAndModify: false, - }) - .then((result) => { - console.log("connected"); - app.listen(port, () => { - console.log("server is running on port", port); - }); - }) - .catch((err) => { - console.log(err); - }); diff --git a/.history/controllers/auth_20210511124920.js b/.history/controllers/auth_20210511124920.js deleted file mode 100644 index f14256a..0000000 --- a/.history/controllers/auth_20210511124920.js +++ /dev/null @@ -1,144 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email } = req.body; - const user = await user.findOne({ email }); - //verify email then set password. - if (!user) { - return res.status(404).json({ error: "No user with that Email id" }); - } else { - } -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511125553.js b/.history/controllers/auth_20210511125553.js deleted file mode 100644 index c606687..0000000 --- a/.history/controllers/auth_20210511125553.js +++ /dev/null @@ -1,147 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email } = req.body; - const user = await user.findOne({ email }); - //verify email then set password. - if (!user) { - return res.status(404).json({ error: "No user with that Email id" }); - } else { - const resetToken = user.createPasswordResetToken(); - await user.save(); - } -}; -module.exports.resetpassword = async (req, res, next) => {}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511130304.js b/.history/controllers/auth_20210511130304.js deleted file mode 100644 index 52ad595..0000000 --- a/.history/controllers/auth_20210511130304.js +++ /dev/null @@ -1,147 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email } = req.body; - const user = await user.findOne({ email }); - //verify email then set password. - if (!user) { - return res.status(404).json({ error: "No user with that Email id" }); - } else { - // const resetToken = user.createPasswordResetToken(); - // await user.save(); - } -}; -module.exports.resetpassword = async (req, res, next) => {}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511130652.js b/.history/controllers/auth_20210511130652.js deleted file mode 100644 index 89683fa..0000000 --- a/.history/controllers/auth_20210511130652.js +++ /dev/null @@ -1,148 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email } = req.body; - const user = await user.findOne({ email }).then((result) => { - if (!result) { - return res.status(404).json({ error: "No user with that Email id" }); - } else { - const resetToken = user.createPasswordResetToken(); - await user.save(); - } - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => {}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511130704.js b/.history/controllers/auth_20210511130704.js deleted file mode 100644 index 0c75d23..0000000 --- a/.history/controllers/auth_20210511130704.js +++ /dev/null @@ -1,148 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email } = req.body; - const user = await user.findOne({ email }).then((result) => { - if (!result) { - return res.status(404).json({ error: "No user with that Email id" }); - } else { - const resetToken = user.createPasswordResetToken(); - user.save(); - } - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => {}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511130706.js b/.history/controllers/auth_20210511130706.js deleted file mode 100644 index 09c28ea..0000000 --- a/.history/controllers/auth_20210511130706.js +++ /dev/null @@ -1,148 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email } = req.body; - const user = await user.findOne({ email }).then((result) => { - if (!result) { - return res.status(404).json({ error: "No user with that Email id" }); - } else { - // const resetToken = user.createPasswordResetToken(); - // user.save(); - } - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => {}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511130738.js b/.history/controllers/auth_20210511130738.js deleted file mode 100644 index 7f4fa1d..0000000 --- a/.history/controllers/auth_20210511130738.js +++ /dev/null @@ -1,148 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email } = req.body; - const user = await User.findOne({ email }).then((result) => { - if (!result) { - return res.status(404).json({ error: "No user with that Email id" }); - } else { - // const resetToken = user.createPasswordResetToken(); - // user.save(); - } - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => {}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511130806.js b/.history/controllers/auth_20210511130806.js deleted file mode 100644 index 728a15d..0000000 --- a/.history/controllers/auth_20210511130806.js +++ /dev/null @@ -1,148 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email } = req.body; - const user = await User.findOne({ email }).then((result) => { - if (!result) { - return res.status(404).json({ error: "No user with that Email id" }); - } else { - const resetToken = user.createPasswordResetToken(); - user.save(); - } - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => {}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511130823.js b/.history/controllers/auth_20210511130823.js deleted file mode 100644 index 7f4fa1d..0000000 --- a/.history/controllers/auth_20210511130823.js +++ /dev/null @@ -1,148 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email } = req.body; - const user = await User.findOne({ email }).then((result) => { - if (!result) { - return res.status(404).json({ error: "No user with that Email id" }); - } else { - // const resetToken = user.createPasswordResetToken(); - // user.save(); - } - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => {}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511153608.js b/.history/controllers/auth_20210511153608.js deleted file mode 100644 index fc612e9..0000000 --- a/.history/controllers/auth_20210511153608.js +++ /dev/null @@ -1,154 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email } = req.body; - crypto.randomBytes(32, (err, buffer) => { - if (err) { - console.log("error in crypto"); - } - const token = buffer.toString("hex"); - User.findOne({ email }).then((user) => { - if (!user) { - res.status(404).json({ error: "User not found with this email." }); - } - user.passwordResetToken = token; //generated token; - user.passwordResetExpires = Date.now() + 10 * 6 * 1000; //valid for 10 mins. - user.save().then((res) => {}); - }); - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => {}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511153626.js b/.history/controllers/auth_20210511153626.js deleted file mode 100644 index 9edae01..0000000 --- a/.history/controllers/auth_20210511153626.js +++ /dev/null @@ -1,154 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email } = req.body; - crypto.randomBytes(32, (err, buffer) => { - if (err) { - console.log("error in crypto"); - } - const token = buffer.toString("hex"); - User.findOne({ email }).then((user) => { - if (!user) { - res.status(404).json({ error: "User not found with this email." }); - } - user.passwordResetToken = token; //generated token; - user.passwordResetExpires = Date.now() + 10 * 6 * 1000; //valid for 10 mins. - user.save().then((res) => {}); //need to do the task. - }); - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => {}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511172833.js b/.history/controllers/auth_20210511172833.js deleted file mode 100644 index ed79012..0000000 --- a/.history/controllers/auth_20210511172833.js +++ /dev/null @@ -1,179 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email, link } = req.body; - User.findOne({ email }) - .then((result) => { - if (!result) { - res.status(404).json({ error: "User not found with this Email" }); - return; - } else { - const payload = { - email: result.email, - _id: result._id, - }; - const secret = JWT_secret + result.password; - const token = jwt.sign(payload, secret, { expiresIn: "10m" }); - const reset_link = `${link}/${result._id}/${token}`; - res.status(200).json({ reset_link }); - } - }) - .catch((err) => { - console.log(err); - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => { - const { _id, token } = req.params; - const { password } = req.body; - User.findById({ _id }).then((result) => { - if (result) { - const secret = JWT_secret + result.password; - const payload = jwt.verify(token, secret); - if (payload) { - User.findByIdAndUpdate(_id, { $set: { password } }) - .then((data) => { - res.json({ message: "Password Updated!" }); - }) - .catch((err) => { - console.log(err); - }); - } else { - res.status(422).json({ error: "some error occured" }); - } - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511172847.js b/.history/controllers/auth_20210511172847.js deleted file mode 100644 index 6847cb1..0000000 --- a/.history/controllers/auth_20210511172847.js +++ /dev/null @@ -1,179 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email, link } = req.body; - User.findOne({ email }) - .then((result) => { - if (!result) { - res.status(404).json({ error: "User not found with this Email" }); - return; - } else { - const payload = { - email: result.email, - _id: result._id, - }; - const secret = JWT_secret + result.password; - const token = jwt.sign(payload, secret, { expiresIn: "10m" }); - const reset_link = `${link}/${result._id}/${token}`; - res.status(200).json({ reset_link }); - } - }) - .catch((err) => { - console.log(err); - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => { - const { _id, token } = req.params; - const { password } = req.body; - await User.findById({ _id }).then((result) => { - if (result) { - const secret = JWT_secret + result.password; - const payload = jwt.verify(token, secret); - if (payload) { - User.findByIdAndUpdate(_id, { $set: { password } }) - .then((data) => { - res.json({ message: "Password Updated!" }); - }) - .catch((err) => { - console.log(err); - }); - } else { - res.status(422).json({ error: "some error occured" }); - } - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511173119.js b/.history/controllers/auth_20210511173119.js deleted file mode 100644 index fef654c..0000000 --- a/.history/controllers/auth_20210511173119.js +++ /dev/null @@ -1,179 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email, link } = req.body; //link = https://cantileverlabs.herokuapp.com/resetpassword/:id/:token - User.findOne({ email }) - .then((result) => { - if (!result) { - res.status(404).json({ error: "User not found with this Email" }); - return; - } else { - const payload = { - email: result.email, - _id: result._id, - }; - const secret = JWT_secret + result.password; - const token = jwt.sign(payload, secret, { expiresIn: "10m" }); - const reset_link = `${link}/${result._id}/${token}`; - res.status(200).json({ reset_link }); - } - }) - .catch((err) => { - console.log(err); - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => { - const { _id, token } = req.params; - const { password } = req.body; - await User.findById({ _id }).then((result) => { - if (result) { - const secret = JWT_secret + result.password; - const payload = jwt.verify(token, secret); - if (payload) { - User.findByIdAndUpdate(_id, { $set: { password } }) - .then((data) => { - res.json({ message: "Password Updated!" }); - }) - .catch((err) => { - console.log(err); - }); - } else { - res.status(422).json({ error: "some error occured" }); - } - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511173233.js b/.history/controllers/auth_20210511173233.js deleted file mode 100644 index 434735d..0000000 --- a/.history/controllers/auth_20210511173233.js +++ /dev/null @@ -1,181 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email, link } = req.body; //link = https://cantileverlabs.herokuapp.com/resetpassword/:id/:token - User.findOne({ email }) - .then((result) => { - if (!result) { - res.status(404).json({ error: "User not found with this Email" }); - return; - } else { - const payload = { - email: result.email, - _id: result._id, - }; - const secret = JWT_secret + result.password; - const token = jwt.sign(payload, secret, { expiresIn: "10m" }); - const reset_link = `${link}/${result._id}/${token}`; - res - .status(200) - .json({ reset_link, message: "link is active for 10 mins" }); - } - }) - .catch((err) => { - console.log(err); - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => { - const { _id, token } = req.params; - const { password } = req.body; - await User.findById({ _id }).then((result) => { - if (result) { - const secret = JWT_secret + result.password; - const payload = jwt.verify(token, secret); - if (payload) { - User.findByIdAndUpdate(_id, { $set: { password } }) - .then((data) => { - res.json({ message: "Password Updated!" }); - }) - .catch((err) => { - console.log(err); - }); - } else { - res.status(422).json({ error: "some error occured" }); - } - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511193324.js b/.history/controllers/auth_20210511193324.js deleted file mode 100644 index 624a403..0000000 --- a/.history/controllers/auth_20210511193324.js +++ /dev/null @@ -1,186 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email, link } = req.body; //link = https://cantileverlabs.herokuapp.com/resetpassword/:id/:token - User.findOne({ email }) - .then((result) => { - if (!result) { - res.status(404).json({ error: "User not found with this Email" }); - return; - } else { - const payload = { - email: result.email, - _id: result._id, - }; - const secret = JWT_secret + result.password; - const token = jwt.sign(payload, secret, { expiresIn: "10m" }); - const user_token=new User({ - passwordResetToken=token - }); - user_token.save(); - const reset_link = `${link}/${result._id}/${token}`; - res - .status(200) - .json({ reset_link, message: "link is active for 10 mins" }); - } - }) - .catch((err) => { - console.log(err); - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => { - const { _id, token } = req.params; - const { password } = req.body; - await User.findById({ _id }).then((result) => { - if (result) { - const secret = JWT_secret + result.password; - const user_token=User.findOne({passwordResetToken:result.passwordResetToken}); - const payload = jwt.verify(token, secret); - if (token==user_token) { - User.findByIdAndUpdate(_id, { $set: { password } }) - .then((data) => { - res.json({ message: "Password Updated!" }); - }) - .catch((err) => { - console.log(err); - }); - } else { - res.status(422).json({ error: "some error occured" }); - } - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511193420.js b/.history/controllers/auth_20210511193420.js deleted file mode 100644 index 624a403..0000000 --- a/.history/controllers/auth_20210511193420.js +++ /dev/null @@ -1,186 +0,0 @@ -const bcrypt = require("bcryptjs"); -const User = require("../models/User"); -const Student = require("../models/Student"); -const jwt = require("jsonwebtoken"); -const JWT_secret = "Cantileverlabs"; -const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS"); - -module.exports.Protected = async (req, res, next) => { - res.send("Hello User"); -}; -module.exports.postSignup = async (req, res, next) => { - try { - //we need firstName , lastName , email , password as input - let firstName = req.body.firstName || " "; - let lastName = req.body.lastName || " "; - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - res.json({ - message: "User already exist", - type: "error", - }); - } else { - const hashedPass = await bcrypt.hash(password, 12); - user = new User({ - firstName: firstName, - lastName: lastName, - email: email, - password: hashedPass, - isAdmin: false, - }); - user = await user.save(); - await Student.deleteOne({ user: user._id }); - let student = new Student({ - user: user._id, - }); - student = await student.save(); - user.student = student._id; - await user.save(); - res.json({ - message: "Successfully signed Up", - type: "success", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.postSignin = async (req, res, next) => { - try { - //we need email and password as input - let email = req.body.email; - let password = req.body.password; - let user = await User.findOne({ email: email }); - if (user) { - const isMatched = await bcrypt.compare(password, user.password); - if (isMatched) { - const token = jwt.sign({ _id: user._id }, JWT_secret); - res.json({ - token: token, - }); - } else { - res.json({ - message: "email and password doesn't match", - type: "error", - }); - } - } else { - res.json({ - message: "No user with this email exists", - type: "error", - }); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.sendOTP = (req, res, next) => { - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live - try { - const { phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - return; - } else { - messagebird.verify.create( - phoneNumber, - { - template: "Your verification code is %token", - }, - function (err, response) { - if (err) { - console.log(err); - res.status(422).json({ message: err.errors[0].description }); - } else { - console.log(response); - res.json({ id: response.id }); - } - } - ); - } - } catch (err) { - console.log(err); - } -}; - -module.exports.getOTP = (req, res, next) => { - try { - const { id, token } = req.body; - messagebird.verify.verify(id, token, function (err, response) { - if (err) { - console.log({ error: err.errors[0].description, id: id }); - res.json({ error: err.errors[0].description, id: id }); - } else { - console.log(response); - res.json({ message: "Code Verified" }); - } - }); - } catch (err) { - console.log(err); - } -}; - -module.exports.forgotpassword = async (req, res, next) => { - const { email, link } = req.body; //link = https://cantileverlabs.herokuapp.com/resetpassword/:id/:token - User.findOne({ email }) - .then((result) => { - if (!result) { - res.status(404).json({ error: "User not found with this Email" }); - return; - } else { - const payload = { - email: result.email, - _id: result._id, - }; - const secret = JWT_secret + result.password; - const token = jwt.sign(payload, secret, { expiresIn: "10m" }); - const user_token=new User({ - passwordResetToken=token - }); - user_token.save(); - const reset_link = `${link}/${result._id}/${token}`; - res - .status(200) - .json({ reset_link, message: "link is active for 10 mins" }); - } - }) - .catch((err) => { - console.log(err); - }); - //verify email then set password. -}; -module.exports.resetpassword = async (req, res, next) => { - const { _id, token } = req.params; - const { password } = req.body; - await User.findById({ _id }).then((result) => { - if (result) { - const secret = JWT_secret + result.password; - const user_token=User.findOne({passwordResetToken:result.passwordResetToken}); - const payload = jwt.verify(token, secret); - if (token==user_token) { - User.findByIdAndUpdate(_id, { $set: { password } }) - .then((data) => { - res.json({ message: "Password Updated!" }); - }) - .catch((err) => { - console.log(err); - }); - } else { - res.status(422).json({ error: "some error occured" }); - } - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509165913.js b/.history/controllers/auth_20210511194950.js similarity index 100% rename from .history/controllers/auth_20210509165913.js rename to .history/controllers/auth_20210511194950.js diff --git a/.history/controllers/auth_20210511193801.js b/.history/controllers/auth_20210511195210.js similarity index 100% rename from .history/controllers/auth_20210511193801.js rename to .history/controllers/auth_20210511195210.js diff --git a/.history/models/User_20210509151718.js b/.history/models/User_20210509151718.js deleted file mode 100644 index 434b290..0000000 --- a/.history/models/User_20210509151718.js +++ /dev/null @@ -1,37 +0,0 @@ -const mongoose = require("mongoose"); - -const Schema = mongoose.Schema; - -const userSchema = new Schema({ - firstName: { - type: String, - required: true, - }, - lastName: { - type: String, - required: true, - }, - email: { - type: String, - required: true, - }, - password: { - type: String, - }, - googleId: { - type: String, - }, - student: { - type: mongoose.Types.ObjectId, - ref: "Student", - }, - isAdmin: { - type: Boolean, - }, - otp: { - type: String, - }, - //need to add isAdmin -}); - -module.exports = mongoose.model("User", userSchema); diff --git a/.history/models/User_20210511124914.js b/.history/models/User_20210511124914.js deleted file mode 100644 index 7c368cd..0000000 --- a/.history/models/User_20210511124914.js +++ /dev/null @@ -1,44 +0,0 @@ -const mongoose = require("mongoose"); -const crypto = require("crypto"); -const Schema = mongoose.Schema; - -const userSchema = new Schema({ - firstName: { - type: String, - required: true, - }, - lastName: { - type: String, - required: true, - }, - email: { - type: String, - required: true, - }, - password: { - type: String, - }, - googleId: { - type: String, - }, - student: { - type: mongoose.Types.ObjectId, - ref: "Student", - }, - isAdmin: { - type: Boolean, - }, - otp: { - type: String, - }, - passwordResetToken: String, - passwordResetExpires: Date, - //need to add isAdmin -}); - -userSchema.methods.createPasswordResetToken = function () { - const resetToken = crypto.randomBytes(32).toString("hex"); - crypto.createHash("sha256").update(resetToken).digest("hex"); -}; - -module.exports = mongoose.model("User", userSchema); diff --git a/.history/models/User_20210511125400.js b/.history/models/User_20210511125400.js deleted file mode 100644 index 8f499eb..0000000 --- a/.history/models/User_20210511125400.js +++ /dev/null @@ -1,51 +0,0 @@ -const mongoose = require("mongoose"); -const crypto = require("crypto"); -const Schema = mongoose.Schema; - -const userSchema = new Schema({ - firstName: { - type: String, - required: true, - }, - lastName: { - type: String, - required: true, - }, - email: { - type: String, - required: true, - }, - password: { - type: String, - }, - googleId: { - type: String, - }, - student: { - type: mongoose.Types.ObjectId, - ref: "Student", - }, - isAdmin: { - type: Boolean, - }, - otp: { - type: String, - }, - passwordResetToken: String, - passwordResetExpires: Date, - //need to add isAdmin -}); - -userSchema.methods.createPasswordResetToken = function () { - const resetToken = crypto.randomBytes(32).toString("hex"); - this.passwordResetToken = crypto - .createHash("sha256") - .update(resetToken) - .digest("hex"); - this.passwordResetExpires = Date.now() + 10 * 60 * 1000; - console.log("resetToken:" + resetToken); - - return resetToken; -}; - -module.exports = mongoose.model("User", userSchema); diff --git a/.history/models/User_20210511132742.js b/.history/models/User_20210511132742.js deleted file mode 100644 index a9efe6e..0000000 --- a/.history/models/User_20210511132742.js +++ /dev/null @@ -1,39 +0,0 @@ -const mongoose = require("mongoose"); -const crypto = require("crypto"); -const Schema = mongoose.Schema; - -const userSchema = new Schema({ - firstName: { - type: String, - required: true, - }, - lastName: { - type: String, - required: true, - }, - email: { - type: String, - required: true, - }, - password: { - type: String, - }, - googleId: { - type: String, - }, - student: { - type: mongoose.Types.ObjectId, - ref: "Student", - }, - isAdmin: { - type: Boolean, - }, - otp: { - type: String, - }, - passwordResetToken: String, - passwordResetExpires: Date, - //need to add isAdmin -}); - -module.exports = mongoose.model("User", userSchema); diff --git a/.history/routes/auth_20210509164313.js b/.history/routes/auth_20210509164313.js deleted file mode 100644 index 6c04fe6..0000000 --- a/.history/routes/auth_20210509164313.js +++ /dev/null @@ -1,16 +0,0 @@ -const express = require("express"); -const authController = require("../controllers/auth"); -const isAuth = require("../middleware/requirelogin"); -const router = express.Router(); - -router.get("/protected", isAuth, authController.checkProtected); - -router.post("/signup", authController.postSignup); - -router.post("/signin", authController.postSignin); - -router.post("/sendotp", authController.sendOTP); - -router.post("/getotp", authController.getOTP); - -module.exports = router; diff --git a/.history/routes/auth_20210511125551.js b/.history/routes/auth_20210511125551.js deleted file mode 100644 index 3ff11bc..0000000 --- a/.history/routes/auth_20210511125551.js +++ /dev/null @@ -1,20 +0,0 @@ -const express = require("express"); -const authController = require("../controllers/auth"); -const isAuth = require("../middleware/requirelogin"); -const router = express.Router(); - -router.get("/protected", isAuth, authController.checkProtected); - -router.post("/signup", authController.postSignup); - -router.post("/signin", authController.postSignin); - -router.post("/sendotp", authController.sendOTP); - -router.post("/getotp", authController.getOTP); - -router.post("/forgotpassword", authController.forgotpassword); - -router.post("/resetpassword", authController.resetpassword); - -module.exports = router; diff --git a/.history/routes/auth_20210511171625.js b/.history/routes/auth_20210511171625.js deleted file mode 100644 index 279b73d..0000000 --- a/.history/routes/auth_20210511171625.js +++ /dev/null @@ -1,20 +0,0 @@ -const express = require("express"); -const authController = require("../controllers/auth"); -const isAuth = require("../middleware/requirelogin"); -const router = express.Router(); - -router.get("/protected", isAuth, authController.checkProtected); - -router.post("/signup", authController.postSignup); - -router.post("/signin", authController.postSignin); - -router.post("/sendotp", authController.sendOTP); - -router.post("/getotp", authController.getOTP); - -router.post("/forgotpassword", authController.forgotpassword); - -router.post("/resetpassword/:id/:token", authController.resetpassword); - -module.exports = router; diff --git a/.history/routes/auth_20210511171726.js b/.history/routes/auth_20210511171726.js deleted file mode 100644 index 17b3c92..0000000 --- a/.history/routes/auth_20210511171726.js +++ /dev/null @@ -1,20 +0,0 @@ -const express = require("express"); -const authController = require("../controllers/auth"); -const isAuth = require("../middleware/requirelogin"); -const router = express.Router(); - -router.get("/protected", isAuth, authController.checkProtected); - -router.post("/signup", authController.postSignup); - -router.post("/signin", authController.postSignin); - -router.post("/sendotp", authController.sendOTP); - -router.post("/getotp", authController.getOTP); - -router.post("/forgotpassword", authController.forgotpassword); - -router.post("/resetpassword/:_id/:token", authController.resetpassword); - -module.exports = router; diff --git a/.history/utils/emailSend_20210511130922.js b/.history/utils/emailSend_20210511130922.js deleted file mode 100644 index e69de29..0000000 diff --git a/.history/utils/emailSend_20210511130932.js b/.history/utils/emailSend_20210511130932.js deleted file mode 100644 index 226990e..0000000 --- a/.history/utils/emailSend_20210511130932.js +++ /dev/null @@ -1 +0,0 @@ -const nodemailer = require("nodemailer");