'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SAVE_AWS_PROFILE = exports.REMOVE_AWS_PROFILE = exports.PENDING_AWS_NETWORK = exports.UPDATE_ACTIVE_AWS_PROFILE = exports.UPDATE_AWS_PROFILES = exports.ADD_AWS_PROFILE = undefined;
exports.addAWSProfile = addAWSProfile;
exports.updateActiveProfile = updateActiveProfile;
exports.pendingNetworkCall = pendingNetworkCall;
exports.updateAWSProfiles = updateAWSProfiles;
exports.fetchAWSProfiles = fetchAWSProfiles;
exports.removeAWSProfile = removeAWSProfile;
exports.updateAWSProfile = updateAWSProfile;
var _network = require('../../network');
var _network2 = _interopRequireDefault(_network);
var _network3 = require('./network');
var netActions = _interopRequireWildcard(_network3);
var _ = require('..');
function _interopRequireWildcard(obj) { Eif (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ADD_AWS_PROFILE = exports.ADD_AWS_PROFILE = 'ADD_AWS_PROFILE';
var UPDATE_AWS_PROFILES = exports.UPDATE_AWS_PROFILES = 'UPDATE_AWS_PROFILES';
var UPDATE_ACTIVE_AWS_PROFILE = exports.UPDATE_ACTIVE_AWS_PROFILE = 'UPDATE_ACTIVE_AWS_PROFILE';
var PENDING_AWS_NETWORK = exports.PENDING_AWS_NETWORK = 'PENDING_AWS_NETWORK';
var REMOVE_AWS_PROFILE = exports.REMOVE_AWS_PROFILE = 'REMOVE_AWS_PROFILE';
var SAVE_AWS_PROFILE = exports.SAVE_AWS_PROFILE = 'SAVE_AWS_PROFILE';
/* eslint-disable no-shadow */
function addAWSProfile() {
return { type: ADD_AWS_PROFILE };
}
function updateActiveProfile(index) {
return { type: UPDATE_ACTIVE_AWS_PROFILE, index: index };
}
function pendingNetworkCall() {
var pending = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
return { type: PENDING_AWS_NETWORK, pending: pending };
}
function updateAWSProfiles(profiles) {
return { type: UPDATE_AWS_PROFILES, profiles: profiles };
}
function fetchAWSProfiles() {
Iif (_.store.getState().preferences.aws.pending) {
return { type: 'NOOP' };
}
return function (dispatch) {
var action = netActions.addNetworkCall('fetch_aws_profiles', 'Retreive AWS profiles');
dispatch(pendingNetworkCall(true));
_network2.default.listAWSProfiles().then(function (resp) {
dispatch(netActions.successNetworkCall(action.id, resp));
dispatch(updateAWSProfiles(resp.data));
dispatch(pendingNetworkCall(false));
}).catch(function (error) {
dispatch(netActions.errorNetworkCall(action.id, error));
dispatch(pendingNetworkCall(false));
});
return action;
};
}
function removeAWSProfile(index, profile) {
if (!profile._id) {
return { type: REMOVE_AWS_PROFILE, index: index };
}
return function (dispatch) {
var action = netActions.addNetworkCall('remove_aws_profile', 'Remove cluster');
dispatch(pendingNetworkCall(true));
_network2.default.deleteAWSProfile(profile._id).then(function (resp) {
dispatch(netActions.successNetworkCall(action.id, resp));
dispatch(pendingNetworkCall(false));
dispatch(fetchAWSProfiles());
}, function (err) {
dispatch(netActions.errorNetworkCall(action.id, err, 'form'));
dispatch(pendingNetworkCall(false));
});
return action;
};
}
function updateAWSProfile(index, profile) {
var pushToServer = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
if (!pushToServer) {
return { type: SAVE_AWS_PROFILE, index: index, profile: profile };
}
return function (dispatch) {
var action = netActions.addNetworkCall('save_aws_profile', 'Save cluster');
dispatch(pendingNetworkCall(true));
_network2.default.createAWSProfile(profile).then(function (resp) {
dispatch(pendingNetworkCall(false));
dispatch(netActions.successNetworkCall(action.id, resp));
dispatch(fetchAWSProfiles());
}, function (err) {
dispatch(netActions.errorNetworkCall(action.id, err, 'form'));
dispatch(pendingNetworkCall(false));
});
return action;
};
}
// Auto trigger actions on authentication change...
_network2.default.onAuthChange(function (authenticated) {
if (!authenticated) {
(0, _.dispatch)(updateAWSProfiles([]));
}
});
|