UNPKG

@alfresco/adf-content-services

Version:
85 lines 10.5 kB
/*! * @license * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { CommentModel, User } from '@alfresco/adf-core'; import { CommentsApi } from '@alfresco/js-api'; import { Injectable } from '@angular/core'; import { from } from 'rxjs'; import { map } from 'rxjs/operators'; import { ContentService } from '../../common/services/content.service'; import { AlfrescoApiService } from '../../services/alfresco-api.service'; import * as i0 from "@angular/core"; import * as i1 from "../../services/alfresco-api.service"; import * as i2 from "../../common/services/content.service"; export class NodeCommentsService { get commentsApi() { this._commentsApi = this._commentsApi ?? new CommentsApi(this.apiService.getInstance()); return this._commentsApi; } constructor(apiService, contentService) { this.apiService = apiService; this.contentService = contentService; } /** * Gets all comments that have been added to a task. * * @param id ID of the target task * @returns Details for each comment */ get(id) { return from(this.commentsApi.listComments(id)).pipe(map((response) => { const comments = []; response.list.entries.forEach((comment) => { this.addToComments(comments, comment); }); return comments; })); } /** * Adds a comment to a task. * * @param id ID of the target task * @param message Text for the comment * @returns Details about the comment */ add(id, message) { return from(this.commentsApi.createComment(id, { content: message })).pipe(map((response) => this.newCommentModel(response.entry))); } addToComments(comments, comment) { const newComment = comment.entry; comments.push(this.newCommentModel(newComment)); } newCommentModel(comment) { return new CommentModel({ id: comment.id, message: comment.content, created: comment.createdAt, createdBy: new User(comment.createdBy) }); } getUserImage(avatarId) { return this.contentService.getContentUrl(avatarId); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NodeCommentsService, deps: [{ token: i1.AlfrescoApiService }, { token: i2.ContentService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NodeCommentsService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NodeCommentsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.AlfrescoApiService }, { type: i2.ContentService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1jb21tZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9ub2RlLWNvbW1lbnRzL3NlcnZpY2VzL25vZGUtY29tbWVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFtQixJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RSxPQUFPLEVBQWdCLFdBQVcsRUFBVyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7O0FBS3pFLE1BQU0sT0FBTyxtQkFBbUI7SUFFNUIsSUFBSSxXQUFXO1FBQ1gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN4RixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELFlBQW9CLFVBQThCLEVBQVUsY0FBOEI7UUFBdEUsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRTlGOzs7OztPQUtHO0lBQ0gsR0FBRyxDQUFDLEVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDL0MsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDYixNQUFNLFFBQVEsR0FBbUIsRUFBRSxDQUFDO1lBRXBDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQXFCLEVBQUUsRUFBRTtnQkFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEdBQUcsQ0FBQyxFQUFVLEVBQUUsT0FBZTtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBRU8sYUFBYSxDQUFDLFFBQXdCLEVBQUUsT0FBcUI7UUFDakUsTUFBTSxVQUFVLEdBQVksT0FBTyxDQUFDLEtBQUssQ0FBQztRQUUxQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU8sZUFBZSxDQUFDLE9BQWdCO1FBQ3BDLE9BQU8sSUFBSSxZQUFZLENBQUM7WUFDcEIsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ2QsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3hCLE9BQU8sRUFBRSxPQUFPLENBQUMsU0FBUztZQUMxQixTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztTQUN6QyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs4R0F6RFEsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FGaEIsTUFBTTs7MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tbWVudE1vZGVsLCBDb21tZW50c1NlcnZpY2UsIFVzZXIgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQ29tbWVudEVudHJ5LCBDb21tZW50c0FwaSwgQ29tbWVudCB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24vc2VydmljZXMvY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZnJlc2NvLWFwaS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOb2RlQ29tbWVudHNTZXJ2aWNlIGltcGxlbWVudHMgQ29tbWVudHNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9jb21tZW50c0FwaTogQ29tbWVudHNBcGk7XG4gICAgZ2V0IGNvbW1lbnRzQXBpKCk6IENvbW1lbnRzQXBpIHtcbiAgICAgICAgdGhpcy5fY29tbWVudHNBcGkgPSB0aGlzLl9jb21tZW50c0FwaSA/PyBuZXcgQ29tbWVudHNBcGkodGhpcy5hcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgICAgICByZXR1cm4gdGhpcy5fY29tbWVudHNBcGk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBBbGZyZXNjb0FwaVNlcnZpY2UsIHByaXZhdGUgY29udGVudFNlcnZpY2U6IENvbnRlbnRTZXJ2aWNlKSB7fVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgY29tbWVudHMgdGhhdCBoYXZlIGJlZW4gYWRkZWQgdG8gYSB0YXNrLlxuICAgICAqXG4gICAgICogQHBhcmFtIGlkIElEIG9mIHRoZSB0YXJnZXQgdGFza1xuICAgICAqIEByZXR1cm5zIERldGFpbHMgZm9yIGVhY2ggY29tbWVudFxuICAgICAqL1xuICAgIGdldChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb21tZW50TW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLmNvbW1lbnRzQXBpLmxpc3RDb21tZW50cyhpZCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29tbWVudHM6IENvbW1lbnRNb2RlbFtdID0gW107XG5cbiAgICAgICAgICAgICAgICByZXNwb25zZS5saXN0LmVudHJpZXMuZm9yRWFjaCgoY29tbWVudDogQ29tbWVudEVudHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkVG9Db21tZW50cyhjb21tZW50cywgY29tbWVudCk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gY29tbWVudHM7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYSBjb21tZW50IHRvIGEgdGFzay5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCBJRCBvZiB0aGUgdGFyZ2V0IHRhc2tcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUZXh0IGZvciB0aGUgY29tbWVudFxuICAgICAqIEByZXR1cm5zIERldGFpbHMgYWJvdXQgdGhlIGNvbW1lbnRcbiAgICAgKi9cbiAgICBhZGQoaWQ6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb21tZW50TW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5jb21tZW50c0FwaS5jcmVhdGVDb21tZW50KGlkLCB7IGNvbnRlbnQ6IG1lc3NhZ2UgfSkpLnBpcGUobWFwKChyZXNwb25zZSkgPT4gdGhpcy5uZXdDb21tZW50TW9kZWwocmVzcG9uc2UuZW50cnkpKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUb0NvbW1lbnRzKGNvbW1lbnRzOiBDb21tZW50TW9kZWxbXSwgY29tbWVudDogQ29tbWVudEVudHJ5KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5ld0NvbW1lbnQ6IENvbW1lbnQgPSBjb21tZW50LmVudHJ5O1xuXG4gICAgICAgIGNvbW1lbnRzLnB1c2godGhpcy5uZXdDb21tZW50TW9kZWwobmV3Q29tbWVudCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbmV3Q29tbWVudE1vZGVsKGNvbW1lbnQ6IENvbW1lbnQpOiBDb21tZW50TW9kZWwge1xuICAgICAgICByZXR1cm4gbmV3IENvbW1lbnRNb2RlbCh7XG4gICAgICAgICAgICBpZDogY29tbWVudC5pZCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGNvbW1lbnQuY29udGVudCxcbiAgICAgICAgICAgIGNyZWF0ZWQ6IGNvbW1lbnQuY3JlYXRlZEF0LFxuICAgICAgICAgICAgY3JlYXRlZEJ5OiBuZXcgVXNlcihjb21tZW50LmNyZWF0ZWRCeSlcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0VXNlckltYWdlKGF2YXRhcklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50U2VydmljZS5nZXRDb250ZW50VXJsKGF2YXRhcklkKTtcbiAgICB9XG59XG4iXX0=