@kineticdata/react
Version:
A React library for the Kinetic Platform
35 lines (34 loc) • 1.64 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.fetchAdapters = void 0;
var _axios = _interopRequireDefault(require("axios"));
var _helpers = require("../../helpers");
var _http = require("../http");
var validateOptions = function validateOptions(functionName, requiredOptions, options) {
var validTypes = ['bridge', 'filestore', 'handler'];
var invalidType = !validTypes.includes(options.type);
var missing = requiredOptions.filter(function (requiredOption) {
return !options[requiredOption];
});
if (missing.length > 0) {
throw new Error("".concat(functionName, " failed! The following required options are missing: ").concat(missing));
}
if (invalidType) {
throw new Error("".concat(functionName, " failed! The provided adapter type (").concat(options.attributeType, ") is not valid. Must be one of ").concat(validTypes.join(', ')));
}
};
var fetchAdapters = exports.fetchAdapters = function fetchAdapters() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
validateOptions('fetchAdapters', ['type'], options);
return _axios["default"].get("".concat(options.slug ? '/app/system-coordinator/components/agent' : (0, _helpers.buildAgentPath)(options), "/app/api/v1/adapters?type=").concat(options.type), {
params: (0, _http.paramBuilder)(options),
headers: (0, _http.headerBuilder)(options)
}).then(function (response) {
return {
adapters: response.data.adapters
};
})["catch"](_http.handleErrors);
};