Refactoring
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user