Init user state before app initialization. Moved i18n logic into coresponding service

This commit is contained in:
SleepWalker
2016-05-10 08:17:40 +03:00
parent 651ec10c62
commit 6ca594cf65
4 changed files with 77 additions and 48 deletions

View File

@@ -0,0 +1,22 @@
import { authenticate } 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) {
const state = store.getState();
return new Promise((resolve, reject) => {
if (state.user.token) {
// authorizing user if it is possible
store.dispatch(authenticate(state.user.token))
.then(() => resolve(store.getState().user), reject);
} else {
resolve(state.user);
}
});
}