forgot-password.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. // const logger = require('@alias/logger')('growi:routes:forgot-password');
  2. // const ApiResponse = require('../util/apiResponse');
  3. module.exports = function(crowi, app) {
  4. // const PasswordResetOrder = crowi.model('PasswordResetOrder');
  5. // const User = crowi.model('User');
  6. // const { appService, mailService, configManager } = crowi;
  7. // const path = require('path');
  8. const actions = {};
  9. const api = {};
  10. actions.api = api;
  11. actions.forgotPassword = async function(req, res) {
  12. return res.render('forgot-password');
  13. };
  14. actions.resetPassword = async function(req, res) {
  15. const { email } = req.DataFromPasswordResetOrderMiddleware;
  16. return res.render('reset-password', { email });
  17. };
  18. // async function sendPasswordResetEmail(email, url, i18n) {
  19. // return mailService.send({
  20. // to: email,
  21. // subject: 'Password Reset',
  22. // template: path.join(crowi.localeDir, `${i18n}/notifications/passwordReset.txt`),
  23. // vars: {
  24. // appTitle: appService.getAppTitle(),
  25. // email,
  26. // url,
  27. // },
  28. // });
  29. // }
  30. // api.post = async function(req, res) {
  31. // const { email } = req.body;
  32. // const grobalLang = configManager.getConfig('crowi', 'app:globalLang');
  33. // const i18n = req.language || grobalLang;
  34. // const appUrl = appService.getSiteUrl();
  35. // try {
  36. // const passwordResetOrderData = await PasswordResetOrder.createPasswordResetOrder(email);
  37. // const url = new URL(`/forgot-password/${passwordResetOrderData.token}`, appUrl);
  38. // const oneTimeUrl = url.href;
  39. // await sendPasswordResetEmail(email, oneTimeUrl, i18n);
  40. // return res.json(ApiResponse.success());
  41. // }
  42. // catch (err) {
  43. // const msg = 'Error occurred during password reset request procedure';
  44. // logger.error(err);
  45. // return res.json(ApiResponse.error(msg));
  46. // }
  47. // };
  48. actions.error = function(req, res) {
  49. const { reason } = req.params;
  50. if (reason === 'password-reset-order') {
  51. return res.render('forgot-password/error', { reason });
  52. }
  53. };
  54. // api.put = async(req, res) => {
  55. // const { email, newPassword } = req.body;
  56. // const user = await User.findOne({ email });
  57. // try {
  58. // const userData = await user.updatePassword(newPassword);
  59. // return res.apiv3({ userData });
  60. // }
  61. // catch (err) {
  62. // logger.error(err);
  63. // return res.json(ApiResponse.error('update-password-failed'));
  64. // }
  65. // };
  66. return actions;
  67. };