UNPKG

@cognigy/rest-api-client

Version:

Cognigy REST-Client

142 lines 5.63 kB
"use strict"; /* 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