2016-05-20 01:11:43 +05:30
|
|
|
import { authenticate, changeLang } from 'components/user/actions';
|
2016-05-10 10:47:40 +05:30
|
|
|
|
|
|
|
/**
|
|
|
|
* 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) {
|
2016-05-10 10:47:40 +05:30
|
|
|
// 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-10 10:47:40 +05:30
|
|
|
}
|
2016-05-20 01:11:43 +05:30
|
|
|
|
|
|
|
// auto-detect guests language
|
2016-05-29 00:53:34 +05:30
|
|
|
store.dispatch(changeLang(user.lang)).then(resolve, reject);
|
2016-05-10 10:47:40 +05:30
|
|
|
});
|
|
|
|
}
|