UNPKG

@datadog/datadog-api-client

Version:
480 lines 26.4 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.WidgetsApi = exports.WidgetsApiResponseProcessor = exports.WidgetsApiRequestFactory = void 0; const baseapi_1 = require("../../datadog-api-client-common/baseapi"); const configuration_1 = require("../../datadog-api-client-common/configuration"); const http_1 = require("../../datadog-api-client-common/http/http"); const logger_1 = require("../../../logger"); const ObjectSerializer_1 = require("../models/ObjectSerializer"); const exception_1 = require("../../datadog-api-client-common/exception"); class WidgetsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory { createWidget(experienceType, body, _options) { return __awaiter(this, void 0, void 0, function* () { const _config = _options || this.configuration; // verify required parameter 'experienceType' is not null or undefined if (experienceType === null || experienceType === undefined) { throw new baseapi_1.RequiredError("experienceType", "createWidget"); } // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { throw new baseapi_1.RequiredError("body", "createWidget"); } // Path Params const localVarPath = "/api/v2/widgets/{experience_type}".replace("{experience_type}", encodeURIComponent(String(experienceType))); // Make Request Context const requestContext = _config .getServer("v2.WidgetsApi.createWidget") .makeRequestContext(localVarPath, http_1.HttpMethod.POST); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); // Body Params const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([ "application/json", ]); requestContext.setHeaderParam("Content-Type", contentType); const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "CreateOrUpdateWidgetRequest", ""), contentType); requestContext.setBody(serializedBody); // Apply auth methods (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [ "apiKeyAuth", "appKeyAuth", ]); return requestContext; }); } deleteWidget(experienceType, uuid, _options) { return __awaiter(this, void 0, void 0, function* () { const _config = _options || this.configuration; // verify required parameter 'experienceType' is not null or undefined if (experienceType === null || experienceType === undefined) { throw new baseapi_1.RequiredError("experienceType", "deleteWidget"); } // verify required parameter 'uuid' is not null or undefined if (uuid === null || uuid === undefined) { throw new baseapi_1.RequiredError("uuid", "deleteWidget"); } // Path Params const localVarPath = "/api/v2/widgets/{experience_type}/{uuid}" .replace("{experience_type}", encodeURIComponent(String(experienceType))) .replace("{uuid}", encodeURIComponent(String(uuid))); // Make Request Context const requestContext = _config .getServer("v2.WidgetsApi.deleteWidget") .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE); requestContext.setHeaderParam("Accept", "*/*"); requestContext.setHttpConfig(_config.httpConfig); // Apply auth methods (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [ "apiKeyAuth", "appKeyAuth", ]); return requestContext; }); } getWidget(experienceType, uuid, _options) { return __awaiter(this, void 0, void 0, function* () { const _config = _options || this.configuration; // verify required parameter 'experienceType' is not null or undefined if (experienceType === null || experienceType === undefined) { throw new baseapi_1.RequiredError("experienceType", "getWidget"); } // verify required parameter 'uuid' is not null or undefined if (uuid === null || uuid === undefined) { throw new baseapi_1.RequiredError("uuid", "getWidget"); } // Path Params const localVarPath = "/api/v2/widgets/{experience_type}/{uuid}" .replace("{experience_type}", encodeURIComponent(String(experienceType))) .replace("{uuid}", encodeURIComponent(String(uuid))); // Make Request Context const requestContext = _config .getServer("v2.WidgetsApi.getWidget") .makeRequestContext(localVarPath, http_1.HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); // Apply auth methods (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [ "apiKeyAuth", "appKeyAuth", ]); return requestContext; }); } searchWidgets(experienceType, filterWidgetType, filterCreatorHandle, filterIsFavorited, filterTitle, filterTags, sort, pageNumber, pageSize, _options) { return __awaiter(this, void 0, void 0, function* () { const _config = _options || this.configuration; // verify required parameter 'experienceType' is not null or undefined if (experienceType === null || experienceType === undefined) { throw new baseapi_1.RequiredError("experienceType", "searchWidgets"); } // Path Params const localVarPath = "/api/v2/widgets/{experience_type}".replace("{experience_type}", encodeURIComponent(String(experienceType))); // Make Request Context const requestContext = _config .getServer("v2.WidgetsApi.searchWidgets") .makeRequestContext(localVarPath, http_1.HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); // Query Params if (filterWidgetType !== undefined) { requestContext.setQueryParam("filter[widgetType]", ObjectSerializer_1.ObjectSerializer.serialize(filterWidgetType, "WidgetType", ""), ""); } if (filterCreatorHandle !== undefined) { requestContext.setQueryParam("filter[creatorHandle]", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatorHandle, "string", ""), ""); } if (filterIsFavorited !== undefined) { requestContext.setQueryParam("filter[isFavorited]", ObjectSerializer_1.ObjectSerializer.serialize(filterIsFavorited, "boolean", ""), ""); } if (filterTitle !== undefined) { requestContext.setQueryParam("filter[title]", ObjectSerializer_1.ObjectSerializer.serialize(filterTitle, "string", ""), ""); } if (filterTags !== undefined) { requestContext.setQueryParam("filter[tags]", ObjectSerializer_1.ObjectSerializer.serialize(filterTags, "string", ""), ""); } if (sort !== undefined) { requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "string", ""), ""); } if (pageNumber !== undefined) { requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"), ""); } if (pageSize !== undefined) { requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"), ""); } // Apply auth methods (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [ "apiKeyAuth", "appKeyAuth", ]); return requestContext; }); } updateWidget(experienceType, uuid, body, _options) { return __awaiter(this, void 0, void 0, function* () { const _config = _options || this.configuration; // verify required parameter 'experienceType' is not null or undefined if (experienceType === null || experienceType === undefined) { throw new baseapi_1.RequiredError("experienceType", "updateWidget"); } // verify required parameter 'uuid' is not null or undefined if (uuid === null || uuid === undefined) { throw new baseapi_1.RequiredError("uuid", "updateWidget"); } // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { throw new baseapi_1.RequiredError("body", "updateWidget"); } // Path Params const localVarPath = "/api/v2/widgets/{experience_type}/{uuid}" .replace("{experience_type}", encodeURIComponent(String(experienceType))) .replace("{uuid}", encodeURIComponent(String(uuid))); // Make Request Context const requestContext = _config .getServer("v2.WidgetsApi.updateWidget") .makeRequestContext(localVarPath, http_1.HttpMethod.PUT); requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); // Body Params const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([ "application/json", ]); requestContext.setHeaderParam("Content-Type", contentType); const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "CreateOrUpdateWidgetRequest", ""), contentType); requestContext.setBody(serializedBody); // Apply auth methods (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [ "apiKeyAuth", "appKeyAuth", ]); return requestContext; }); } } exports.WidgetsApiRequestFactory = WidgetsApiRequestFactory; class WidgetsApiResponseProcessor { /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to createWidget * @throws ApiException if the response code was not in [200, 299] */ createWidget(response) { return __awaiter(this, void 0, void 0, function* () { const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WidgetResponse"); return body; } if (response.httpStatusCode === 400 || response.httpStatusCode === 403 || response.httpStatusCode === 429) { const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType); let body; try { body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse"); } catch (error) { logger_1.logger.debug(`Got error deserializing error: ${error}`); throw new exception_1.ApiException(response.httpStatusCode, bodyText); } throw new exception_1.ApiException(response.httpStatusCode, body); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WidgetResponse", ""); return body; } const body = (yield response.body.text()) || ""; throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"'); }); } /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to deleteWidget * @throws ApiException if the response code was not in [200, 299] */ deleteWidget(response) { return __awaiter(this, void 0, void 0, function* () { const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 204) { return; } if (response.httpStatusCode === 400 || response.httpStatusCode === 403 || response.httpStatusCode === 404 || response.httpStatusCode === 429) { const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType); let body; try { body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse"); } catch (error) { logger_1.logger.debug(`Got error deserializing error: ${error}`); throw new exception_1.ApiException(response.httpStatusCode, bodyText); } throw new exception_1.ApiException(response.httpStatusCode, body); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { return; } const body = (yield response.body.text()) || ""; throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"'); }); } /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getWidget * @throws ApiException if the response code was not in [200, 299] */ getWidget(response) { return __awaiter(this, void 0, void 0, function* () { const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WidgetResponse"); return body; } if (response.httpStatusCode === 400 || response.httpStatusCode === 403 || response.httpStatusCode === 404 || response.httpStatusCode === 429) { const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType); let body; try { body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse"); } catch (error) { logger_1.logger.debug(`Got error deserializing error: ${error}`); throw new exception_1.ApiException(response.httpStatusCode, bodyText); } throw new exception_1.ApiException(response.httpStatusCode, body); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WidgetResponse", ""); return body; } const body = (yield response.body.text()) || ""; throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"'); }); } /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to searchWidgets * @throws ApiException if the response code was not in [200, 299] */ searchWidgets(response) { return __awaiter(this, void 0, void 0, function* () { const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WidgetListResponse"); return body; } if (response.httpStatusCode === 400 || response.httpStatusCode === 403 || response.httpStatusCode === 429) { const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType); let body; try { body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse"); } catch (error) { logger_1.logger.debug(`Got error deserializing error: ${error}`); throw new exception_1.ApiException(response.httpStatusCode, bodyText); } throw new exception_1.ApiException(response.httpStatusCode, body); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WidgetListResponse", ""); return body; } const body = (yield response.body.text()) || ""; throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"'); }); } /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to updateWidget * @throws ApiException if the response code was not in [200, 299] */ updateWidget(response) { return __awaiter(this, void 0, void 0, function* () { const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WidgetResponse"); return body; } if (response.httpStatusCode === 400 || response.httpStatusCode === 403 || response.httpStatusCode === 404 || response.httpStatusCode === 429) { const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType); let body; try { body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse"); } catch (error) { logger_1.logger.debug(`Got error deserializing error: ${error}`); throw new exception_1.ApiException(response.httpStatusCode, bodyText); } throw new exception_1.ApiException(response.httpStatusCode, body); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WidgetResponse", ""); return body; } const body = (yield response.body.text()) || ""; throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"'); }); } } exports.WidgetsApiResponseProcessor = WidgetsApiResponseProcessor; class WidgetsApi { constructor(configuration, requestFactory, responseProcessor) { this.configuration = configuration; this.requestFactory = requestFactory || new WidgetsApiRequestFactory(configuration); this.responseProcessor = responseProcessor || new WidgetsApiResponseProcessor(); } /** * Create a new widget for a given experience type. * @param param The request object */ createWidget(param, options) { const requestContextPromise = this.requestFactory.createWidget(param.experienceType, param.body, options); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { return this.responseProcessor.createWidget(responseContext); }); }); } /** * Soft-delete a widget by its UUID for a given experience type. * @param param The request object */ deleteWidget(param, options) { const requestContextPromise = this.requestFactory.deleteWidget(param.experienceType, param.uuid, options); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { return this.responseProcessor.deleteWidget(responseContext); }); }); } /** * Retrieve a widget by its UUID for a given experience type. * @param param The request object */ getWidget(param, options) { const requestContextPromise = this.requestFactory.getWidget(param.experienceType, param.uuid, options); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { return this.responseProcessor.getWidget(responseContext); }); }); } /** * Search and list widgets for a given experience type, with filtering, sorting, and pagination. * * **Response meta** carries totals scoped to the current filter: * - `filtered_total` — widgets matching the filter. * - `created_by_you_total` — among the matches, how many the current user created. * - `favorited_by_you_total` — among the matches, how many the current user has favorited. * - `created_by_anyone_total` — total widgets in the experience type, ignoring filters. * * Each returned widget includes `is_favorited` reflecting the current user's favorite status. * Favoriting itself is performed through the shared favorites API, not this endpoint. * @param param The request object */ searchWidgets(param, options) { const requestContextPromise = this.requestFactory.searchWidgets(param.experienceType, param.filterWidgetType, param.filterCreatorHandle, param.filterIsFavorited, param.filterTitle, param.filterTags, param.sort, param.pageNumber, param.pageSize, options); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { return this.responseProcessor.searchWidgets(responseContext); }); }); } /** * Update a widget by its UUID for a given experience type. This performs a full replacement of the widget definition. * @param param The request object */ updateWidget(param, options) { const requestContextPromise = this.requestFactory.updateWidget(param.experienceType, param.uuid, param.body, options); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) .then((responseContext) => { return this.responseProcessor.updateWidget(responseContext); }); }); } } exports.WidgetsApi = WidgetsApi; //# sourceMappingURL=WidgetsApi.js.map