Ivan - Add local storage class [skip ci]
This commit is contained in:
parent
bc66d74f73
commit
0e6a73f4eb
|
@ -0,0 +1,39 @@
|
||||||
|
import LocalStorage from 'localstorage';
|
||||||
|
|
||||||
|
class LocalStore {
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
this.setItem = LocalStorage.setItem;
|
||||||
|
this.getItem = LocalStorage.getItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
initialize() {
|
||||||
|
if (this.isRememberDataExpired()) {
|
||||||
|
this.clearRememberData();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!this.getItem('language')) {
|
||||||
|
this.setItem('language', 'english');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
storeRememberData({token, userId, expiration}) {
|
||||||
|
this.setItem('rememberData', {
|
||||||
|
token,
|
||||||
|
userId,
|
||||||
|
expiration
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
isRememberDataExpired() {
|
||||||
|
let rememberData = this.getItem('rememberData');
|
||||||
|
|
||||||
|
return rememberData && rememberData.expirationDate > 2016
|
||||||
|
}
|
||||||
|
|
||||||
|
clearRememberData() {
|
||||||
|
this.setItem('rememberData', null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default new LocalStore();
|
|
@ -1,11 +1,9 @@
|
||||||
import SessionStorage from 'sessionstorage';
|
import SessionStorage from 'sessionstorage';
|
||||||
|
import LocalStore from 'lib-app/local-store';
|
||||||
|
|
||||||
class SessionStore {
|
class SessionStore {
|
||||||
static initialize() {
|
static initialize() {
|
||||||
if (!SessionStorage.getItem('language')) {
|
|
||||||
SessionStorage.setItem('language', 'english');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static createSession(userId, token) {
|
static createSession(userId, token) {
|
||||||
|
|
|
@ -29,8 +29,8 @@ const UserStore = Reflux.createStore({
|
||||||
path: 'user/logout',
|
path: 'user/logout',
|
||||||
onSuccess: function () {
|
onSuccess: function () {
|
||||||
SessionStore.closeSession();
|
SessionStore.closeSession();
|
||||||
this.trigger('LOGOUT');
|
|
||||||
CommonActions.loggedOut();
|
CommonActions.loggedOut();
|
||||||
|
this.trigger('LOGOUT');
|
||||||
}.bind(this)
|
}.bind(this)
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -41,8 +41,8 @@ const UserStore = Reflux.createStore({
|
||||||
|
|
||||||
handleLoginSuccess(result) {
|
handleLoginSuccess(result) {
|
||||||
SessionStore.createSession(result.data.userId, result.data.token);
|
SessionStore.createSession(result.data.userId, result.data.token);
|
||||||
this.trigger('LOGIN_SUCCESS');
|
|
||||||
CommonActions.logged();
|
CommonActions.logged();
|
||||||
|
this.trigger('LOGIN_SUCCESS');
|
||||||
},
|
},
|
||||||
|
|
||||||
handleLoginFail() {
|
handleLoginFail() {
|
||||||
|
|
Loading…
Reference in New Issue