'use strict'; import { altUser } from '../alt'; import UserActions from '../actions/user_actions'; import UserSource from '../sources/user_source'; class UserStore { constructor() { this.currentUser = {}; this.userMeta = { invalidateCache: false, err: null }; this.bindActions(UserActions); this.registerAsync(UserSource); } onFetchCurrentUser(invalidateCache) { this.userMeta.invalidateCache = invalidateCache; if(!this.getInstance().isLoading()) { this.getInstance().lookupCurrentUser(); } } onSuccessFetchCurrentUser({users: [user = {}]}) { this.userMeta.invalidateCache = false; this.userMeta.err = null; this.currentUser = user; } onLogoutCurrentUser() { this.getInstance().performLogoutCurrentUser(); } onSuccessLogoutCurrentUser() { this.currentUser = {}; } onErrorCurrentUser(err) { console.logGlobal(err); this.userMeta.err = err; } } export default altUser.createStore(UserStore, 'UserStore');