@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.
73 lines • 2.56 kB
JavaScript
import API from '../../APICore.js';
import Resource from '../Resource.js';
export default class Project extends Resource {
static baseUrl = `/rest/organizations/${API.orgPlaceholder}/projects`;
/**
* Returns a paginated list of projects.
* @param params
* @returns A paginated list of projects
*/
list(params) {
return this.api.get(this.buildPath(Project.baseUrl, params));
}
/**
* Creates and returns a new project.
* @param project
* @returns The newly created project
*/
create(project) {
return this.api.post(this.buildPath(Project.baseUrl), project);
}
/**
* Updates a project with the model sent and returns the updated project.
* @param projectId
* @param updateProjectModel
* @returns The updated project
*/
update(projectId, updateProjectModel) {
return this.api.put(this.buildPath(`${Project.baseUrl}/${projectId}`), updateProjectModel);
}
/**
* Returns a project.
* @param projectId
* @returns The project specified by the provided id
*/
get(projectId) {
return this.api.get(this.buildPath(`${Project.baseUrl}/${projectId}`));
}
/**
* Deletes a project.
* @param projectId
*/
delete(projectId) {
return this.api.delete(this.buildPath(`${Project.baseUrl}/${projectId}`));
}
/**
* Returns resource IDs grouped by resource status, for a given project.
* @param projectId
* @returns A series of resource IDs grouped by their status and resource type.
*/
listResourcesByStatus(projectId) {
return this.api.get(this.buildPath(`${Project.baseUrl}/${projectId}/resources`));
}
/**
* Returns a paginated list of resources associated to a project.
* @param projectId
* @param resourceType
* @param params
* @returns A paginated list of resources associated to a project.
*/
listResources(projectId, resourceType, params) {
return this.api.get(this.buildPath(`${Project.baseUrl}/${projectId}/resources/${resourceType}`, params));
}
/**
* Returns a list of project IDs associated to the provided resource IDs.
* @param resourceType
* @param resourceIds
* @returns List of project IDs associated to the provided resource IDs.
*/
listAssociatedProjects(resourceType, resourceIds) {
return this.api.post(this.buildPath(`${Project.baseUrl}/resources/ids`, { resourceType }), resourceIds);
}
}
//# sourceMappingURL=Project.js.map