Added PhoneAuth
This commit is contained in:
parent
3628971eb8
commit
cd97b83292
|
@ -0,0 +1,3 @@
|
||||||
|
MONGO_USER:Cantilever,
|
||||||
|
MONGO_PASSWORD :Cantilever ,
|
||||||
|
MONGO_DEFAULT_DATABASE :myFirstDatabase
|
|
@ -0,0 +1 @@
|
||||||
|
MONGO_USER:"Cantilever"
|
|
@ -0,0 +1,3 @@
|
||||||
|
"MONGO_USER":"Cantilever",
|
||||||
|
"MONGO_PASSWORD" :"Cantilever" ,
|
||||||
|
"MONGO_DEFAULT_DATABASE" :"myFirstDatabase"
|
|
@ -0,0 +1,3 @@
|
||||||
|
module.export={MONGO_USER:"Cantilever",
|
||||||
|
MONGO_PASSWORD :"Cantilever" ,
|
||||||
|
MONGO_DEFAULT_DATABASE :"myFirstDatabase" }
|
|
@ -0,0 +1,3 @@
|
||||||
|
module.export={MONGO_USER:"Cantilever",
|
||||||
|
MONGO_PASSWORD :"Cantilever" ,
|
||||||
|
MONGO_DEFAULT_DATABASE :"myFirstDatabase" }
|
|
@ -0,0 +1,3 @@
|
||||||
|
MONGO_USER:Cantilever,
|
||||||
|
MONGO_PASSWORD :Cantilever ,
|
||||||
|
MONGO_DEFAULT_DATABASE :myFirstDatabase
|
|
@ -0,0 +1,3 @@
|
||||||
|
MONGO_USER:Cantilever,
|
||||||
|
MONGO_PASSWORD :Cantilever ,
|
||||||
|
MONGO_DEFAULT_DATABASE :myFirstDatabase
|
|
@ -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);
|
||||||
|
});
|
|
@ -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);
|
||||||
|
});
|
|
@ -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);
|
||||||
|
});
|
|
@ -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
|
||||||
|
})
|
||||||
|
}
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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,
|
||||||
|
});
|
||||||
|
};
|
|
@ -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) ;
|
|
@ -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);
|
|
@ -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);
|
|
@ -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 ;
|
|
@ -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;
|
|
@ -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;
|
74
app.js
74
app.js
|
@ -1,25 +1,26 @@
|
||||||
const express = require('express') ;
|
const express = require("express");
|
||||||
const mongoose = require('mongoose') ;
|
const mongoose = require("mongoose");
|
||||||
const bodyparser = require('body-parser') ;
|
const bodyparser = require("body-parser");
|
||||||
const authRoute = require('./routes/auth') ;
|
const authRoute = require("./routes/auth");
|
||||||
const profileRoute = require('./routes/profile') ;
|
const profileRoute = require("./routes/profile");
|
||||||
const paymentRoute = require('./routes/payment') ;
|
const paymentRoute = require("./routes/payment");
|
||||||
const courseRoute = require('./routes/course') ;
|
const courseRoute = require("./routes/course");
|
||||||
const adminRoute = require('./routes/admin') ;
|
const adminRoute = require("./routes/admin");
|
||||||
const port=process.env.PORT || 5000;
|
const port = process.env.PORT || 5000;
|
||||||
|
require("dotenv").config();
|
||||||
|
|
||||||
const cors = require('cors') ;
|
const cors = require("cors");
|
||||||
//const passport = require('passport');
|
//const passport = require('passport');
|
||||||
//const cookieSession = require('cookie-session') ;
|
//const cookieSession = require('cookie-session') ;
|
||||||
//require('./passport-setup') ;
|
//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(cors());
|
||||||
app.use(bodyparser.json()) ;
|
app.use(bodyparser.json());
|
||||||
require('./models/Coupon')
|
require("./models/Coupon");
|
||||||
|
|
||||||
// app.use(cookieSession({
|
// app.use(cookieSession({
|
||||||
// name: 'test-session',
|
// name: 'test-session',
|
||||||
|
@ -34,7 +35,7 @@ require('./models/Coupon')
|
||||||
// else
|
// else
|
||||||
// {
|
// {
|
||||||
// res.json({
|
// res.json({
|
||||||
// error : "No user"
|
// error : "No user"
|
||||||
// })
|
// })
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
@ -42,13 +43,12 @@ require('./models/Coupon')
|
||||||
// app.use(passport.initialize());
|
// app.use(passport.initialize());
|
||||||
// app.use(passport.session());
|
// app.use(passport.session());
|
||||||
|
|
||||||
|
|
||||||
// app.get('/failed' , (req , res) => {
|
// app.get('/failed' , (req , res) => {
|
||||||
// res.json({
|
// res.json({
|
||||||
// error : "You have failed to login"
|
// error : "You have failed to login"
|
||||||
// })
|
// })
|
||||||
// })
|
// })
|
||||||
|
|
||||||
// app.get('/' , (req , res) => {
|
// app.get('/' , (req , res) => {
|
||||||
// console.log('you are not logged in');
|
// console.log('you are not logged in');
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ require('./models/Coupon')
|
||||||
// app.get('/auth/google',
|
// app.get('/auth/google',
|
||||||
// passport.authenticate('google', { scope: ['profile' , 'email'] }));
|
// passport.authenticate('google', { scope: ['profile' , 'email'] }));
|
||||||
|
|
||||||
// app.get('/auth/google/callback',
|
// app.get('/auth/google/callback',
|
||||||
// passport.authenticate('google', { failureRedirect: '/failed' }),
|
// passport.authenticate('google', { failureRedirect: '/failed' }),
|
||||||
// function(req, res) {
|
// function(req, res) {
|
||||||
// res.redirect('/good');
|
// res.redirect('/good');
|
||||||
|
@ -75,25 +75,29 @@ require('./models/Coupon')
|
||||||
// req.logout() ;
|
// req.logout() ;
|
||||||
// res.redirect('/') ;
|
// res.redirect('/') ;
|
||||||
// })
|
// })
|
||||||
app.use(require('./routes/Coupon'))
|
app.use(require("./routes/Coupon"));
|
||||||
app.use(authRoute) ;
|
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
|
||||||
mongoose.connect(MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true ,useFindAndModify:false}).
|
.connect(MONGO_URI, {
|
||||||
then(result => {
|
useNewUrlParser: true,
|
||||||
console.log('connected');
|
useUnifiedTopology: true,
|
||||||
app.listen(port,()=>{
|
useFindAndModify: false,
|
||||||
console.log("server is running on port",port);
|
})
|
||||||
}) ;
|
.then((result) => {
|
||||||
})
|
console.log("connected");
|
||||||
.catch(err => {
|
app.listen(port, () => {
|
||||||
|
console.log("server is running on port", port);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
})
|
});
|
||||||
|
|
|
@ -1,103 +1,134 @@
|
||||||
const bcrypt = require('bcryptjs') ;
|
const bcrypt = require("bcryptjs");
|
||||||
const User = require('../models/User') ;
|
const User = require("../models/User");
|
||||||
const Student = require('../models/Student') ;
|
const Student = require("../models/Student");
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require("jsonwebtoken");
|
||||||
const JWT_secret = "Cantileverlabs";
|
const JWT_secret = "Cantileverlabs";
|
||||||
|
const messagebird = require("messagebird")("llVKD53ve6QRpbCKOHzWBADaS");
|
||||||
|
|
||||||
module.exports.Protected = async (req,res,next)=>{
|
module.exports.Protected = async (req, res, next) => {
|
||||||
res.send("Hello User")
|
res.send("Hello User");
|
||||||
}
|
};
|
||||||
module.exports.postSignup = async (req , res , next) => {
|
module.exports.postSignup = async (req, res, next) => {
|
||||||
try
|
try {
|
||||||
{ //we need firstName , lastName , email , password as input
|
//we need firstName , lastName , email , password as input
|
||||||
let firstName = req.body.firstName || " " ;
|
let firstName = req.body.firstName || " ";
|
||||||
let lastName = req.body.lastName || " " ;
|
let lastName = req.body.lastName || " ";
|
||||||
let email = req.body.email ;
|
let email = req.body.email;
|
||||||
let password = req.body.password ;
|
let password = req.body.password;
|
||||||
let user = await User.findOne({email:email}) ;
|
let user = await User.findOne({ email: email });
|
||||||
if(user)
|
if (user) {
|
||||||
{
|
res.json({
|
||||||
res.json({
|
message: "User already exist",
|
||||||
message:"User already exist" ,
|
type: "error",
|
||||||
type:"error"
|
});
|
||||||
})
|
} else {
|
||||||
}
|
const hashedPass = await bcrypt.hash(password, 12);
|
||||||
else
|
user = new User({
|
||||||
{
|
firstName: firstName,
|
||||||
const hashedPass = await bcrypt.hash(password , 12) ;
|
lastName: lastName,
|
||||||
user = new User({
|
email: email,
|
||||||
firstName : firstName ,
|
password: hashedPass,
|
||||||
lastName : lastName ,
|
isAdmin: false,
|
||||||
email : email ,
|
});
|
||||||
password : hashedPass ,
|
user = await user.save();
|
||||||
isAdmin : false
|
await Student.deleteOne({ user: user._id });
|
||||||
}) ;
|
let student = new Student({
|
||||||
user = await user.save() ;
|
user: user._id,
|
||||||
await Student.deleteOne({user:user._id}) ;
|
});
|
||||||
let student = new Student({
|
student = await student.save();
|
||||||
user:user._id
|
user.student = student._id;
|
||||||
})
|
await user.save();
|
||||||
student = await student.save() ;
|
res.json({
|
||||||
user.student = student._id ;
|
message: "Successfully signed Up",
|
||||||
await user.save() ;
|
type: "success",
|
||||||
res.json({
|
});
|
||||||
message:"Successfully signed Up" ,
|
|
||||||
type:"success"
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch(err)
|
} catch (err) {
|
||||||
{
|
console.log(err);
|
||||||
console.log(err);
|
}
|
||||||
}
|
};
|
||||||
} ;
|
|
||||||
|
|
||||||
|
module.exports.postSignin = async (req, res, next) => {
|
||||||
module.exports.postSignin = async (req , res , next) => {
|
try {
|
||||||
try
|
//we need email and password as input
|
||||||
{
|
let email = req.body.email;
|
||||||
//we need email and password as input
|
let password = req.body.password;
|
||||||
let email = req.body.email ;
|
let user = await User.findOne({ email: email });
|
||||||
let password = req.body.password ;
|
if (user) {
|
||||||
let user = await User.findOne({email : email}) ;
|
const isMatched = await bcrypt.compare(password, user.password);
|
||||||
if(user)
|
if (isMatched) {
|
||||||
{
|
const token = jwt.sign({ _id: user._id }, JWT_secret);
|
||||||
const isMatched = await bcrypt.compare(password , user.password) ;
|
res.json({
|
||||||
if(isMatched)
|
token: token,
|
||||||
{
|
});
|
||||||
const token = jwt.sign({_id:user._id},JWT_secret)
|
} else {
|
||||||
res.json(
|
res.json({
|
||||||
{
|
message: "email and password doesn't match",
|
||||||
token:token
|
type: "error",
|
||||||
}
|
});
|
||||||
)
|
}
|
||||||
}
|
} else {
|
||||||
else
|
res.json({
|
||||||
{
|
message: "No user with this email exists",
|
||||||
res.json({
|
type: "error",
|
||||||
message:"email and password doesn't match" ,
|
});
|
||||||
type:"error"
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
res.json({
|
|
||||||
message:"No user with this email exists" ,
|
|
||||||
type : "error"
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch(err)
|
} catch (err) {
|
||||||
{
|
console.log(err);
|
||||||
console.log(err);
|
}
|
||||||
}
|
};
|
||||||
}
|
|
||||||
|
|
||||||
module.exports.checkProtected = (req , res , next) => {
|
module.exports.sendOTP = (req, res, next) => {
|
||||||
console.log(req.user);
|
//uNNYosMopvvCW9RTR1tRWJmYC test
|
||||||
res.json({
|
//llVKD53ve6QRpbCKOHzWBADaS live
|
||||||
message:"Protected" ,
|
try {
|
||||||
user : req.user
|
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,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
|
@ -1,34 +1,37 @@
|
||||||
const mongoose = require('mongoose') ;
|
const mongoose = require("mongoose");
|
||||||
|
|
||||||
const Schema = mongoose.Schema ;
|
const Schema = mongoose.Schema;
|
||||||
|
|
||||||
const userSchema = new Schema({
|
const userSchema = new Schema({
|
||||||
firstName : {
|
firstName: {
|
||||||
type :String ,
|
type: String,
|
||||||
required : true
|
required: true,
|
||||||
} ,
|
},
|
||||||
lastName : {
|
lastName: {
|
||||||
type:String ,
|
type: String,
|
||||||
required: true
|
required: true,
|
||||||
} ,
|
},
|
||||||
email : {
|
email: {
|
||||||
type:String ,
|
type: String,
|
||||||
required: true
|
required: true,
|
||||||
} ,
|
},
|
||||||
password : {
|
password: {
|
||||||
type : String
|
type: String,
|
||||||
} ,
|
},
|
||||||
googleId : {
|
googleId: {
|
||||||
type : String
|
type: String,
|
||||||
} ,
|
},
|
||||||
student : {
|
student: {
|
||||||
type : mongoose.Types.ObjectId ,
|
type: mongoose.Types.ObjectId,
|
||||||
ref: 'Student'
|
ref: "Student",
|
||||||
} ,
|
},
|
||||||
isAdmin : {
|
isAdmin: {
|
||||||
type : Boolean
|
type: Boolean,
|
||||||
}
|
},
|
||||||
//need to add isAdmin
|
otp: {
|
||||||
}) ;
|
type: String,
|
||||||
|
},
|
||||||
|
//need to add isAdmin
|
||||||
|
});
|
||||||
|
|
||||||
module.exports = mongoose.model("User" , userSchema) ;
|
module.exports = mongoose.model("User", userSchema);
|
||||||
|
|
|
@ -14,8 +14,10 @@
|
||||||
"cookie-session": "^1.4.0",
|
"cookie-session": "^1.4.0",
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
"crypto": "^1.0.1",
|
"crypto": "^1.0.1",
|
||||||
|
"dotenv": "^9.0.1",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"jsonwebtoken": "^8.5.1",
|
"jsonwebtoken": "^8.5.1",
|
||||||
|
"messagebird": "^3.6.1",
|
||||||
"mongoose": "^5.12.2",
|
"mongoose": "^5.12.2",
|
||||||
"passport": "^0.4.1",
|
"passport": "^0.4.1",
|
||||||
"passport-google-oauth": "^2.0.0",
|
"passport-google-oauth": "^2.0.0",
|
||||||
|
@ -695,6 +697,14 @@
|
||||||
"node": ">=8"
|
"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": {
|
"node_modules/duplexer3": {
|
||||||
"version": "0.1.4",
|
"version": "0.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
|
"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",
|
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
|
||||||
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
|
"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": {
|
"node_modules/methods": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
||||||
|
@ -2172,6 +2213,11 @@
|
||||||
"node": ">=6"
|
"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": {
|
"node_modules/semver": {
|
||||||
"version": "5.7.1",
|
"version": "5.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||||
|
@ -3233,6 +3279,11 @@
|
||||||
"is-obj": "^2.0.0"
|
"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": {
|
"duplexer3": {
|
||||||
"version": "0.1.4",
|
"version": "0.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
|
"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",
|
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
|
||||||
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
|
"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": {
|
"methods": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
||||||
|
@ -4437,6 +4504,11 @@
|
||||||
"sparse-bitfield": "^3.0.3"
|
"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": {
|
"semver": {
|
||||||
"version": "5.7.1",
|
"version": "5.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||||
|
|
|
@ -15,8 +15,10 @@
|
||||||
"cookie-session": "^1.4.0",
|
"cookie-session": "^1.4.0",
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
"crypto": "^1.0.1",
|
"crypto": "^1.0.1",
|
||||||
|
"dotenv": "^9.0.1",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"jsonwebtoken": "^8.5.1",
|
"jsonwebtoken": "^8.5.1",
|
||||||
|
"messagebird": "^3.6.1",
|
||||||
"mongoose": "^5.12.2",
|
"mongoose": "^5.12.2",
|
||||||
"passport": "^0.4.1",
|
"passport": "^0.4.1",
|
||||||
"passport-google-oauth": "^2.0.0",
|
"passport-google-oauth": "^2.0.0",
|
||||||
|
|
|
@ -1,12 +1,16 @@
|
||||||
const express = require('express') ;
|
const express = require("express");
|
||||||
const authController = require('../controllers/auth') ;
|
const authController = require("../controllers/auth");
|
||||||
const isAuth = require('../middleware/requirelogin') ;
|
const isAuth = require("../middleware/requirelogin");
|
||||||
const router = express.Router() ;
|
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 ;
|
router.post("/sendotp", authController.sendOTP);
|
||||||
|
|
||||||
|
router.post("/getotp", authController.getOTP);
|
||||||
|
|
||||||
|
module.exports = router;
|
||||||
|
|
Loading…
Reference in New Issue