@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.
137 lines • 6.68 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const Resource_js_1 = tslib_1.__importDefault(require("../../Resource.js"));
class Statements extends Resource_js_1.default {
static getBaseUrl = (pipelineId) => `/rest/search/v2/admin/pipelines/${pipelineId}/statements`;
static getStatementUrl = (pipelineId, statementId) => `${Statements.getBaseUrl(pipelineId)}/${statementId}`;
/**
* Gets a sorted page of query pipeline statements matching certain criteria from a specific query pipeline.
* @param pipelineId The unique identifier of the target query pipeline.
* @param options Listing options.
* @returns The matching statements in the current page of results
*/
list(pipelineId, options) {
return this.api.get(this.buildPath(Statements.getBaseUrl(pipelineId), { organizationId: this.api.organizationId, ...options }));
}
/**
* Exports the definition, condition, and description of statements from a specific query pipeline to a CSV file.
* @param pipelineId The unique identifier of the target query pipeline.
* @param options Export options
* @returns The file containing the exported data.
*/
exportCSV(pipelineId, options) {
return this.api.get(this.buildPath(`${Statements.getBaseUrl(pipelineId)}/export`, {
organizationId: this.api.organizationId,
...options,
}), { responseBodyFormat: 'blob' });
}
/**
* Import the definition, condition, and description of statements from a CSV file to a specific query pipeline.
* @param pipelineId The unique identifier of the target query pipeline.
* @param csvFile The file containing the statements to import.
* @param options Import options
*/
importCSV(pipelineId, csvFile, options) {
const formData = new FormData();
if (typeof csvFile === 'string') {
formData.append('file', csvFile);
}
else {
formData.append('file', csvFile, csvFile.name);
}
return this.api.postForm(this.buildPath(`${Statements.getBaseUrl(pipelineId)}/import`, {
mode: 'overwrite',
organizationId: this.api.organizationId,
...options,
}), formData);
}
/**
* Creates a new query pipeline statement in a specific query pipeline.
* @param pipelineId The unique identifier of the target query pipeline.
* @param model The query pipeline statement information.
* @returns The created statement.
*/
create(pipelineId, model) {
return this.api.post(this.buildPath(Statements.getBaseUrl(pipelineId), { organizationId: this.api.organizationId }), model);
}
/**
* Updates a single query pipeline statement in a specific query pipeline.
* @param pipelineId The unique identifier of the target query pipeline.
* @param statementId The unique identifier of the target statement.
* @param model The updated query pipeline statement information.
* @returns The updated statement.
*/
update(pipelineId, statementId, model) {
return this.api.put(this.buildPath(Statements.getStatementUrl(pipelineId, statementId), {
organizationId: this.api.organizationId,
}), model);
}
/**
* Copies specific statements from an origin to a target query pipeline. Using the same pipeline as origin and target will duplicate the specified statements in that pipeline.
* @param pipelineId The unique identifier of the target query pipeline.
* @param model The copy operation to perform.
* @returns The matching statements in the current page of results.
*/
copy(pipelineId, model) {
return this.api.post(this.buildPath(`${Statements.getBaseUrl(pipelineId)}/copy`, { organizationId: this.api.organizationId }), model);
}
/**
* Gets a single query pipeline statement from a specific query pipeline.
* @param pipelineId The unique identifier of the target query pipeline.
* @param statementId The unique identifier of the target statement.
* @returns The statement
*/
get(pipelineId, statementId) {
return this.api.get(this.buildPath(Statements.getStatementUrl(pipelineId, statementId), {
organizationId: this.api.organizationId,
}));
}
/**
* Sets the position of a query pipeline statement in a specific query pipeline and updates other statement positions as appropriate.
* @param pipelineId The unique identifier of the target query pipeline.
* @param statementId The unique identifier of the target statement.
* @param model The move operation to perform.
* @returns The matching statements in the current page of results.
*/
move(pipelineId, statementId, model) {
return this.api.put(this.buildPath(`${Statements.getStatementUrl(pipelineId, statementId)}/move`, {
organizationId: this.api.organizationId,
}), model);
}
/**
* Deletes a single query pipeline statement from a specific query pipeline.
* @param pipelineId The unique identifier of the target query pipeline.
* @param statementId The unique identifier of the target statement.
*/
delete(pipelineId, statementId) {
return this.api.delete(this.buildPath(Statements.getStatementUrl(pipelineId, statementId), {
organizationId: this.api.organizationId,
}));
}
/**
* Gets a sorted page of query pipeline statements matching certain criteria from a specific query pipeline.
* @param pipelineId The unique identifier of the target query pipeline.
* @param params A set of parameters to customize the results.
* @param params.ids
* @returns The matching statements in the current page of results.
*/
bulkGet(pipelineId, { ids, ...allQueryStringOptions }) {
return this.api.post(this.buildPath(`${Statements.getBaseUrl(pipelineId)}/bulkGet`, {
organizationId: this.api.organizationId,
...allQueryStringOptions,
}), { ids });
}
/**
* Delete multiple statements at once for a specific pipeline.
* @param pipelineId The unique identifier of the target query pipeline.
* @param ids A list of resource identifiers to delete. A maximum of 100 can be sent.
*/
bulkDelete(pipelineId, ids) {
return this.api.post(this.buildPath(`${Statements.getBaseUrl(pipelineId)}/bulkDelete`, {
organizationId: this.api.organizationId,
}), { ids });
}
}
exports.default = Statements;
//# sourceMappingURL=Statements.js.map