@cognigy/rest-api-client
Version:
Cognigy REST-Client
139 lines • 5.1 kB
JavaScript
/* Custom Modules */
/* Plugins */
import { Base } from "./PluginBase";
import { AxiosAdapter } from "./connector";
import { AuthenticationAPI } from "./authentication/AuthenticationAPI";
import { AdministrationAPIGroup_2_0 } from "./apigroups/AdministrationAPIGroup_2_0";
import { AdministrationAPIGroup_2_1 } from "./apigroups/AdministrationAPIGroup_2_1";
import { ExternalAPIGroup_2_0 } from "./apigroups/ExternalAPIGroup_2_0";
import { InsightsAPIGroup_2_0 } from "./apigroups/InsightsAPIGroup_2_0";
import { JWTAuthAPIGroup_2_0 } from "./apigroups/JWTAuthAPIGroup_2_0";
import { AnalyticsAPIGroup_2_0 } from "./apigroups/AnalyticsAPIGroup_2_0";
import { ManagementAPIGroup_2_0 } from "./apigroups/ManagementAPIGroup_2_0";
import { MetricsAPIGroup_2_0 } from "./apigroups/MetricsAPIGroup_2_0";
import { ResourcesAPIGroup_2_0 } from "./apigroups/ResourcesAPIGroup_2_0";
import { SessionsAPIGroup_2_0 } from "./apigroups/SessionsAPIGroup_2_0";
import { setLogger } from "./shared/helper/logger";
import { AIOpsCenterAPIGroup_2_0 } from "./apigroups/AIOpsCenterAPIGroup_2_0";
import { SimulationAPIGroup_2_0 } from "./apigroups/SimulationAPIGroup_2_0";
export const RestAPIClient = function (config) {
var _a;
if (!(this instanceof RestAPIClient)) {
return new 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);
switch (config.versions.resources) {
default:
case "2.0":
plugins.push(ResourcesAPIGroup_2_0);
break;
}
switch (config.versions.administration) {
case "2.1":
plugins.push(AdministrationAPIGroup_2_1);
break;
default:
case "2.0":
plugins.push(AdministrationAPIGroup_2_0);
break;
}
switch (config.versions.insights) {
default:
case "2.0":
plugins.push(InsightsAPIGroup_2_0);
break;
}
switch (config.versions.jwt) {
default:
case "2.0":
plugins.push(JWTAuthAPIGroup_2_0);
break;
}
switch (config.versions.metrics) {
default:
case "2.0":
plugins.push(MetricsAPIGroup_2_0);
break;
}
switch (config.versions.sessions) {
default:
case "2.0":
plugins.push(SessionsAPIGroup_2_0);
break;
}
switch (config.versions.external) {
default:
case "2.0":
plugins.push(ExternalAPIGroup_2_0);
break;
}
switch (config.versions.management) {
default:
case "2.0":
plugins.push(ManagementAPIGroup_2_0);
break;
}
switch (config.versions.analytics) {
default:
case "2.0":
plugins.push(AnalyticsAPIGroup_2_0);
break;
}
switch (config.versions.opsCenter) {
default:
case "2.0":
plugins.push(AIOpsCenterAPIGroup_2_0);
break;
}
switch (config.versions.simulation) {
default:
case "2.0":
plugins.push(SimulationAPIGroup_2_0);
break;
}
const Client = 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 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) {
setLogger(config.logger);
}
return new Client();
}
};
export default RestAPIClient;
//# sourceMappingURL=RestAPIClient.js.map