diff --git a/consumerWebsite/functions/api.js b/consumerWebsite/functions/api.js index d021cde..4a7a3f5 100644 --- a/consumerWebsite/functions/api.js +++ b/consumerWebsite/functions/api.js @@ -51,7 +51,7 @@ async function addToken(userId, permission, isKey ,expiry) { } async function addPasswordResetToken(data , token){ - let hashtoken = await hash(uuid); + let hashtoken = await hash(token); let currentDate = new Date(); let tokenToLive = new Date(currentDate.getTime() + 15 * 60000); diff --git a/consumerWebsite/functions/nodeMail.js b/consumerWebsite/functions/nodeMail.js index 6ca7d2a..a94bde8 100644 --- a/consumerWebsite/functions/nodeMail.js +++ b/consumerWebsite/functions/nodeMail.js @@ -76,8 +76,7 @@ async function sendTokenEmail(email, token) { } } -async function sendResetPasswordEmail(email, link, resetToken) { - console.log(email); +async function sendResetPasswordEmail(email, resetToken) { try { let resetMessage = await transporter.sendMail({ to: email, @@ -85,10 +84,9 @@ async function sendResetPasswordEmail(email, link, resetToken) { subject: "Reset Password", html: `

Reset Password

-

Reset Password Link: ${link}

-

One time token: ${resetToken}

+

Reset Password Link: Reset Password Link

From: Eco Saver

-

Kindly click on the link and key in the one time token given to reset your password!

+

Kindly click on the link to reset your password!

Regards,

EcoSaver Team

EcoSaver Website

diff --git a/consumerWebsite/routes/auth.js b/consumerWebsite/routes/auth.js index 7b28b01..14116b7 100644 --- a/consumerWebsite/routes/auth.js +++ b/consumerWebsite/routes/auth.js @@ -1,7 +1,13 @@ -const { addUser, loginUser, checkEmail , checkEmailDetails } = require("../functions/user"); +const { + addUser, + loginUser, + checkEmail, + checkEmailDetails, +} = require("../functions/user"); const { sendContactEmail } = require("../functions/nodeMail"); const { generateUUID } = require("../functions/generateUUID"); -const { } = require("../functions/api"); +const { addPasswordResetToken } = require("../functions/api"); +const { sendResetPasswordEmail } = require("../functions/nodeMail"); const express = require("express"); const router = express.Router(); @@ -59,14 +65,12 @@ router.post("/contact", async (req, res, next) => { let error = new Error("Email not found"); error.status = 400; return next(error); - } - else{ + } else { //console.log(Res); sendContactEmail(req.body.email, req.body.name, req.body.message); return res.json({ message: "Email sent successfully", }); - } } catch (error) { console.error(error); @@ -76,47 +80,46 @@ router.post("/contact", async (req, res, next) => { //reset router.post("/checkemail", async (req, res, next) => { - try{ - + try { let Res = await checkEmail(req.body.email); if (!Res) { let error = new Error("Email not found"); error.status = 400; return next(error); - } - else{ + } else { //user info lookup let data = await checkEmailDetails(req.body.email); //console.log(data); - //token generation and insert into token table + //token generation and insert into token table const token = await generateUUID(); - let tokenRes = await addPasswordResetToken(data , token); + let tokenRes = await addPasswordResetToken(data, token); //email user with temp token link if (!tokenRes) return false; //email logic to send reset password link - + sendResetPasswordEmail(req.body.email, token); + return res.json({ message: "Reset Password Link has successfully sent to your email!", }); - } - - }catch (error){ + } catch (error) { console.error(error); next(error); } +}); +router.get("/resetpassword/:token", async (req, res, next) => { + //pass token to reset password page + +}); + +//reset password +router.post("/resetpassword", async (req, res, next) => { }); module.exports = router; - /* - router.get('/login/resetpassword/:token', async function(req, res, next){ - res.render('reset_password', {}); -}); - - */