From 3628971eb89d10e57c4de62646922c41dc5d958c Mon Sep 17 00:00:00 2001 From: yashrajverma Date: Mon, 3 May 2021 20:08:30 +0530 Subject: [PATCH 1/9] addedremainingTimes --- .history/app_20210503200710.js | 99 ++++++++++++++++++++++++ .history/models/Coupon_20210503200331.js | 16 ++++ .history/models/Coupon_20210503200625.js | 16 ++++ .history/routes/Coupon_20210503200453.js | 54 +++++++++++++ .history/routes/Coupon_20210503200528.js | 52 +++++++++++++ .history/routes/Coupon_20210503200538.js | 53 +++++++++++++ .history/routes/Coupon_20210503200623.js | 53 +++++++++++++ models/Coupon.js | 9 ++- routes/Coupon.js | 9 ++- 9 files changed, 357 insertions(+), 4 deletions(-) create mode 100644 .history/app_20210503200710.js create mode 100644 .history/models/Coupon_20210503200331.js create mode 100644 .history/models/Coupon_20210503200625.js create mode 100644 .history/routes/Coupon_20210503200453.js create mode 100644 .history/routes/Coupon_20210503200528.js create mode 100644 .history/routes/Coupon_20210503200538.js create mode 100644 .history/routes/Coupon_20210503200623.js diff --git a/.history/app_20210503200710.js b/.history/app_20210503200710.js new file mode 100644 index 0000000..c081f70 --- /dev/null +++ b/.history/app_20210503200710.js @@ -0,0 +1,99 @@ +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); +}) \ No newline at end of file diff --git a/.history/models/Coupon_20210503200331.js b/.history/models/Coupon_20210503200331.js new file mode 100644 index 0000000..a68a548 --- /dev/null +++ b/.history/models/Coupon_20210503200331.js @@ -0,0 +1,16 @@ +const mongoose=require('mongoose') +const CouponSchema=new mongoose.Schema({ + coupon_code:{ + type:String, + required:true + }, + percentage:{ + type:String, + required:true + }, + remainingTimes:{ + type:Number + } +}) + +module.exports=mongoose.model("Coupon",CouponSchema) \ No newline at end of file diff --git a/.history/models/Coupon_20210503200625.js b/.history/models/Coupon_20210503200625.js new file mode 100644 index 0000000..a68a548 --- /dev/null +++ b/.history/models/Coupon_20210503200625.js @@ -0,0 +1,16 @@ +const mongoose=require('mongoose') +const CouponSchema=new mongoose.Schema({ + coupon_code:{ + type:String, + required:true + }, + percentage:{ + type:String, + required:true + }, + remainingTimes:{ + type:Number + } +}) + +module.exports=mongoose.model("Coupon",CouponSchema) \ No newline at end of file diff --git a/.history/routes/Coupon_20210503200453.js b/.history/routes/Coupon_20210503200453.js new file mode 100644 index 0000000..82be28f --- /dev/null +++ b/.history/routes/Coupon_20210503200453.js @@ -0,0 +1,54 @@ +const express = require("express"); +const router = express.Router(); +const mongoose = require("mongoose"); +const Coupon = mongoose.model("Coupon"); + +router.get("/get-coupon", (req, res) => { + Coupon.find().then((result) => { + res.status(200).json({ coupon: result }); + console.log(result); + }); +}); + +router.post("/set-coupon", (req, res) => { + const { percentage, coupon_code ,remainingTimes} = req.body; + if(!coupon_code || !percentage || !remainingTimes){ + return res.status(422).json({error:"Add all fields"}) + }else{ + const coupon = new Coupon({ + coupon_code, + percentage, + remainingTimes + }); + coupon.save().then((result) => { + res.status(200).json({ message: "Coupon set Successfully" }); + }); +}); + } + + +router.delete("/delete-coupon", (req, res) => { + Coupon.remove({ _id: req.body.id }).then((result) => { + res.status(200).json({ message: "Coupon Deleted" }); + }); +}); + +router.put("/update-coupon", (req, res) => { + const {coupon_code,percentage} =req.body; + Coupon.findByIdAndUpdate( + req.body._id, + { + $set: { + coupon_code,percentage + } + }, + { new: true }) + .then((result) => { + res.status(200).json({ message: result }); + }) + .catch((err) => { + console.log(err); + }); +}); + +module.exports = router; diff --git a/.history/routes/Coupon_20210503200528.js b/.history/routes/Coupon_20210503200528.js new file mode 100644 index 0000000..7cccf4b --- /dev/null +++ b/.history/routes/Coupon_20210503200528.js @@ -0,0 +1,52 @@ +const express = require("express"); +const router = express.Router(); +const mongoose = require("mongoose"); +const Coupon = mongoose.model("Coupon"); + +router.get("/get-coupon", (req, res) => { + Coupon.find().then((result) => { + res.status(200).json({ coupon: result }); + console.log(result); + }); +}); + +router.post("/set-coupon", (req, res) => { + const { percentage, coupon_code ,remainingTimes} = req.body; + if(!coupon_code || !percentage || !remainingTimes){ + return res.status(422).json({error:"Add all fields"}) + }else{ + const coupon = new Coupon({ + coupon_code, + percentage, + }); + coupon.save().then((result) => { + res.status(200).json({ message: "Coupon set Successfully" }); + }); + } +}); + +router.delete("/delete-coupon", (req, res) => { + Coupon.remove({ _id: req.body.id }).then((result) => { + res.status(200).json({ message: "Coupon Deleted" }); + }); +}); + +router.put("/update-coupon", (req, res) => { + const {coupon_code,percentage} =req.body; + Coupon.findByIdAndUpdate( + req.body._id, + { + $set: { + coupon_code,percentage + } + }, + { new: true }) + .then((result) => { + res.status(200).json({ message: result }); + }) + .catch((err) => { + console.log(err); + }); +}); + +module.exports = router; diff --git a/.history/routes/Coupon_20210503200538.js b/.history/routes/Coupon_20210503200538.js new file mode 100644 index 0000000..36980c3 --- /dev/null +++ b/.history/routes/Coupon_20210503200538.js @@ -0,0 +1,53 @@ +const express = require("express"); +const router = express.Router(); +const mongoose = require("mongoose"); +const Coupon = mongoose.model("Coupon"); + +router.get("/get-coupon", (req, res) => { + Coupon.find().then((result) => { + res.status(200).json({ coupon: result }); + console.log(result); + }); +}); + +router.post("/set-coupon", (req, res) => { + const { percentage, coupon_code ,remainingTimes} = req.body; + if(!coupon_code || !percentage || !remainingTimes){ + return res.status(422).json({error:"Add all fields"}) + }else{ + const coupon = new Coupon({ + coupon_code, + percentage, + remainingTimes + }); + coupon.save().then((result) => { + res.status(200).json({ message: "Coupon set Successfully" }); + }); + } +}); + +router.delete("/delete-coupon", (req, res) => { + Coupon.remove({ _id: req.body.id }).then((result) => { + res.status(200).json({ message: "Coupon Deleted" }); + }); +}); + +router.put("/update-coupon", (req, res) => { + const {coupon_code,percentage} =req.body; + Coupon.findByIdAndUpdate( + req.body._id, + { + $set: { + coupon_code,percentage + } + }, + { new: true }) + .then((result) => { + res.status(200).json({ message: result }); + }) + .catch((err) => { + console.log(err); + }); +}); + +module.exports = router; diff --git a/.history/routes/Coupon_20210503200623.js b/.history/routes/Coupon_20210503200623.js new file mode 100644 index 0000000..36980c3 --- /dev/null +++ b/.history/routes/Coupon_20210503200623.js @@ -0,0 +1,53 @@ +const express = require("express"); +const router = express.Router(); +const mongoose = require("mongoose"); +const Coupon = mongoose.model("Coupon"); + +router.get("/get-coupon", (req, res) => { + Coupon.find().then((result) => { + res.status(200).json({ coupon: result }); + console.log(result); + }); +}); + +router.post("/set-coupon", (req, res) => { + const { percentage, coupon_code ,remainingTimes} = req.body; + if(!coupon_code || !percentage || !remainingTimes){ + return res.status(422).json({error:"Add all fields"}) + }else{ + const coupon = new Coupon({ + coupon_code, + percentage, + remainingTimes + }); + coupon.save().then((result) => { + res.status(200).json({ message: "Coupon set Successfully" }); + }); + } +}); + +router.delete("/delete-coupon", (req, res) => { + Coupon.remove({ _id: req.body.id }).then((result) => { + res.status(200).json({ message: "Coupon Deleted" }); + }); +}); + +router.put("/update-coupon", (req, res) => { + const {coupon_code,percentage} =req.body; + Coupon.findByIdAndUpdate( + req.body._id, + { + $set: { + coupon_code,percentage + } + }, + { new: true }) + .then((result) => { + res.status(200).json({ message: result }); + }) + .catch((err) => { + console.log(err); + }); +}); + +module.exports = router; diff --git a/models/Coupon.js b/models/Coupon.js index e69ad70..a68a548 100644 --- a/models/Coupon.js +++ b/models/Coupon.js @@ -1,10 +1,15 @@ const mongoose=require('mongoose') const CouponSchema=new mongoose.Schema({ coupon_code:{ - type:String + type:String, + required:true }, percentage:{ - type:String + type:String, + required:true + }, + remainingTimes:{ + type:Number } }) diff --git a/routes/Coupon.js b/routes/Coupon.js index 7813150..36980c3 100644 --- a/routes/Coupon.js +++ b/routes/Coupon.js @@ -11,14 +11,19 @@ router.get("/get-coupon", (req, res) => { }); router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ + const { percentage, coupon_code ,remainingTimes} = req.body; + if(!coupon_code || !percentage || !remainingTimes){ + return res.status(422).json({error:"Add all fields"}) + }else{ + const coupon = new Coupon({ coupon_code, percentage, + remainingTimes }); coupon.save().then((result) => { res.status(200).json({ message: "Coupon set Successfully" }); }); + } }); router.delete("/delete-coupon", (req, res) => { From cd97b83292c3d18a1ab9bf1a7a27ca32d8d97895 Mon Sep 17 00:00:00 2001 From: yashrajverma Date: Sun, 9 May 2021 17:01:53 +0530 Subject: [PATCH 2/9] Added PhoneAuth --- .env | 3 + .history/.env_20210509163951 | 0 .history/.env_20210509164017 | 1 + .history/.env_20210509164034 | 3 + .history/.env_20210509164050 | 3 + .history/.env_20210509164109 | 3 + .history/.env_20210509164138 | 3 + .history/.env_20210509164140 | 3 + .history/app_20210509163930.js | 103 +++++++++ .history/app_20210509163946.js | 103 +++++++++ .history/app_20210509164233.js | 103 +++++++++ .history/controllers/auth_20210503150708.js | 103 +++++++++ .history/controllers/auth_20210509153635.js | 102 +++++++++ .history/controllers/auth_20210509154632.js | 130 +++++++++++ .history/controllers/auth_20210509155010.js | 130 +++++++++++ .history/controllers/auth_20210509155051.js | 130 +++++++++++ .history/controllers/auth_20210509155117.js | 130 +++++++++++ .history/controllers/auth_20210509155429.js | 130 +++++++++++ .history/controllers/auth_20210509155455.js | 130 +++++++++++ .history/controllers/auth_20210509155647.js | 130 +++++++++++ .history/controllers/auth_20210509155744.js | 130 +++++++++++ .history/controllers/auth_20210509160156.js | 130 +++++++++++ .history/controllers/auth_20210509161351.js | 130 +++++++++++ .history/controllers/auth_20210509164829.js | 130 +++++++++++ .history/controllers/auth_20210509165526.js | 130 +++++++++++ .history/controllers/auth_20210509165744.js | 134 ++++++++++++ .history/controllers/auth_20210509165914.js | 134 ++++++++++++ .history/models/User_20210503150708.js | 34 +++ .history/models/User_20210509151714.js | 37 ++++ .history/models/User_20210509151719.js | 37 ++++ .history/routes/auth_20210503150708.js | 12 ++ .history/routes/auth_20210509154824.js | 16 ++ .history/routes/auth_20210509164314.js | 16 ++ app.js | 74 ++++--- controllers/auth.js | 225 +++++++++++--------- models/User.js | 63 +++--- package-lock.json | 72 +++++++ package.json | 2 + routes/auth.js | 20 +- 39 files changed, 2799 insertions(+), 170 deletions(-) create mode 100644 .env create mode 100644 .history/.env_20210509163951 create mode 100644 .history/.env_20210509164017 create mode 100644 .history/.env_20210509164034 create mode 100644 .history/.env_20210509164050 create mode 100644 .history/.env_20210509164109 create mode 100644 .history/.env_20210509164138 create mode 100644 .history/.env_20210509164140 create mode 100644 .history/app_20210509163930.js create mode 100644 .history/app_20210509163946.js create mode 100644 .history/app_20210509164233.js create mode 100644 .history/controllers/auth_20210503150708.js create mode 100644 .history/controllers/auth_20210509153635.js create mode 100644 .history/controllers/auth_20210509154632.js create mode 100644 .history/controllers/auth_20210509155010.js create mode 100644 .history/controllers/auth_20210509155051.js create mode 100644 .history/controllers/auth_20210509155117.js create mode 100644 .history/controllers/auth_20210509155429.js create mode 100644 .history/controllers/auth_20210509155455.js create mode 100644 .history/controllers/auth_20210509155647.js create mode 100644 .history/controllers/auth_20210509155744.js create mode 100644 .history/controllers/auth_20210509160156.js create mode 100644 .history/controllers/auth_20210509161351.js create mode 100644 .history/controllers/auth_20210509164829.js create mode 100644 .history/controllers/auth_20210509165526.js create mode 100644 .history/controllers/auth_20210509165744.js create mode 100644 .history/controllers/auth_20210509165914.js create mode 100644 .history/models/User_20210503150708.js create mode 100644 .history/models/User_20210509151714.js create mode 100644 .history/models/User_20210509151719.js create mode 100644 .history/routes/auth_20210503150708.js create mode 100644 .history/routes/auth_20210509154824.js create mode 100644 .history/routes/auth_20210509164314.js diff --git a/.env b/.env new file mode 100644 index 0000000..64a51f9 --- /dev/null +++ b/.env @@ -0,0 +1,3 @@ +MONGO_USER:Cantilever, + MONGO_PASSWORD :Cantilever , + MONGO_DEFAULT_DATABASE :myFirstDatabase \ No newline at end of file diff --git a/.history/.env_20210509163951 b/.history/.env_20210509163951 new file mode 100644 index 0000000..e69de29 diff --git a/.history/.env_20210509164017 b/.history/.env_20210509164017 new file mode 100644 index 0000000..eb765ae --- /dev/null +++ b/.history/.env_20210509164017 @@ -0,0 +1 @@ +MONGO_USER:"Cantilever" \ No newline at end of file diff --git a/.history/.env_20210509164034 b/.history/.env_20210509164034 new file mode 100644 index 0000000..088aa13 --- /dev/null +++ b/.history/.env_20210509164034 @@ -0,0 +1,3 @@ +"MONGO_USER":"Cantilever", + "MONGO_PASSWORD" :"Cantilever" , + "MONGO_DEFAULT_DATABASE" :"myFirstDatabase" \ No newline at end of file diff --git a/.history/.env_20210509164050 b/.history/.env_20210509164050 new file mode 100644 index 0000000..39086ad --- /dev/null +++ b/.history/.env_20210509164050 @@ -0,0 +1,3 @@ +module.export={MONGO_USER:"Cantilever", + MONGO_PASSWORD :"Cantilever" , + MONGO_DEFAULT_DATABASE :"myFirstDatabase" } \ No newline at end of file diff --git a/.history/.env_20210509164109 b/.history/.env_20210509164109 new file mode 100644 index 0000000..39086ad --- /dev/null +++ b/.history/.env_20210509164109 @@ -0,0 +1,3 @@ +module.export={MONGO_USER:"Cantilever", + MONGO_PASSWORD :"Cantilever" , + MONGO_DEFAULT_DATABASE :"myFirstDatabase" } \ No newline at end of file diff --git a/.history/.env_20210509164138 b/.history/.env_20210509164138 new file mode 100644 index 0000000..64a51f9 --- /dev/null +++ b/.history/.env_20210509164138 @@ -0,0 +1,3 @@ +MONGO_USER:Cantilever, + MONGO_PASSWORD :Cantilever , + MONGO_DEFAULT_DATABASE :myFirstDatabase \ No newline at end of file diff --git a/.history/.env_20210509164140 b/.history/.env_20210509164140 new file mode 100644 index 0000000..64a51f9 --- /dev/null +++ b/.history/.env_20210509164140 @@ -0,0 +1,3 @@ +MONGO_USER:Cantilever, + MONGO_PASSWORD :Cantilever , + MONGO_DEFAULT_DATABASE :myFirstDatabase \ No newline at end of file diff --git a/.history/app_20210509163930.js b/.history/app_20210509163930.js new file mode 100644 index 0000000..71a0918 --- /dev/null +++ b/.history/app_20210509163930.js @@ -0,0 +1,103 @@ +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; +require("dotenv"); + +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_20210509163946.js b/.history/app_20210509163946.js new file mode 100644 index 0000000..5def299 --- /dev/null +++ b/.history/app_20210509163946.js @@ -0,0 +1,103 @@ +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; +require("dotenv").config(); + +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_20210509164233.js b/.history/app_20210509164233.js new file mode 100644 index 0000000..c8213d3 --- /dev/null +++ b/.history/app_20210509164233.js @@ -0,0 +1,103 @@ +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; +require("dotenv").config(); + +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_20210503150708.js b/.history/controllers/auth_20210503150708.js new file mode 100644 index 0000000..645d127 --- /dev/null +++ b/.history/controllers/auth_20210503150708.js @@ -0,0 +1,103 @@ +const bcrypt = require('bcryptjs') ; +const User = require('../models/User') ; +const Student = require('../models/Student') ; +const jwt = require('jsonwebtoken'); +const JWT_secret = "Cantileverlabs"; + +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.checkProtected = (req , res , next) => { + console.log(req.user); + res.json({ + message:"Protected" , + user : req.user + }) +} \ No newline at end of file diff --git a/.history/controllers/auth_20210509153635.js b/.history/controllers/auth_20210509153635.js new file mode 100644 index 0000000..abe08a3 --- /dev/null +++ b/.history/controllers/auth_20210509153635.js @@ -0,0 +1,102 @@ +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"); + +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.phoneAuth = (req, res, next) => { + try { + const { otp, phoneNumber } = req.body; + if (!phoneNumber) { + res.status(422).json({ message: "Please Add All Required Fields" }); + } else { + messagebird.verify.create; + } + } catch (err) { + console.log(err); + } + //uNNYosMopvvCW9RTR1tRWJmYC test + //llVKD53ve6QRpbCKOHzWBADaS live +}; + +module.exports.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509154632.js b/.history/controllers/auth_20210509154632.js new file mode 100644 index 0000000..c7feaaf --- /dev/null +++ b/.history/controllers/auth_20210509154632.js @@ -0,0 +1,130 @@ +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"); + +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) => { + try { + const { otp, 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 has been sent!", + }, + 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); + } + //uNNYosMopvvCW9RTR1tRWJmYC test + //llVKD53ve6QRpbCKOHzWBADaS live +}; + +module.exports.getOTP = (req, res, next) => { + 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: "Verified" }); + } + }); +}; + +module.exports.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509155010.js b/.history/controllers/auth_20210509155010.js new file mode 100644 index 0000000..95eb378 --- /dev/null +++ b/.history/controllers/auth_20210509155010.js @@ -0,0 +1,130 @@ +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"); + +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) => { + try { + const { otp, 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 has been sent!", + }, + 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); + } + //uNNYosMopvvCW9RTR1tRWJmYC test + //llVKD53ve6QRpbCKOHzWBADaS live +}; + +module.exports.getOTP = (req, res, next) => { + 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: "Verified" }); + } + }); +}; + +module.exports.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509155051.js b/.history/controllers/auth_20210509155051.js new file mode 100644 index 0000000..95eb378 --- /dev/null +++ b/.history/controllers/auth_20210509155051.js @@ -0,0 +1,130 @@ +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"); + +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) => { + try { + const { otp, 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 has been sent!", + }, + 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); + } + //uNNYosMopvvCW9RTR1tRWJmYC test + //llVKD53ve6QRpbCKOHzWBADaS live +}; + +module.exports.getOTP = (req, res, next) => { + 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: "Verified" }); + } + }); +}; + +module.exports.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509155117.js b/.history/controllers/auth_20210509155117.js new file mode 100644 index 0000000..bb30f83 --- /dev/null +++ b/.history/controllers/auth_20210509155117.js @@ -0,0 +1,130 @@ +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")(""); + +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) => { + try { + const { otp, 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 has been sent!", + }, + 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); + } + //uNNYosMopvvCW9RTR1tRWJmYC test + //llVKD53ve6QRpbCKOHzWBADaS live +}; + +module.exports.getOTP = (req, res, next) => { + 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: "Verified" }); + } + }); +}; + +module.exports.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509155429.js b/.history/controllers/auth_20210509155429.js new file mode 100644 index 0000000..8cf5df4 --- /dev/null +++ b/.history/controllers/auth_20210509155429.js @@ -0,0 +1,130 @@ +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")(" "); + +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) => { + try { + const { otp, 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 has been sent!", + }, + 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); + } + //uNNYosMopvvCW9RTR1tRWJmYC test + //llVKD53ve6QRpbCKOHzWBADaS live +}; + +module.exports.getOTP = (req, res, next) => { + 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: "Verified" }); + } + }); +}; + +module.exports.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509155455.js b/.history/controllers/auth_20210509155455.js new file mode 100644 index 0000000..8cf5df4 --- /dev/null +++ b/.history/controllers/auth_20210509155455.js @@ -0,0 +1,130 @@ +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")(" "); + +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) => { + try { + const { otp, 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 has been sent!", + }, + 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); + } + //uNNYosMopvvCW9RTR1tRWJmYC test + //llVKD53ve6QRpbCKOHzWBADaS live +}; + +module.exports.getOTP = (req, res, next) => { + 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: "Verified" }); + } + }); +}; + +module.exports.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509155647.js b/.history/controllers/auth_20210509155647.js new file mode 100644 index 0000000..8b44c69 --- /dev/null +++ b/.history/controllers/auth_20210509155647.js @@ -0,0 +1,130 @@ +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")(" "); + +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) => { + try { + const { otp, 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 has been sent!", + }, + 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); + } + //uNNYosMopvvCW9RTR1tRWJmYC test + //llVKD53ve6QRpbCKOHzWBADaS live +}; + +module.exports.getOTP = (req, res, next) => { + 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: "Verified" }); + } + }); +}; + +module.exports.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509155744.js b/.history/controllers/auth_20210509155744.js new file mode 100644 index 0000000..e0acea9 --- /dev/null +++ b/.history/controllers/auth_20210509155744.js @@ -0,0 +1,130 @@ +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")(" "); + +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) => { + try { + const { otp, 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); + } + //uNNYosMopvvCW9RTR1tRWJmYC test + //llVKD53ve6QRpbCKOHzWBADaS live +}; + +module.exports.getOTP = (req, res, next) => { + 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: "Verified" }); + } + }); +}; + +module.exports.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509160156.js b/.history/controllers/auth_20210509160156.js new file mode 100644 index 0000000..bdf5047 --- /dev/null +++ b/.history/controllers/auth_20210509160156.js @@ -0,0 +1,130 @@ +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")("uNNYosMopvvCW9RTR1tRWJmYC"); + +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) => { + try { + const { otp, 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); + } + //uNNYosMopvvCW9RTR1tRWJmYC test + //llVKD53ve6QRpbCKOHzWBADaS live +}; + +module.exports.getOTP = (req, res, next) => { + 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: "Verified" }); + } + }); +}; + +module.exports.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509161351.js b/.history/controllers/auth_20210509161351.js new file mode 100644 index 0000000..bdf5047 --- /dev/null +++ b/.history/controllers/auth_20210509161351.js @@ -0,0 +1,130 @@ +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")("uNNYosMopvvCW9RTR1tRWJmYC"); + +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) => { + try { + const { otp, 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); + } + //uNNYosMopvvCW9RTR1tRWJmYC test + //llVKD53ve6QRpbCKOHzWBADaS live +}; + +module.exports.getOTP = (req, res, next) => { + 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: "Verified" }); + } + }); +}; + +module.exports.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509164829.js b/.history/controllers/auth_20210509164829.js new file mode 100644 index 0000000..3e02797 --- /dev/null +++ b/.history/controllers/auth_20210509164829.js @@ -0,0 +1,130 @@ +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")("uNNYosMopvvCW9RTR1tRWJmYC"); + +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) => { + 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: "Verified" }); + } + }); +}; + +module.exports.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509165526.js b/.history/controllers/auth_20210509165526.js new file mode 100644 index 0000000..cb03924 --- /dev/null +++ b/.history/controllers/auth_20210509165526.js @@ -0,0 +1,130 @@ +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")("uNNYosMopvvCW9RTR1tRWJmYC"); + +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) => { + 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" }); + } + }); +}; + +module.exports.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509165744.js b/.history/controllers/auth_20210509165744.js new file mode 100644 index 0000000..812d0a7 --- /dev/null +++ b/.history/controllers/auth_20210509165744.js @@ -0,0 +1,134 @@ +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")("uNNYosMopvvCW9RTR1tRWJmYC"); + +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.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210509165914.js b/.history/controllers/auth_20210509165914.js new file mode 100644 index 0000000..d9b71a4 --- /dev/null +++ b/.history/controllers/auth_20210509165914.js @@ -0,0 +1,134 @@ +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.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/models/User_20210503150708.js b/.history/models/User_20210503150708.js new file mode 100644 index 0000000..205349f --- /dev/null +++ b/.history/models/User_20210503150708.js @@ -0,0 +1,34 @@ +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 + } + //need to add isAdmin +}) ; + +module.exports = mongoose.model("User" , userSchema) ; \ No newline at end of file diff --git a/.history/models/User_20210509151714.js b/.history/models/User_20210509151714.js new file mode 100644 index 0000000..434b290 --- /dev/null +++ b/.history/models/User_20210509151714.js @@ -0,0 +1,37 @@ +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_20210509151719.js b/.history/models/User_20210509151719.js new file mode 100644 index 0000000..434b290 --- /dev/null +++ b/.history/models/User_20210509151719.js @@ -0,0 +1,37 @@ +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/routes/auth_20210503150708.js b/.history/routes/auth_20210503150708.js new file mode 100644 index 0000000..0eeb700 --- /dev/null +++ b/.history/routes/auth_20210503150708.js @@ -0,0 +1,12 @@ +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) ; + +module.exports = router ; \ No newline at end of file diff --git a/.history/routes/auth_20210509154824.js b/.history/routes/auth_20210509154824.js new file mode 100644 index 0000000..59ba658 --- /dev/null +++ b/.history/routes/auth_20210509154824.js @@ -0,0 +1,16 @@ +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.get("/getotp", authController.getOTP); + +module.exports = router; diff --git a/.history/routes/auth_20210509164314.js b/.history/routes/auth_20210509164314.js new file mode 100644 index 0000000..6c04fe6 --- /dev/null +++ b/.history/routes/auth_20210509164314.js @@ -0,0 +1,16 @@ +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/app.js b/app.js index c081f70..c8213d3 100644 --- a/app.js +++ b/app.js @@ -1,25 +1,26 @@ -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 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; +require("dotenv").config(); -const cors = require('cors') ; +const cors = require("cors"); //const passport = require('passport'); //const cookieSession = require('cookie-session') ; //require('./passport-setup') ; -const app = express() ; +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` +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(cors()); +app.use(bodyparser.json()); +require("./models/Coupon"); // app.use(cookieSession({ // name: 'test-session', @@ -34,7 +35,7 @@ require('./models/Coupon') // else // { // res.json({ -// error : "No user" +// error : "No user" // }) // } // } @@ -42,13 +43,12 @@ require('./models/Coupon') // 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'); @@ -64,7 +64,7 @@ require('./models/Coupon') // app.get('/auth/google', // passport.authenticate('google', { scope: ['profile' , 'email'] })); -// app.get('/auth/google/callback', +// app.get('/auth/google/callback', // passport.authenticate('google', { failureRedirect: '/failed' }), // function(req, res) { // res.redirect('/good'); @@ -75,25 +75,29 @@ require('./models/Coupon') // req.logout() ; // res.redirect('/') ; // }) -app.use(require('./routes/Coupon')) -app.use(authRoute) ; +app.use(require("./routes/Coupon")); +app.use(authRoute); -app.use(profileRoute) ; +app.use(profileRoute); -app.use(paymentRoute) ; +app.use(paymentRoute); -app.use(courseRoute) ; +app.use(courseRoute); -app.use(adminRoute) ; +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 => { +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); -}) \ No newline at end of file + }); diff --git a/controllers/auth.js b/controllers/auth.js index 645d127..d9b71a4 100644 --- a/controllers/auth.js +++ b/controllers/auth.js @@ -1,103 +1,134 @@ -const bcrypt = require('bcryptjs') ; -const User = require('../models/User') ; -const Student = require('../models/Student') ; -const jwt = require('jsonwebtoken'); +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" - }) - } +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); - } -} ; + } 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" - }) - } +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); - } -} + } catch (err) { + console.log(err); + } +}; -module.exports.checkProtected = (req , res , next) => { - console.log(req.user); - res.json({ - message:"Protected" , - user : req.user - }) -} \ No newline at end of file +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.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/models/User.js b/models/User.js index 205349f..434b290 100644 --- a/models/User.js +++ b/models/User.js @@ -1,34 +1,37 @@ -const mongoose = require('mongoose') ; +const mongoose = require("mongoose"); -const Schema = mongoose.Schema ; +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 - } - //need to add isAdmin -}) ; + 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) ; \ No newline at end of file +module.exports = mongoose.model("User", userSchema); diff --git a/package-lock.json b/package-lock.json index e4d84ad..2ba48fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,8 +14,10 @@ "cookie-session": "^1.4.0", "cors": "^2.8.5", "crypto": "^1.0.1", + "dotenv": "^9.0.1", "express": "^4.17.1", "jsonwebtoken": "^8.5.1", + "messagebird": "^3.6.1", "mongoose": "^5.12.2", "passport": "^0.4.1", "passport-google-oauth": "^2.0.0", @@ -695,6 +697,14 @@ "node": ">=8" } }, + "node_modules/dotenv": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.1.tgz", + "integrity": "sha512-W8FNeNnnvJoYfgkFRKzp8kTgz0T2YY4TJ9xy1Ma0hSebPTK8iquRtpG12TUrSTX5zIN9D/wSLEEuI+Ad35tlyw==", + "engines": { + "node": ">=10" + } + }, "node_modules/duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", @@ -1444,6 +1454,37 @@ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" }, + "node_modules/messagebird": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/messagebird/-/messagebird-3.6.1.tgz", + "integrity": "sha512-HcbHxNp53MblcDReOo+sLvlr/aX1pGH/Liyegphpz+CXVKmEl2WUOKyPQCy69pTW8uRM8QlGbmYJP+BzZh/sRQ==", + "dependencies": { + "safe-buffer": "^5.2.1", + "scmp": "^2.1.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/messagebird/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -2172,6 +2213,11 @@ "node": ">=6" } }, + "node_modules/scmp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz", + "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" + }, "node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -3233,6 +3279,11 @@ "is-obj": "^2.0.0" } }, + "dotenv": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.1.tgz", + "integrity": "sha512-W8FNeNnnvJoYfgkFRKzp8kTgz0T2YY4TJ9xy1Ma0hSebPTK8iquRtpG12TUrSTX5zIN9D/wSLEEuI+Ad35tlyw==" + }, "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", @@ -3849,6 +3900,22 @@ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" }, + "messagebird": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/messagebird/-/messagebird-3.6.1.tgz", + "integrity": "sha512-HcbHxNp53MblcDReOo+sLvlr/aX1pGH/Liyegphpz+CXVKmEl2WUOKyPQCy69pTW8uRM8QlGbmYJP+BzZh/sRQ==", + "requires": { + "safe-buffer": "^5.2.1", + "scmp": "^2.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -4437,6 +4504,11 @@ "sparse-bitfield": "^3.0.3" } }, + "scmp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz", + "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", diff --git a/package.json b/package.json index d13724d..57493f3 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,10 @@ "cookie-session": "^1.4.0", "cors": "^2.8.5", "crypto": "^1.0.1", + "dotenv": "^9.0.1", "express": "^4.17.1", "jsonwebtoken": "^8.5.1", + "messagebird": "^3.6.1", "mongoose": "^5.12.2", "passport": "^0.4.1", "passport-google-oauth": "^2.0.0", diff --git a/routes/auth.js b/routes/auth.js index 0eeb700..6c04fe6 100644 --- a/routes/auth.js +++ b/routes/auth.js @@ -1,12 +1,16 @@ -const express = require('express') ; -const authController = require('../controllers/auth') ; -const isAuth = require('../middleware/requirelogin') ; -const router = express.Router() ; +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.get("/protected", isAuth, authController.checkProtected); -router.post('/signup' , authController.postSignup) ; +router.post("/signup", authController.postSignup); -router.post('/signin' , authController.postSignin) ; +router.post("/signin", authController.postSignin); -module.exports = router ; \ No newline at end of file +router.post("/sendotp", authController.sendOTP); + +router.post("/getotp", authController.getOTP); + +module.exports = router; From 1775d79983018f2d3763661d0f8681a0c31dde1b Mon Sep 17 00:00:00 2001 From: yashrajverma Date: Sun, 9 May 2021 18:26:52 +0530 Subject: [PATCH 3/9] Added Phone Auth --- .env | 3 - .history/app_20210509182548.js | 103 +++++++++++++++++++++++++++++++++ .history/app_20210509182557.js | 103 +++++++++++++++++++++++++++++++++ .history/app_20210509182624.js | 102 ++++++++++++++++++++++++++++++++ app.js | 3 +- 5 files changed, 309 insertions(+), 5 deletions(-) delete mode 100644 .env create mode 100644 .history/app_20210509182548.js create mode 100644 .history/app_20210509182557.js create mode 100644 .history/app_20210509182624.js diff --git a/.env b/.env deleted file mode 100644 index 64a51f9..0000000 --- a/.env +++ /dev/null @@ -1,3 +0,0 @@ -MONGO_USER:Cantilever, - MONGO_PASSWORD :Cantilever , - MONGO_DEFAULT_DATABASE :myFirstDatabase \ No newline at end of file diff --git a/.history/app_20210509182548.js b/.history/app_20210509182548.js new file mode 100644 index 0000000..5def299 --- /dev/null +++ b/.history/app_20210509182548.js @@ -0,0 +1,103 @@ +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; +require("dotenv").config(); + +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_20210509182557.js b/.history/app_20210509182557.js new file mode 100644 index 0000000..5def299 --- /dev/null +++ b/.history/app_20210509182557.js @@ -0,0 +1,103 @@ +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; +require("dotenv").config(); + +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_20210509182624.js b/.history/app_20210509182624.js new file mode 100644 index 0000000..9dec7ab --- /dev/null +++ b/.history/app_20210509182624.js @@ -0,0 +1,102 @@ +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/app.js b/app.js index c8213d3..9dec7ab 100644 --- a/app.js +++ b/app.js @@ -7,7 +7,6 @@ const paymentRoute = require("./routes/payment"); const courseRoute = require("./routes/course"); const adminRoute = require("./routes/admin"); const port = process.env.PORT || 5000; -require("dotenv").config(); const cors = require("cors"); //const passport = require('passport'); @@ -16,7 +15,7 @@ const cors = require("cors"); const app = express(); -const MONGO_URI = `mongodb+srv://Cantilever:Cantilever@cluster0.dqxva.mongodb.net/myFirstDatabase?retryWrites=true&w=majority`; +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()); From 30cd12d73874583d87376494b4fc77365dbaf93f Mon Sep 17 00:00:00 2001 From: yashrajverma Date: Mon, 10 May 2021 15:27:31 +0530 Subject: [PATCH 4/9] PhoneAuth --- .history/.env_20210509163951 | 0 .history/.env_20210509164017 | 1 - .history/.env_20210509164034 | 3 - .history/.env_20210509164050 | 3 - .history/.env_20210509164109 | 3 - .history/.env_20210509164138 | 3 - .history/.env_20210509164140 | 3 - .history/app_20210503150708.js | 93 -------------- .history/app_20210503152356.js | 96 -------------- .history/app_20210503152948.js | 99 --------------- .history/app_20210503152953.js | 99 --------------- .history/app_20210503153001.js | 99 --------------- .history/app_20210503153018.js | 99 --------------- .history/app_20210503153622.js | 99 --------------- .history/app_20210503153812.js | 98 -------------- .history/app_20210503153844.js | 99 --------------- .history/app_20210503160225.js | 99 --------------- .history/app_20210503160253.js | 99 --------------- .history/app_20210503160401.js | 99 --------------- .history/app_20210503200710.js | 99 --------------- .history/app_20210509163930.js | 103 --------------- .history/app_20210509163946.js | 103 --------------- .history/app_20210509164233.js | 103 --------------- .history/app_20210509182548.js | 103 --------------- .history/app_20210509182557.js | 103 --------------- .history/app_20210509182624.js | 102 --------------- .history/controllers/auth_20210503150708.js | 103 --------------- .history/controllers/auth_20210509153635.js | 102 --------------- .history/controllers/auth_20210509154632.js | 130 ------------------- .history/controllers/auth_20210509155010.js | 130 ------------------- .history/controllers/auth_20210509155051.js | 130 ------------------- .history/controllers/auth_20210509155117.js | 130 ------------------- .history/controllers/auth_20210509155429.js | 130 ------------------- .history/controllers/auth_20210509155455.js | 130 ------------------- .history/controllers/auth_20210509155647.js | 130 ------------------- .history/controllers/auth_20210509155744.js | 130 ------------------- .history/controllers/auth_20210509160156.js | 130 ------------------- .history/controllers/auth_20210509161351.js | 130 ------------------- .history/controllers/auth_20210509164829.js | 130 ------------------- .history/controllers/auth_20210509165526.js | 130 ------------------- .history/controllers/auth_20210509165744.js | 134 -------------------- .history/controllers/auth_20210509165914.js | 134 -------------------- .history/models/Coupon_20210503151008.js | 0 .history/models/Coupon_20210503151143.js | 7 - .history/models/Coupon_20210503151154.js | 6 - .history/models/Coupon_20210503151227.js | 8 -- .history/models/Coupon_20210503151229.js | 8 -- .history/models/Coupon_20210503152726.js | 8 -- .history/models/Coupon_20210503153800.js | 8 -- .history/models/Coupon_20210503154746.js | 11 -- .history/models/Coupon_20210503200331.js | 16 --- .history/models/Coupon_20210503200625.js | 16 --- .history/models/User_20210503150708.js | 34 ----- .history/models/User_20210509151714.js | 37 ------ .history/models/User_20210509151719.js | 37 ------ .history/routes/Coupon_20210503151244.js | 0 .history/routes/Coupon_20210503151301.js | 5 - .history/routes/Coupon_20210503151644.js | 11 -- .history/routes/Coupon_20210503152048.js | 25 ---- .history/routes/Coupon_20210503152427.js | 27 ---- .history/routes/Coupon_20210503152622.js | 27 ---- .history/routes/Coupon_20210503152827.js | 27 ---- .history/routes/Coupon_20210503153143.js | 28 ---- .history/routes/Coupon_20210503153304.js | 28 ---- .history/routes/Coupon_20210503153306.js | 28 ---- .history/routes/Coupon_20210503153356.js | 28 ---- .history/routes/Coupon_20210503153430.js | 28 ---- .history/routes/Coupon_20210503154437.js | 33 ----- .history/routes/Coupon_20210503154828.js | 34 ----- .history/routes/Coupon_20210503155530.js | 41 ------ .history/routes/Coupon_20210503155602.js | 43 ------- .history/routes/Coupon_20210503155643.js | 43 ------- .history/routes/Coupon_20210503155753.js | 43 ------- .history/routes/Coupon_20210503155800.js | 43 ------- .history/routes/Coupon_20210503155845.js | 43 ------- .history/routes/Coupon_20210503155915.js | 43 ------- .history/routes/Coupon_20210503160010.js | 43 ------- .history/routes/Coupon_20210503160014.js | 50 -------- .history/routes/Coupon_20210503160018.js | 49 ------- .history/routes/Coupon_20210503160037.js | 48 ------- .history/routes/Coupon_20210503160039.js | 48 ------- .history/routes/Coupon_20210503160151.js | 47 ------- .history/routes/Coupon_20210503160427.js | 47 ------- .history/routes/Coupon_20210503160555.js | 47 ------- .history/routes/Coupon_20210503160634.js | 47 ------- .history/routes/Coupon_20210503160748.js | 47 ------- .history/routes/Coupon_20210503160850.js | 51 -------- .history/routes/Coupon_20210503160852.js | 50 -------- .history/routes/Coupon_20210503160913.js | 50 -------- .history/routes/Coupon_20210503160949.js | 50 -------- .history/routes/Coupon_20210503161113.js | 50 -------- .history/routes/Coupon_20210503161127.js | 50 -------- .history/routes/Coupon_20210503161157.js | 47 ------- .history/routes/Coupon_20210503161211.js | 47 ------- .history/routes/Coupon_20210503161322.js | 48 ------- .history/routes/Coupon_20210503161402.js | 48 ------- .history/routes/Coupon_20210503200453.js | 54 -------- .history/routes/Coupon_20210503200528.js | 52 -------- .history/routes/Coupon_20210503200538.js | 53 -------- .history/routes/Coupon_20210503200623.js | 53 -------- .history/routes/auth_20210503150708.js | 12 -- .history/routes/auth_20210509154824.js | 16 --- .history/routes/auth_20210509164314.js | 16 --- 103 files changed, 5987 deletions(-) delete mode 100644 .history/.env_20210509163951 delete mode 100644 .history/.env_20210509164017 delete mode 100644 .history/.env_20210509164034 delete mode 100644 .history/.env_20210509164050 delete mode 100644 .history/.env_20210509164109 delete mode 100644 .history/.env_20210509164138 delete mode 100644 .history/.env_20210509164140 delete mode 100644 .history/app_20210503150708.js delete mode 100644 .history/app_20210503152356.js delete mode 100644 .history/app_20210503152948.js delete mode 100644 .history/app_20210503152953.js delete mode 100644 .history/app_20210503153001.js delete mode 100644 .history/app_20210503153018.js delete mode 100644 .history/app_20210503153622.js delete mode 100644 .history/app_20210503153812.js delete mode 100644 .history/app_20210503153844.js delete mode 100644 .history/app_20210503160225.js delete mode 100644 .history/app_20210503160253.js delete mode 100644 .history/app_20210503160401.js delete mode 100644 .history/app_20210503200710.js delete mode 100644 .history/app_20210509163930.js delete mode 100644 .history/app_20210509163946.js delete mode 100644 .history/app_20210509164233.js delete mode 100644 .history/app_20210509182548.js delete mode 100644 .history/app_20210509182557.js delete mode 100644 .history/app_20210509182624.js delete mode 100644 .history/controllers/auth_20210503150708.js delete mode 100644 .history/controllers/auth_20210509153635.js delete mode 100644 .history/controllers/auth_20210509154632.js delete mode 100644 .history/controllers/auth_20210509155010.js delete mode 100644 .history/controllers/auth_20210509155051.js delete mode 100644 .history/controllers/auth_20210509155117.js delete mode 100644 .history/controllers/auth_20210509155429.js delete mode 100644 .history/controllers/auth_20210509155455.js delete mode 100644 .history/controllers/auth_20210509155647.js delete mode 100644 .history/controllers/auth_20210509155744.js delete mode 100644 .history/controllers/auth_20210509160156.js delete mode 100644 .history/controllers/auth_20210509161351.js delete mode 100644 .history/controllers/auth_20210509164829.js delete mode 100644 .history/controllers/auth_20210509165526.js delete mode 100644 .history/controllers/auth_20210509165744.js delete mode 100644 .history/controllers/auth_20210509165914.js delete mode 100644 .history/models/Coupon_20210503151008.js delete mode 100644 .history/models/Coupon_20210503151143.js delete mode 100644 .history/models/Coupon_20210503151154.js delete mode 100644 .history/models/Coupon_20210503151227.js delete mode 100644 .history/models/Coupon_20210503151229.js delete mode 100644 .history/models/Coupon_20210503152726.js delete mode 100644 .history/models/Coupon_20210503153800.js delete mode 100644 .history/models/Coupon_20210503154746.js delete mode 100644 .history/models/Coupon_20210503200331.js delete mode 100644 .history/models/Coupon_20210503200625.js delete mode 100644 .history/models/User_20210503150708.js delete mode 100644 .history/models/User_20210509151714.js delete mode 100644 .history/models/User_20210509151719.js delete mode 100644 .history/routes/Coupon_20210503151244.js delete mode 100644 .history/routes/Coupon_20210503151301.js delete mode 100644 .history/routes/Coupon_20210503151644.js delete mode 100644 .history/routes/Coupon_20210503152048.js delete mode 100644 .history/routes/Coupon_20210503152427.js delete mode 100644 .history/routes/Coupon_20210503152622.js delete mode 100644 .history/routes/Coupon_20210503152827.js delete mode 100644 .history/routes/Coupon_20210503153143.js delete mode 100644 .history/routes/Coupon_20210503153304.js delete mode 100644 .history/routes/Coupon_20210503153306.js delete mode 100644 .history/routes/Coupon_20210503153356.js delete mode 100644 .history/routes/Coupon_20210503153430.js delete mode 100644 .history/routes/Coupon_20210503154437.js delete mode 100644 .history/routes/Coupon_20210503154828.js delete mode 100644 .history/routes/Coupon_20210503155530.js delete mode 100644 .history/routes/Coupon_20210503155602.js delete mode 100644 .history/routes/Coupon_20210503155643.js delete mode 100644 .history/routes/Coupon_20210503155753.js delete mode 100644 .history/routes/Coupon_20210503155800.js delete mode 100644 .history/routes/Coupon_20210503155845.js delete mode 100644 .history/routes/Coupon_20210503155915.js delete mode 100644 .history/routes/Coupon_20210503160010.js delete mode 100644 .history/routes/Coupon_20210503160014.js delete mode 100644 .history/routes/Coupon_20210503160018.js delete mode 100644 .history/routes/Coupon_20210503160037.js delete mode 100644 .history/routes/Coupon_20210503160039.js delete mode 100644 .history/routes/Coupon_20210503160151.js delete mode 100644 .history/routes/Coupon_20210503160427.js delete mode 100644 .history/routes/Coupon_20210503160555.js delete mode 100644 .history/routes/Coupon_20210503160634.js delete mode 100644 .history/routes/Coupon_20210503160748.js delete mode 100644 .history/routes/Coupon_20210503160850.js delete mode 100644 .history/routes/Coupon_20210503160852.js delete mode 100644 .history/routes/Coupon_20210503160913.js delete mode 100644 .history/routes/Coupon_20210503160949.js delete mode 100644 .history/routes/Coupon_20210503161113.js delete mode 100644 .history/routes/Coupon_20210503161127.js delete mode 100644 .history/routes/Coupon_20210503161157.js delete mode 100644 .history/routes/Coupon_20210503161211.js delete mode 100644 .history/routes/Coupon_20210503161322.js delete mode 100644 .history/routes/Coupon_20210503161402.js delete mode 100644 .history/routes/Coupon_20210503200453.js delete mode 100644 .history/routes/Coupon_20210503200528.js delete mode 100644 .history/routes/Coupon_20210503200538.js delete mode 100644 .history/routes/Coupon_20210503200623.js delete mode 100644 .history/routes/auth_20210503150708.js delete mode 100644 .history/routes/auth_20210509154824.js delete mode 100644 .history/routes/auth_20210509164314.js diff --git a/.history/.env_20210509163951 b/.history/.env_20210509163951 deleted file mode 100644 index e69de29..0000000 diff --git a/.history/.env_20210509164017 b/.history/.env_20210509164017 deleted file mode 100644 index eb765ae..0000000 --- a/.history/.env_20210509164017 +++ /dev/null @@ -1 +0,0 @@ -MONGO_USER:"Cantilever" \ No newline at end of file diff --git a/.history/.env_20210509164034 b/.history/.env_20210509164034 deleted file mode 100644 index 088aa13..0000000 --- a/.history/.env_20210509164034 +++ /dev/null @@ -1,3 +0,0 @@ -"MONGO_USER":"Cantilever", - "MONGO_PASSWORD" :"Cantilever" , - "MONGO_DEFAULT_DATABASE" :"myFirstDatabase" \ No newline at end of file diff --git a/.history/.env_20210509164050 b/.history/.env_20210509164050 deleted file mode 100644 index 39086ad..0000000 --- a/.history/.env_20210509164050 +++ /dev/null @@ -1,3 +0,0 @@ -module.export={MONGO_USER:"Cantilever", - MONGO_PASSWORD :"Cantilever" , - MONGO_DEFAULT_DATABASE :"myFirstDatabase" } \ No newline at end of file diff --git a/.history/.env_20210509164109 b/.history/.env_20210509164109 deleted file mode 100644 index 39086ad..0000000 --- a/.history/.env_20210509164109 +++ /dev/null @@ -1,3 +0,0 @@ -module.export={MONGO_USER:"Cantilever", - MONGO_PASSWORD :"Cantilever" , - MONGO_DEFAULT_DATABASE :"myFirstDatabase" } \ No newline at end of file diff --git a/.history/.env_20210509164138 b/.history/.env_20210509164138 deleted file mode 100644 index 64a51f9..0000000 --- a/.history/.env_20210509164138 +++ /dev/null @@ -1,3 +0,0 @@ -MONGO_USER:Cantilever, - MONGO_PASSWORD :Cantilever , - MONGO_DEFAULT_DATABASE :myFirstDatabase \ No newline at end of file diff --git a/.history/.env_20210509164140 b/.history/.env_20210509164140 deleted file mode 100644 index 64a51f9..0000000 --- a/.history/.env_20210509164140 +++ /dev/null @@ -1,3 +0,0 @@ -MONGO_USER:Cantilever, - MONGO_PASSWORD :Cantilever , - MONGO_DEFAULT_DATABASE :myFirstDatabase \ No newline at end of file diff --git a/.history/app_20210503150708.js b/.history/app_20210503150708.js deleted file mode 100644 index ae33225..0000000 --- a/.history/app_20210503150708.js +++ /dev/null @@ -1,93 +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 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()) ; - -// 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(authRoute) ; - -app.use(profileRoute) ; - -app.use(paymentRoute) ; - -app.use(courseRoute) ; - -app.use(adminRoute) ; - -mongoose.connect(MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true }). -then(result => { - console.log('connected'); - app.listen(process.env.PORT || 5000) ; -}) -.catch(err => { - console.log(err); -}) \ No newline at end of file diff --git a/.history/app_20210503152356.js b/.history/app_20210503152356.js deleted file mode 100644 index 1c52ad8..0000000 --- a/.history/app_20210503152356.js +++ /dev/null @@ -1,96 +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 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()) ; - -// 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(authRoute) ; - -app.use(profileRoute) ; - -app.use(paymentRoute) ; - -app.use(courseRoute) ; - -app.use(adminRoute) ; -app.use(require('./models/Coupon')) -app.use(require('./routes/Coupon')) - -mongoose.connect(MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true }). -then(result => { - console.log('connected'); - app.listen(process.env.PORT || 5000) ; -}) -.catch(err => { - console.log(err); -}) \ No newline at end of file diff --git a/.history/app_20210503152948.js b/.history/app_20210503152948.js deleted file mode 100644 index 8421cd5..0000000 --- a/.history/app_20210503152948.js +++ /dev/null @@ -1,99 +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()) ; - -// 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(authRoute) ; - -app.use(profileRoute) ; - -app.use(paymentRoute) ; - -app.use(courseRoute) ; - -app.use(adminRoute) ; -app.use(require('./models/Coupon')) -app.use(require('./routes/Coupon')) - -mongoose.connect(MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true }). -then(result => { - console.log('connected'); - app.listen(,()=>{ - console.log("server is running on port",port); - }) ; -}) -.catch(err => { - console.log(err); -}) \ No newline at end of file diff --git a/.history/app_20210503152953.js b/.history/app_20210503152953.js deleted file mode 100644 index d0ed53b..0000000 --- a/.history/app_20210503152953.js +++ /dev/null @@ -1,99 +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()) ; - -// 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(authRoute) ; - -app.use(profileRoute) ; - -app.use(paymentRoute) ; - -app.use(courseRoute) ; - -app.use(adminRoute) ; -app.use(require('./models/Coupon')) -app.use(require('./routes/Coupon')) - -mongoose.connect(MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true }). -then(result => { - console.log('connected'); - app.listen(()=>{ - console.log("server is running on port",port); - }) ; -}) -.catch(err => { - console.log(err); -}) \ No newline at end of file diff --git a/.history/app_20210503153001.js b/.history/app_20210503153001.js deleted file mode 100644 index 510184e..0000000 --- a/.history/app_20210503153001.js +++ /dev/null @@ -1,99 +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()) ; - -// 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(authRoute) ; - -app.use(profileRoute) ; - -app.use(paymentRoute) ; - -app.use(courseRoute) ; - -app.use(adminRoute) ; -app.use(require('./models/Coupon')) -app.use(require('./routes/Coupon')) - -mongoose.connect(MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true }). -then(result => { - console.log('connected'); - app.listen(()=>{ - console.log("server is running on port",port); - },port) ; -}) -.catch(err => { - console.log(err); -}) \ No newline at end of file diff --git a/.history/app_20210503153018.js b/.history/app_20210503153018.js deleted file mode 100644 index 0950006..0000000 --- a/.history/app_20210503153018.js +++ /dev/null @@ -1,99 +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()) ; - -// 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(authRoute) ; - -app.use(profileRoute) ; - -app.use(paymentRoute) ; - -app.use(courseRoute) ; - -app.use(adminRoute) ; -app.use(require('./models/Coupon')) -app.use(require('./routes/Coupon')) - -mongoose.connect(MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true }). -then(result => { - console.log('connected'); - app.listen(port,()=>{ - console.log("server is running on port",port); - }) ; -}) -.catch(err => { - console.log(err); -}) \ No newline at end of file diff --git a/.history/app_20210503153622.js b/.history/app_20210503153622.js deleted file mode 100644 index 2f26c3b..0000000 --- a/.history/app_20210503153622.js +++ /dev/null @@ -1,99 +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()) ; - -// 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('./models/Coupon')) -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 }). -then(result => { - console.log('connected'); - app.listen(port,()=>{ - console.log("server is running on port",port); - }) ; -}) -.catch(err => { - console.log(err); -}) \ No newline at end of file diff --git a/.history/app_20210503153812.js b/.history/app_20210503153812.js deleted file mode 100644 index 7e4c371..0000000 --- a/.history/app_20210503153812.js +++ /dev/null @@ -1,98 +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()) ; - -// 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 }). -then(result => { - console.log('connected'); - app.listen(port,()=>{ - console.log("server is running on port",port); - }) ; -}) -.catch(err => { - console.log(err); -}) \ No newline at end of file diff --git a/.history/app_20210503153844.js b/.history/app_20210503153844.js deleted file mode 100644 index 1673a63..0000000 --- a/.history/app_20210503153844.js +++ /dev/null @@ -1,99 +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 }). -then(result => { - console.log('connected'); - app.listen(port,()=>{ - console.log("server is running on port",port); - }) ; -}) -.catch(err => { - console.log(err); -}) \ No newline at end of file diff --git a/.history/app_20210503160225.js b/.history/app_20210503160225.js deleted file mode 100644 index 5a6ac7a..0000000 --- a/.history/app_20210503160225.js +++ /dev/null @@ -1,99 +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:true}). -then(result => { - console.log('connected'); - app.listen(port,()=>{ - console.log("server is running on port",port); - }) ; -}) -.catch(err => { - console.log(err); -}) \ No newline at end of file diff --git a/.history/app_20210503160253.js b/.history/app_20210503160253.js deleted file mode 100644 index c081f70..0000000 --- a/.history/app_20210503160253.js +++ /dev/null @@ -1,99 +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); -}) \ No newline at end of file diff --git a/.history/app_20210503160401.js b/.history/app_20210503160401.js deleted file mode 100644 index c081f70..0000000 --- a/.history/app_20210503160401.js +++ /dev/null @@ -1,99 +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); -}) \ No newline at end of file diff --git a/.history/app_20210503200710.js b/.history/app_20210503200710.js deleted file mode 100644 index c081f70..0000000 --- a/.history/app_20210503200710.js +++ /dev/null @@ -1,99 +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); -}) \ No newline at end of file diff --git a/.history/app_20210509163930.js b/.history/app_20210509163930.js deleted file mode 100644 index 71a0918..0000000 --- a/.history/app_20210509163930.js +++ /dev/null @@ -1,103 +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; -require("dotenv"); - -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_20210509163946.js b/.history/app_20210509163946.js deleted file mode 100644 index 5def299..0000000 --- a/.history/app_20210509163946.js +++ /dev/null @@ -1,103 +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; -require("dotenv").config(); - -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_20210509164233.js b/.history/app_20210509164233.js deleted file mode 100644 index c8213d3..0000000 --- a/.history/app_20210509164233.js +++ /dev/null @@ -1,103 +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; -require("dotenv").config(); - -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/app_20210509182548.js b/.history/app_20210509182548.js deleted file mode 100644 index 5def299..0000000 --- a/.history/app_20210509182548.js +++ /dev/null @@ -1,103 +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; -require("dotenv").config(); - -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_20210509182557.js b/.history/app_20210509182557.js deleted file mode 100644 index 5def299..0000000 --- a/.history/app_20210509182557.js +++ /dev/null @@ -1,103 +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; -require("dotenv").config(); - -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_20210509182624.js b/.history/app_20210509182624.js deleted file mode 100644 index 9dec7ab..0000000 --- a/.history/app_20210509182624.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/controllers/auth_20210503150708.js b/.history/controllers/auth_20210503150708.js deleted file mode 100644 index 645d127..0000000 --- a/.history/controllers/auth_20210503150708.js +++ /dev/null @@ -1,103 +0,0 @@ -const bcrypt = require('bcryptjs') ; -const User = require('../models/User') ; -const Student = require('../models/Student') ; -const jwt = require('jsonwebtoken'); -const JWT_secret = "Cantileverlabs"; - -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.checkProtected = (req , res , next) => { - console.log(req.user); - res.json({ - message:"Protected" , - user : req.user - }) -} \ No newline at end of file diff --git a/.history/controllers/auth_20210509153635.js b/.history/controllers/auth_20210509153635.js deleted file mode 100644 index abe08a3..0000000 --- a/.history/controllers/auth_20210509153635.js +++ /dev/null @@ -1,102 +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"); - -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.phoneAuth = (req, res, next) => { - try { - const { otp, phoneNumber } = req.body; - if (!phoneNumber) { - res.status(422).json({ message: "Please Add All Required Fields" }); - } else { - messagebird.verify.create; - } - } catch (err) { - console.log(err); - } - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509154632.js b/.history/controllers/auth_20210509154632.js deleted file mode 100644 index c7feaaf..0000000 --- a/.history/controllers/auth_20210509154632.js +++ /dev/null @@ -1,130 +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"); - -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) => { - try { - const { otp, 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 has been sent!", - }, - 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); - } - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live -}; - -module.exports.getOTP = (req, res, next) => { - 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: "Verified" }); - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509155010.js b/.history/controllers/auth_20210509155010.js deleted file mode 100644 index 95eb378..0000000 --- a/.history/controllers/auth_20210509155010.js +++ /dev/null @@ -1,130 +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"); - -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) => { - try { - const { otp, 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 has been sent!", - }, - 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); - } - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live -}; - -module.exports.getOTP = (req, res, next) => { - 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: "Verified" }); - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509155051.js b/.history/controllers/auth_20210509155051.js deleted file mode 100644 index 95eb378..0000000 --- a/.history/controllers/auth_20210509155051.js +++ /dev/null @@ -1,130 +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"); - -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) => { - try { - const { otp, 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 has been sent!", - }, - 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); - } - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live -}; - -module.exports.getOTP = (req, res, next) => { - 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: "Verified" }); - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509155117.js b/.history/controllers/auth_20210509155117.js deleted file mode 100644 index bb30f83..0000000 --- a/.history/controllers/auth_20210509155117.js +++ /dev/null @@ -1,130 +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")(""); - -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) => { - try { - const { otp, 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 has been sent!", - }, - 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); - } - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live -}; - -module.exports.getOTP = (req, res, next) => { - 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: "Verified" }); - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509155429.js b/.history/controllers/auth_20210509155429.js deleted file mode 100644 index 8cf5df4..0000000 --- a/.history/controllers/auth_20210509155429.js +++ /dev/null @@ -1,130 +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")(" "); - -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) => { - try { - const { otp, 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 has been sent!", - }, - 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); - } - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live -}; - -module.exports.getOTP = (req, res, next) => { - 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: "Verified" }); - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509155455.js b/.history/controllers/auth_20210509155455.js deleted file mode 100644 index 8cf5df4..0000000 --- a/.history/controllers/auth_20210509155455.js +++ /dev/null @@ -1,130 +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")(" "); - -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) => { - try { - const { otp, 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 has been sent!", - }, - 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); - } - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live -}; - -module.exports.getOTP = (req, res, next) => { - 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: "Verified" }); - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509155647.js b/.history/controllers/auth_20210509155647.js deleted file mode 100644 index 8b44c69..0000000 --- a/.history/controllers/auth_20210509155647.js +++ /dev/null @@ -1,130 +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")(" "); - -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) => { - try { - const { otp, 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 has been sent!", - }, - 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); - } - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live -}; - -module.exports.getOTP = (req, res, next) => { - 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: "Verified" }); - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509155744.js b/.history/controllers/auth_20210509155744.js deleted file mode 100644 index e0acea9..0000000 --- a/.history/controllers/auth_20210509155744.js +++ /dev/null @@ -1,130 +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")(" "); - -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) => { - try { - const { otp, 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); - } - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live -}; - -module.exports.getOTP = (req, res, next) => { - 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: "Verified" }); - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509160156.js b/.history/controllers/auth_20210509160156.js deleted file mode 100644 index bdf5047..0000000 --- a/.history/controllers/auth_20210509160156.js +++ /dev/null @@ -1,130 +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")("uNNYosMopvvCW9RTR1tRWJmYC"); - -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) => { - try { - const { otp, 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); - } - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live -}; - -module.exports.getOTP = (req, res, next) => { - 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: "Verified" }); - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509161351.js b/.history/controllers/auth_20210509161351.js deleted file mode 100644 index bdf5047..0000000 --- a/.history/controllers/auth_20210509161351.js +++ /dev/null @@ -1,130 +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")("uNNYosMopvvCW9RTR1tRWJmYC"); - -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) => { - try { - const { otp, 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); - } - //uNNYosMopvvCW9RTR1tRWJmYC test - //llVKD53ve6QRpbCKOHzWBADaS live -}; - -module.exports.getOTP = (req, res, next) => { - 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: "Verified" }); - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509164829.js b/.history/controllers/auth_20210509164829.js deleted file mode 100644 index 3e02797..0000000 --- a/.history/controllers/auth_20210509164829.js +++ /dev/null @@ -1,130 +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")("uNNYosMopvvCW9RTR1tRWJmYC"); - -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) => { - 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: "Verified" }); - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509165526.js b/.history/controllers/auth_20210509165526.js deleted file mode 100644 index cb03924..0000000 --- a/.history/controllers/auth_20210509165526.js +++ /dev/null @@ -1,130 +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")("uNNYosMopvvCW9RTR1tRWJmYC"); - -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) => { - 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" }); - } - }); -}; - -module.exports.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509165744.js b/.history/controllers/auth_20210509165744.js deleted file mode 100644 index 812d0a7..0000000 --- a/.history/controllers/auth_20210509165744.js +++ /dev/null @@ -1,134 +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")("uNNYosMopvvCW9RTR1tRWJmYC"); - -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.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210509165914.js b/.history/controllers/auth_20210509165914.js deleted file mode 100644 index d9b71a4..0000000 --- a/.history/controllers/auth_20210509165914.js +++ /dev/null @@ -1,134 +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.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/models/Coupon_20210503151008.js b/.history/models/Coupon_20210503151008.js deleted file mode 100644 index e69de29..0000000 diff --git a/.history/models/Coupon_20210503151143.js b/.history/models/Coupon_20210503151143.js deleted file mode 100644 index 9b0b365..0000000 --- a/.history/models/Coupon_20210503151143.js +++ /dev/null @@ -1,7 +0,0 @@ -const mongoose=require('mongoose') -const coupon=mongoose.Schema({ - coupon:{ - type:String, - required:true - } -}) diff --git a/.history/models/Coupon_20210503151154.js b/.history/models/Coupon_20210503151154.js deleted file mode 100644 index e2d580b..0000000 --- a/.history/models/Coupon_20210503151154.js +++ /dev/null @@ -1,6 +0,0 @@ -const mongoose=require('mongoose') -const coupon=mongoose.Schema({ - coupon:{ - type:String - } -}) diff --git a/.history/models/Coupon_20210503151227.js b/.history/models/Coupon_20210503151227.js deleted file mode 100644 index 2efa4c6..0000000 --- a/.history/models/Coupon_20210503151227.js +++ /dev/null @@ -1,8 +0,0 @@ -const mongoose=require('mongoose') -const CouponSchema=mongoose.Schema({ - coupon:{ - type:String - } -}) - -module.exports=mongoose.model('Coupon',CouponSchema) \ No newline at end of file diff --git a/.history/models/Coupon_20210503151229.js b/.history/models/Coupon_20210503151229.js deleted file mode 100644 index 2efa4c6..0000000 --- a/.history/models/Coupon_20210503151229.js +++ /dev/null @@ -1,8 +0,0 @@ -const mongoose=require('mongoose') -const CouponSchema=mongoose.Schema({ - coupon:{ - type:String - } -}) - -module.exports=mongoose.model('Coupon',CouponSchema) \ No newline at end of file diff --git a/.history/models/Coupon_20210503152726.js b/.history/models/Coupon_20210503152726.js deleted file mode 100644 index 5a0c169..0000000 --- a/.history/models/Coupon_20210503152726.js +++ /dev/null @@ -1,8 +0,0 @@ -const mongoose=require('mongoose') -const CouponSchema=new mongoose.Schema({ - coupon:{ - type:String - } -}) - -module.exports=mongoose.model('Coupon',CouponSchema) \ No newline at end of file diff --git a/.history/models/Coupon_20210503153800.js b/.history/models/Coupon_20210503153800.js deleted file mode 100644 index 6aa1d0e..0000000 --- a/.history/models/Coupon_20210503153800.js +++ /dev/null @@ -1,8 +0,0 @@ -const mongoose=require('mongoose') -const CouponSchema=new mongoose.Schema({ - coupon:{ - type:String - } -}) - -module.exports=mongoose.model("Coupon",CouponSchema) \ No newline at end of file diff --git a/.history/models/Coupon_20210503154746.js b/.history/models/Coupon_20210503154746.js deleted file mode 100644 index e69ad70..0000000 --- a/.history/models/Coupon_20210503154746.js +++ /dev/null @@ -1,11 +0,0 @@ -const mongoose=require('mongoose') -const CouponSchema=new mongoose.Schema({ - coupon_code:{ - type:String - }, - percentage:{ - type:String - } -}) - -module.exports=mongoose.model("Coupon",CouponSchema) \ No newline at end of file diff --git a/.history/models/Coupon_20210503200331.js b/.history/models/Coupon_20210503200331.js deleted file mode 100644 index a68a548..0000000 --- a/.history/models/Coupon_20210503200331.js +++ /dev/null @@ -1,16 +0,0 @@ -const mongoose=require('mongoose') -const CouponSchema=new mongoose.Schema({ - coupon_code:{ - type:String, - required:true - }, - percentage:{ - type:String, - required:true - }, - remainingTimes:{ - type:Number - } -}) - -module.exports=mongoose.model("Coupon",CouponSchema) \ No newline at end of file diff --git a/.history/models/Coupon_20210503200625.js b/.history/models/Coupon_20210503200625.js deleted file mode 100644 index a68a548..0000000 --- a/.history/models/Coupon_20210503200625.js +++ /dev/null @@ -1,16 +0,0 @@ -const mongoose=require('mongoose') -const CouponSchema=new mongoose.Schema({ - coupon_code:{ - type:String, - required:true - }, - percentage:{ - type:String, - required:true - }, - remainingTimes:{ - type:Number - } -}) - -module.exports=mongoose.model("Coupon",CouponSchema) \ No newline at end of file diff --git a/.history/models/User_20210503150708.js b/.history/models/User_20210503150708.js deleted file mode 100644 index 205349f..0000000 --- a/.history/models/User_20210503150708.js +++ /dev/null @@ -1,34 +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 - } - //need to add isAdmin -}) ; - -module.exports = mongoose.model("User" , userSchema) ; \ No newline at end of file diff --git a/.history/models/User_20210509151714.js b/.history/models/User_20210509151714.js deleted file mode 100644 index 434b290..0000000 --- a/.history/models/User_20210509151714.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_20210509151719.js b/.history/models/User_20210509151719.js deleted file mode 100644 index 434b290..0000000 --- a/.history/models/User_20210509151719.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/routes/Coupon_20210503151244.js b/.history/routes/Coupon_20210503151244.js deleted file mode 100644 index e69de29..0000000 diff --git a/.history/routes/Coupon_20210503151301.js b/.history/routes/Coupon_20210503151301.js deleted file mode 100644 index ab6990b..0000000 --- a/.history/routes/Coupon_20210503151301.js +++ /dev/null @@ -1,5 +0,0 @@ -const express = require('express') ; -const authController = require('../controllers/auth') ; -const isAuth = require('../middleware/requirelogin') ; -const router = express.Router() ; - diff --git a/.history/routes/Coupon_20210503151644.js b/.history/routes/Coupon_20210503151644.js deleted file mode 100644 index a987d87..0000000 --- a/.history/routes/Coupon_20210503151644.js +++ /dev/null @@ -1,11 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const coupon=require('../models/Coupon'); - -router.get('/',(req,res)=>{ - coupon.find() - .then(res=>{ - res.status(200).json({coupon:res}) - }) -}) \ No newline at end of file diff --git a/.history/routes/Coupon_20210503152048.js b/.history/routes/Coupon_20210503152048.js deleted file mode 100644 index c8911fa..0000000 --- a/.history/routes/Coupon_20210503152048.js +++ /dev/null @@ -1,25 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = require('../models/Coupon'); - -router.get('/get-coupon',(req,res)=>{ - coupon.find() - .then(res=>{ - res.status(200).json({coupon:res}) - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {discount}=req.body; - const coupon=new Coupon({ - coupon:discount - }); - coupon.save().then( - res=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) - - -}) \ No newline at end of file diff --git a/.history/routes/Coupon_20210503152427.js b/.history/routes/Coupon_20210503152427.js deleted file mode 100644 index df96b10..0000000 --- a/.history/routes/Coupon_20210503152427.js +++ /dev/null @@ -1,27 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = require('../models/Coupon'); - -router.get('/get-coupon',(req,res)=>{ - coupon.find() - .then(res=>{ - res.status(200).json({coupon:res}) - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {discount}=req.body; - const coupon=new Coupon({ - coupon:discount - }); - coupon.save().then( - res=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) - - -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503152622.js b/.history/routes/Coupon_20210503152622.js deleted file mode 100644 index d084e4e..0000000 --- a/.history/routes/Coupon_20210503152622.js +++ /dev/null @@ -1,27 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = require('../models/Coupon'); - -router.get('/get-coupon',(req,res)=>{ - coupon.find() - .then(res=>{ - res.status(200).json({coupon:res}) - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {discount}=req.body; - const coupon=new Coupon({ - coupon:discount - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) - - -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503152827.js b/.history/routes/Coupon_20210503152827.js deleted file mode 100644 index 72f252b..0000000 --- a/.history/routes/Coupon_20210503152827.js +++ /dev/null @@ -1,27 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = require('../models/Coupon'); - -router.get('/get-coupon',(req,res)=>{ - coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {discount}=req.body; - const coupon=new Coupon({ - coupon:discount - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) - - -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503153143.js b/.history/routes/Coupon_20210503153143.js deleted file mode 100644 index 5a33aec..0000000 --- a/.history/routes/Coupon_20210503153143.js +++ /dev/null @@ -1,28 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = require('../models/Coupon'); - -router.get('/get-coupon',(req,res)=>{ - coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {discount}=req.body; - const coupon=new Coupon({ - coupon:discount - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) - - -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503153304.js b/.history/routes/Coupon_20210503153304.js deleted file mode 100644 index 30dcd9e..0000000 --- a/.history/routes/Coupon_20210503153304.js +++ /dev/null @@ -1,28 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = require('../models/Coupon'); - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {discount}=req.body; - const coupon=new Coupon({ - coupon:discount - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) - - -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503153306.js b/.history/routes/Coupon_20210503153306.js deleted file mode 100644 index 30dcd9e..0000000 --- a/.history/routes/Coupon_20210503153306.js +++ /dev/null @@ -1,28 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = require('../models/Coupon'); - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {discount}=req.body; - const coupon=new Coupon({ - coupon:discount - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) - - -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503153356.js b/.history/routes/Coupon_20210503153356.js deleted file mode 100644 index b93052a..0000000 --- a/.history/routes/Coupon_20210503153356.js +++ /dev/null @@ -1,28 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = mongoose.model('Coupon') - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {discount}=req.body; - const coupon=new Coupon({ - coupon:discount - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) - - -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503153430.js b/.history/routes/Coupon_20210503153430.js deleted file mode 100644 index b93052a..0000000 --- a/.history/routes/Coupon_20210503153430.js +++ /dev/null @@ -1,28 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = mongoose.model('Coupon') - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {discount}=req.body; - const coupon=new Coupon({ - coupon:discount - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) - - -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503154437.js b/.history/routes/Coupon_20210503154437.js deleted file mode 100644 index ce7371d..0000000 --- a/.history/routes/Coupon_20210503154437.js +++ /dev/null @@ -1,33 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = mongoose.model('Coupon') - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {discount}=req.body; - const coupon=new Coupon({ - coupon:discount - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) -}) - -router.delete('/delete-coupon',(req,res)=>{ - Coupon.remove({_id:req.body.id}) - .then((result)=>{ - res.status(200).json({message:"Coupon Deleted"}) - }) -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503154828.js b/.history/routes/Coupon_20210503154828.js deleted file mode 100644 index 4434613..0000000 --- a/.history/routes/Coupon_20210503154828.js +++ /dev/null @@ -1,34 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = mongoose.model('Coupon') - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {percentage,coupon_code}=req.body; - const coupon=new Coupon({ - coupon_code, - percentage - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) -}) - -router.delete('/delete-coupon',(req,res)=>{ - Coupon.remove({_id:req.body.id}) - .then((result)=>{ - res.status(200).json({message:"Coupon Deleted"}) - }) -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503155530.js b/.history/routes/Coupon_20210503155530.js deleted file mode 100644 index c794196..0000000 --- a/.history/routes/Coupon_20210503155530.js +++ /dev/null @@ -1,41 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = mongoose.model('Coupon') - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {percentage,coupon_code}=req.body; - const coupon=new Coupon({ - coupon_code, - percentage - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) -}) - -router.delete('/delete-coupon',(req,res)=>{ - Coupon.remove({_id:req.body.id}) - .then((result)=>{ - res.status(200).json({message:"Coupon Deleted"}) - }) -}) - -router.put("/update-coupon",(req,res)=>{ - Coupon.findByIdAndUpdate({_id:req.body.id},{$push:{coupon_code:req.body.coupon_code}}) - .then((result)=>{ - res.status(200).json({message:"Coupon Updated"}) - }) -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503155602.js b/.history/routes/Coupon_20210503155602.js deleted file mode 100644 index 690aad5..0000000 --- a/.history/routes/Coupon_20210503155602.js +++ /dev/null @@ -1,43 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = mongoose.model('Coupon') - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {percentage,coupon_code}=req.body; - const coupon=new Coupon({ - coupon_code, - percentage - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) -}) - -router.delete('/delete-coupon',(req,res)=>{ - Coupon.remove({_id:req.body.id}) - .then((result)=>{ - res.status(200).json({message:"Coupon Deleted"}) - }) -}) - -router.put("/update-coupon",(req,res)=>{ - Coupon.findByIdAndUpdate({_id:req.body.id},{$push:{coupon_code:req.body.coupon_code}}) - .then((result)=>{ - res.status(200).json({message:"Coupon Updated"}) - }).catch(err=>{ - console.log(err); - }) -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503155643.js b/.history/routes/Coupon_20210503155643.js deleted file mode 100644 index b57ad04..0000000 --- a/.history/routes/Coupon_20210503155643.js +++ /dev/null @@ -1,43 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = mongoose.model('Coupon') - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {percentage,coupon_code}=req.body; - const coupon=new Coupon({ - coupon_code, - percentage - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) -}) - -router.delete('/delete-coupon',(req,res)=>{ - Coupon.remove({_id:req.body.id}) - .then((result)=>{ - res.status(200).json({message:"Coupon Deleted"}) - }) -}) - -router.put("/update-coupon",(req,res)=>{ - Coupon.findByIdAndUpdate({_id:req.body.id},{$push:{percentage:req.body.percentage,coupon_code:req.body.coupon_code}}) - .then((result)=>{ - res.status(200).json({message:"Coupon Updated"}) - }).catch(err=>{ - console.log(err); - }) -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503155753.js b/.history/routes/Coupon_20210503155753.js deleted file mode 100644 index 1ed31b8..0000000 --- a/.history/routes/Coupon_20210503155753.js +++ /dev/null @@ -1,43 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = mongoose.model('Coupon') - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {percentage,coupon_code}=req.body; - const coupon=new Coupon({ - coupon_code, - percentage - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) -}) - -router.delete('/delete-coupon',(req,res)=>{ - Coupon.remove({_id:req.body.id}) - .then((result)=>{ - res.status(200).json({message:"Coupon Deleted"}) - }) -}) - -router.put("/update-coupon",(req,res)=>{ - Coupon.findByIdAndUpdate(_id:req.body.id,{$push:{percentage:req.body.percentage,coupon_code:req.body.coupon_code}}) - .then((result)=>{ - res.status(200).json({message:"Coupon Updated"}) - }).catch(err=>{ - console.log(err); - }) -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503155800.js b/.history/routes/Coupon_20210503155800.js deleted file mode 100644 index 1ed31b8..0000000 --- a/.history/routes/Coupon_20210503155800.js +++ /dev/null @@ -1,43 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = mongoose.model('Coupon') - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {percentage,coupon_code}=req.body; - const coupon=new Coupon({ - coupon_code, - percentage - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) -}) - -router.delete('/delete-coupon',(req,res)=>{ - Coupon.remove({_id:req.body.id}) - .then((result)=>{ - res.status(200).json({message:"Coupon Deleted"}) - }) -}) - -router.put("/update-coupon",(req,res)=>{ - Coupon.findByIdAndUpdate(_id:req.body.id,{$push:{percentage:req.body.percentage,coupon_code:req.body.coupon_code}}) - .then((result)=>{ - res.status(200).json({message:"Coupon Updated"}) - }).catch(err=>{ - console.log(err); - }) -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503155845.js b/.history/routes/Coupon_20210503155845.js deleted file mode 100644 index b5c9c47..0000000 --- a/.history/routes/Coupon_20210503155845.js +++ /dev/null @@ -1,43 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = mongoose.model('Coupon') - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {percentage,coupon_code}=req.body; - const coupon=new Coupon({ - coupon_code, - percentage - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) -}) - -router.delete('/delete-coupon',(req,res)=>{ - Coupon.remove({_id:req.body.id}) - .then((result)=>{ - res.status(200).json({message:"Coupon Deleted"}) - }) -}) - -router.put("/update-coupon",(req,res)=>{ - Coupon.findByIdAndUpdate(req.body._id,{$set:{percentage:req.body.percentage,coupon_code:req.body.coupon_code}}) - .then((result)=>{ - res.status(200).json({message:"Coupon Updated"}) - }).catch(err=>{ - console.log(err); - }) -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503155915.js b/.history/routes/Coupon_20210503155915.js deleted file mode 100644 index 65d5e6d..0000000 --- a/.history/routes/Coupon_20210503155915.js +++ /dev/null @@ -1,43 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = mongoose.model('Coupon') - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {percentage,coupon_code}=req.body; - const coupon=new Coupon({ - coupon_code, - percentage - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) -}) - -router.delete('/delete-coupon',(req,res)=>{ - Coupon.remove({_id:req.body.id}) - .then((result)=>{ - res.status(200).json({message:"Coupon Deleted"}) - }) -}) - -router.put("/update-coupon",(req,res)=>{ - Coupon.findByIdAndUpdate(req.body._id,{$set:{percentage:req.body.percentage,coupon_code:req.body.coupon_code}}) - .then((result)=>{ - res.status(200).json({message:result}) - }).catch(err=>{ - console.log(err); - }) -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503160010.js b/.history/routes/Coupon_20210503160010.js deleted file mode 100644 index 2af6cdf..0000000 --- a/.history/routes/Coupon_20210503160010.js +++ /dev/null @@ -1,43 +0,0 @@ -const express = require('express') ; -const router = express.Router() ; -const mongoose=require('mongoose'); -const Coupon = mongoose.model('Coupon') - -router.get('/get-coupon',(req,res)=>{ - Coupon.find() - .then(result=>{ - res.status(200).json({coupon:result}) - console.log(result); - }) -}) - -router.post('/set-coupon',(req,res)=>{ - const {percentage,coupon_code}=req.body; - const coupon=new Coupon({ - coupon_code, - percentage - }); - coupon.save().then( - result=>{ - res.status(200).json({message:"Coupon set Successfully"}) - } - ) -}) - -router.delete('/delete-coupon',(req,res)=>{ - Coupon.remove({_id:req.body.id}) - .then((result)=>{ - res.status(200).json({message:"Coupon Deleted"}) - }) -}) - -router.put("/update-coupon",(req,res)=>{ - Coupon.findByIdAndUpdate(req.body._id,{$set:{percentage:req.body.percentage,coupon_code:req.body.coupon_code}},{new:true}) - .then((result)=>{ - res.status(200).json({message:result}) - }).catch(err=>{ - console.log(err); - }) -}) - -module.exports=router \ No newline at end of file diff --git a/.history/routes/Coupon_20210503160014.js b/.history/routes/Coupon_20210503160014.js deleted file mode 100644 index 4c21c39..0000000 --- a/.history/routes/Coupon_20210503160014.js +++ /dev/null @@ -1,50 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - req.body._id, - - { - $set: { - percentage: req.body.percentage, - coupon_code: req.body.coupon_code, - }, - }, - { new: true } - ) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503160018.js b/.history/routes/Coupon_20210503160018.js deleted file mode 100644 index cb3110f..0000000 --- a/.history/routes/Coupon_20210503160018.js +++ /dev/null @@ -1,49 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - percentage: req.body.percentage, - coupon_code: req.body.coupon_code, - }, - }, - { new: true } - ) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503160037.js b/.history/routes/Coupon_20210503160037.js deleted file mode 100644 index 3f41149..0000000 --- a/.history/routes/Coupon_20210503160037.js +++ /dev/null @@ -1,48 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code: req.body.coupon_code, - }, - }, - { new: true } - ) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503160039.js b/.history/routes/Coupon_20210503160039.js deleted file mode 100644 index 8a53f22..0000000 --- a/.history/routes/Coupon_20210503160039.js +++ /dev/null @@ -1,48 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code: req.body.coupon_code - }, - }, - { new: true } - ) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503160151.js b/.history/routes/Coupon_20210503160151.js deleted file mode 100644 index bed7eac..0000000 --- a/.history/routes/Coupon_20210503160151.js +++ /dev/null @@ -1,47 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code: req.body.coupon_code - }, - }, - { new: true }) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503160427.js b/.history/routes/Coupon_20210503160427.js deleted file mode 100644 index 317ccc8..0000000 --- a/.history/routes/Coupon_20210503160427.js +++ /dev/null @@ -1,47 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - {_id:req.body._id}, - { - $set: { - coupon_code: req.body.coupon_code - }, - }, - { new: true }) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503160555.js b/.history/routes/Coupon_20210503160555.js deleted file mode 100644 index 527ec89..0000000 --- a/.history/routes/Coupon_20210503160555.js +++ /dev/null @@ -1,47 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - {_id:req.body._id}, - { - $set: { - coupon_code: req.body.coupon_code - }, - }, - { new: true }) - .then((result) => { - res.status(200).json({ message: req.body.coupon_code }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503160634.js b/.history/routes/Coupon_20210503160634.js deleted file mode 100644 index 317ccc8..0000000 --- a/.history/routes/Coupon_20210503160634.js +++ /dev/null @@ -1,47 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - {_id:req.body._id}, - { - $set: { - coupon_code: req.body.coupon_code - }, - }, - { new: true }) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503160748.js b/.history/routes/Coupon_20210503160748.js deleted file mode 100644 index 45f4363..0000000 --- a/.history/routes/Coupon_20210503160748.js +++ /dev/null @@ -1,47 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code: req.body.coupon_code - } - }, - { new: true }) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503160850.js b/.history/routes/Coupon_20210503160850.js deleted file mode 100644 index 32442f3..0000000 --- a/.history/routes/Coupon_20210503160850.js +++ /dev/null @@ -1,51 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code: req.body.coupon_code - } - }, - { new: true },(err,result)=>{ - if(err){ - return res.status(422).json({error:err}) - }else{ - return res.status(200).json({ message: result }); - } - - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503160852.js b/.history/routes/Coupon_20210503160852.js deleted file mode 100644 index 953dbcc..0000000 --- a/.history/routes/Coupon_20210503160852.js +++ /dev/null @@ -1,50 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code: req.body.coupon_code - } - }, - { new: true },(err,result)=>{ - if(err){ - return res.status(422).json({error:err}) - }else{ - return res.status(200).json({ message: result }); - } - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503160913.js b/.history/routes/Coupon_20210503160913.js deleted file mode 100644 index 58a684a..0000000 --- a/.history/routes/Coupon_20210503160913.js +++ /dev/null @@ -1,50 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - req.body._id, - { - $push: { - coupon_code: req.body.coupon_code - } - }, - { new: true },(err,result)=>{ - if(err){ - return res.status(422).json({error:err}) - }else{ - return res.status(200).json({ message: result }); - } - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503160949.js b/.history/routes/Coupon_20210503160949.js deleted file mode 100644 index 953dbcc..0000000 --- a/.history/routes/Coupon_20210503160949.js +++ /dev/null @@ -1,50 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code: req.body.coupon_code - } - }, - { new: true },(err,result)=>{ - if(err){ - return res.status(422).json({error:err}) - }else{ - return res.status(200).json({ message: result }); - } - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503161113.js b/.history/routes/Coupon_20210503161113.js deleted file mode 100644 index 42a9321..0000000 --- a/.history/routes/Coupon_20210503161113.js +++ /dev/null @@ -1,50 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findOneAndUpdate( - req.body._id, - { - $set: { - coupon_code: req.body.coupon_code - } - }, - { new: true },(err,result)=>{ - if(err){ - return res.status(422).json({error:err}) - }else{ - return res.status(200).json({ message: result }); - } - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503161127.js b/.history/routes/Coupon_20210503161127.js deleted file mode 100644 index 953dbcc..0000000 --- a/.history/routes/Coupon_20210503161127.js +++ /dev/null @@ -1,50 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code: req.body.coupon_code - } - }, - { new: true },(err,result)=>{ - if(err){ - return res.status(422).json({error:err}) - }else{ - return res.status(200).json({ message: result }); - } - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503161157.js b/.history/routes/Coupon_20210503161157.js deleted file mode 100644 index 45f4363..0000000 --- a/.history/routes/Coupon_20210503161157.js +++ /dev/null @@ -1,47 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code: req.body.coupon_code - } - }, - { new: true }) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503161211.js b/.history/routes/Coupon_20210503161211.js deleted file mode 100644 index 45f4363..0000000 --- a/.history/routes/Coupon_20210503161211.js +++ /dev/null @@ -1,47 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code: req.body.coupon_code - } - }, - { new: true }) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503161322.js b/.history/routes/Coupon_20210503161322.js deleted file mode 100644 index 7813150..0000000 --- a/.history/routes/Coupon_20210503161322.js +++ /dev/null @@ -1,48 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - const {coupon_code,percentage} =req.body; - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code,percentage - } - }, - { new: true }) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503161402.js b/.history/routes/Coupon_20210503161402.js deleted file mode 100644 index 7813150..0000000 --- a/.history/routes/Coupon_20210503161402.js +++ /dev/null @@ -1,48 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code } = req.body; - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - const {coupon_code,percentage} =req.body; - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code,percentage - } - }, - { new: true }) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503200453.js b/.history/routes/Coupon_20210503200453.js deleted file mode 100644 index 82be28f..0000000 --- a/.history/routes/Coupon_20210503200453.js +++ /dev/null @@ -1,54 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code ,remainingTimes} = req.body; - if(!coupon_code || !percentage || !remainingTimes){ - return res.status(422).json({error:"Add all fields"}) - }else{ - const coupon = new Coupon({ - coupon_code, - percentage, - remainingTimes - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); -}); - } - - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - const {coupon_code,percentage} =req.body; - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code,percentage - } - }, - { new: true }) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503200528.js b/.history/routes/Coupon_20210503200528.js deleted file mode 100644 index 7cccf4b..0000000 --- a/.history/routes/Coupon_20210503200528.js +++ /dev/null @@ -1,52 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code ,remainingTimes} = req.body; - if(!coupon_code || !percentage || !remainingTimes){ - return res.status(422).json({error:"Add all fields"}) - }else{ - const coupon = new Coupon({ - coupon_code, - percentage, - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); - } -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - const {coupon_code,percentage} =req.body; - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code,percentage - } - }, - { new: true }) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503200538.js b/.history/routes/Coupon_20210503200538.js deleted file mode 100644 index 36980c3..0000000 --- a/.history/routes/Coupon_20210503200538.js +++ /dev/null @@ -1,53 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code ,remainingTimes} = req.body; - if(!coupon_code || !percentage || !remainingTimes){ - return res.status(422).json({error:"Add all fields"}) - }else{ - const coupon = new Coupon({ - coupon_code, - percentage, - remainingTimes - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); - } -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - const {coupon_code,percentage} =req.body; - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code,percentage - } - }, - { new: true }) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/Coupon_20210503200623.js b/.history/routes/Coupon_20210503200623.js deleted file mode 100644 index 36980c3..0000000 --- a/.history/routes/Coupon_20210503200623.js +++ /dev/null @@ -1,53 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const mongoose = require("mongoose"); -const Coupon = mongoose.model("Coupon"); - -router.get("/get-coupon", (req, res) => { - Coupon.find().then((result) => { - res.status(200).json({ coupon: result }); - console.log(result); - }); -}); - -router.post("/set-coupon", (req, res) => { - const { percentage, coupon_code ,remainingTimes} = req.body; - if(!coupon_code || !percentage || !remainingTimes){ - return res.status(422).json({error:"Add all fields"}) - }else{ - const coupon = new Coupon({ - coupon_code, - percentage, - remainingTimes - }); - coupon.save().then((result) => { - res.status(200).json({ message: "Coupon set Successfully" }); - }); - } -}); - -router.delete("/delete-coupon", (req, res) => { - Coupon.remove({ _id: req.body.id }).then((result) => { - res.status(200).json({ message: "Coupon Deleted" }); - }); -}); - -router.put("/update-coupon", (req, res) => { - const {coupon_code,percentage} =req.body; - Coupon.findByIdAndUpdate( - req.body._id, - { - $set: { - coupon_code,percentage - } - }, - { new: true }) - .then((result) => { - res.status(200).json({ message: result }); - }) - .catch((err) => { - console.log(err); - }); -}); - -module.exports = router; diff --git a/.history/routes/auth_20210503150708.js b/.history/routes/auth_20210503150708.js deleted file mode 100644 index 0eeb700..0000000 --- a/.history/routes/auth_20210503150708.js +++ /dev/null @@ -1,12 +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) ; - -module.exports = router ; \ No newline at end of file diff --git a/.history/routes/auth_20210509154824.js b/.history/routes/auth_20210509154824.js deleted file mode 100644 index 59ba658..0000000 --- a/.history/routes/auth_20210509154824.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.get("/getotp", authController.getOTP); - -module.exports = router; diff --git a/.history/routes/auth_20210509164314.js b/.history/routes/auth_20210509164314.js deleted file mode 100644 index 6c04fe6..0000000 --- a/.history/routes/auth_20210509164314.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; From 7c66f436ae2201ba81880b8735649d55e1b14f54 Mon Sep 17 00:00:00 2001 From: yashrajverma Date: Tue, 11 May 2021 19:48:54 +0530 Subject: [PATCH 5/9] Added forgot password --- .history/app_20210509182623.js | 102 +++++++++++ .history/app_20210511125853.js | 102 +++++++++++ .history/controllers/auth_20210509165913.js | 134 ++++++++++++++ .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 +++++++++++++++++++ .history/controllers/auth_20210511193801.js | 188 ++++++++++++++++++++ .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 + app.js | 2 +- controllers/auth.js | 54 ++++++ models/User.js | 4 +- package-lock.json | 14 ++ package.json | 1 + routes/auth.js | 4 + 37 files changed, 3575 insertions(+), 2 deletions(-) create mode 100644 .history/app_20210509182623.js create mode 100644 .history/app_20210511125853.js create mode 100644 .history/controllers/auth_20210509165913.js create mode 100644 .history/controllers/auth_20210511124920.js create mode 100644 .history/controllers/auth_20210511125553.js create mode 100644 .history/controllers/auth_20210511130304.js create mode 100644 .history/controllers/auth_20210511130652.js create mode 100644 .history/controllers/auth_20210511130704.js create mode 100644 .history/controllers/auth_20210511130706.js create mode 100644 .history/controllers/auth_20210511130738.js create mode 100644 .history/controllers/auth_20210511130806.js create mode 100644 .history/controllers/auth_20210511130823.js create mode 100644 .history/controllers/auth_20210511153608.js create mode 100644 .history/controllers/auth_20210511153626.js create mode 100644 .history/controllers/auth_20210511172833.js create mode 100644 .history/controllers/auth_20210511172847.js create mode 100644 .history/controllers/auth_20210511173119.js create mode 100644 .history/controllers/auth_20210511173233.js create mode 100644 .history/controllers/auth_20210511193324.js create mode 100644 .history/controllers/auth_20210511193420.js create mode 100644 .history/controllers/auth_20210511193801.js create mode 100644 .history/models/User_20210509151718.js create mode 100644 .history/models/User_20210511124914.js create mode 100644 .history/models/User_20210511125400.js create mode 100644 .history/models/User_20210511132742.js create mode 100644 .history/routes/auth_20210509164313.js create mode 100644 .history/routes/auth_20210511125551.js create mode 100644 .history/routes/auth_20210511171625.js create mode 100644 .history/routes/auth_20210511171726.js create mode 100644 .history/utils/emailSend_20210511130922.js create mode 100644 .history/utils/emailSend_20210511130932.js diff --git a/.history/app_20210509182623.js b/.history/app_20210509182623.js new file mode 100644 index 0000000..9dec7ab --- /dev/null +++ b/.history/app_20210509182623.js @@ -0,0 +1,102 @@ +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 new file mode 100644 index 0000000..c3b4e48 --- /dev/null +++ b/.history/app_20210511125853.js @@ -0,0 +1,102 @@ +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_20210509165913.js b/.history/controllers/auth_20210509165913.js new file mode 100644 index 0000000..d9b71a4 --- /dev/null +++ b/.history/controllers/auth_20210509165913.js @@ -0,0 +1,134 @@ +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.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/.history/controllers/auth_20210511124920.js b/.history/controllers/auth_20210511124920.js new file mode 100644 index 0000000..f14256a --- /dev/null +++ b/.history/controllers/auth_20210511124920.js @@ -0,0 +1,144 @@ +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 new file mode 100644 index 0000000..c606687 --- /dev/null +++ b/.history/controllers/auth_20210511125553.js @@ -0,0 +1,147 @@ +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 new file mode 100644 index 0000000..52ad595 --- /dev/null +++ b/.history/controllers/auth_20210511130304.js @@ -0,0 +1,147 @@ +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 new file mode 100644 index 0000000..89683fa --- /dev/null +++ b/.history/controllers/auth_20210511130652.js @@ -0,0 +1,148 @@ +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 new file mode 100644 index 0000000..0c75d23 --- /dev/null +++ b/.history/controllers/auth_20210511130704.js @@ -0,0 +1,148 @@ +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 new file mode 100644 index 0000000..09c28ea --- /dev/null +++ b/.history/controllers/auth_20210511130706.js @@ -0,0 +1,148 @@ +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 new file mode 100644 index 0000000..7f4fa1d --- /dev/null +++ b/.history/controllers/auth_20210511130738.js @@ -0,0 +1,148 @@ +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 new file mode 100644 index 0000000..728a15d --- /dev/null +++ b/.history/controllers/auth_20210511130806.js @@ -0,0 +1,148 @@ +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 new file mode 100644 index 0000000..7f4fa1d --- /dev/null +++ b/.history/controllers/auth_20210511130823.js @@ -0,0 +1,148 @@ +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 new file mode 100644 index 0000000..fc612e9 --- /dev/null +++ b/.history/controllers/auth_20210511153608.js @@ -0,0 +1,154 @@ +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 new file mode 100644 index 0000000..9edae01 --- /dev/null +++ b/.history/controllers/auth_20210511153626.js @@ -0,0 +1,154 @@ +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 new file mode 100644 index 0000000..ed79012 --- /dev/null +++ b/.history/controllers/auth_20210511172833.js @@ -0,0 +1,179 @@ +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 new file mode 100644 index 0000000..6847cb1 --- /dev/null +++ b/.history/controllers/auth_20210511172847.js @@ -0,0 +1,179 @@ +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 new file mode 100644 index 0000000..fef654c --- /dev/null +++ b/.history/controllers/auth_20210511173119.js @@ -0,0 +1,179 @@ +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 new file mode 100644 index 0000000..434735d --- /dev/null +++ b/.history/controllers/auth_20210511173233.js @@ -0,0 +1,181 @@ +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 new file mode 100644 index 0000000..624a403 --- /dev/null +++ b/.history/controllers/auth_20210511193324.js @@ -0,0 +1,186 @@ +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 new file mode 100644 index 0000000..624a403 --- /dev/null +++ b/.history/controllers/auth_20210511193420.js @@ -0,0 +1,186 @@ +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_20210511193801.js b/.history/controllers/auth_20210511193801.js new file mode 100644 index 0000000..edae889 --- /dev/null +++ b/.history/controllers/auth_20210511193801.js @@ -0,0 +1,188 @@ +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/models/User_20210509151718.js b/.history/models/User_20210509151718.js new file mode 100644 index 0000000..434b290 --- /dev/null +++ b/.history/models/User_20210509151718.js @@ -0,0 +1,37 @@ +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 new file mode 100644 index 0000000..7c368cd --- /dev/null +++ b/.history/models/User_20210511124914.js @@ -0,0 +1,44 @@ +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 new file mode 100644 index 0000000..8f499eb --- /dev/null +++ b/.history/models/User_20210511125400.js @@ -0,0 +1,51 @@ +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 new file mode 100644 index 0000000..a9efe6e --- /dev/null +++ b/.history/models/User_20210511132742.js @@ -0,0 +1,39 @@ +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 new file mode 100644 index 0000000..6c04fe6 --- /dev/null +++ b/.history/routes/auth_20210509164313.js @@ -0,0 +1,16 @@ +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 new file mode 100644 index 0000000..3ff11bc --- /dev/null +++ b/.history/routes/auth_20210511125551.js @@ -0,0 +1,20 @@ +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 new file mode 100644 index 0000000..279b73d --- /dev/null +++ b/.history/routes/auth_20210511171625.js @@ -0,0 +1,20 @@ +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 new file mode 100644 index 0000000..17b3c92 --- /dev/null +++ b/.history/routes/auth_20210511171726.js @@ -0,0 +1,20 @@ +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 new file mode 100644 index 0000000..e69de29 diff --git a/.history/utils/emailSend_20210511130932.js b/.history/utils/emailSend_20210511130932.js new file mode 100644 index 0000000..226990e --- /dev/null +++ b/.history/utils/emailSend_20210511130932.js @@ -0,0 +1 @@ +const nodemailer = require("nodemailer"); diff --git a/app.js b/app.js index 9dec7ab..c3b4e48 100644 --- a/app.js +++ b/app.js @@ -15,7 +15,7 @@ const cors = require("cors"); 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`; +const MONGO_URI = `mongodb+srv://Cantilever:Cantilever@cluster0.dqxva.mongodb.net/myFirstDatabase?retryWrites=true&w=majority`; app.use(cors()); app.use(bodyparser.json()); diff --git a/controllers/auth.js b/controllers/auth.js index d9b71a4..edae889 100644 --- a/controllers/auth.js +++ b/controllers/auth.js @@ -125,6 +125,60 @@ module.exports.getOTP = (req, res, next) => { } }; +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({ diff --git a/models/User.js b/models/User.js index 434b290..a9efe6e 100644 --- a/models/User.js +++ b/models/User.js @@ -1,5 +1,5 @@ const mongoose = require("mongoose"); - +const crypto = require("crypto"); const Schema = mongoose.Schema; const userSchema = new Schema({ @@ -31,6 +31,8 @@ const userSchema = new Schema({ otp: { type: String, }, + passwordResetToken: String, + passwordResetExpires: Date, //need to add isAdmin }); diff --git a/package-lock.json b/package-lock.json index 2ba48fb..15bf75a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "jsonwebtoken": "^8.5.1", "messagebird": "^3.6.1", "mongoose": "^5.12.2", + "nodemailer": "^6.6.0", "passport": "^0.4.1", "passport-google-oauth": "^2.0.0", "razorpay": "^2.0.6", @@ -1654,6 +1655,14 @@ "node": ">= 0.6" } }, + "node_modules/nodemailer": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.0.tgz", + "integrity": "sha512-ikSMDU1nZqpo2WUPE0wTTw/NGGImTkwpJKDIFPZT+YvvR9Sj+ze5wzu95JHkBMglQLoG2ITxU21WukCC/XsFkg==", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/nodemon": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.7.tgz", @@ -4051,6 +4060,11 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, + "nodemailer": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.0.tgz", + "integrity": "sha512-ikSMDU1nZqpo2WUPE0wTTw/NGGImTkwpJKDIFPZT+YvvR9Sj+ze5wzu95JHkBMglQLoG2ITxU21WukCC/XsFkg==" + }, "nodemon": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.7.tgz", diff --git a/package.json b/package.json index 57493f3..4ed182b 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "jsonwebtoken": "^8.5.1", "messagebird": "^3.6.1", "mongoose": "^5.12.2", + "nodemailer": "^6.6.0", "passport": "^0.4.1", "passport-google-oauth": "^2.0.0", "razorpay": "^2.0.6", diff --git a/routes/auth.js b/routes/auth.js index 6c04fe6..17b3c92 100644 --- a/routes/auth.js +++ b/routes/auth.js @@ -13,4 +13,8 @@ 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; From 09161a2379ef1d8efd9d935c1420c57863c39cb3 Mon Sep 17 00:00:00 2001 From: yashrajverma Date: Tue, 11 May 2021 19:52:30 +0530 Subject: [PATCH 6/9] 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"); From 65e40798f44a55d7ce128c6c65f39dbfb452ce0e Mon Sep 17 00:00:00 2001 From: yashrajverma Date: Tue, 11 May 2021 19:53:32 +0530 Subject: [PATCH 7/9] Added phone auth --- .history/controllers/auth_20210511195315.js | 134 ++++++++++++++++++++ controllers/auth.js | 54 -------- 2 files changed, 134 insertions(+), 54 deletions(-) create mode 100644 .history/controllers/auth_20210511195315.js diff --git a/.history/controllers/auth_20210511195315.js b/.history/controllers/auth_20210511195315.js new file mode 100644 index 0000000..d9b71a4 --- /dev/null +++ b/.history/controllers/auth_20210511195315.js @@ -0,0 +1,134 @@ +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.checkProtected = (req, res, next) => { + console.log(req.user); + res.json({ + message: "Protected", + user: req.user, + }); +}; diff --git a/controllers/auth.js b/controllers/auth.js index edae889..d9b71a4 100644 --- a/controllers/auth.js +++ b/controllers/auth.js @@ -125,60 +125,6 @@ module.exports.getOTP = (req, res, next) => { } }; -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({ From 9b30947c7b0de6fd01ea6a9bc602e0ec21456750 Mon Sep 17 00:00:00 2001 From: yashrajverma Date: Tue, 11 May 2021 19:55:34 +0530 Subject: [PATCH 8/9] Added forgot pass --- .history/controllers/auth_20210511195522.js | 187 ++++++++++++++++++++ controllers/auth.js | 91 ++++++---- 2 files changed, 240 insertions(+), 38 deletions(-) create mode 100644 .history/controllers/auth_20210511195522.js diff --git a/.history/controllers/auth_20210511195522.js b/.history/controllers/auth_20210511195522.js new file mode 100644 index 0000000..70fab0a --- /dev/null +++ b/.history/controllers/auth_20210511195522.js @@ -0,0 +1,187 @@ +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/controllers/auth.js b/controllers/auth.js index 75289d9..70fab0a 100644 --- a/controllers/auth.js +++ b/controllers/auth.js @@ -78,7 +78,6 @@ module.exports.postSignin = async (req, res, next) => { } }; - module.exports.sendOTP = (req, res, next) => { //uNNYosMopvvCW9RTR1tRWJmYC test //llVKD53ve6QRpbCKOHzWBADaS live @@ -90,43 +89,6 @@ module.exports.sendOTP = (req, res, next) => { } else { messagebird.verify.create( phoneNumber, - -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) - if(!user.numLoggedIn) - { - user.numLoggedIn = 0 ; - } - user.numLoggedIn = user.numLoggedIn + 1 ; - res.json( - { - token:token , - isAdmin : user.isAdmin - } - ) - await user.save() ; - } - else - { - res.json({ - message:"email and password doesn't match" , - type:"error" - }) - } - } - else - { template: "Your verification code is %token", }, @@ -162,6 +124,59 @@ module.exports.getOTP = (req, res, next) => { 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); From 1a53c17cb1976afc5e965f5526e4c5a66ffa7ceb Mon Sep 17 00:00:00 2001 From: yashrajverma Date: Tue, 11 May 2021 19:56:47 +0530 Subject: [PATCH 9/9] Added forgot pass --- .history/controllers/auth_20210511194950.js | 134 -------------- .history/controllers/auth_20210511195210.js | 188 -------------------- .history/controllers/auth_20210511195315.js | 134 -------------- .history/controllers/auth_20210511195522.js | 187 ------------------- models/User.js | 36 ---- 5 files changed, 679 deletions(-) delete mode 100644 .history/controllers/auth_20210511194950.js delete mode 100644 .history/controllers/auth_20210511195210.js delete mode 100644 .history/controllers/auth_20210511195315.js delete mode 100644 .history/controllers/auth_20210511195522.js diff --git a/.history/controllers/auth_20210511194950.js b/.history/controllers/auth_20210511194950.js deleted file mode 100644 index d9b71a4..0000000 --- a/.history/controllers/auth_20210511194950.js +++ /dev/null @@ -1,134 +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.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511195210.js b/.history/controllers/auth_20210511195210.js deleted file mode 100644 index edae889..0000000 --- a/.history/controllers/auth_20210511195210.js +++ /dev/null @@ -1,188 +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_20210511195315.js b/.history/controllers/auth_20210511195315.js deleted file mode 100644 index d9b71a4..0000000 --- a/.history/controllers/auth_20210511195315.js +++ /dev/null @@ -1,134 +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.checkProtected = (req, res, next) => { - console.log(req.user); - res.json({ - message: "Protected", - user: req.user, - }); -}; diff --git a/.history/controllers/auth_20210511195522.js b/.history/controllers/auth_20210511195522.js deleted file mode 100644 index 70fab0a..0000000 --- a/.history/controllers/auth_20210511195522.js +++ /dev/null @@ -1,187 +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/models/User.js b/models/User.js index db9528a..a9efe6e 100644 --- a/models/User.js +++ b/models/User.js @@ -3,7 +3,6 @@ const crypto = require("crypto"); const Schema = mongoose.Schema; const userSchema = new Schema({ - firstName: { type: String, required: true, @@ -37,39 +36,4 @@ const userSchema = new Schema({ //need to add isAdmin }); - 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 - } , - numLoggedIn : { - type : Number - } , - clicked : { - type : Object - } - //need to add isAdmin -}) ; - - module.exports = mongoose.model("User", userSchema);