@@ -11,7 +11,10 @@ module.exports.Signup = async (req, res, next) => {
1111 if ( existingUser ) {
1212 return res . json ( { message : "User already exists" } ) ;
1313 }
14- const user = await User . create ( { email, password, username, role} ) ;
14+
15+ //hash password only when new user created
16+ const hashPassword = await bcrypt . hash ( password , 12 ) ;
17+ const user = await User . create ( { email, password :hashPassword , username, role} ) ;
1518 res
1619 . status ( 201 )
1720 . json ( { message : "User signed in successfully" , success : true } ) ;
@@ -45,9 +48,10 @@ module.exports.Login = async (req, res, next) => {
4548
4649module . exports . sendOTP = async ( req , res ) => {
4750 try {
48- const { userId } = req . body ;
49- const user = await User . findById ( userId ) ;
51+ const { email } = req . body ;
52+ const user = await User . findOne ( { email } ) ;
5053
54+ //generate otp from otplib
5155 const otp = authenticator . generate ( process . env . OTP_SECRET ) ;
5256
5357 user . otpToken = otp ;
@@ -56,7 +60,7 @@ module.exports.sendOTP = async(req, res)=>{
5660 await user . save ( ) ;
5761
5862 await sendEmail ( {
59- email : user . email ,
63+ email : email ,
6064 subject : "OTP Verification" ,
6165 message : `Your One-Time Password(OTP) is: ${ otp } `
6266 } ) ;
@@ -65,18 +69,18 @@ module.exports.sendOTP = async(req, res)=>{
6569 }
6670 catch ( err ) {
6771 console . error ( err ) ;
68- return res . status ( 500 ) . json ( { error : "Something is wrong. Please try after some time." } ) ;
72+ return res . status ( 500 ) . json ( { error : "Something is wrong. Please try after some time." , success : false } ) ;
6973 }
7074}
7175
7276module . exports . verifyOTP = async ( req , res ) => {
7377 try {
74- const { userId , otp } = req . body ;
75- const user = await User . findById ( userId ) ;
78+ const { email , otpCode } = req . body ;
79+ const user = await User . findOne ( { email } ) ;
7680
7781 const currentTime = Date . now ( ) ;
7882 //check otp is valid or not
79- if ( otp !== user . otpToken || currentTime > user . optExpiry ) {
83+ if ( otpCode !== user . otpToken || currentTime > user . optExpiry ) {
8084 return res . status ( 400 ) . json ( { error : "Invalid OTP" } ) ;
8185 }
8286
@@ -87,10 +91,10 @@ module.exports.verifyOTP = async(req, res)=>{
8791 } ) ;
8892 res
8993 . status ( 200 )
90- . json ( { message : "OTP verified" , success : true , token } ) ;
94+ . json ( { message : "OTP verified" , success : true , token : token } ) ;
9195 }
9296 catch ( err ) {
9397 console . error ( err ) ;
94- return res . status ( 500 ) . json ( { error : "Something is wrong. Please try after some time." } )
98+ return res . status ( 500 ) . json ( { error : "Something is wrong. Please try after some time." , success : false } )
9599 }
96100}
0 commit comments