@cognigy/rest-api-client
Version:
Cognigy REST-Client
142 lines • 5.63 kB
JavaScript
;
/* Custom Modules */
Object.defineProperty(exports, "__esModule", { value: true });
exports.RestAPIClient = void 0;
/* Plugins */
const PluginBase_1 = require("./PluginBase");
const connector_1 = require("./connector");
const AuthenticationAPI_1 = require("./authentication/AuthenticationAPI");
const AdministrationAPIGroup_2_0_1 = require("./apigroups/AdministrationAPIGroup_2_0");
const AdministrationAPIGroup_2_1_1 = require("./apigroups/AdministrationAPIGroup_2_1");
const ExternalAPIGroup_2_0_1 = require("./apigroups/ExternalAPIGroup_2_0");
const InsightsAPIGroup_2_0_1 = require("./apigroups/InsightsAPIGroup_2_0");
const JWTAuthAPIGroup_2_0_1 = require("./apigroups/JWTAuthAPIGroup_2_0");
const AnalyticsAPIGroup_2_0_1 = require("./apigroups/AnalyticsAPIGroup_2_0");
const ManagementAPIGroup_2_0_1 = require("./apigroups/ManagementAPIGroup_2_0");
const MetricsAPIGroup_2_0_1 = require("./apigroups/MetricsAPIGroup_2_0");
const ResourcesAPIGroup_2_0_1 = require("./apigroups/ResourcesAPIGroup_2_0");
const SessionsAPIGroup_2_0_1 = require("./apigroups/SessionsAPIGroup_2_0");
const logger_1 = require("./shared/helper/logger");
const AIOpsCenterAPIGroup_2_0_1 = require("./apigroups/AIOpsCenterAPIGroup_2_0");
const SimulationAPIGroup_2_0_1 = require("./apigroups/SimulationAPIGroup_2_0");
exports.RestAPIClient = function (config) {
var _a;
if (!(this instanceof exports.RestAPIClient)) {
return new exports.RestAPIClient(config);
}
else {
const plugins = [];
config = config || {};
config.versions = config.versions || {};
config.maxRetries = (_a = config.maxRetries) !== null && _a !== void 0 ? _a : 3;
plugins.push(AuthenticationAPI_1.AuthenticationAPI);
switch (config.versions.resources) {
default:
case "2.0":
plugins.push(ResourcesAPIGroup_2_0_1.ResourcesAPIGroup_2_0);
break;
}
switch (config.versions.administration) {
case "2.1":
plugins.push(AdministrationAPIGroup_2_1_1.AdministrationAPIGroup_2_1);
break;
default:
case "2.0":
plugins.push(AdministrationAPIGroup_2_0_1.AdministrationAPIGroup_2_0);
break;
}
switch (config.versions.insights) {
default:
case "2.0":
plugins.push(InsightsAPIGroup_2_0_1.InsightsAPIGroup_2_0);
break;
}
switch (config.versions.jwt) {
default:
case "2.0":
plugins.push(JWTAuthAPIGroup_2_0_1.JWTAuthAPIGroup_2_0);
break;
}
switch (config.versions.metrics) {
default:
case "2.0":
plugins.push(MetricsAPIGroup_2_0_1.MetricsAPIGroup_2_0);
break;
}
switch (config.versions.sessions) {
default:
case "2.0":
plugins.push(SessionsAPIGroup_2_0_1.SessionsAPIGroup_2_0);
break;
}
switch (config.versions.external) {
default:
case "2.0":
plugins.push(ExternalAPIGroup_2_0_1.ExternalAPIGroup_2_0);
break;
}
switch (config.versions.management) {
default:
case "2.0":
plugins.push(ManagementAPIGroup_2_0_1.ManagementAPIGroup_2_0);
break;
}
switch (config.versions.analytics) {
default:
case "2.0":
plugins.push(AnalyticsAPIGroup_2_0_1.AnalyticsAPIGroup_2_0);
break;
}
switch (config.versions.opsCenter) {
default:
case "2.0":
plugins.push(AIOpsCenterAPIGroup_2_0_1.AIOpsCenterAPIGroup_2_0);
break;
}
switch (config.versions.simulation) {
default:
case "2.0":
plugins.push(SimulationAPIGroup_2_0_1.SimulationAPIGroup_2_0);
break;
}
const Client = PluginBase_1.Base.plugin(plugins);
Client.config = config;
Client.prototype.getHttpAdapter = () => {
var _a;
if (!Client.http) {
if (typeof Client.config.httpAdapter === "object") {
Client.http = Client.config.httpAdapter;
(_a = Client.http) === null || _a === void 0 ? void 0 : _a.setConfig(config);
}
else if (typeof Client.config.httpAdapter === "string" ||
!Client.config.httpAdapter) {
switch (Client.config.httpAdapter) {
case "axios":
default:
Client.http = new connector_1.AxiosAdapter(Client.config);
break;
}
}
}
return Client.http;
};
Client.prototype.setBaseUrl = (baseUrl) => {
Client.config.baseUrl = baseUrl;
};
Client.prototype.getBaseUrl = () => {
return Client.config.baseUrl;
};
Client.prototype.setInterceptors = (value) => {
const { onUnauthorized } = value;
if (onUnauthorized) {
Client.config.onUnauthorized = onUnauthorized;
}
};
if (config.logger) {
(0, logger_1.setLogger)(config.logger);
}
return new Client();
}
};
exports.default = exports.RestAPIClient;
//# sourceMappingURL=RestAPIClient.js.map