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.

63 lines 2.37 kB
import API from '../../APICore.js'; import Resource from '../Resource.js'; import Documents from './Documents/Documents.js'; export default class Indexes extends Resource { api; serverlessApi; static baseUrl = `/rest/organizations/${API.orgPlaceholder}/indexes`; static indexBackupUrl = `/rest/organizations/${API.orgPlaceholder}/indexbackups/page`; documents; constructor(api, serverlessApi) { super(api, serverlessApi); this.api = api; this.serverlessApi = serverlessApi; this.documents = new Documents(api, serverlessApi); } list() { return this.api.get(Indexes.baseUrl); } // Same for Copy Index but making sure to pass copyFromId and machineSpec create(indexModal) { return this.api.post(Indexes.baseUrl, indexModal); } delete(indexId) { return this.api.delete(`${Indexes.baseUrl}/${indexId}`); } get(indexId) { return this.api.get(`${Indexes.baseUrl}/${indexId}`); } backup(indexId) { return this.api.post(`${Indexes.baseUrl}/${indexId}/backup`, {}); } getBackups(options) { return this.api.get(this.buildPath(`${Indexes.indexBackupUrl}`, options)); } forceCommit(indexId) { return this.api.post(`${Indexes.baseUrl}/${indexId}/commit`, {}); } readOnly(indexId, isReadOnly) { return this.api.put(this.buildPath(`${Indexes.baseUrl}/${indexId}/readonly`, { isReadOnly }), {}); } resize(indexId, sizeInGibibytes) { return this.api.post(`${Indexes.baseUrl}/${indexId}/resize`, { sizeInGibibytes }); } stats(indexId) { return this.api.get(`${Indexes.baseUrl}/${indexId}/stats`); } isOnline(indexId, isOnline) { return this.api.put(this.buildPath(`${Indexes.baseUrl}/${indexId}/online`, { isOnline }), {}); } restore(indexId, backupId) { return this.api.post(this.buildPath(`${Indexes.baseUrl}/${indexId}/restore`, { backupId }), {}); } getJson(indexId) { return this.api.get(`${Indexes.baseUrl}/${indexId}/configuration`); } editJson(indexId, indexConfig) { return this.api.put(`${Indexes.baseUrl}/${indexId}/configuration`, indexConfig); } editJsonAll(indexConfig) { return this.api.put(`${Indexes.baseUrl}/raw`, indexConfig); } } //# sourceMappingURL=Indexes.js.map