@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
JavaScript
;
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