accounts-frontend/src/services/authFlow/ForgotPasswordState.js

39 lines
1022 B
JavaScript
Raw Normal View History

import logger from 'services/logger';
2016-03-02 02:06:14 +05:30
import AbstractState from './AbstractState';
import LoginState from './LoginState';
import RecoverPasswordState from './RecoverPasswordState';
2016-03-02 02:06:14 +05:30
export default class ForgotPasswordState extends AbstractState {
enter(context) {
context.navigate('/forgot-password');
}
resolve(context, payload = {}) {
const login = payload.email || this.getLogin(context);
context.run('forgotPassword', {login})
.then(() => {
context.run('setLogin', login);
context.setState(new RecoverPasswordState());
})
.catch((err = {}) =>
err.errors || logger.warn('Error requesting password recoverage', err)
);
2016-03-02 02:06:14 +05:30
}
goBack(context) {
context.setState(new LoginState());
}
reject(context) {
context.setState(new RecoverPasswordState());
}
getLogin(context) {
2016-11-23 11:35:28 +05:30
const {auth} = context.getState();
2016-11-23 11:35:28 +05:30
return auth.login;
2016-03-02 02:06:14 +05:30
}
}