actual/packages/loot-core/src/client/actions/user.js
Tom French 9c0df36e16
Sort import in alphabetical order (#238)
* style: enforce sorting of imports

* style: alphabetize imports

* style: merge duplicated imports
2022-09-02 15:07:24 +01:00

50 lines
1.6 KiB
JavaScript

import { send } from '../../platform/client/fetch';
import constants from '../constants';
import { loadAllFiles, closeBudget } from './budgets';
import { loadGlobalPrefs } from './prefs';
export function getUserData() {
return async dispatch => {
const data = await send('subscribe-get-user');
dispatch({
type: constants.GET_USER_DATA,
data
});
return data;
};
}
export function loggedIn() {
return async dispatch => {
await dispatch(getUserData());
// We want to be careful about how we call loadAllFiles. It will
// turn the files state from null into an array, indicating that
// we've loaded the files at least once. This first attempt at
// loading files is important - the manager uses files to decide
// if it should create a new file automatically (if there are no
// files). If we call it before we have a properly logged in
// user, later on it could trigger the codepath which
// automatically creates a file, but we really haven't loaded
// their files yet.
//
// Since the above comment was written, We let in users even if
// their account is invalid. So we should list all their files
// regardless. Previously, we kicked users out to a "need payment
// info" screen and we didn't want to call this.
dispatch(loadAllFiles());
};
}
export function signOut() {
return async dispatch => {
const data = await send('subscribe-sign-out');
dispatch(getUserData());
dispatch(loadGlobalPrefs());
dispatch(closeBudget());
dispatch({ type: constants.SIGN_OUT });
};
}