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.

73 lines 2.56 kB
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