accounts-frontend/src/components/user/factory.js

23 lines
638 B
JavaScript
Raw Normal View History

2016-05-20 01:11:43 +05:30
import { authenticate, changeLang } from 'components/user/actions';
/**
* Initializes User state with the fresh data
*
* @param {Object} store - redux store
*
* @return {Promise} a promise, that resolves in User state
*/
export function factory(store) {
return new Promise((resolve, reject) => {
2016-05-20 01:11:43 +05:30
const {user} = store.getState();
if (user.token) {
// authorizing user if it is possible
2016-05-20 01:11:43 +05:30
return store.dispatch(authenticate(user.token)).then(resolve, reject);
}
2016-05-20 01:11:43 +05:30
// auto-detect guests language
store.dispatch(changeLang(user.lang)).then(resolve, reject);
});
}