Denys Vuika ea2c0ce229
[PRODENG-211] integrate JS-API with monorepo (part 1) (#9081)
* integrate JS-API with monorepo

* [ci:force] fix token issue

[ci:force] migrate docs folder

[ci:force] clean personal tokens

* [ci:force] gha workflow support

* [ci:force] npm publish target

* fix js-api test linting

* [ci:force] fix test linting, mocks, https scheme

* [ci:force] fix https scheme

* [ci:force] typescript mappings

* [ci:force] update scripts

* lint fixes

* linting fixes

* fix linting

* [ci:force] linting fixes

* linting fixes

* [ci:force] remove js-api upstream and corresponding scripts

* [ci:force] jsdoc fixes

* fix jsdoc linting

* [ci:force] jsdoc fixes

* [ci:force] jsdoc fixes

* jsdoc fixes

* jsdoc fixes

* jsdoc fixes

* [ci:force] fix jsdoc

* [ci:force] reduce code duplication

* replace 'chai' expect with node.js assert

* replace 'chai' expect with node.js assert

* [ci:force] remove chai and chai-spies for js-api testing

* [ci:force] cleanup and fix imports

* [ci:force] fix linting

* [ci:force] fix unit test

* [ci:force] fix sonar linting findings

* [ci:force] switch activiti api models to interfaces (-2.5% reduction of bundle)

* [ci:force] switch activiti api models to interfaces

* [ci:force] switch AGS api models to interfaces

* [ci:force] switch AGS api models to interfaces

* [ci:force] switch search api models to interfaces

* [ci:force] switch content api models to interfaces where applicable
2023-11-21 05:27:51 -05:00

220 lines
13 KiB
Markdown

# CommentsApi
All URIs are relative to *https://localhost/alfresco/api/-default-/public/alfresco/versions/1*
| Method | HTTP request | Description |
|---------------------------------|-------------------------------------------------|------------------|
| [createComment](#createComment) | **POST** /nodes/{nodeId}/comments | Create a comment |
| [deleteComment](#deleteComment) | **DELETE** /nodes/{nodeId}/comments/{commentId} | Delete a comment |
| [listComments](#listComments) | **GET** /nodes/{nodeId}/comments | List comments |
| [updateComment](#updateComment) | **PUT** /nodes/{nodeId}/comments/{commentId} | Update a comment |
## createComment
Create a comment
You specify the comment in a JSON body like this:
```json
{
"content": "This is a comment"
}
```
**Note:** You can create more than one comment by specifying a list of comments in the JSON body like this:
```json
[
{
"content": "This is a comment"
},
{
"content": "This is another comment"
}
]
```
If you specify a list as input, then a paginated list rather than an entry is returned in the response body.
For example:
```json
{
"list": {
"pagination": {
"count": 2,
"hasMoreItems": false,
"totalItems": 2,
"skipCount": 0,
"maxItems": 100
},
"entries": [
{
"entry": {}
},
{
"entry": {}
}
]
}
}
```
**Parameters**
| Name | Type | Description |
|-----------------------|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **nodeId** | string | The identifier of a node. |
| **commentBodyCreate** | [CommentBody](#CommentBody) | The comment text. Note that you can also provide a list of comments. |
| opts.fields | string[] | A list of field names. You can use this parameter to restrict the fields returned within a response if, for example, you want to save on overall bandwidth. The list applies to a returned individual entity or entries within a collection. If the API method also supports the **include** parameter, then the fields specified in the **include** parameter are returned in addition to those specified in the **fields** parameter. |
**Return type**: [CommentEntry](#CommentEntry)
**Example**
```javascript
import { AlfrescoApi, CommentsApi } from '@alfresco/js-api';
const alfrescoApi = new AlfrescoApi(/*..*/);
const commentsApi = new CommentsApi(alfrescoApi);
const opts = {};
const commentBodyCreate = {};
commentsApi.createComment(`<nodeId>`, commentBodyCreate, opts).then((data) => {
console.log('API called successfully. Returned data: ' + data);
});
```
## deleteComment
Delete a comment
**Parameters**
| Name | Type | Description |
|---------------|--------|------------------------------|
| **nodeId** | string | The identifier of a node. |
| **commentId** | string | The identifier of a comment. |
**Example**
```javascript
import { AlfrescoApi, CommentsApi } from '@alfresco/js-api';
const alfrescoApi = new AlfrescoApi(/*..*/);
const commentsApi = new CommentsApi(alfrescoApi);
commentsApi.deleteComment(`<nodeId>`, `<commentId>`).then(() => {
console.log('API called successfully.');
});
```
## listComments
Gets a list of comments for the node **nodeId**, sorted chronologically with the newest comment first.
**Parameters**
| Name | Type | Description | Notes |
|----------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------|
| **nodeId** | string | The identifier of a node. | |
| opts.skipCount | number | The number of entities that exist in the collection before those included in this list. If not supplied then the default value is 0. | default to 0 |
| opts.maxItems | number | The maximum number of items to return in the list. If not supplied then the default value is 100. | default to 100 |
| opts.fields | string[] | A list of field names. You can use this parameter to restrict the fields returned within a response if, for example, you want to save on overall bandwidth. The list applies to a returned individual entity or entries within a collection. If the API method also supports the **include** parameter, then the fields specified in the **include** parameter are returned in addition to those specified in the **fields** parameter. | |
**Return type**: [CommentPaging](#CommentPaging)
**Example**
```javascript
import { AlfrescoApi, CommentsApi } from '@alfresco/js-api';
const alfrescoApi = new AlfrescoApi(/*..*/);
const commentsApi = new CommentsApi(alfrescoApi);
const opts = {};
commentsApi.listComments(`<nodeId>`, opts).then((data) => {
console.log('API called successfully. Returned data: ' + data);
});
```
## updateComment
Update a comment
**Parameters**
| Name | Type | Description |
|-----------------------|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **nodeId** | string | The identifier of a node. |
| **commentId** | string | The identifier of a comment. |
| **commentBodyUpdate** | [CommentBody](#CommentBody) | The JSON representing the comment to be updated. |
| opts.fields | string[] | A list of field names. You can use this parameter to restrict the fields returned within a response if, for example, you want to save on overall bandwidth. The list applies to a returned individual entity or entries within a collection. If the API method also supports the **include** parameter, then the fields specified in the **include** parameter are returned in addition to those specified in the **fields** parameter. |
**Return type**: [CommentEntry](#CommentEntry)
**Example**
```javascript
import { AlfrescoApi, CommentsApi } from '@alfresco/js-api';
const alfrescoApi = new AlfrescoApi(/*..*/);
const commentsApi = new CommentsApi(alfrescoApi);
const commentBodyUpdate = {};
const opts = {};
commentsApi.updateComment(`<nodeId>`, `<commentId>`, commentBodyUpdate, opts).then((data) => {
console.log('API called successfully. Returned data: ' + data);
});
```
# Models
## CommentBody
**Properties**
| Name | Type |
|-------------|--------|
| **content** | string |
## CommentPaging
**Properties**
| Name | Type |
|------|-----------------------------------------|
| list | [CommentPagingList](#CommentPagingList) |
## CommentPagingList
**Properties**
| Name | Type |
|------------|---------------------------------|
| pagination | [Pagination](Pagination.md) |
| entries | [CommentEntry[]](#CommentEntry) |
## CommentEntry
**Properties**
| Name | Type |
|-----------|---------------------|
| **entry** | [Comment](#Comment) |
## Comment
**Properties**
| Name | Type |
|----------------|---------------------|
| **id** | string |
| **title** | string |
| **content** | string |
| **createdBy** | [Person](Person.md) |
| **createdAt** | Date |
| **edited** | boolean |
| **modifiedBy** | [Person](Person.md) |
| **modifiedAt** | Date |
| **canEdit** | boolean |
| **canDelete** | boolean |