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

29 lines
978 B
JavaScript
Raw Normal View History

import logger from 'services/logger';
2016-03-02 02:06:14 +05:30
import AbstractState from './AbstractState';
import PasswordState from './PasswordState';
export default class LoginState extends AbstractState {
enter(context) {
const {auth, user} = context.getState();
2016-03-02 02:06:14 +05:30
// TODO: it may not allow user to leave password state till he click back or enters password
if (auth.login) {
2016-03-02 02:06:14 +05:30
context.setState(new PasswordState());
} else if (user.isGuest
// for the case, when user is logged in and wants to add a new aacount
|| /login|password/.test(context.getRequest().path) // TODO: improve me
) {
2016-03-02 02:06:14 +05:30
context.navigate('/login');
2016-11-13 20:17:56 +05:30
} else {
context.setState(new PasswordState());
2016-03-02 02:06:14 +05:30
}
}
resolve(context, payload) {
context.run('login', payload)
.then(() => context.setState(new PasswordState()))
.catch((err = {}) => err.errors || logger.warn(err));
2016-03-02 02:06:14 +05:30
}
}