| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- // const logger = require('@alias/logger')('growi:routes:forgot-password');
- // const ApiResponse = require('../util/apiResponse');
- module.exports = function(crowi, app) {
- // const PasswordResetOrder = crowi.model('PasswordResetOrder');
- // const User = crowi.model('User');
- // const { appService, mailService, configManager } = crowi;
- // const path = require('path');
- const actions = {};
- const api = {};
- actions.api = api;
- actions.forgotPassword = async function(req, res) {
- return res.render('forgot-password');
- };
- actions.resetPassword = async function(req, res) {
- const { email } = req.DataFromPasswordResetOrderMiddleware;
- return res.render('reset-password', { email });
- };
- // async function sendPasswordResetEmail(email, url, i18n) {
- // return mailService.send({
- // to: email,
- // subject: 'Password Reset',
- // template: path.join(crowi.localeDir, `${i18n}/notifications/passwordReset.txt`),
- // vars: {
- // appTitle: appService.getAppTitle(),
- // email,
- // url,
- // },
- // });
- // }
- // api.post = async function(req, res) {
- // const { email } = req.body;
- // const grobalLang = configManager.getConfig('crowi', 'app:globalLang');
- // const i18n = req.language || grobalLang;
- // const appUrl = appService.getSiteUrl();
- // try {
- // const passwordResetOrderData = await PasswordResetOrder.createPasswordResetOrder(email);
- // const url = new URL(`/forgot-password/${passwordResetOrderData.token}`, appUrl);
- // const oneTimeUrl = url.href;
- // await sendPasswordResetEmail(email, oneTimeUrl, i18n);
- // return res.json(ApiResponse.success());
- // }
- // catch (err) {
- // const msg = 'Error occurred during password reset request procedure';
- // logger.error(err);
- // return res.json(ApiResponse.error(msg));
- // }
- // };
- actions.error = function(req, res) {
- const { reason } = req.params;
- if (reason === 'password-reset-order') {
- return res.render('forgot-password/error', { reason });
- }
- };
- // api.put = async(req, res) => {
- // const { email, newPassword } = req.body;
- // const user = await User.findOne({ email });
- // try {
- // const userData = await user.updatePassword(newPassword);
- // return res.apiv3({ userData });
- // }
- // catch (err) {
- // logger.error(err);
- // return res.json(ApiResponse.error('update-password-failed'));
- // }
- // };
- return actions;
- };
|