UNPKG

@alfresco/adf-content-services

Version:
83 lines 10.9 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 { Injectable } from '@angular/core'; import { SharedlinksApi } from '@alfresco/js-api'; import { from, of, Subject } from 'rxjs'; import { UserPreferencesService } from '@alfresco/adf-core'; import { catchError } from 'rxjs/operators'; 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 "@alfresco/adf-core"; export class SharedLinksApiService { get sharedLinksApi() { this._sharedLinksApi = this._sharedLinksApi ?? new SharedlinksApi(this.apiService.getInstance()); return this._sharedLinksApi; } constructor(apiService, preferences) { this.apiService = apiService; this.preferences = preferences; this.error = new Subject(); } /** * Gets shared links available to the current user. * * @param options Options supported by JS-API * @returns List of shared links */ getSharedLinks(options = {}) { const defaultOptions = { maxItems: this.preferences.paginationSize, skipCount: 0, include: ['properties', 'allowableOperations'] }; const queryOptions = Object.assign({}, defaultOptions, options); const promise = this.sharedLinksApi.listSharedLinks(queryOptions); return from(promise).pipe(catchError((err) => of(err))); } /** * Creates a shared link available to the current user. * * @param nodeId ID of the node to link to * @param sharedLinkWithExpirySettings shared link with nodeId and expiryDate * @param options Options supported by JS-API * @returns The shared link just created */ createSharedLinks(nodeId, sharedLinkWithExpirySettings, options = {}) { const promise = this.sharedLinksApi.createSharedLink(sharedLinkWithExpirySettings ? sharedLinkWithExpirySettings : { nodeId }, options); return from(promise).pipe(catchError((err) => of(err))); } /** * Deletes a shared link. * * @param sharedId ID of the link to delete * @returns Null response notifying when the operation is complete */ deleteSharedLink(sharedId) { const promise = this.sharedLinksApi.deleteSharedLink(sharedId); return from(promise).pipe(catchError((err) => of(err))); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SharedLinksApiService, deps: [{ token: i1.AlfrescoApiService }, { token: i2.UserPreferencesService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SharedLinksApiService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SharedLinksApiService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.AlfrescoApiService }, { type: i2.UserPreferencesService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWxpbmtzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9jb250ZW50LW5vZGUtc2hhcmUvc2VydmljZXMvc2hhcmVkLWxpbmtzLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFxRCxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRyxPQUFPLEVBQWMsSUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7O0FBS3pFLE1BQU0sT0FBTyxxQkFBcUI7SUFJOUIsSUFBSSxjQUFjO1FBQ2QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNqRyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQW9CLFVBQThCLEVBQVUsV0FBbUM7UUFBM0UsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUFSL0YsVUFBSyxHQUFHLElBQUksT0FBTyxFQUEyQyxDQUFDO0lBUW1DLENBQUM7SUFFbkc7Ozs7O09BS0c7SUFDSCxjQUFjLENBQUMsVUFBZSxFQUFFO1FBQzVCLE1BQU0sY0FBYyxHQUFHO1lBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWM7WUFDekMsU0FBUyxFQUFFLENBQUM7WUFDWixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUM7U0FDakQsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVsRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsaUJBQWlCLENBQUMsTUFBYyxFQUFFLDRCQUFtRCxFQUFFLFVBQWUsRUFBRTtRQUNwRyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV4SSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLFFBQWdCO1FBQzdCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFL0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDOzhHQXJEUSxxQkFBcUI7a0hBQXJCLHFCQUFxQixjQUZsQixNQUFNOzsyRkFFVCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlUGFnaW5nLCBTaGFyZWRMaW5rQm9keUNyZWF0ZSwgU2hhcmVkTGlua0VudHJ5LCBTaGFyZWRsaW5rc0FwaSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZnJlc2NvLWFwaS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRMaW5rc0FwaVNlcnZpY2Uge1xuICAgIGVycm9yID0gbmV3IFN1YmplY3Q8eyBzdGF0dXNDb2RlOiBudW1iZXI7IG1lc3NhZ2U6IHN0cmluZyB9PigpO1xuXG4gICAgcHJpdmF0ZSBfc2hhcmVkTGlua3NBcGk6IFNoYXJlZGxpbmtzQXBpO1xuICAgIGdldCBzaGFyZWRMaW5rc0FwaSgpOiBTaGFyZWRsaW5rc0FwaSB7XG4gICAgICAgIHRoaXMuX3NoYXJlZExpbmtzQXBpID0gdGhpcy5fc2hhcmVkTGlua3NBcGkgPz8gbmV3IFNoYXJlZGxpbmtzQXBpKHRoaXMuYXBpU2VydmljZS5nZXRJbnN0YW5jZSgpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NoYXJlZExpbmtzQXBpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQWxmcmVzY29BcGlTZXJ2aWNlLCBwcml2YXRlIHByZWZlcmVuY2VzOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlKSB7fVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBzaGFyZWQgbGlua3MgYXZhaWxhYmxlIHRvIHRoZSBjdXJyZW50IHVzZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIHN1cHBvcnRlZCBieSBKUy1BUElcbiAgICAgKiBAcmV0dXJucyBMaXN0IG9mIHNoYXJlZCBsaW5rc1xuICAgICAqL1xuICAgIGdldFNoYXJlZExpbmtzKG9wdGlvbnM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxOb2RlUGFnaW5nPiB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuICAgICAgICAgICAgbWF4SXRlbXM6IHRoaXMucHJlZmVyZW5jZXMucGFnaW5hdGlvblNpemUsXG4gICAgICAgICAgICBza2lwQ291bnQ6IDAsXG4gICAgICAgICAgICBpbmNsdWRlOiBbJ3Byb3BlcnRpZXMnLCAnYWxsb3dhYmxlT3BlcmF0aW9ucyddXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHF1ZXJ5T3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuc2hhcmVkTGlua3NBcGkubGlzdFNoYXJlZExpbmtzKHF1ZXJ5T3B0aW9ucyk7XG5cbiAgICAgICAgcmV0dXJuIGZyb20ocHJvbWlzZSkucGlwZShjYXRjaEVycm9yKChlcnIpID0+IG9mKGVycikpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2hhcmVkIGxpbmsgYXZhaWxhYmxlIHRvIHRoZSBjdXJyZW50IHVzZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbm9kZUlkIElEIG9mIHRoZSBub2RlIHRvIGxpbmsgdG9cbiAgICAgKiBAcGFyYW0gc2hhcmVkTGlua1dpdGhFeHBpcnlTZXR0aW5ncyBzaGFyZWQgbGluayB3aXRoIG5vZGVJZCBhbmQgZXhwaXJ5RGF0ZVxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgc3VwcG9ydGVkIGJ5IEpTLUFQSVxuICAgICAqIEByZXR1cm5zIFRoZSBzaGFyZWQgbGluayBqdXN0IGNyZWF0ZWRcbiAgICAgKi9cbiAgICBjcmVhdGVTaGFyZWRMaW5rcyhub2RlSWQ6IHN0cmluZywgc2hhcmVkTGlua1dpdGhFeHBpcnlTZXR0aW5ncz86IFNoYXJlZExpbmtCb2R5Q3JlYXRlLCBvcHRpb25zOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8U2hhcmVkTGlua0VudHJ5PiB7XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLnNoYXJlZExpbmtzQXBpLmNyZWF0ZVNoYXJlZExpbmsoc2hhcmVkTGlua1dpdGhFeHBpcnlTZXR0aW5ncyA/IHNoYXJlZExpbmtXaXRoRXhwaXJ5U2V0dGluZ3MgOiB7IG5vZGVJZCB9LCBvcHRpb25zKTtcblxuICAgICAgICByZXR1cm4gZnJvbShwcm9taXNlKS5waXBlKGNhdGNoRXJyb3IoKGVycikgPT4gb2YoZXJyKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlbGV0ZXMgYSBzaGFyZWQgbGluay5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzaGFyZWRJZCBJRCBvZiB0aGUgbGluayB0byBkZWxldGVcbiAgICAgKiBAcmV0dXJucyBOdWxsIHJlc3BvbnNlIG5vdGlmeWluZyB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVcbiAgICAgKi9cbiAgICBkZWxldGVTaGFyZWRMaW5rKHNoYXJlZElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueSB8IEVycm9yPiB7XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLnNoYXJlZExpbmtzQXBpLmRlbGV0ZVNoYXJlZExpbmsoc2hhcmVkSWQpO1xuXG4gICAgICAgIHJldHVybiBmcm9tKHByb21pc2UpLnBpcGUoY2F0Y2hFcnJvcigoZXJyOiBFcnJvcikgPT4gb2YoZXJyKSkpO1xuICAgIH1cbn1cbiJdfQ==