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

23 lines
613 B
JavaScript
Raw Normal View History

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);
}
});
}