@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.
71 lines • 3.57 kB
JavaScript
import Resource from '../../Resource.js';
export default class ResultRankings extends Resource {
static getBaseUrl = (pipelineId) => `/rest/search/v2/admin/pipelines/${pipelineId}/resultRankings`;
static getResultRankingsUrl = (pipelineId, resultRankingsId) => `${ResultRankings.getBaseUrl(pipelineId)}/${resultRankingsId}`;
delete(pipelineId, resultRankingsId) {
return this.api.delete(this.buildPath(ResultRankings.getResultRankingsUrl(pipelineId, resultRankingsId), {
organizationId: this.api.organizationId,
}));
}
get(pipelineId, resultRankingsId) {
return this.api.get(this.buildPath(ResultRankings.getResultRankingsUrl(pipelineId, resultRankingsId), {
organizationId: this.api.organizationId,
}));
}
update(pipelineId, resultRankingsId, resultRanking) {
return this.api.put(this.buildPath(ResultRankings.getResultRankingsUrl(pipelineId, resultRankingsId), {
organizationId: this.api.organizationId,
}), resultRanking);
}
updateJSON(pipelineId, resultRankingsId, resultRanking) {
return this.api.put(this.buildPath(ResultRankings.getResultRankingsUrl(pipelineId, resultRankingsId), {
organizationId: this.api.organizationId,
}), undefined, { body: resultRanking, headers: { 'Content-Type': 'application/json' } });
}
list(pipelineId, params) {
return this.api.get(this.buildPath(ResultRankings.getBaseUrl(pipelineId), {
organizationId: this.api.organizationId,
...params,
associatedGroups: JSON.stringify(params?.associatedGroups),
ruleStatuses: JSON.stringify(params?.ruleStatuses),
ruleTypes: JSON.stringify(params?.ruleTypes),
}));
}
create(pipelineId, resultRanking) {
return this.api.post(this.buildPath(ResultRankings.getBaseUrl(pipelineId), {
organizationId: this.api.organizationId,
}), resultRanking);
}
createJSON(pipelineId, resultRanking) {
return this.api.post(this.buildPath(ResultRankings.getBaseUrl(pipelineId), {
organizationId: this.api.organizationId,
}), undefined, { body: resultRanking, headers: { 'Content-Type': 'application/json' } });
}
duplicate(pipelineId, resultRankingsId) {
return this.api.post(this.buildPath(`${ResultRankings.getBaseUrl(pipelineId)}/duplicate/${resultRankingsId}`, {
organizationId: this.api.organizationId,
}));
}
copyTo(pipelineId, copyResultRankingRequest) {
return this.api.post(this.buildPath(`${ResultRankings.getBaseUrl(pipelineId)}/copy`, {
organizationId: this.api.organizationId,
}), copyResultRankingRequest);
}
bulkGet(pipelineId, { ids, ...allQueryStringOptions }) {
return this.api.post(this.buildPath(`${ResultRankings.getBaseUrl(pipelineId)}/bulkGet`, {
organizationId: this.api.organizationId,
...allQueryStringOptions,
}), { ids });
}
/**
* Delete multiple result rankings rules in batch for a specific pipeline.
* @param pipelineId The unique identifier of the target query pipeline.
* @param ids A list of result ranking rule identifiers to delete. A maximum of 100 can be sent.
*/
bulkDelete(pipelineId, ids) {
return this.api.post(this.buildPath(`${ResultRankings.getBaseUrl(pipelineId)}/bulkDelete`, {
organizationId: this.api.organizationId,
}), { ids });
}
}
//# sourceMappingURL=ResultRankings.js.map