Check upstream length in component
This commit is contained in:
parent
f727f999f9
commit
c2a2b3ea6a
|
@ -428,26 +428,21 @@ export const testUpstreamSuccess = createAction('TEST_UPSTREAM_SUCCESS');
|
||||||
export const testUpstream = servers => async (dispatch) => {
|
export const testUpstream = servers => async (dispatch) => {
|
||||||
dispatch(testUpstreamRequest());
|
dispatch(testUpstreamRequest());
|
||||||
try {
|
try {
|
||||||
if (servers.length > 0) {
|
const upstreamResponse = await apiClient.testUpstream(servers);
|
||||||
const upstreamResponse = await apiClient.testUpstream(servers);
|
|
||||||
|
|
||||||
const testMessages = Object.keys(upstreamResponse).map((key) => {
|
const testMessages = Object.keys(upstreamResponse).map((key) => {
|
||||||
const message = upstreamResponse[key];
|
const message = upstreamResponse[key];
|
||||||
if (message !== 'OK') {
|
if (message !== 'OK') {
|
||||||
dispatch(addErrorToast({ error: `Server "${key}": could not be used, please check that you've written it correctly` }));
|
dispatch(addErrorToast({ error: `Server "${key}": could not be used, please check that you've written it correctly` }));
|
||||||
}
|
|
||||||
return message;
|
|
||||||
});
|
|
||||||
|
|
||||||
if (testMessages.every(message => message === testMessages[0])) {
|
|
||||||
dispatch(addSuccessToast('All servers is OK'));
|
|
||||||
}
|
}
|
||||||
|
return message;
|
||||||
|
});
|
||||||
|
|
||||||
dispatch(testUpstreamSuccess());
|
if (testMessages.every(message => message === testMessages[0])) {
|
||||||
} else {
|
dispatch(addSuccessToast('All servers is OK'));
|
||||||
dispatch(addErrorToast({ error: 'No servers specified' }));
|
|
||||||
dispatch(testUpstreamFailure());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dispatch(testUpstreamSuccess());
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(addErrorToast({ error }));
|
dispatch(addErrorToast({ error }));
|
||||||
dispatch(testUpstreamFailure());
|
dispatch(testUpstreamFailure());
|
||||||
|
|
|
@ -44,7 +44,11 @@ export default class Settings extends Component {
|
||||||
};
|
};
|
||||||
|
|
||||||
handleUpstreamTest = () => {
|
handleUpstreamTest = () => {
|
||||||
this.props.testUpstream(this.props.settings.upstream);
|
if (this.props.settings.upstream.length > 0) {
|
||||||
|
this.props.testUpstream(this.props.settings.upstream);
|
||||||
|
} else {
|
||||||
|
this.props.addErrorToast({ error: 'No servers specified' });
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
renderSettings = (settings) => {
|
renderSettings = (settings) => {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
import { initSettings, toggleSetting, handleUpstreamChange, setUpstream, testUpstream } from '../actions';
|
import { initSettings, toggleSetting, handleUpstreamChange, setUpstream, testUpstream, addErrorToast } from '../actions';
|
||||||
import Settings from '../components/Settings';
|
import Settings from '../components/Settings';
|
||||||
|
|
||||||
const mapStateToProps = (state) => {
|
const mapStateToProps = (state) => {
|
||||||
|
@ -14,6 +14,7 @@ const mapDispatchToProps = {
|
||||||
handleUpstreamChange,
|
handleUpstreamChange,
|
||||||
setUpstream,
|
setUpstream,
|
||||||
testUpstream,
|
testUpstream,
|
||||||
|
addErrorToast,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default connect(
|
export default connect(
|
||||||
|
|
Loading…
Reference in New Issue