From 1d517d3a8a6cb094df12fb60099aa39cc1325396 Mon Sep 17 00:00:00 2001 From: Andy Stark <30621568+therealandeeee@users.noreply.github.com> Date: Sun, 8 Apr 2018 16:23:04 +0100 Subject: [PATCH] [ADF-2557] Updated docs with new props script (#3149) * [ADF-2557] Updated docs for services with new props script * [ADF-2557] Updated service docs with new props script --- .../content-services/document-list.service.md | 85 ++++--- .../folder-actions.service.md | 29 ++- docs/content-services/tag.service.md | 35 +-- docs/core/apps-process.service.md | 40 ++++ docs/core/comment-process.service.md | 33 ++- docs/core/deleted-nodes-api.service.md | 13 +- docs/core/discovery-api.service.md | 15 +- docs/core/ecm-user.service.md | 24 +- docs/core/nodes-api.service.md | 80 ++++--- docs/core/people-content.service.md | 19 +- docs/core/people-process.service.md | 40 ++-- .../process-content.service.md | 212 ++++++++++++------ docs/core/upload.service.md | 81 ++++--- docs/process-services/apps-process.service.md | 36 --- .../services/document-list.service.ts | 12 + .../services/folder-actions.service.ts | 3 + .../tag/services/tag.service.ts | 8 +- .../form/services/process-content.service.ts | 74 ++++++ lib/core/services/apps-process.service.ts | 14 ++ lib/core/services/comment-process.service.ts | 22 ++ .../services/deleted-nodes-api.service.ts | 1 + lib/core/services/discovery-api.service.ts | 2 + lib/core/services/nodes-api.service.ts | 8 + lib/core/services/people-content.service.ts | 6 +- lib/core/services/people-process.service.ts | 4 + lib/core/services/upload.service.ts | 12 +- .../userinfo/services/ecm-user.service.ts | 3 + 27 files changed, 612 insertions(+), 299 deletions(-) create mode 100644 docs/core/apps-process.service.md rename docs/{process-services => core}/process-content.service.md (61%) delete mode 100644 docs/process-services/apps-process.service.md diff --git a/docs/content-services/document-list.service.md b/docs/content-services/document-list.service.md index 7ef4af7892..b3857b1176 100644 --- a/docs/content-services/document-list.service.md +++ b/docs/content-services/document-list.service.md @@ -1,48 +1,63 @@ --- Added: v2.0.0 Status: Active +Last reviewed: 2018-04-05 --- + # Document List service Implements node operations used by the Document List component. -## Methods +## Class members -- `deleteNode(nodeId: string): Observable` - Deletes a node. - - `nodeId` - ID of the node to delete -- `copyNode(nodeId: string, targetParentId: string): any` - Copy a node to destination node - - `nodeId` - The id of the node to be copied - - `targetParentId` - The id of the folder where the node will be copied -- `moveNode(nodeId: string, targetParentId: string): any` - Move a node to destination node - - `nodeId` - The id of the node to be moved - - `targetParentId` - The id of the folder where the node will be moved -- `createFolder(name: string, parentId: string): Observable` - Create a new folder in the path. - - `name` - Folder name - - `parentId` - Parent folder ID -- `getFolder(folder: string, opts?: any): any` - Gets the folder node with the specified relative name path below the root node. - - `folder` - Path to folder. - - `opts` - (Optional) Options. -- `getFolderNode(nodeId: string): Promise` - Gets a folder node via its node ID. - - `nodeId` - ID of the folder node -- `getDocumentThumbnailUrl(node: MinimalNodeEntity): any` - Get thumbnail URL for the given document node. - - `node` - Node to get URL for. -- `getMimeTypeIcon(mimeType: string): string` - Gets the icon that represents a MIME type. - - `mimeType` - MIME type to get the icon for -- `getDefaultMimeTypeIcon(): string` - Gets a default icon for MIME types with no specific icon. +### Methods -- `hasPermission(node: any, permission: PermissionsEnum|string): boolean` - Checks if a node has the specified permission. - - `node` - Target node - - `permission` - Permission level to query +- `copyNode(nodeId: string = null, targetParentId: string = null): any`
+ Copy a node to destination node + - `nodeId: string = null` - The id of the node to be copied + - `targetParentId: string = null` - The id of the folder where the node will be copied + - **Returns** `any` - NodeEntry for the copied node +- `createFolder(name: string = null, parentId: string = null): Observable`
+ Create a new folder in the path. + - `name: string = null` - Folder name + - `parentId: string = null` - Parent folder ID + - **Returns** `Observable` - Details of the created folder node +- `deleteNode(nodeId: string = null): Observable`
+ Deletes a node. + - `nodeId: string = null` - ID of the node to delete + - **Returns** `Observable` - Empty response when the operation is complete +- `getDefaultMimeTypeIcon(): string`
+ Gets a default icon for MIME types with no specific icon. + - **Returns** `string` - Path to the icon file +- `getDocumentThumbnailUrl(node: MinimalNodeEntity = null): string`
+ Get thumbnail URL for the given document node. + - `node: MinimalNodeEntity = null` - Node to get URL for. + - **Returns** `string` - Thumbnail URL string +- `getFolder(folder: string = null, opts?: any = null, includeFields: string[] = []): Observable`
+ Gets the folder node with the specified relative name path below the root node. + - `folder: string = null` - Path to folder. + - `opts?: any = null` - (Optional) Options. + - `includeFields: string[] = []` - Extra information to include (available options are "aspectNames", "isLink" and "association") + - **Returns** `Observable` - Details of the folder +- `getFolderNode(nodeId: string = null, includeFields: string[] = []): Promise`
+ Gets a folder node via its node ID. + - `nodeId: string = null` - ID of the folder node + - `includeFields: string[] = []` - Extra information to include (available options are "aspectNames", "isLink" and "association") + - **Returns** `Promise` - Details of the folder +- `getMimeTypeIcon(mimeType: string = null): string`
+ Gets the icon that represents a MIME type. + - `mimeType: string = null` - MIME type to get the icon for + - **Returns** `string` - Path to the icon file +- `hasPermission(node: any = null, permission: PermissionsEnum | string = null): boolean`
+ Checks if a node has the specified permission. + - `node: any = null` - Target node + - `permission: PermissionsEnum | string = null` - Permission level to query + - **Returns** `boolean` - True if the node has the permission, false otherwise +- `moveNode(nodeId: string = null, targetParentId: string = null): any`
+ Move a node to destination node + - `nodeId: string = null` - The id of the node to be moved + - `targetParentId: string = null` - The id of the folder where the node will be moved + - **Returns** `any` - NodeEntry for the moved node ## Details diff --git a/docs/content-services/folder-actions.service.md b/docs/content-services/folder-actions.service.md index 00c1a5535a..fae12e4584 100644 --- a/docs/content-services/folder-actions.service.md +++ b/docs/content-services/folder-actions.service.md @@ -1,23 +1,30 @@ --- Added: v2.0.0 Status: Active +Last reviewed: 2018-04-05 --- + # Folder Actions service Implements the folder menu actions for the Document List component. -## Methods +## Class members -- `getHandler(key: string): ContentActionHandler` - Gets the handler function for an action. - - `key` - Identifier for the action -- `setHandler(key: string, handler: ContentActionHandler): boolean` - Sets a new handler function for an action. - - `key` - Identifier for the action - - `handler` - The new handler function -- `canExecuteAction(obj: any): boolean` - Checks if an action is available for a particular item. - - `obj` - Item to check +### Methods + +- `canExecuteAction(obj: any = null): boolean`
+ Checks if an action is available for a particular item. + - `obj: any = null` - Item to check + - **Returns** `boolean` - True if the action is available, false otherwise +- `getHandler(key: string = null): ContentActionHandler`
+ Gets the handler function for an action. + - `key: string = null` - Identifier for the action + - **Returns** `ContentActionHandler` - The handler function +- `setHandler(key: string = null, handler: ContentActionHandler = null): boolean`
+ Sets a new handler function for an action. + - `key: string = null` - Identifier for the action + - `handler: ContentActionHandler = null` - The new handler function + - **Returns** `boolean` - True if the key was a valid action identifier, false otherwise ## Details diff --git a/docs/content-services/tag.service.md b/docs/content-services/tag.service.md index 3342dff1c3..2da24376ba 100644 --- a/docs/content-services/tag.service.md +++ b/docs/content-services/tag.service.md @@ -1,27 +1,34 @@ --- Added: v2.0.0 Status: Active +Last reviewed: 2018-04-05 --- + # Tag service Manages tags in Content Services. -## Methods +## Class members -- `getTagsByNodeId(nodeId: string): any` - Gets a list of tags added to a node. - - `nodeId` - ID of the target node -- `getAllTheTags(): any` - Gets a list of all the tags already defined in the repository. +### Methods -- `addTag(nodeId: string, tagName: string): any` - Adds a tag to a node. - - `nodeId` - ID of the target node - - `tagName` - Name of the tag to add -- `removeTag(nodeId: string, tag: string): any` - Removes a tag from a node. - - `nodeId` - ID of the target node - - `tag` - Name of the tag to remove +- `addTag(nodeId: string = null, tagName: string = null): any`
+ Adds a tag to a node. + - `nodeId: string = null` - ID of the target node + - `tagName: string = null` - Name of the tag to add + - **Returns** `any` - TagEntry object (defined in JSAPI) with details of the new tag +- `getAllTheTags(): any`
+ Gets a list of all the tags already defined in the repository. + - **Returns** `any` - TagPaging object (defined in JSAPI) containing the tags +- `getTagsByNodeId(nodeId: string = null): any`
+ Gets a list of tags added to a node. + - `nodeId: string = null` - ID of the target node + - **Returns** `any` - TagPaging object (defined in JSAPI) containing the tags +- `removeTag(nodeId: string = null, tag: string = null): any`
+ Removes a tag from a node. + - `nodeId: string = null` - ID of the target node + - `tag: string = null` - Name of the tag to remove + - **Returns** `any` - Null object when the operation completes ## Details diff --git a/docs/core/apps-process.service.md b/docs/core/apps-process.service.md new file mode 100644 index 0000000000..f49e981fcf --- /dev/null +++ b/docs/core/apps-process.service.md @@ -0,0 +1,40 @@ +--- +Added: v2.0.0 +Status: Active +Last reviewed: 2018-04-05 +--- + +# Apps Process service + +Gets details of the Process Services apps that are deployed for the user. + +## Class members + +### Methods + +- `getApplicationDetailsById(appId: number = null): Observable`
+ Gets the details for a specific app ID number. + - `appId: number = null` - ID of the target app + - **Returns** `Observable` - Details of the app +- `getDeployedApplications(): Observable`
+ Gets a list of deployed apps for this user. + - **Returns** `Observable` - The list of deployed apps +- `getDeployedApplicationsByName(name: string = null): Observable`
+ Gets a list of deployed apps for this user, where the app name is \`name\`. + - `name: string = null` - Name of the app + - **Returns** `Observable` - The list of deployed apps + +## Details + +This service can be used to access the Process Services apps that are available +to the current user. You can find more information about the +returned `AppDefinitionRepresentation` class in the [Filter model page](filter.model.md) +and in the +[Process Services Apps API](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-activiti-rest-api/docs/AppsApi.md#getAppDefinitions). +The methods of this service make use of the +[getAppDefinitions](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-activiti-rest-api/docs/AppsApi.md#getAppDefinitions) +method, also from the Apps API. + +## See also + +- [Filter model](filter.model.md) diff --git a/docs/core/comment-process.service.md b/docs/core/comment-process.service.md index 05f0b274d3..2c58ee1387 100644 --- a/docs/core/comment-process.service.md +++ b/docs/core/comment-process.service.md @@ -1,24 +1,35 @@ --- Added: v2.0.0 Status: Active +Last reviewed: 2018-04-05 --- + # Comment Process service Adds and retrieves comments for task and process instances in Process Services. -## Methods +## Class members -`addTaskComment(taskId: string, message: string): Observable`
-Adds a comment to a task. +### Methods -`getTaskComments(taskId: string): Observable`
-Gets all comments that have been added to a task. - -`addProcessInstanceComment(processInstanceId: string, message: string): Observable`
-Adds a comment to a process instance. - -`getProcessInstanceComments(processInstanceId: string): Observable`
-Gets all comments that have been added to a process instance. +- `addProcessInstanceComment(processInstanceId: string = null, message: string = null): Observable`
+ Adds a comment to a process instance. + - `processInstanceId: string = null` - ID of the target process instance + - `message: string = null` - Text for the comment + - **Returns** `Observable` - Details of the comment added +- `addTaskComment(taskId: string = null, message: string = null): Observable`
+ Adds a comment to a task. + - `taskId: string = null` - ID of the target task + - `message: string = null` - Text for the comment + - **Returns** `Observable` - Details about the comment +- `getProcessInstanceComments(processInstanceId: string = null): Observable`
+ Gets all comments that have been added to a process instance. + - `processInstanceId: string = null` - ID of the target process instance + - **Returns** `Observable` - Details for each comment +- `getTaskComments(taskId: string = null): Observable`
+ Gets all comments that have been added to a task. + - `taskId: string = null` - ID of the target task + - **Returns** `Observable` - Details for each comment ## Details diff --git a/docs/core/deleted-nodes-api.service.md b/docs/core/deleted-nodes-api.service.md index 7d797525f6..b15a67c516 100644 --- a/docs/core/deleted-nodes-api.service.md +++ b/docs/core/deleted-nodes-api.service.md @@ -1,16 +1,21 @@ --- Added: v2.0.0 Status: Active +Last reviewed: 2018-04-05 --- + # Deleted Nodes Api service Gets a list of Content Services nodes currently in the trash. -## Methods +## Class members -- `getDeletedNodes(options?: Object): Observable` - Gets a list of nodes in the trash. - - `options` - (Optional) Options for JSAPI call +### Methods + +- `getDeletedNodes(options?: Object = null): Observable`
+ Gets a list of nodes in the trash. + - `options?: Object = null` - (Optional) Options for JSAPI call + - **Returns** `Observable` - List of nodes in the trash ## Details diff --git a/docs/core/discovery-api.service.md b/docs/core/discovery-api.service.md index 74d188c3bb..274e52245a 100644 --- a/docs/core/discovery-api.service.md +++ b/docs/core/discovery-api.service.md @@ -1,18 +1,23 @@ --- Added: v2.0.0 Status: Active +Last reviewed: 2018-04-05 --- + # Discovery Api service Gets version and license information for Process Services and Content Services. -## Methods +## Class members -- `getEcmProductInfo(): any` - Gets product information for Content Services. +### Methods -- `getBpmProductInfo(): any` - Gets product information for Process Services. +- `getBpmProductInfo(): any`
+ Gets product information for Process Services. + - **Returns** `any` - ProductVersionModel containing product details +- `getEcmProductInfo(): any`
+ Gets product information for Content Services. + - **Returns** `any` - ProductVersionModel containing product details ## Details diff --git a/docs/core/ecm-user.service.md b/docs/core/ecm-user.service.md index 0acbe446e3..d07ef1ea4e 100644 --- a/docs/core/ecm-user.service.md +++ b/docs/core/ecm-user.service.md @@ -1,22 +1,28 @@ --- Added: v2.0.0 Status: Active +Last reviewed: 2018-04-05 --- + # Ecm User service Gets information about a Content Services user. -## Methods +## Class members -- `getUserInfo(userName: string): Observable` - Gets information about a user identified by their username. - - `userName` - Target username -- `getCurrentUserInfo(): Observable` - Gets information about the user who is currently logged-in. +### Methods -- `getUserProfileImage(avatarId: string): string` - Returns a profile image as a URL. - - `avatarId` - Target avatar +- `getCurrentUserInfo(): any`
+ Gets information about the user who is currently logged-in. + - **Returns** `any` - User information as for getUserInfo +- `getUserInfo(userName: string = null): Observable`
+ Gets information about a user identified by their username. + - `userName: string = null` - Target username + - **Returns** `Observable` - User information +- `getUserProfileImage(avatarId: string = null): string`
+ Returns a profile image as a URL. + - `avatarId: string = null` - Target avatar + - **Returns** `string` - Image URL ## Details diff --git a/docs/core/nodes-api.service.md b/docs/core/nodes-api.service.md index 77568dcbff..3afad72ef6 100644 --- a/docs/core/nodes-api.service.md +++ b/docs/core/nodes-api.service.md @@ -1,46 +1,58 @@ --- Added: v2.0.0 Status: Active +Last reviewed: 2018-04-06 --- + # Nodes Api service Accesses and manipulates ACS document nodes using their node IDs. -## Methods +## Class members -- `getNode(nodeId: string, options: any = {}): Observable` - Gets the stored information about a node. - - `nodeId` - ID of the target node - - `options` - Optional parameters supported by JSAPI -- `getNodeChildren(nodeId: string, options: any = {}): Observable` - Gets the items contained in a folder node. - - `nodeId` - ID of the target node - - `options` - Optional parameters supported by JSAPI -- `createNode(parentNodeId: string, nodeBody: any, options: any = {}): Observable` - Creates a new document node inside a folder. - - `parentNodeId` - ID of the parent folder node - - `nodeBody` - Data for the new node - - `options` - Optional parameters supported by JSAPI -- `createFolder(parentNodeId: string, nodeBody: any, options: any = {}): Observable` - Creates a new folder node inside a parent folder. - - `parentNodeId` - ID of the parent folder node - - `nodeBody` - Data for the new folder - - `options` - Optional parameters supported by JSAPI -- `updateNode(nodeId: string, nodeBody: any, options: any = {}): Observable` - Updates the information about a node. - - `nodeId` - ID of the target node - - `nodeBody` - New data for the node - - `options` - Optional parameters supported by JSAPI -- `deleteNode(nodeId: string, options: any = {}): Observable` - Moves a node to the trashcan. - - `nodeId` - ID of the target node - - `options` - Optional parameters supported by JSAPI -- `restoreNode(nodeId: string): Observable` - Restores a node previously moved to the trashcan. - - `nodeId` - ID of the node to restore -- `handleError(error: any): Observable` - Reports an error. - - `error` - Object representing the error +### Methods + +- `createFolder(parentNodeId: string = null, nodeBody: any = null, options: any = {}): Observable`
+ Creates a new folder node inside a parent folder. + - `parentNodeId: string = null` - ID of the parent folder node + - `nodeBody: any = null` - Data for the new folder + - `options: any = {}` - Optional parameters supported by JSAPI + - **Returns** `Observable` - Details of the new folder +- `createNode(parentNodeId: string = null, nodeBody: any = null, options: any = {}): Observable`
+ Creates a new document node inside a folder. + - `parentNodeId: string = null` - ID of the parent folder node + - `nodeBody: any = null` - Data for the new node + - `options: any = {}` - Optional parameters supported by JSAPI + - **Returns** `Observable` - Details of the new node +- `deleteNode(nodeId: string = null, options: any = {}): Observable`
+ Moves a node to the trashcan. + - `nodeId: string = null` - ID of the target node + - `options: any = {}` - Optional parameters supported by JSAPI + - **Returns** `Observable` - Empty result that notifies when the deletion is complete +- `getNode(nodeId: string = null, options: any = {}): Observable`
+ Gets the stored information about a node. + - `nodeId: string = null` - ID of the target node + - `options: any = {}` - Optional parameters supported by JSAPI + - **Returns** `Observable` - Node information +- `getNodeChildren(nodeId: string = null, options: any = {}): Observable`
+ Gets the items contained in a folder node. + - `nodeId: string = null` - ID of the target node + - `options: any = {}` - Optional parameters supported by JSAPI + - **Returns** `Observable` - List of child items from the folder +- `handleError(error: any = null): Observable`
+ Reports an error. + - `error: any = null` - Object representing the error + - **Returns** `Observable` - Error information +- `restoreNode(nodeId: string = null): Observable`
+ Restores a node previously moved to the trashcan. + - `nodeId: string = null` - ID of the node to restore + - **Returns** `Observable` - Details of the restored node +- `updateNode(nodeId: string = null, nodeBody: any = null, options: any = {}): Observable`
+ Updates the information about a node. + - `nodeId: string = null` - ID of the target node + - `nodeBody: any = null` - New data for the node + - `options: any = {}` - Optional parameters supported by JSAPI + - **Returns** `Observable` - Updated node information ## Details diff --git a/docs/core/people-content.service.md b/docs/core/people-content.service.md index 9b3d3be34e..a1e761fdbb 100644 --- a/docs/core/people-content.service.md +++ b/docs/core/people-content.service.md @@ -1,19 +1,24 @@ --- Added: v2.0.0 Status: Active +Last reviewed: 2018-04-06 --- + # People Content service -Gets information about a Content Services user. +Gets information about a Content Services user. -## Methods +## Class members -- `getPerson(personId: string): Observable` - Gets information about a user identified by their username. - - `personId` - ID of the target user -- `getCurrentPerson(): Observable` - Gets information about the user who is currently logged-in. +### Methods +- `getCurrentPerson(): Observable`
+ Gets information about the user who is currently logged in. + - **Returns** `Observable` - User information +- `getPerson(personId: string = null): Observable`
+ Gets information about a user identified by their username. + - `personId: string = null` - ID of the target user + - **Returns** `Observable` - User information ## Details diff --git a/docs/core/people-process.service.md b/docs/core/people-process.service.md index 553ae0ed0f..6f636e42eb 100644 --- a/docs/core/people-process.service.md +++ b/docs/core/people-process.service.md @@ -1,28 +1,36 @@ --- Added: v2.0.0 Status: Active +Last reviewed: 2018-04-05 --- + # People Process service Gets information about Process Services users. -## Methods +## Class members -- `getWorkflowUsers(taskId?: string, searchWord?: string): Observable` - Gets information about users across all tasks. - - `taskId` - (Optional) ID of the task - - `searchWord` - (Optional) Filter text to search for -- `getUserImage(user: UserProcessModel): string` - Gets the profile picture URL for the specified user. - - `user` - The target user -- `involveUserWithTask(taskId: string, idToInvolve: string): Observable` - Sets a user to be involved with a task. - - `taskId` - ID of the target task - - `idToInvolve` - ID of the user to involve -- `removeInvolvedUser(taskId: string, idToRemove: string): Observable` - Removes a user who is currently involved with a task. - - `taskId` - ID of the target task - - `idToRemove` - ID of the user to remove +### Methods + +- `getUserImage(user: UserProcessModel = null): string`
+ Gets the profile picture URL for the specified user. + - `user: UserProcessModel = null` - The target user + - **Returns** `string` - Profile picture URL +- `getWorkflowUsers(taskId?: string = null, searchWord?: string = null): Observable`
+ Gets information about users across all tasks. + - `taskId?: string = null` - (Optional) ID of the task + - `searchWord?: string = null` - (Optional) Filter text to search for + - **Returns** `Observable` - Array of user information objects +- `involveUserWithTask(taskId: string = null, idToInvolve: string = null): Observable`
+ Sets a user to be involved with a task. + - `taskId: string = null` - ID of the target task + - `idToInvolve: string = null` - ID of the user to involve + - **Returns** `Observable` - Empty response when the update completes +- `removeInvolvedUser(taskId: string = null, idToRemove: string = null): Observable`
+ Removes a user who is currently involved with a task. + - `taskId: string = null` - ID of the target task + - `idToRemove: string = null` - ID of the user to remove + - **Returns** `Observable` - Empty response when the update completes ## Details diff --git a/docs/process-services/process-content.service.md b/docs/core/process-content.service.md similarity index 61% rename from docs/process-services/process-content.service.md rename to docs/core/process-content.service.md index d88cf4029f..df2abef46e 100644 --- a/docs/process-services/process-content.service.md +++ b/docs/core/process-content.service.md @@ -2,27 +2,80 @@ Added: v2.0.0 Status: Active --- + # Process Content Service Manipulates content related to a Process Instance or Task Instance in APS. -Related content can be uploaded to APS via for example a file upload dialog. +## Class members -## Importing +### Methods -```ts -import { RelatedContentRepresentation } from 'alfresco-js-api'; -import { ProcessContentService } from '@alfresco/adf-core'; - -export class SomePageComponent implements OnInit { - - constructor(private contentService: ProcessContentService) { - } -``` +- `createProcessRelatedContent(processInstanceId: string = null, content: any = null, opts?: any = null): Observable`
+ Associates an uploaded file with a process instance. + - `processInstanceId: string = null` - ID of the target process instance + - `content: any = null` - File to associate + - `opts?: any = null` - (Optional) Options supported by JSAPI + - **Returns** `Observable` - Details of created content +- `createTaskRelatedContent(taskId: string = null, file: any = null, opts?: any = null): any`
+ Associates an uploaded file with a task instance. + - `taskId: string = null` - ID of the target task + - `file: any = null` - File to associate + - `opts?: any = null` - (Optional) Options supported by JSAPI + - **Returns** `any` - Details of created content +- `createTemporaryRawRelatedContent(file: any = null): Observable`
+ Create temporary related content from an uploaded file. + - `file: any = null` - File to use for content + - **Returns** `Observable` - The created content data +- `deleteRelatedContent(contentId: number = null): Observable`
+ Deletes related content. + - `contentId: number = null` - Identifier of the content to delete + - **Returns** `Observable` - Null response that notifies when the deletion is complete +- `getContentPreview(contentId: number = null): Observable`
+ Gets the preview for a related content file. + - `contentId: number = null` - ID of the related content + - **Returns** `Observable` - Binary data of the content preview +- `getContentThumbnail(contentId: number = null): Observable`
+ Gets the thumbnail for a related content file. + - `contentId: number = null` - ID of the related content + - **Returns** `Observable` - Binary data of the thumbnail image +- `getFileContent(contentId: number = null): Observable`
+ Gets the metadata for a related content item. + - `contentId: number = null` - ID of the content item + - **Returns** `Observable` - Metadata for the content +- `getFileRawContent(contentId: number = null): Observable`
+ Gets raw binary content data for a related content file. + - `contentId: number = null` - ID of the related content + - **Returns** `Observable` - Binary data of the related content +- `getFileRawContentUrl(contentId: number = null): string`
+ Gets a URL for direct access to a related content file. + - `contentId: number = null` - ID of the related content + - **Returns** `string` - URL to access the content +- `getProcessRelatedContent(processId: string = null): Observable`
+ Gets related content items for a process instance. + - `processId: string = null` - ID of the target process + - **Returns** `Observable` - Metadata for the content +- `getTaskRelatedContent(taskId: string = null): Observable`
+ Gets related content items for a task instance. + - `taskId: string = null` - ID of the target task + - **Returns** `Observable` - Metadata for the content +- `handleError(error: any = null): Observable`
+ Reports an error message. + - `error: any = null` - Data object with optional `message` and `status` fields for the error + - **Returns** `Observable` - Callback when an error occurs +- `toJson(res: any = null): any`
+ Creates a JSON representation of data. + - `res: any = null` - Object representing data + - **Returns** `any` - JSON object +- `toJsonArray(res: any = null): any`
+ Creates a JSON array representation of data. + - `res: any = null` - Object representing data + - **Returns** `any` - JSON array object ## Methods #### createProcessRelatedContent(processInstanceId: string, content: any, opts?: any): Observable`` + Associate an uploaded file with a Process Instance. Let's say we have an upload button as follows: @@ -67,26 +120,26 @@ In the above sample code the `file` is uploaded via an HTML input element. The `processInstanceId` refers to a process instance ID for a running process in APS. The returned `relContent` object looks like in this sample: -``` -Related content: - contentAvailable: true - created: Wed Nov 08 2017 10:50:30 GMT+0000 (GMT) {} - createdBy: {id: 1, firstName: null, lastName: "Administrator", email: "admin@app.activiti.com"} - id: 6007 - link: false - mimeType: "application/pdf" - name: "simple.pdf" - previewStatus: "queued" - relatedContent: true - simpleType: "pdf" - thumbnailStatus: "queued" -``` + Related content: + contentAvailable: true + created: Wed Nov 08 2017 10:50:30 GMT+0000 (GMT) {} + createdBy: {id: 1, firstName: null, lastName: "Administrator", email: "admin@app.activiti.com"} + id: 6007 + link: false + mimeType: "application/pdf" + name: "simple.pdf" + previewStatus: "queued" + relatedContent: true + simpleType: "pdf" + thumbnailStatus: "queued" + The related content `id` can be used by other methods in this service to get to the content and to delete it. It is referred to as the `contentId`. If you look at attachments for the process instance it should now display the new file. -#### createTaskRelatedContent(taskId: string, file: any, opts?: any) +#### createTaskRelatedContent(taskId: string, file: any, opts?: any) + Associate an uploaded file with a Task Instance. This is in effect very similar to the `createProcessRelatedContent` call. Just use `taskInstanceId` instead of `processInstanceId`. @@ -110,8 +163,9 @@ onUploadFile() { ``` For more information see the docs for `createProcessRelatedContent`. - -#### createTemporaryRawRelatedContent(file: any): Observable`` + +#### createTemporaryRawRelatedContent(file: any): Observable`` + Create temporary related content from an uploaded file. This means that the related content is not yet associated with a process instance or a task instance. @@ -132,7 +186,8 @@ is not yet associated with a process instance or a task instance. For more information see the docs for `createProcessRelatedContent`. -#### deleteRelatedContent(contentId: number): Observable`` +#### deleteRelatedContent(contentId: number): Observable`` + Delete related content via the content identifier: ```ts @@ -144,11 +199,13 @@ Delete related content via the content identifier: console.log('Error: ', error); }); ``` + The response is going to be `null` if the delete was successful. See `getProcessRelatedContent` and `getTaskRelatedContent` for how to get to the `contentId`. #### getFileContent(contentId: number): Observable`` + Get the metadata for a related content item in the format of a `RelatedContentRepresentation` object: ```ts @@ -163,23 +220,22 @@ this.contentService.getFileContent(contentId).subscribe( The metadata response looks like in this example: -``` -contentAvailable: true -created: Wed Nov 08 2017 11:26:14 GMT+0000 (GMT) {} -createdBy: {id: 1, firstName: null, lastName: "Administrator", email: "admin@app.activiti.com"} -id: 6008 -link: false -mimeType: "application/pdf" -name: "simple.pdf" -previewStatus: "created" -relatedContent: true -simpleType: "pdf" -thumbnailStatus: "created" -``` + contentAvailable: true + created: Wed Nov 08 2017 11:26:14 GMT+0000 (GMT) {} + createdBy: {id: 1, firstName: null, lastName: "Administrator", email: "admin@app.activiti.com"} + id: 6008 + link: false + mimeType: "application/pdf" + name: "simple.pdf" + previewStatus: "created" + relatedContent: true + simpleType: "pdf" + thumbnailStatus: "created" See `getProcessRelatedContent` and `getTaskRelatedContent` for how to get to the `contentId`. #### getFileRawContentUrl(contentId: number): string + Get the URL for direct access to a related content file: ```ts @@ -197,6 +253,7 @@ This URL can be used to directly access the content file, such as from a browser See `getProcessRelatedContent` and `getTaskRelatedContent` for how to get to the `contentId`. #### getFileRawContent(contentId: number): Observable`` + Get the raw content bytes as a BLOB for a related content file: ```ts @@ -216,6 +273,7 @@ The BLOB response looks something like this: See `getProcessRelatedContent` and `getTaskRelatedContent` for how to get to the `contentId`. #### getContentPreview(contentId: number): Observable`` + Get the preview file for a related content file. A content file might be for example a MS Word document. This method would give you the PDF preview for this document, if it has been generated: @@ -237,11 +295,11 @@ The preview BLOB response looks something like this: See `getProcessRelatedContent` and `getTaskRelatedContent` for how to get to the `contentId`. #### getContentThumbnail(contentId: number): Observable`` + Get the thumbnail file for a related content file. A content file might be for example a MS Word document. This method would give you the image thumbnail for this document, if it has been generated: - ```ts const contentId = 5006; this.contentService.getContentThumbnail(contentId).subscribe( @@ -255,10 +313,11 @@ if it has been generated: The response looks like in this sample: `Blob(13780) {size: 13780, type: "image/png"}` - + See `getProcessRelatedContent` and `getTaskRelatedContent` for how to get to the `contentId`. #### getProcessRelatedContent(processId: string): Observable`` + Get related content items for passed in Process Instance ID, only metadata for related content is returned: ```ts @@ -273,35 +332,34 @@ this.contentService.getProcessRelatedContent(processId).subscribe( The response looks like in the following sample: -``` -size: 2 -start:0 -total:2 -data: - 0: - contentAvailable: true - created: "2017-10-29T07:28:15.546+0000" - createdBy: {id: 1, firstName: null, lastName: "Administrator", email: "admin@app.activiti.com"} - id: 5006 - link: false - mimeType: "application/msword" - name: "More info for Invoice.doc" - previewStatus: "created" - relatedContent: true - simpleType: "word" - thumbnailStatus: "created" - 1: - id: 6008, - name: "simple.pdf", - created: "2017-11-08T11:26:14.162+0000", - createdBy: {…}, - relatedContent: true, - …} -``` + size: 2 + start:0 + total:2 + data: + 0: + contentAvailable: true + created: "2017-10-29T07:28:15.546+0000" + createdBy: {id: 1, firstName: null, lastName: "Administrator", email: "admin@app.activiti.com"} + id: 5006 + link: false + mimeType: "application/msword" + name: "More info for Invoice.doc" + previewStatus: "created" + relatedContent: true + simpleType: "word" + thumbnailStatus: "created" + 1: + id: 6008, + name: "simple.pdf", + created: "2017-11-08T11:26:14.162+0000", + createdBy: {…}, + relatedContent: true, + …} The `id` property corresponds to the `contentId` property used in many of the other methods of this service. -#### getTaskRelatedContent(taskId: string): Observable`` +#### getTaskRelatedContent(taskId: string): Observable`` + Get related content items for passed in Task Instance ID, only metadata for related content is returned: ```ts @@ -316,6 +374,16 @@ this.contentService.getTaskRelatedContent(taskId).subscribe( The response format is the same as for the `getProcessRelatedContent` method, see its docs. - +## Details - \ No newline at end of file +## Importing + +```ts +import { RelatedContentRepresentation } from 'alfresco-js-api'; +import { ProcessContentService } from '@alfresco/adf-core'; + +export class SomePageComponent implements OnInit { + + constructor(private contentService: ProcessContentService) { + } +``` diff --git a/docs/core/upload.service.md b/docs/core/upload.service.md index dfb034c7e7..e87f7b19e9 100644 --- a/docs/core/upload.service.md +++ b/docs/core/upload.service.md @@ -1,57 +1,66 @@ --- Added: v2.0.0 Status: Active +Last reviewed: 2018-04-05 --- + # Upload Service Provides access to various APIs related to file upload features. -## Methods +## Class members -- `isUploading(): boolean` - Checks whether the service is uploading a file. +### Methods -- `getQueue(): FileModel[]` - Returns the file Queue - -- `addToQueue(files: FileModel[]): FileModel[]` - Adds files to the uploading queue to be uploaded - - `files` - One or more separate parameters or an array of files to queue -- `uploadFilesInTheQueue(emitter: EventEmitter)` - Finds all the files in the queue that are not yet uploaded and uploads them into the directory folder. - - `emitter` - (Deprecated) Emitter to invoke on file status change -- `cancelUpload(files: FileModel[])` - Cancels uploading of files. - - `files` - One or more separate parameters or an array of files -- `clearQueue()` - Clears the upload queue - -- `getUploadPromise(file: FileModel): any` - Gets an upload promise for a file. - - `file` - The target file +- `addToQueue(files: FileModel[] = null): FileModel[]`
+ Adds files to the uploading queue to be uploaded + - `files: FileModel[] = null` - One or more separate parameters or an array of files to queue + - **Returns** `FileModel[]` - Array of files that were not blocked from upload by the ignore list +- `cancelUpload(files: FileModel[] = null)`
+ Cancels uploading of files. + - `files: FileModel[] = null` - One or more separate parameters or an array of files specifying uploads to cancel +- `clearQueue()`
+ Clears the upload queue +- `getQueue(): FileModel[]`
+ Gets the file Queue + - **Returns** `FileModel[]` - Array of files that form the queue +- `getUploadPromise(file: FileModel = null): any`
+ Gets an upload promise for a file. + - `file: FileModel = null` - The target file + - **Returns** `any` - Promise that is resolved if the upload is successful or error otherwise +- `isUploading(): boolean`
+ Checks whether the service is uploading a file. + - **Returns** `boolean` - True if a file is uploading, false otherwise +- `uploadFilesInTheQueue(emitter: EventEmitter = null)`
+ Finds all the files in the queue that are not yet uploaded and uploads them into the directory folder. + - `emitter: EventEmitter = null` - (Deprecated) Emitter to invoke on file status change ## Events | Name | Type | Description | | ---- | ---- | ----------- | -| queueChanged | FileModel\[] | Raised every time the file queue changes. | -| fileUpload | FileUploadEvent | Raised every time a File model changes its state. | -| fileUploadStarting | FileUploadEvent | Raised when upload starts. | -| fileUploadCancelled | FileUploadEvent | Raised when upload gets cancelled by user. | -| fileUploadProgress | FileUploadEvent | Raised during file upload process and contains the current progress for the particular File model. | -| fileUploadAborted | FileUploadEvent | Raised when file upload gets aborted by the server. | -| fileUploadError | FileUploadEvent | Raised when an error occurs to file upload. | -| fileUploadComplete | FileUploadCompleteEvent | Raised when file upload is complete. | -| fileUploadDelete | FileUploadDeleteEvent | Raised when uploaded file is removed from server. | +| queueChanged | FileModel\[] | Emitted when the file queue changes. | +| fileUpload | FileUploadEvent | Emitted when a File model changes its state. | +| fileUploadStarting | FileUploadEvent | Emitted when an upload starts. | +| fileUploadCancelled | FileUploadEvent | Emitted when an upload gets cancelled by the user. | +| fileUploadProgress | FileUploadEvent | Emitted during the file upload process and contains the current progress for a particular File model. | +| fileUploadAborted | FileUploadEvent | Emitted when a file upload gets aborted by the server. | +| fileUploadError | FileUploadEvent | Emitted when an error occurs during a file upload. | +| fileUploadComplete | FileUploadCompleteEvent | Emitted when a file upload is complete. | +| fileUploadDelete | FileUploadDeleteEvent | Emitted when an uploaded file is removed from server. | | fileDeleted | string | This can be invoked when a file is deleted from an external source to upload the file dialog status. | ## Details ### Ignore list configuration -Is possible add an ignore list for files that you don't want to allow upload on your CS. -The configuration of this service is saved in the **_app.config.json file_**.If you want more details about the configuration service follow this [link](https://github.com/Alfresco/alfresco-ng2-components/tree/master/ng2-components/ng2-alfresco-core#appconfigservice). -In the example below you can see how filtered out the : '.git', '.DS_Store' and 'desktop.ini'. **Every element is a glob pattern string.** So, if you want to exclude all the txt files, you can add the "\*.txt". (notice the asterisk at the beginning of the pattern!) +You can add an ignore list for files that you don't want to be uploaded on your CS. +The configuration of this service is saved in the `app.config.json` file +(see the [App Config service](app-config.service.md) for more information). + +The example below shows how to filter out the : '.git', '.DS_Store' and 'desktop.ini' files. +Each element of the ignore list is a glob pattern string, so you could exclude all the `.txt` +files, for example, by adding a `*.txt` pattern to the list. **app.config.json** @@ -68,7 +77,5 @@ In the example below you can see how filtered out the : '.git', '.DS_Store' and } ``` -Note: - -- Standard glob patterns work. -- You can end patterns with a forward slash / to specify a directory. +Note that all standard glob patterns work and you can end patterns with a forward +slash `/` character to specify a directory. diff --git a/docs/process-services/apps-process.service.md b/docs/process-services/apps-process.service.md deleted file mode 100644 index 0b9405139c..0000000000 --- a/docs/process-services/apps-process.service.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -Added: v2.0.0 -Status: Active ---- -# Apps Process service - -Gets details of the Process Services apps that are deployed for the user. - -## Methods - -`getDeployedApplications(): Observable`
-Gets a list of deployed apps for this user. - -`getDeployedApplicationsByName(name: string): Observable`
-Gets a list of deployed apps for this user, where the app name is `name`. - -`getApplicationDetailsById(appId: number): Observable`
-Get the details for a specific app ID number. - -## Details - -This service can be used to access the Process Services apps that are available -to the current user. You can find more information about the -returned `AppDefinitionRepresentation` class in the [Filter model page](filter.model.md) -and in the -[Process Services Apps API](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-activiti-rest-api/docs/AppsApi.md#getAppDefinitions). -The methods of this service make use of the -[getAppDefinitions](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-activiti-rest-api/docs/AppsApi.md#getAppDefinitions) -method, also from the Apps API. - - - -## See also - -- [Filter model](filter.model.md) - \ No newline at end of file diff --git a/lib/content-services/document-list/services/document-list.service.ts b/lib/content-services/document-list/services/document-list.service.ts index 342eac5f89..2a8026aecb 100644 --- a/lib/content-services/document-list/services/document-list.service.ts +++ b/lib/content-services/document-list/services/document-list.service.ts @@ -75,6 +75,7 @@ export class DocumentListService { /** * Deletes a node. * @param nodeId ID of the node to delete + * @returns Empty response when the operation is complete */ deleteNode(nodeId: string): Observable { return Observable.fromPromise(this.apiService.getInstance().nodes.deleteNode(nodeId)); @@ -85,6 +86,7 @@ export class DocumentListService { * * @param nodeId The id of the node to be copied * @param targetParentId The id of the folder where the node will be copied + * @returns NodeEntry for the copied node */ copyNode(nodeId: string, targetParentId: string) { return Observable.fromPromise(this.apiService.getInstance().nodes.copyNode(nodeId, { targetParentId })) @@ -96,6 +98,7 @@ export class DocumentListService { * * @param nodeId The id of the node to be moved * @param targetParentId The id of the folder where the node will be moved + * @returns NodeEntry for the moved node */ moveNode(nodeId: string, targetParentId: string) { return Observable.fromPromise(this.apiService.getInstance().nodes.moveNode(nodeId, { targetParentId })) @@ -106,6 +109,7 @@ export class DocumentListService { * Create a new folder in the path. * @param name Folder name * @param parentId Parent folder ID + * @returns Details of the created folder node */ createFolder(name: string, parentId: string): Observable { return Observable.fromPromise(this.apiService.getInstance().nodes.createFolder(name, '/', parentId)) @@ -116,6 +120,8 @@ export class DocumentListService { * Gets the folder node with the specified relative name path below the root node. * @param folder Path to folder. * @param opts Options. + * @param includeFields Extra information to include (available options are "aspectNames", "isLink" and "association") + * @returns Details of the folder */ getFolder(folder: string, opts?: any, includeFields: string[] = []): Observable { return Observable.fromPromise(this.getNodesPromise(folder, opts, includeFields)) @@ -126,6 +132,8 @@ export class DocumentListService { /** * Gets a folder node via its node ID. * @param nodeId ID of the folder node + * @param includeFields Extra information to include (available options are "aspectNames", "isLink" and "association") + * @returns Details of the folder */ getFolderNode(nodeId: string, includeFields: string[] = []): Promise { @@ -144,6 +152,7 @@ export class DocumentListService { /** * Get thumbnail URL for the given document node. * @param node Node to get URL for. + * @returns Thumbnail URL string */ getDocumentThumbnailUrl(node: MinimalNodeEntity): string { return this.thumbnailService.getDocumentThumbnailUrl(node); @@ -152,6 +161,7 @@ export class DocumentListService { /** * Gets the icon that represents a MIME type. * @param mimeType MIME type to get the icon for + * @returns Path to the icon file */ getMimeTypeIcon(mimeType: string): string { return this.thumbnailService.getMimeTypeIcon(mimeType); @@ -159,6 +169,7 @@ export class DocumentListService { /** * Gets a default icon for MIME types with no specific icon. + * @returns Path to the icon file */ getDefaultMimeTypeIcon(): string { return this.thumbnailService.getDefaultMimeTypeIcon(); @@ -168,6 +179,7 @@ export class DocumentListService { * Checks if a node has the specified permission. * @param node Target node * @param permission Permission level to query + * @returns True if the node has the permission, false otherwise */ hasPermission(node: any, permission: PermissionsEnum | string): boolean { return this.contentService.hasPermission(node, permission); diff --git a/lib/content-services/document-list/services/folder-actions.service.ts b/lib/content-services/document-list/services/folder-actions.service.ts index 0d217b15a6..c3de1d8286 100644 --- a/lib/content-services/document-list/services/folder-actions.service.ts +++ b/lib/content-services/document-list/services/folder-actions.service.ts @@ -44,6 +44,7 @@ export class FolderActionsService { /** * Gets the handler function for an action. * @param key Identifier for the action + * @returns The handler function */ getHandler(key: string): ContentActionHandler { if (key) { @@ -57,6 +58,7 @@ export class FolderActionsService { * Sets a new handler function for an action. * @param key Identifier for the action * @param handler The new handler function + * @returns True if the key was a valid action identifier, false otherwise */ setHandler(key: string, handler: ContentActionHandler): boolean { if (key) { @@ -70,6 +72,7 @@ export class FolderActionsService { /** * Checks if an action is available for a particular item. * @param obj Item to check + * @returns True if the action is available, false otherwise */ canExecuteAction(obj: any): boolean { return this.documentListService && obj && obj.entry.isFolder === true; diff --git a/lib/content-services/tag/services/tag.service.ts b/lib/content-services/tag/services/tag.service.ts index 2eddf35ce3..78f87984d3 100644 --- a/lib/content-services/tag/services/tag.service.ts +++ b/lib/content-services/tag/services/tag.service.ts @@ -33,13 +33,17 @@ export class TagService { /** * Gets a list of tags added to a node. * @param nodeId ID of the target node + * @returns TagPaging object (defined in JSAPI) containing the tags */ getTagsByNodeId(nodeId: string): any { return Observable.fromPromise(this.apiService.getInstance().core.tagsApi.getNodeTags(nodeId)) .catch(err => this.handleError(err)); } - /** Gets a list of all the tags already defined in the repository. */ + /** + * Gets a list of all the tags already defined in the repository. + * @returns TagPaging object (defined in JSAPI) containing the tags + */ getAllTheTags() { return Observable.fromPromise(this.apiService.getInstance().core.tagsApi.getTags()) .catch(err => this.handleError(err)); @@ -49,6 +53,7 @@ export class TagService { * Adds a tag to a node. * @param nodeId ID of the target node * @param tagName Name of the tag to add + * @returns TagEntry object (defined in JSAPI) with details of the new tag */ addTag(nodeId: string, tagName: string): any { let alfrescoApi: any = this.apiService.getInstance(); @@ -70,6 +75,7 @@ export class TagService { * Removes a tag from a node. * @param nodeId ID of the target node * @param tag Name of the tag to remove + * @returns Null object when the operation completes */ removeTag(nodeId: string, tag: string): any { let promiseRemove = Observable.fromPromise(this.apiService.getInstance().core.tagsApi.removeTag(nodeId, tag)); diff --git a/lib/core/form/services/process-content.service.ts b/lib/core/form/services/process-content.service.ts index 0028f1f975..662859eb84 100644 --- a/lib/core/form/services/process-content.service.ts +++ b/lib/core/form/services/process-content.service.ts @@ -38,18 +38,38 @@ export class ProcessContentService { return this.apiService.getInstance().activiti.contentApi; } + /** + * Create temporary related content from an uploaded file. + * @param file File to use for content + * @returns The created content data + */ createTemporaryRawRelatedContent(file: any): Observable { return Observable.fromPromise(this.contentApi.createTemporaryRawRelatedContent(file)).catch(err => this.handleError(err)); } + /** + * Gets the metadata for a related content item. + * @param contentId ID of the content item + * @returns Metadata for the content + */ getFileContent(contentId: number): Observable { return Observable.fromPromise(this.contentApi.getContent(contentId)).catch(err => this.handleError(err)); } + /** + * Gets raw binary content data for a related content file. + * @param contentId ID of the related content + * @returns Binary data of the related content + */ getFileRawContent(contentId: number): Observable { return Observable.fromPromise(this.contentApi.getRawContent(contentId)).catch(err => this.handleError(err)); } + /** + * Gets the preview for a related content file. + * @param contentId ID of the related content + * @returns Binary data of the content preview + */ getContentPreview(contentId: number): Observable { return new Observable(observer => { this.contentApi.getContentPreview(contentId).then( @@ -73,39 +93,83 @@ export class ProcessContentService { }); } + /** + * Gets a URL for direct access to a related content file. + * @param contentId ID of the related content + * @returns URL to access the content + */ getFileRawContentUrl(contentId: number): string { return this.contentApi.getRawContentUrl(contentId); } + /** + * Gets the thumbnail for a related content file. + * @param contentId ID of the related content + * @returns Binary data of the thumbnail image + */ getContentThumbnail(contentId: number): Observable { return Observable.fromPromise(this.contentApi.getContentThumbnail(contentId)).catch(err => this.handleError(err)); } + /** + * Gets related content items for a task instance. + * @param taskId ID of the target task + * @returns Metadata for the content + */ getTaskRelatedContent(taskId: string): Observable { return Observable.fromPromise(this.contentApi.getRelatedContentForTask(taskId)) .catch(err => this.handleError(err)); } + /** + * Gets related content items for a process instance. + * @param processId ID of the target process + * @returns Metadata for the content + */ getProcessRelatedContent(processId: string): Observable { return Observable.fromPromise(this.contentApi.getRelatedContentForProcessInstance(processId)) .catch(err => this.handleError(err)); } + /** + * Deletes related content. + * @param contentId Identifier of the content to delete + * @returns Null response that notifies when the deletion is complete + */ deleteRelatedContent(contentId: number): Observable { return Observable.fromPromise(this.contentApi.deleteContent(contentId)) .catch(err => this.handleError(err)); } + /** + * Associates an uploaded file with a process instance. + * @param processInstanceId ID of the target process instance + * @param content File to associate + * @param opts Options supported by JSAPI + * @returns Details of created content + */ createProcessRelatedContent(processInstanceId: string, content: any, opts?: any): Observable { return Observable.fromPromise(this.contentApi.createRelatedContentOnProcessInstance(processInstanceId, content, opts)) .catch(err => this.handleError(err)); } + /** + * Associates an uploaded file with a task instance. + * @param taskId ID of the target task + * @param file File to associate + * @param opts Options supported by JSAPI + * @returns Details of created content + */ createTaskRelatedContent(taskId: string, file: any, opts?: any) { return Observable.fromPromise(this.contentApi.createRelatedContentOnTask(taskId, file, opts)) .catch(err => this.handleError(err)); } + /** + * Creates a JSON representation of data. + * @param res Object representing data + * @returns JSON object + */ toJson(res: any) { if (res) { return res || {}; @@ -113,6 +177,11 @@ export class ProcessContentService { return {}; } + /** + * Creates a JSON array representation of data. + * @param res Object representing data + * @returns JSON array object + */ toJsonArray(res: any) { if (res) { return res.data || []; @@ -120,6 +189,11 @@ export class ProcessContentService { return []; } + /** + * Reports an error message. + * @param error Data object with optional `message` and `status` fields for the error + * @returns Callback when an error occurs + */ handleError(error: any): Observable { let errMsg = ProcessContentService.UNKNOWN_ERROR_MESSAGE; if (error) { diff --git a/lib/core/services/apps-process.service.ts b/lib/core/services/apps-process.service.ts index bdcc0c3a47..ccee827c67 100644 --- a/lib/core/services/apps-process.service.ts +++ b/lib/core/services/apps-process.service.ts @@ -30,6 +30,10 @@ export class AppsProcessService { private logService: LogService) { } + /** + * Gets a list of deployed apps for this user. + * @returns The list of deployed apps + */ getDeployedApplications(): Observable { return Observable.fromPromise(this.apiService.getInstance().activiti.appsApi.getAppDefinitions()) .map((response: any) => { @@ -38,6 +42,11 @@ export class AppsProcessService { .catch(err => this.handleError(err)); } + /** + * Gets a list of deployed apps for this user, where the app name is `name`. + * @param name Name of the app + * @returns The list of deployed apps + */ getDeployedApplicationsByName(name: string): Observable { return Observable.fromPromise(this.apiService.getInstance().activiti.appsApi.getAppDefinitions()) .map((response: any) => { @@ -46,6 +55,11 @@ export class AppsProcessService { .catch(err => this.handleError(err)); } + /** + * Gets the details for a specific app ID number. + * @param appId ID of the target app + * @returns Details of the app + */ getApplicationDetailsById(appId: number): Observable { return Observable.fromPromise(this.apiService.getInstance().activiti.appsApi.getAppDefinitions()) .map((response: any) => { diff --git a/lib/core/services/comment-process.service.ts b/lib/core/services/comment-process.service.ts index 88118c05c4..43682d757d 100644 --- a/lib/core/services/comment-process.service.ts +++ b/lib/core/services/comment-process.service.ts @@ -32,6 +32,12 @@ export class CommentProcessService { private logService: LogService) { } + /** + * Adds a comment to a task. + * @param taskId ID of the target task + * @param message Text for the comment + * @returns Details about the comment + */ addTaskComment(taskId: string, message: string): Observable { return Observable.fromPromise(this.apiService.getInstance().activiti.taskApi.addTaskComment({message: message}, taskId)) .map(res => res) @@ -46,6 +52,11 @@ export class CommentProcessService { } + /** + * Gets all comments that have been added to a task. + * @param taskId ID of the target task + * @returns Details for each comment + */ getTaskComments(taskId: string): Observable { return Observable.fromPromise(this.apiService.getInstance().activiti.taskApi.getTaskComments(taskId)) .map(res => res) @@ -59,6 +70,11 @@ export class CommentProcessService { }).catch(err => this.handleError(err)); } + /** + * Gets all comments that have been added to a process instance. + * @param processInstanceId ID of the target process instance + * @returns Details for each comment + */ getProcessInstanceComments(processInstanceId: string): Observable { return Observable.fromPromise(this.apiService.getInstance().activiti.commentsApi.getProcessInstanceComments(processInstanceId)) .map(res => res) @@ -72,6 +88,12 @@ export class CommentProcessService { }).catch(err => this.handleError(err)); } + /** + * Adds a comment to a process instance. + * @param processInstanceId ID of the target process instance + * @param message Text for the comment + * @returns Details of the comment added + */ addProcessInstanceComment(processInstanceId: string, message: string): Observable { return Observable.fromPromise( this.apiService.getInstance().activiti.commentsApi.addProcessInstanceComment({message: message}, processInstanceId) diff --git a/lib/core/services/deleted-nodes-api.service.ts b/lib/core/services/deleted-nodes-api.service.ts index 46290fb18d..a3a6064b9e 100644 --- a/lib/core/services/deleted-nodes-api.service.ts +++ b/lib/core/services/deleted-nodes-api.service.ts @@ -36,6 +36,7 @@ export class DeletedNodesApiService { /** * Gets a list of nodes in the trash. * @param options Options for JSAPI call + * @returns List of nodes in the trash */ getDeletedNodes(options?: Object): Observable { const { nodesApi, handleError } = this; diff --git a/lib/core/services/discovery-api.service.ts b/lib/core/services/discovery-api.service.ts index 0362f12ea0..1720d0eab5 100644 --- a/lib/core/services/discovery-api.service.ts +++ b/lib/core/services/discovery-api.service.ts @@ -30,6 +30,7 @@ export class DiscoveryApiService { /** * Gets product information for Content Services. + * @returns ProductVersionModel containing product details */ public getEcmProductInfo() { return Observable.fromPromise( @@ -40,6 +41,7 @@ export class DiscoveryApiService { /** * Gets product information for Process Services. + * @returns ProductVersionModel containing product details */ public getBpmProductInfo() { return Observable.fromPromise( diff --git a/lib/core/services/nodes-api.service.ts b/lib/core/services/nodes-api.service.ts index 98abaddf5e..7d97800ede 100644 --- a/lib/core/services/nodes-api.service.ts +++ b/lib/core/services/nodes-api.service.ts @@ -42,6 +42,7 @@ export class NodesApiService { * Gets the stored information about a node. * @param nodeId ID of the target node * @param options Optional parameters supported by JSAPI + * @returns Node information */ getNode(nodeId: string, options: any = {}): Observable { const { nodesApi, handleError, getEntryFromEntity } = this; @@ -62,6 +63,7 @@ export class NodesApiService { * Gets the items contained in a folder node. * @param nodeId ID of the target node * @param options Optional parameters supported by JSAPI + * @returns List of child items from the folder */ getNodeChildren(nodeId: string, options: any = {}): Observable { const { nodesApi, handleError } = this; @@ -84,6 +86,7 @@ export class NodesApiService { * @param parentNodeId ID of the parent folder node * @param nodeBody Data for the new node * @param options Optional parameters supported by JSAPI + * @returns Details of the new node */ createNode(parentNodeId: string, nodeBody: any, options: any = {}): Observable { const { nodesApi, handleError, getEntryFromEntity } = this; @@ -99,6 +102,7 @@ export class NodesApiService { * @param parentNodeId ID of the parent folder node * @param nodeBody Data for the new folder * @param options Optional parameters supported by JSAPI + * @returns Details of the new folder */ createFolder(parentNodeId: string, nodeBody: any, options: any = {}): Observable { const body = Object.assign({ nodeType: 'cm:folder' }, nodeBody); @@ -110,6 +114,7 @@ export class NodesApiService { * @param nodeId ID of the target node * @param nodeBody New data for the node * @param options Optional parameters supported by JSAPI + * @returns Updated node information */ updateNode(nodeId: string, nodeBody: any, options: any = {}): Observable { const { nodesApi, handleError, getEntryFromEntity } = this; @@ -124,6 +129,7 @@ export class NodesApiService { * Moves a node to the trashcan. * @param nodeId ID of the target node * @param options Optional parameters supported by JSAPI + * @returns Empty result that notifies when the deletion is complete */ deleteNode(nodeId: string, options: any = {}): Observable { const { nodesApi, handleError } = this; @@ -138,6 +144,7 @@ export class NodesApiService { /** * Restores a node previously moved to the trashcan. * @param nodeId ID of the node to restore + * @returns Details of the restored node */ restoreNode(nodeId: string): Observable { const { nodesApi, handleError, getEntryFromEntity } = this; @@ -153,6 +160,7 @@ export class NodesApiService { /** * Reports an error. * @param error Object representing the error + * @returns Error information */ handleError(error: any): Observable { return Observable.throw(error); diff --git a/lib/core/services/people-content.service.ts b/lib/core/services/people-content.service.ts index 39808d4a51..24363036f9 100644 --- a/lib/core/services/people-content.service.ts +++ b/lib/core/services/people-content.service.ts @@ -32,6 +32,7 @@ export class PeopleContentService { /** * Gets information about a user identified by their username. * @param personId ID of the target user + * @returns User information */ getPerson(personId: string): Observable { const { peopleApi, handleError } = this; @@ -42,7 +43,10 @@ export class PeopleContentService { .catch(handleError); } - /** Gets information about the user who is currently logged-in. */ + /** + * Gets information about the user who is currently logged in. + * @returns User information + */ getCurrentPerson(): Observable { return this.getPerson('-me-'); } diff --git a/lib/core/services/people-process.service.ts b/lib/core/services/people-process.service.ts index baaabd91c9..530de713fd 100644 --- a/lib/core/services/people-process.service.ts +++ b/lib/core/services/people-process.service.ts @@ -35,6 +35,7 @@ export class PeopleProcessService { * Gets information about users across all tasks. * @param taskId ID of the task * @param searchWord Filter text to search for + * @returns Array of user information objects */ getWorkflowUsers(taskId?: string, searchWord?: string): Observable { let option = { excludeTaskId: taskId, filter: searchWord }; @@ -46,6 +47,7 @@ export class PeopleProcessService { /** * Gets the profile picture URL for the specified user. * @param user The target user + * @returns Profile picture URL */ getUserImage(user: UserProcessModel): string { return this.getUserProfileImageApi(user.id); @@ -55,6 +57,7 @@ export class PeopleProcessService { * Sets a user to be involved with a task. * @param taskId ID of the target task * @param idToInvolve ID of the user to involve + * @returns Empty response when the update completes */ involveUserWithTask(taskId: string, idToInvolve: string): Observable { let node = {userId: idToInvolve}; @@ -66,6 +69,7 @@ export class PeopleProcessService { * Removes a user who is currently involved with a task. * @param taskId ID of the target task * @param idToRemove ID of the user to remove + * @returns Empty response when the update completes */ removeInvolvedUser(taskId: string, idToRemove: string): Observable { let node = {userId: idToRemove}; diff --git a/lib/core/services/upload.service.ts b/lib/core/services/upload.service.ts index 8d53c42cd6..ced6db207b 100644 --- a/lib/core/services/upload.service.ts +++ b/lib/core/services/upload.service.ts @@ -60,14 +60,15 @@ export class UploadService { /** * Checks whether the service is uploading a file. - * @memberof UploadService + * @returns True if a file is uploading, false otherwise */ isUploading(): boolean { return this.activeTask ? true : false; } /** - * Returns the file Queue + * Gets the file Queue + * @returns Array of files that form the queue */ getQueue(): FileModel[] { return this.queue; @@ -76,6 +77,7 @@ export class UploadService { /** * Adds files to the uploading queue to be uploaded * @param files One or more separate parameters or an array of files to queue + * @returns Array of files that were not blocked from upload by the ignore list */ addToQueue(...files: FileModel[]): FileModel[] { const allowedFiles = files.filter(f => this.filterElement(f)); @@ -95,10 +97,7 @@ export class UploadService { /** * Finds all the files in the queue that are not yet uploaded and uploads them into the directory folder. - * * @param emitter (Deprecated) Emitter to invoke on file status change - * - * @memberof UploadService */ uploadFilesInTheQueue(emitter: EventEmitter): void { if (!this.activeTask) { @@ -127,7 +126,7 @@ export class UploadService { /** * Cancels uploading of files. - * @param files One or more separate parameters or an array of files + * @param files One or more separate parameters or an array of files specifying uploads to cancel */ cancelUpload(...files: FileModel[]) { files.forEach(file => { @@ -154,6 +153,7 @@ export class UploadService { /** * Gets an upload promise for a file. * @param file The target file + * @returns Promise that is resolved if the upload is successful or error otherwise */ getUploadPromise(file: FileModel) { let opts: any = { diff --git a/lib/core/userinfo/services/ecm-user.service.ts b/lib/core/userinfo/services/ecm-user.service.ts index 92a91d088e..d3ea7f9fc7 100644 --- a/lib/core/userinfo/services/ecm-user.service.ts +++ b/lib/core/userinfo/services/ecm-user.service.ts @@ -35,6 +35,7 @@ export class EcmUserService { /** * Gets information about a user identified by their username. * @param userName Target username + * @returns User information */ getUserInfo(userName: string): Observable { return Observable.fromPromise(this.apiService.getInstance().core.peopleApi.getPerson(userName)) @@ -44,6 +45,7 @@ export class EcmUserService { /** * Gets information about the user who is currently logged-in. + * @returns User information as for getUserInfo */ getCurrentUserInfo() { return this.getUserInfo('-me-'); @@ -52,6 +54,7 @@ export class EcmUserService { /** * Returns a profile image as a URL. * @param avatarId Target avatar + * @returns Image URL */ getUserProfileImage(avatarId: string) { if (avatarId) {