UNPKG

@coveo/platform-client

Version:

The main goal of this package is to provide an easy to configure and straightforward way of querying Coveo Cloud APIs using JavaScript.

49 lines 2.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const APICore_js_1 = tslib_1.__importDefault(require("../../APICore.js")); const Resource_js_1 = tslib_1.__importDefault(require("../Resource.js")); const SearchPages_js_1 = tslib_1.__importDefault(require("../SearchPages/SearchPages.js")); /** * In-Product Experiences (also known as In App Widgets) Swagger documentation can * be found at https://platform.cloud.coveo.com/docs?urls.primaryName=Search%20Pages#/In-App, * and shares certain functionality related to IPX interfaces with Search Pages. Swagger * documentation for Search Pages can be found at * https://platform.cloud.coveo.com/docs?urls.primaryName=Search%20Pages#/Search%20pages */ class InProductExperiences extends Resource_js_1.default { static baseUrl = `/rest/organizations/${APICore_js_1.default.orgPlaceholder}`; static ipxBaseUrl = `${InProductExperiences.baseUrl}/pages/inappwidget`; /** * IPX takes advantage of SearchPages for underlying the IPX interface management. * This provides a helper around some methods, but for complete support for e.g. JS/CSS * resource management, use this instance of `SearchPages` directly. */ searchPages; constructor(api, serverlessApi) { super(api, serverlessApi); this.searchPages = new SearchPages_js_1.default(api, serverlessApi); } create(ipx) { return this.api.post(InProductExperiences.ipxBaseUrl, ipx); } update(ipxId, ipx) { return this.api.put(`${InProductExperiences.ipxBaseUrl}/${ipxId}`, ipx); } list(name) { return this.api.get(this.buildPath(`${InProductExperiences.ipxBaseUrl}s`, { name })); } getLoader(ipxId, access_token) { return this.api.get(this.buildPath(`${InProductExperiences.baseUrl}/${ipxId}/inappwidget/loader`, { access_token })); } /** * `delete` is a helper method based on observed behavior of the Coveo UI where deletion logic calls out to the * Search Pages endpoint to delete an IPX. * @param ipxId */ delete(ipxId) { return this.searchPages.delete(ipxId); } } exports.default = InProductExperiences; //# sourceMappingURL=InProductExperiences.js.map