UNPKG

@alfresco/adf-content-services

Version:
84 lines 10.7 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 { GroupsApi } from '@alfresco/js-api'; import { AlfrescoApiService } from '../../services/alfresco-api.service'; import { from } from 'rxjs'; import { map } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "../../services/alfresco-api.service"; export class GroupService { get groupsApi() { this._groupsApi = this._groupsApi ?? new GroupsApi(this.alfrescoApiService.getInstance()); return this._groupsApi; } constructor(alfrescoApiService) { this.alfrescoApiService = alfrescoApiService; } async listAllGroupMembershipsForPerson(personId, opts, accumulator = []) { const groupsPaginated = await this.groupsApi.listGroupMembershipsForPerson(personId, opts); accumulator = [...accumulator, ...groupsPaginated.list.entries]; if (groupsPaginated.list.pagination.hasMoreItems) { const skip = groupsPaginated.list.pagination.skipCount + groupsPaginated.list.pagination.count; return this.listAllGroupMembershipsForPerson(personId, { maxItems: opts.maxItems, skipCount: skip }, accumulator); } else { return accumulator; } } /** * Returns group for specified id. * * @param id id of group to return. * @param opts additional query parameters * @returns Observable<GroupEntry> group for specified id. */ getGroup(id, opts) { return from(this.groupsApi.getGroup(id, opts)).pipe(map((group) => { group.entry.description ||= ''; return group; })); } /** * Updates specified group. * * @param group group to update. * @param opts additional query parameters * @returns Observable<GroupEntry> updated group. */ updateGroup(group, opts) { return from(this.groupsApi.updateGroup(group.id, { displayName: group.displayName, description: group.description }, opts)).pipe(map((updatedGroup) => { updatedGroup.entry.description ||= ''; return updatedGroup; })); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: GroupService, deps: [{ token: i1.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: GroupService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: GroupService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.AlfrescoApiService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvZ3JvdXAvc2VydmljZXMvZ3JvdXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBMEMsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUtyQyxNQUFNLE9BQU8sWUFBWTtJQUVyQixJQUFJLFNBQVM7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDMUYsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7SUFFOUQsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLFFBQWdCLEVBQUUsSUFBVSxFQUFFLFdBQVcsR0FBRyxFQUFFO1FBQ2pGLE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0YsV0FBVyxHQUFHLENBQUMsR0FBRyxXQUFXLEVBQUUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0MsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUMvRixPQUFPLElBQUksQ0FBQyxnQ0FBZ0MsQ0FDeEMsUUFBUSxFQUNSO2dCQUNJLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsU0FBUyxFQUFFLElBQUk7YUFDbEIsRUFDRCxXQUFXLENBQ2QsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxXQUFXLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxRQUFRLENBQUMsRUFBVSxFQUFFLElBQTBCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDL0MsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDVixLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsS0FBSyxFQUFFLENBQUM7WUFDL0IsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxXQUFXLENBQUMsS0FBWSxFQUFFLElBQTBCO1FBQ2hELE9BQU8sSUFBSSxDQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUN0QixLQUFLLENBQUMsRUFBRSxFQUNSO1lBQ0ksV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztTQUNqQyxFQUNELElBQUksQ0FDUCxDQUNKLENBQUMsSUFBSSxDQUNGLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ2pCLFlBQVksQ0FBQyxLQUFLLENBQUMsV0FBVyxLQUFLLEVBQUUsQ0FBQztZQUN0QyxPQUFPLFlBQVksQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs4R0FsRVEsWUFBWTtrSEFBWixZQUFZLGNBRlQsTUFBTTs7MkZBRVQsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRJbmNsdWRlUXVlcnksIEdyb3VwLCBHcm91cEVudHJ5LCBHcm91cHNBcGkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZnJlc2NvLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHcm91cFNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2dyb3Vwc0FwaTogR3JvdXBzQXBpO1xuICAgIGdldCBncm91cHNBcGkoKTogR3JvdXBzQXBpIHtcbiAgICAgICAgdGhpcy5fZ3JvdXBzQXBpID0gdGhpcy5fZ3JvdXBzQXBpID8/IG5ldyBHcm91cHNBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9ncm91cHNBcGk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhbGZyZXNjb0FwaVNlcnZpY2U6IEFsZnJlc2NvQXBpU2VydmljZSkge31cblxuICAgIGFzeW5jIGxpc3RBbGxHcm91cE1lbWJlcnNoaXBzRm9yUGVyc29uKHBlcnNvbklkOiBzdHJpbmcsIG9wdHM/OiBhbnksIGFjY3VtdWxhdG9yID0gW10pOiBQcm9taXNlPEdyb3VwRW50cnlbXT4ge1xuICAgICAgICBjb25zdCBncm91cHNQYWdpbmF0ZWQgPSBhd2FpdCB0aGlzLmdyb3Vwc0FwaS5saXN0R3JvdXBNZW1iZXJzaGlwc0ZvclBlcnNvbihwZXJzb25JZCwgb3B0cyk7XG4gICAgICAgIGFjY3VtdWxhdG9yID0gWy4uLmFjY3VtdWxhdG9yLCAuLi5ncm91cHNQYWdpbmF0ZWQubGlzdC5lbnRyaWVzXTtcbiAgICAgICAgaWYgKGdyb3Vwc1BhZ2luYXRlZC5saXN0LnBhZ2luYXRpb24uaGFzTW9yZUl0ZW1zKSB7XG4gICAgICAgICAgICBjb25zdCBza2lwID0gZ3JvdXBzUGFnaW5hdGVkLmxpc3QucGFnaW5hdGlvbi5za2lwQ291bnQgKyBncm91cHNQYWdpbmF0ZWQubGlzdC5wYWdpbmF0aW9uLmNvdW50O1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubGlzdEFsbEdyb3VwTWVtYmVyc2hpcHNGb3JQZXJzb24oXG4gICAgICAgICAgICAgICAgcGVyc29uSWQsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBtYXhJdGVtczogb3B0cy5tYXhJdGVtcyxcbiAgICAgICAgICAgICAgICAgICAgc2tpcENvdW50OiBza2lwXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhY2N1bXVsYXRvclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgZ3JvdXAgZm9yIHNwZWNpZmllZCBpZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCBpZCBvZiBncm91cCB0byByZXR1cm4uXG4gICAgICogQHBhcmFtIG9wdHMgYWRkaXRpb25hbCBxdWVyeSBwYXJhbWV0ZXJzXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcm91cEVudHJ5PiBncm91cCBmb3Igc3BlY2lmaWVkIGlkLlxuICAgICAqL1xuICAgIGdldEdyb3VwKGlkOiBzdHJpbmcsIG9wdHM/OiBDb250ZW50SW5jbHVkZVF1ZXJ5KTogT2JzZXJ2YWJsZTxHcm91cEVudHJ5PiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMuZ3JvdXBzQXBpLmdldEdyb3VwKGlkLCBvcHRzKSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoZ3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICBncm91cC5lbnRyeS5kZXNjcmlwdGlvbiB8fD0gJyc7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdyb3VwO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHNwZWNpZmllZCBncm91cC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBncm91cCBncm91cCB0byB1cGRhdGUuXG4gICAgICogQHBhcmFtIG9wdHMgYWRkaXRpb25hbCBxdWVyeSBwYXJhbWV0ZXJzXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxHcm91cEVudHJ5PiB1cGRhdGVkIGdyb3VwLlxuICAgICAqL1xuICAgIHVwZGF0ZUdyb3VwKGdyb3VwOiBHcm91cCwgb3B0cz86IENvbnRlbnRJbmNsdWRlUXVlcnkpOiBPYnNlcnZhYmxlPEdyb3VwRW50cnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgICB0aGlzLmdyb3Vwc0FwaS51cGRhdGVHcm91cChcbiAgICAgICAgICAgICAgICBncm91cC5pZCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBncm91cC5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGdyb3VwLmRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvcHRzXG4gICAgICAgICAgICApXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIG1hcCgodXBkYXRlZEdyb3VwKSA9PiB7XG4gICAgICAgICAgICAgICAgdXBkYXRlZEdyb3VwLmVudHJ5LmRlc2NyaXB0aW9uIHx8PSAnJztcbiAgICAgICAgICAgICAgICByZXR1cm4gdXBkYXRlZEdyb3VwO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=