const bcrypt = require('bcryptjs') ; const User = require('../models/User') ; module.exports.postSignup = async (req , res , next) => { try { let firstName = req.body.firstName || " " ; let lastName = req.body.lastName || " " ; let email = req.body.email ; let phoneNumber = req.body.phoneNumber ; 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 , phoneNumber : phoneNumber }) ; user = await user.save() ; res.json({ message:"Successfully signed Up" , type:"success" }) } } catch(err) { console.log(err); } } ; module.exports.postSignin = async (req , res , next) => { try { let email = req.body.email ; let password = req.body.password ; let user = await User.findOne({email : email}) ; if(user) { const isMathced = await bcrypt.compare(password , user.password) ; if(isMathced) { res.json({ message:"Logged In" , type : "success" }) } 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); } }