resetpassword.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. const { Ticket } = require('../models/ticket.model');
  2. const { User } = require('../models/user.model');
  3. const jwt = require('jsonwebtoken');
  4. const config = require('../config/config.json');
  5. //get user by id
  6. exports.resetPassword = async (req, res, next) => {
  7. User.findOne({ email: req.body.email })
  8. .then(user => {
  9. if (!user) {
  10. return res.status(404).json({success: false, message: 'utilisateur non trouvé avec cette adresse email' });
  11. }
  12. const token = jwt.sign({ userId: user._id, email: user.email, role: user.role }, config.secret_key, { expiresIn: '20m' })
  13. var mailOptions = {
  14. to: req.body.email,
  15. from: 'fatboar.burgers@gmail.com',
  16. subject: 'Activation de compte',
  17. html: `<h2>Cliquez sur ce lien pour renisialiser votre mot de passe</h2>
  18. <p>http://localhost:4000/api/auth/resetpassword/${token}</p> `
  19. };
  20. })
  21. .catch(error => res.status(500).json({ error }));
  22. };
  23. // bcrypt.compare(req.body.password, user.password)
  24. // .then(valid => {
  25. // if (!valid) { return res.status(401).json({success: false, message: 'mot de passe incorrect' }); }
  26. // const token = jwt.sign({ userId: user._id, email: user.email, role: user.role }, config.secret_key, { expiresIn: '10 h' })
  27. // res.status(200).json(
  28. // { success: true, token, expireIn: `${new Date().getTime() + 120000}` })
  29. // })
  30. // .catch(error => res.status(500).json({ error }))