62 lines
2.1 KiB
JavaScript
62 lines
2.1 KiB
JavaScript
import { createAction } from 'redux-actions';
|
|
import Api from '../api/Api';
|
|
import { addErrorToast, addSuccessToast } from './index';
|
|
|
|
const apiClient = new Api();
|
|
|
|
export const nextStep = createAction('NEXT_STEP');
|
|
export const prevStep = createAction('PREV_STEP');
|
|
|
|
export const getDefaultAddressesRequest = createAction('GET_DEFAULT_ADDRESSES_REQUEST');
|
|
export const getDefaultAddressesFailure = createAction('GET_DEFAULT_ADDRESSES_FAILURE');
|
|
export const getDefaultAddressesSuccess = createAction('GET_DEFAULT_ADDRESSES_SUCCESS');
|
|
|
|
export const getDefaultAddresses = () => async (dispatch) => {
|
|
dispatch(getDefaultAddressesRequest());
|
|
try {
|
|
const addresses = await apiClient.getDefaultAddresses();
|
|
dispatch(getDefaultAddressesSuccess(addresses));
|
|
} catch (error) {
|
|
dispatch(addErrorToast({ error }));
|
|
dispatch(getDefaultAddressesFailure());
|
|
}
|
|
};
|
|
|
|
export const setAllSettingsRequest = createAction('SET_ALL_SETTINGS_REQUEST');
|
|
export const setAllSettingsFailure = createAction('SET_ALL_SETTINGS_FAILURE');
|
|
export const setAllSettingsSuccess = createAction('SET_ALL_SETTINGS_SUCCESS');
|
|
|
|
export const setAllSettings = values => async (dispatch) => {
|
|
dispatch(setAllSettingsRequest());
|
|
try {
|
|
const {
|
|
confirm_password,
|
|
...config
|
|
} = values;
|
|
|
|
await apiClient.setAllSettings(config);
|
|
dispatch(setAllSettingsSuccess());
|
|
dispatch(addSuccessToast('install_saved'));
|
|
dispatch(nextStep());
|
|
} catch (error) {
|
|
dispatch(addErrorToast({ error }));
|
|
dispatch(setAllSettingsFailure());
|
|
dispatch(prevStep());
|
|
}
|
|
};
|
|
|
|
export const checkConfigRequest = createAction('CHECK_CONFIG_REQUEST');
|
|
export const checkConfigFailure = createAction('CHECK_CONFIG_FAILURE');
|
|
export const checkConfigSuccess = createAction('CHECK_CONFIG_SUCCESS');
|
|
|
|
export const checkConfig = values => async (dispatch) => {
|
|
dispatch(checkConfigRequest());
|
|
try {
|
|
const check = await apiClient.checkConfig(values);
|
|
dispatch(checkConfigSuccess(check));
|
|
} catch (error) {
|
|
dispatch(addErrorToast({ error }));
|
|
dispatch(checkConfigFailure());
|
|
}
|
|
};
|