Refactoring

This commit is contained in:
Scott E. Graves
2019-06-08 14:05:45 -05:00
parent 0e3098eb8e
commit b6b89df37b
3 changed files with 77 additions and 65 deletions

View File

@@ -1,9 +1,57 @@
import * as Constants from '../../constants';
import {createAction} from 'redux-starter-kit';
import {getIPCRenderer} from '../../utils';
import {notifyError} from './error_actions';
import {setAllowDownload} from './download_actions';
import {
setActiveRelease,
setInstalledVersion,
setReleaseUpgradeAvailable
} from './release_version_actions';
const ipcRenderer = getIPCRenderer();
export const checkInstalled = (dependencies, version) => {
return (dispatch, getState) => {
const checkInstalledComplete = (event, arg) => {
ipcRenderer.removeListener(Constants.IPC_Check_Installed_Reply, checkInstalledComplete);
const result = arg.data;
const updateState = () => {
const installedVersion = result.Success && result.Exists ? result.Version : 'none';
const state = getState();
let upgradeAvailable = false;
if (installedVersion !== 'none') {
const latestVersion = state.relver.VersionLookup[Constants.RELEASE_TYPES[state.relver.Release]].length - 1;
let version = state.relver.ReleaseVersion;
if (version === -1) {
version = latestVersion;
dispatch(setActiveRelease(state.relver.Release, version));
} else {
upgradeAvailable = version !== latestVersion;
}
}
dispatch(setReleaseUpgradeAvailable(upgradeAvailable));
dispatch(setAllowDownload(true));
dispatch(setInstalledVersion(installedVersion));
dispatch(setMissingDependencies(result.Dependencies));
};
if (result.Success) {
updateState();
} else {
dispatch(notifyError(result.Error, false, updateState));
}
};
ipcRenderer.on(Constants.IPC_Check_Installed_Reply, checkInstalledComplete);
ipcRenderer.send(Constants.IPC_Check_Installed, {
Dependencies: dependencies,
Version: version,
});
};
};
export const installDependency = (source, url, completedCallback) => {
return (dispatch, getState) => {
if (ipcRenderer && !getState().install.InstallActive) {