Partial S3 support
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
import * as Constants from '../../constants';
|
||||
import {createAction} from '@reduxjs/toolkit';
|
||||
|
||||
import * as Constants from '../../constants';
|
||||
import {getIPCRenderer} from '../../utils';
|
||||
import {
|
||||
confirmYesNo,
|
||||
saveState
|
||||
} from './common_actions';
|
||||
|
||||
import {confirmYesNo, saveState} from './common_actions';
|
||||
import {notifyError} from './error_actions';
|
||||
|
||||
export const addRemoteMount = (hostNameOrIp, port, token) => {
|
||||
@@ -23,7 +22,8 @@ export const addRemoteMount = (hostNameOrIp, port, token) => {
|
||||
Version: getState().relver.InstalledVersion,
|
||||
});
|
||||
} else {
|
||||
dispatch(notifyError('Failed to set \'RemoteToken\': ' + arg.data.Error));
|
||||
dispatch(
|
||||
notifyError('Failed to set \'RemoteToken\': ' + arg.data.Error));
|
||||
dispatch(setBusy(false));
|
||||
}
|
||||
});
|
||||
@@ -42,15 +42,53 @@ export const addRemoteMount = (hostNameOrIp, port, token) => {
|
||||
};
|
||||
};
|
||||
|
||||
export const addS3Mount = (name, accessKey, secretKey, region, bucketName) => {
|
||||
return (dispatch, getState) => {
|
||||
const ipcRenderer = getIPCRenderer();
|
||||
|
||||
const provider = 'S3' + name;
|
||||
dispatch(addS3Mount2(provider));
|
||||
dispatch(setBusy(true));
|
||||
|
||||
ipcRenderer.once(Constants.IPC_Set_Config_Values_Reply, (_, arg) => {
|
||||
if (arg.data.Success) {
|
||||
ipcRenderer.send(Constants.IPC_Detect_Mount, {
|
||||
Provider: provider,
|
||||
S3Mounts: getState().mounts.S3Mounts,
|
||||
Version: getState().relver.InstalledVersion,
|
||||
});
|
||||
} else {
|
||||
dispatch(
|
||||
notifyError('Failed to create S3 instance: ' + arg.data.Error));
|
||||
dispatch(setBusy(false));
|
||||
}
|
||||
});
|
||||
|
||||
ipcRenderer.send(Constants.IPC_Set_Config_Values, {
|
||||
Items: [
|
||||
{Name: 'S3Config.AccessKey', Value: accessKey},
|
||||
{Name: 'S3Config.SecretKey', Value: secretKey},
|
||||
{Name: 'S3Config.Region', Value: region},
|
||||
{Name: 'S3Config.BucketName', Value: bucketName},
|
||||
],
|
||||
Provider: provider,
|
||||
S3: true,
|
||||
Version: getState().relver.InstalledVersion,
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
export const addRemoteMount2 = createAction('mounts/addRemoteMount2');
|
||||
export const addS3Mount2 = createAction('mounts/addS3Mount2');
|
||||
|
||||
export const DISPLAY_CONFIGURATION = 'mounts/displayConfiguration';
|
||||
export const displayConfiguration = (provider, remote) => {
|
||||
export const displayConfiguration = (provider, remote, s3) => {
|
||||
return {
|
||||
type: DISPLAY_CONFIGURATION,
|
||||
payload: {
|
||||
provider,
|
||||
remote,
|
||||
s3,
|
||||
},
|
||||
};
|
||||
};
|
||||
@@ -58,11 +96,11 @@ export const displayConfiguration = (provider, remote) => {
|
||||
export const removeRemoteMount = provider => {
|
||||
return dispatch => {
|
||||
dispatch(confirmYesNo('Delete [' + provider.substr(6) + ']?'))
|
||||
.then(confirmed => {
|
||||
if (confirmed) {
|
||||
dispatch(removeRemoteMount2(provider));
|
||||
}
|
||||
});
|
||||
.then(confirmed => {
|
||||
if (confirmed) {
|
||||
dispatch(removeRemoteMount2(provider));
|
||||
}
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
@@ -83,67 +121,40 @@ export const removeRemoteMount3 = createAction('mounts/removeRemoteMount3');
|
||||
|
||||
export const RESET_MOUNTS_STATE = 'mounts/resetMountsState';
|
||||
export const resetMountsState = () => {
|
||||
return {
|
||||
type: RESET_MOUNTS_STATE,
|
||||
payload: null,
|
||||
}
|
||||
return {type: RESET_MOUNTS_STATE, payload: null,}
|
||||
};
|
||||
|
||||
export const SET_ALLOW_MOUNT = 'mounts/setAllowMount';
|
||||
export const setAllowMount = (provider, allow) => {
|
||||
return {
|
||||
type: SET_ALLOW_MOUNT,
|
||||
payload: {
|
||||
provider,
|
||||
allow
|
||||
}
|
||||
export const setAllowMount =
|
||||
(provider,
|
||||
allow) => {
|
||||
return {type: SET_ALLOW_MOUNT, payload: {provider, allow}};
|
||||
};
|
||||
};
|
||||
|
||||
export const SET_AUTO_MOUNT_PROCESSED = 'mounts/setAutoMountProcessed';
|
||||
export const setAutoMountProcessed = (provider, processed) => {
|
||||
return {
|
||||
type: SET_AUTO_MOUNT_PROCESSED,
|
||||
payload: {
|
||||
provider,
|
||||
processed
|
||||
}
|
||||
};
|
||||
return {type: SET_AUTO_MOUNT_PROCESSED, payload: {provider, processed}};
|
||||
};
|
||||
|
||||
export const setBusy = createAction('mounts/setBusy');
|
||||
|
||||
export const SET_MOUNT_STATE = 'mounts/setMountState';
|
||||
export const setMountState = (provider, state) => {
|
||||
return {
|
||||
type: SET_MOUNT_STATE,
|
||||
payload: {
|
||||
provider,
|
||||
state
|
||||
}
|
||||
export const setMountState =
|
||||
(provider,
|
||||
state) => {
|
||||
return {type: SET_MOUNT_STATE, payload: {provider, state}};
|
||||
};
|
||||
};
|
||||
|
||||
export const SET_MOUNTED = 'mounts/setMounted';
|
||||
export const setMounted = (provider, mounted) => {
|
||||
return {
|
||||
type: SET_MOUNTED,
|
||||
payload: {
|
||||
provider,
|
||||
mounted
|
||||
}
|
||||
export const setMounted =
|
||||
(provider,
|
||||
mounted) => {
|
||||
return {type: SET_MOUNTED, payload: {provider, mounted}};
|
||||
};
|
||||
};
|
||||
|
||||
export const SET_PROVIDER_STATE = 'mounts/setProviderState';
|
||||
export const setProviderState = (provider, state) => {
|
||||
return {
|
||||
type: SET_PROVIDER_STATE,
|
||||
payload: {
|
||||
provider,
|
||||
state
|
||||
}
|
||||
}
|
||||
return {type: SET_PROVIDER_STATE, payload: {provider, state}}
|
||||
};
|
||||
|
||||
export const unmountAll = completedCallback => {
|
||||
|
||||
Reference in New Issue
Block a user