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.

77 lines 2.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const APICore_js_1 = tslib_1.__importDefault(require("../../APICore.js")); const Resource_js_1 = tslib_1.__importDefault(require("../Resource.js")); class Project extends Resource_js_1.default { static baseUrl = `/rest/organizations/${APICore_js_1.default.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); } } exports.default = Project; //# sourceMappingURL=Project.js.map