mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-09 18:03:21 +00:00
[ADF-] update library to use new js-api 3.0.0 (#4097)
This commit is contained in:
committed by
Eugenio Romano
parent
2acd1b4e26
commit
3ef7d3b7ea
+2
-2
@@ -15,11 +15,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { MinimalNodeEntity } from 'alfresco-js-api';
|
||||
import { NodeEntry } from '@alfresco/js-api';
|
||||
import { Subject } from 'rxjs';
|
||||
|
||||
export interface AddPermissionDialogData {
|
||||
title?: string;
|
||||
nodeId: string;
|
||||
confirm: Subject<MinimalNodeEntity[]>;
|
||||
confirm: Subject<NodeEntry[]>;
|
||||
}
|
||||
|
||||
+2
-2
@@ -22,7 +22,7 @@ import { ContentTestingModule } from '../../../testing/content.testing.module';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { setupTestBed } from '@alfresco/adf-core';
|
||||
import { AddPermissionDialogComponent } from './add-permission-dialog.component';
|
||||
import { MinimalNodeEntity } from 'alfresco-js-api';
|
||||
import { NodeEntry } from '@alfresco/js-api';
|
||||
import { Subject } from 'rxjs';
|
||||
import { AddPermissionDialogData } from './add-permission-dialog-data.interface';
|
||||
import { fakeAuthorityResults } from '../../../mock/add-permission.component.mock';
|
||||
@@ -35,7 +35,7 @@ describe('AddPermissionDialog', () => {
|
||||
let data: AddPermissionDialogData = {
|
||||
title: 'dead or alive you are coming with me',
|
||||
nodeId: 'fake-node-id',
|
||||
confirm: new Subject<MinimalNodeEntity[]> ()
|
||||
confirm: new Subject<NodeEntry[]> ()
|
||||
};
|
||||
const dialogRef = {
|
||||
close: jasmine.createSpy('close')
|
||||
|
||||
+3
-3
@@ -17,7 +17,7 @@
|
||||
|
||||
import { Component, ViewEncapsulation, Inject, ViewChild } from '@angular/core';
|
||||
import { MAT_DIALOG_DATA } from '@angular/material';
|
||||
import { MinimalNodeEntity } from 'alfresco-js-api';
|
||||
import { NodeEntry } from '@alfresco/js-api';
|
||||
import { AddPermissionDialogData } from './add-permission-dialog-data.interface';
|
||||
import { AddPermissionComponent } from '../add-permission/add-permission.component';
|
||||
|
||||
@@ -32,12 +32,12 @@ export class AddPermissionDialogComponent {
|
||||
@ViewChild('addPermission')
|
||||
addPermissionComponent: AddPermissionComponent;
|
||||
|
||||
currentSelection: MinimalNodeEntity[] = [];
|
||||
currentSelection: NodeEntry[] = [];
|
||||
|
||||
constructor(@Inject(MAT_DIALOG_DATA) public data: AddPermissionDialogData) {
|
||||
}
|
||||
|
||||
onSelect(items: MinimalNodeEntity[]) {
|
||||
onSelect(items: NodeEntry[]) {
|
||||
this.currentSelection = items;
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -21,7 +21,7 @@ import { SearchService, SearchConfigurationService } from '@alfresco/adf-core';
|
||||
import { SearchComponent } from '../../../search/components/search.component';
|
||||
import { FormControl } from '@angular/forms';
|
||||
import { debounceTime } from 'rxjs/operators';
|
||||
import { MinimalNodeEntity } from 'alfresco-js-api';
|
||||
import { NodeEntry } from '@alfresco/js-api';
|
||||
|
||||
@Component({
|
||||
selector: 'adf-add-permission-panel',
|
||||
@@ -46,9 +46,9 @@ export class AddPermissionPanelComponent {
|
||||
searchedWord = '';
|
||||
debounceSearch: number = 200;
|
||||
|
||||
selectedItems: MinimalNodeEntity[] = [];
|
||||
selectedItems: NodeEntry[] = [];
|
||||
|
||||
EVERYONE: MinimalNodeEntity = { entry: { properties: {'cm:authorityName': 'GROUP_EVERYONE'}}};
|
||||
EVERYONE: NodeEntry = new NodeEntry({ entry: { properties: {'cm:authorityName': 'GROUP_EVERYONE'}}});
|
||||
|
||||
constructor() {
|
||||
this.searchInput.valueChanges
|
||||
@@ -63,7 +63,7 @@ export class AddPermissionPanelComponent {
|
||||
});
|
||||
}
|
||||
|
||||
elementClicked(item: MinimalNodeEntity) {
|
||||
elementClicked(item: NodeEntry) {
|
||||
if (this.isAlreadySelected(item)) {
|
||||
this.selectedItems.splice(this.selectedItems.indexOf(item), 1);
|
||||
} else {
|
||||
@@ -72,7 +72,7 @@ export class AddPermissionPanelComponent {
|
||||
this.select.emit(this.selectedItems);
|
||||
}
|
||||
|
||||
private isAlreadySelected(item: MinimalNodeEntity): boolean {
|
||||
private isAlreadySelected(item: NodeEntry): boolean {
|
||||
return this.selectedItems.indexOf(item) >= 0;
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -24,6 +24,7 @@ import { of, throwError } from 'rxjs';
|
||||
import { fakeAuthorityResults } from '../../../mock/add-permission.component.mock';
|
||||
import { ContentTestingModule } from '../../../testing/content.testing.module';
|
||||
import { NodePermissionService } from '../../services/node-permission.service';
|
||||
import { Node } from '@alfresco/js-api';
|
||||
|
||||
describe('AddPermissionComponent', () => {
|
||||
|
||||
@@ -73,7 +74,7 @@ describe('AddPermissionComponent', () => {
|
||||
it('should NOT enable the ADD button when a selection is sent but the user does not have the permissions', async(() => {
|
||||
const addPermissionPanelComponent: AddPermissionPanelComponent = fixture.debugElement.query(By.directive(AddPermissionPanelComponent)).componentInstance;
|
||||
addPermissionPanelComponent.select.emit(fakeAuthorityResults);
|
||||
fixture.componentInstance.currentNode = {id: 'fake-node-id'};
|
||||
fixture.componentInstance.currentNode = new Node({id: 'fake-node-id'});
|
||||
fixture.whenStable().then(() => {
|
||||
fixture.detectChanges();
|
||||
const addButton: HTMLButtonElement = <HTMLButtonElement> element.querySelector('#adf-add-permission-action-button');
|
||||
@@ -100,7 +101,7 @@ describe('AddPermissionComponent', () => {
|
||||
|
||||
it('should NOT emit a success event when the user does not have permission to update the node', () => {
|
||||
fixture.componentInstance.selectedItems = fakeAuthorityResults;
|
||||
fixture.componentInstance.currentNode = { id: 'fake-node-id' };
|
||||
fixture.componentInstance.currentNode = new Node({ id: 'fake-node-id' });
|
||||
spyOn(nodePermissionService, 'updateNodePermissions').and.returnValue(of({ id: 'fake-node-id' }));
|
||||
|
||||
let spySuccess = spyOn(fixture.componentInstance, 'success');
|
||||
|
||||
+5
-5
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { Component, ViewEncapsulation, EventEmitter, Input, Output } from '@angular/core';
|
||||
import { MinimalNodeEntity, MinimalNodeEntryEntity } from 'alfresco-js-api';
|
||||
import { NodeEntry, Node } from '@alfresco/js-api';
|
||||
import { NodePermissionService } from '../../services/node-permission.service';
|
||||
import { NodesApiService, ContentService, PermissionsEnum } from '@alfresco/adf-core';
|
||||
|
||||
@@ -34,14 +34,14 @@ export class AddPermissionComponent {
|
||||
|
||||
/** Emitted when the node is updated successfully. */
|
||||
@Output()
|
||||
success: EventEmitter<MinimalNodeEntryEntity> = new EventEmitter();
|
||||
success: EventEmitter<Node> = new EventEmitter();
|
||||
|
||||
/** Emitted when an error occurs during the update. */
|
||||
@Output()
|
||||
error: EventEmitter<any> = new EventEmitter();
|
||||
|
||||
selectedItems: MinimalNodeEntity[] = [];
|
||||
currentNode: MinimalNodeEntryEntity;
|
||||
selectedItems: NodeEntry[] = [];
|
||||
currentNode: Node;
|
||||
currentNodeRoles: string[];
|
||||
|
||||
constructor(private nodePermissionService: NodePermissionService,
|
||||
@@ -50,7 +50,7 @@ export class AddPermissionComponent {
|
||||
this.nodeApiService.getNode(this.nodeId).subscribe((node) => this.currentNode = node);
|
||||
}
|
||||
|
||||
onSelect(selection: MinimalNodeEntity[]) {
|
||||
onSelect(selection: NodeEntry[]) {
|
||||
this.selectedItems = selection;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { QueryBody } from 'alfresco-js-api';
|
||||
import { QueryBody } from '@alfresco/js-api';
|
||||
import { SearchConfigurationInterface } from '@alfresco/adf-core';
|
||||
|
||||
export class SearchPermissionConfigurationService implements SearchConfigurationInterface {
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
/* tslint:disable:no-input-rename */
|
||||
import { Directive, Input, Output, EventEmitter } from '@angular/core';
|
||||
import { NodesApiService, ContentService, PermissionsEnum } from '@alfresco/adf-core';
|
||||
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
|
||||
import { Node } from '@alfresco/js-api';
|
||||
|
||||
@Directive({
|
||||
selector: 'button[adf-inherit-permission], mat-button-toggle[adf-inherit-permission]',
|
||||
@@ -35,7 +35,7 @@ export class InheritPermissionDirective {
|
||||
|
||||
/** Emitted when the node is updated. */
|
||||
@Output()
|
||||
updated: EventEmitter<MinimalNodeEntryEntity> = new EventEmitter<MinimalNodeEntryEntity>();
|
||||
updated: EventEmitter<Node> = new EventEmitter<Node>();
|
||||
|
||||
/** Emitted when an error occurs. */
|
||||
@Output()
|
||||
@@ -46,10 +46,10 @@ export class InheritPermissionDirective {
|
||||
}
|
||||
|
||||
onInheritPermissionClicked() {
|
||||
this.nodeService.getNode(this.nodeId).subscribe((node: MinimalNodeEntryEntity) => {
|
||||
this.nodeService.getNode(this.nodeId).subscribe((node: Node) => {
|
||||
if (this.contentService.hasPermission(node, PermissionsEnum.UPDATEPERMISSIONS)) {
|
||||
const nodeBody = { permissions: { isInheritanceEnabled: !node.permissions.isInheritanceEnabled } };
|
||||
this.nodeService.updateNode(this.nodeId, nodeBody, { include: ['permissions'] }).subscribe((nodeUpdated: MinimalNodeEntryEntity) => {
|
||||
this.nodeService.updateNode(this.nodeId, nodeBody, { include: ['permissions'] }).subscribe((nodeUpdated: Node) => {
|
||||
this.updated.emit(nodeUpdated);
|
||||
}, (error) => this.error.emit(error));
|
||||
} else {
|
||||
|
||||
+10
-10
@@ -17,7 +17,7 @@
|
||||
|
||||
import { Component, ViewEncapsulation, Input, OnInit, EventEmitter, Output } from '@angular/core';
|
||||
import { NodesApiService } from '@alfresco/adf-core';
|
||||
import { MinimalNodeEntryEntity, PermissionElement } from 'alfresco-js-api';
|
||||
import { Node, PermissionElement } from '@alfresco/js-api';
|
||||
import { PermissionDisplayModel } from '../../models/permission.model';
|
||||
import { NodePermissionService } from '../../services/node-permission.service';
|
||||
|
||||
@@ -43,7 +43,7 @@ export class PermissionListComponent implements OnInit {
|
||||
|
||||
permissionList: PermissionDisplayModel[];
|
||||
settableRoles: any[];
|
||||
actualNode: MinimalNodeEntryEntity;
|
||||
actualNode: Node;
|
||||
|
||||
constructor(private nodeService: NodesApiService,
|
||||
private nodePermissionService: NodePermissionService) {
|
||||
@@ -59,26 +59,26 @@ export class PermissionListComponent implements OnInit {
|
||||
}
|
||||
|
||||
private fetchNodePermissions() {
|
||||
this.nodeService.getNode(this.nodeId).subscribe((node: MinimalNodeEntryEntity) => {
|
||||
this.nodeService.getNode(this.nodeId).subscribe((node: Node) => {
|
||||
this.actualNode = node;
|
||||
this.permissionList = this.getPermissionList(node);
|
||||
this.nodePermissionService.getNodeRoles(node).subscribe((settableList: string[]) => {
|
||||
this.settableRoles = settableList;
|
||||
this.settableRoles = settableList;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private getPermissionList(node: MinimalNodeEntryEntity): PermissionDisplayModel[] {
|
||||
private getPermissionList(node: Node): PermissionDisplayModel[] {
|
||||
let allPermissions: PermissionDisplayModel[] = [];
|
||||
if (node.permissions.locallySet) {
|
||||
node.permissions.locallySet.map((element) => {
|
||||
let permission = new PermissionDisplayModel(element);
|
||||
node.permissions.locallySet.map((permissionElement: PermissionElement) => {
|
||||
let permission = new PermissionDisplayModel(permissionElement);
|
||||
allPermissions.push(permission);
|
||||
});
|
||||
}
|
||||
if (node.permissions.inherited) {
|
||||
node.permissions.inherited.map((element) => {
|
||||
let permissionInherited = new PermissionDisplayModel(element);
|
||||
node.permissions.inherited.map((permissionElement: PermissionElement) => {
|
||||
let permissionInherited = new PermissionDisplayModel(permissionElement);
|
||||
permissionInherited.isInherited = true;
|
||||
allPermissions.push(permissionInherited);
|
||||
});
|
||||
@@ -89,7 +89,7 @@ export class PermissionListComponent implements OnInit {
|
||||
saveNewRole(event: any, permissionRow: PermissionDisplayModel) {
|
||||
let updatedPermissionRole: PermissionElement = this.buildUpdatedPermission(event.value, permissionRow);
|
||||
this.nodePermissionService.updatePermissionRole(this.actualNode, updatedPermissionRole)
|
||||
.subscribe((node: MinimalNodeEntryEntity) => {
|
||||
.subscribe((node: Node) => {
|
||||
this.update.emit(updatedPermissionRole);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { PermissionElement } from 'alfresco-js-api';
|
||||
import { PermissionElement } from '@alfresco/js-api';
|
||||
|
||||
export class PermissionDisplayModel implements PermissionElement {
|
||||
|
||||
|
||||
+3
-3
@@ -22,7 +22,7 @@ import { MatDialog } from '@angular/material';
|
||||
import { Subject, of, throwError } from 'rxjs';
|
||||
import { ContentTestingModule } from '../../testing/content.testing.module';
|
||||
import { NodePermissionService } from './node-permission.service';
|
||||
import { Node } from 'alfresco-js-api';
|
||||
import { Node } from '@alfresco/js-api';
|
||||
|
||||
describe('NodePermissionDialogService', () => {
|
||||
|
||||
@@ -61,7 +61,7 @@ describe('NodePermissionDialogService', () => {
|
||||
|
||||
describe('when node has permission to update permissions', () => {
|
||||
|
||||
let fakePermissionNode = {};
|
||||
let fakePermissionNode = new Node({});
|
||||
|
||||
beforeEach(() => {
|
||||
fakePermissionNode = <Node> { id: 'fake-permission-node', allowableOperations: ['updatePermissions']};
|
||||
@@ -97,7 +97,7 @@ describe('NodePermissionDialogService', () => {
|
||||
|
||||
describe('when node does not have permission to update permissions', () => {
|
||||
|
||||
let fakeForbiddenNode = {};
|
||||
let fakeForbiddenNode = new Node({});
|
||||
|
||||
beforeEach(() => {
|
||||
fakeForbiddenNode = <Node> { id: 'fake-permission-node', allowableOperations: ['update']};
|
||||
|
||||
@@ -20,7 +20,7 @@ import { Injectable } from '@angular/core';
|
||||
import { Subject, Observable, throwError } from 'rxjs';
|
||||
import { AddPermissionDialogComponent } from '../components/add-permission/add-permission-dialog.component';
|
||||
import { AddPermissionDialogData } from '../components/add-permission/add-permission-dialog-data.interface';
|
||||
import { MinimalNodeEntity, MinimalNodeEntryEntity, Node } from 'alfresco-js-api';
|
||||
import { NodeEntry, Node } from '@alfresco/js-api';
|
||||
import { NodePermissionService } from './node-permission.service';
|
||||
import { ContentService, PermissionsEnum } from '@alfresco/adf-core';
|
||||
import { switchMap } from 'rxjs/operators';
|
||||
@@ -41,9 +41,9 @@ export class NodePermissionDialogService {
|
||||
* @param title Dialog title
|
||||
* @returns Node with updated permissions
|
||||
*/
|
||||
openAddPermissionDialog(node: Node, title?: string): Observable<MinimalNodeEntity[]> {
|
||||
openAddPermissionDialog(node: Node, title?: string): Observable<NodeEntry[]> {
|
||||
if (this.contentService.hasPermission(node, PermissionsEnum.UPDATEPERMISSIONS)) {
|
||||
const confirm = new Subject<MinimalNodeEntity[]>();
|
||||
const confirm = new Subject<NodeEntry[]>();
|
||||
|
||||
confirm.subscribe({
|
||||
complete: this.close.bind(this)
|
||||
@@ -81,7 +81,7 @@ export class NodePermissionDialogService {
|
||||
* @param title Dialog title
|
||||
* @returns Node with updated permissions
|
||||
*/
|
||||
updateNodePermissionByDialog(nodeId?: string, title?: string): Observable<MinimalNodeEntryEntity> {
|
||||
updateNodePermissionByDialog(nodeId?: string, title?: string): Observable<Node> {
|
||||
return this.contentService.getNode(nodeId, { include: ['allowableOperations'] })
|
||||
.pipe(
|
||||
switchMap((node) => {
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
import { async, TestBed } from '@angular/core/testing';
|
||||
import { NodePermissionService } from './node-permission.service';
|
||||
import { SearchService, NodesApiService, setupTestBed, CoreModule } from '@alfresco/adf-core';
|
||||
import { MinimalNodeEntryEntity, PermissionElement } from 'alfresco-js-api';
|
||||
import { Node, PermissionElement } from '@alfresco/js-api';
|
||||
import { of } from 'rxjs';
|
||||
import { fakeEmptyResponse, fakeNodeWithOnlyLocally, fakeSiteRoles, fakeSiteNodeResponse,
|
||||
fakeNodeToRemovePermission, fakeNodeWithoutPermissions } from '../../mock/permission-list.component.mock';
|
||||
@@ -52,7 +52,7 @@ describe('NodePermissionService', () => {
|
||||
});
|
||||
|
||||
function returnUpdatedNode(nodeId, nodeBody) {
|
||||
let fakeNode: MinimalNodeEntryEntity = {};
|
||||
let fakeNode: Node = new Node({});
|
||||
fakeNode.id = 'fake-updated-node';
|
||||
fakeNode.permissions = nodeBody.permissions;
|
||||
return of(fakeNode);
|
||||
@@ -89,7 +89,7 @@ describe('NodePermissionService', () => {
|
||||
|
||||
spyOn(nodeService, 'updateNode').and.callFake((nodeId, permissionBody) => returnUpdatedNode(nodeId, permissionBody));
|
||||
|
||||
service.updatePermissionRole(fakeNodeWithOnlyLocally, fakePermission).subscribe((node: MinimalNodeEntryEntity) => {
|
||||
service.updatePermissionRole(fakeNodeWithOnlyLocally, fakePermission).subscribe((node: Node) => {
|
||||
expect(node).not.toBeNull();
|
||||
expect(node.id).toBe('fake-updated-node');
|
||||
expect(node.permissions.locallySet.length).toBe(1);
|
||||
@@ -108,7 +108,7 @@ describe('NodePermissionService', () => {
|
||||
spyOn(nodeService, 'updateNode').and.callFake((nodeId, permissionBody) => returnUpdatedNode(nodeId, permissionBody));
|
||||
const fakeNodeCopy = JSON.parse(JSON.stringify(fakeNodeToRemovePermission));
|
||||
|
||||
service.removePermission(fakeNodeCopy, fakePermission).subscribe((node: MinimalNodeEntryEntity) => {
|
||||
service.removePermission(fakeNodeCopy, fakePermission).subscribe((node: Node) => {
|
||||
expect(node).not.toBeNull();
|
||||
expect(node.id).toBe('fake-updated-node');
|
||||
expect(node.permissions.locallySet.length).toBe(2);
|
||||
@@ -124,7 +124,7 @@ describe('NodePermissionService', () => {
|
||||
spyOn(searchApiService, 'searchByQueryBody').and.returnValue(of(fakeSiteNodeResponse));
|
||||
spyOn(service, 'getGroupMemberByGroupName').and.returnValue(of(fakeSiteRoles));
|
||||
|
||||
service.updateNodePermissions('fake-node-id', fakeAuthorityResults).subscribe((node: MinimalNodeEntryEntity) => {
|
||||
service.updateNodePermissions('fake-node-id', fakeAuthorityResults).subscribe((node: Node) => {
|
||||
expect(node).not.toBeNull();
|
||||
expect(node.id).toBe('fake-updated-node');
|
||||
expect(node.permissions.locallySet.length).toBe(4);
|
||||
@@ -138,7 +138,7 @@ describe('NodePermissionService', () => {
|
||||
const fakeNodeCopy = JSON.parse(JSON.stringify(fakeNodeWithOnlyLocally));
|
||||
spyOn(nodeService, 'updateNode').and.callFake((nodeId, permissionBody) => returnUpdatedNode(nodeId, permissionBody));
|
||||
|
||||
service.updateLocallySetPermissions(fakeNodeCopy, fakeAuthorityResults, fakeSiteRoles).subscribe((node: MinimalNodeEntryEntity) => {
|
||||
service.updateLocallySetPermissions(fakeNodeCopy, fakeAuthorityResults, fakeSiteRoles).subscribe((node: Node) => {
|
||||
expect(node).not.toBeNull();
|
||||
expect(node.id).toBe('fake-updated-node');
|
||||
expect(node.permissions.locallySet.length).toBe(4);
|
||||
@@ -153,7 +153,7 @@ describe('NodePermissionService', () => {
|
||||
fakeNodeCopy.permissions.locallySet = undefined;
|
||||
spyOn(nodeService, 'updateNode').and.callFake((nodeId, permissionBody) => returnUpdatedNode(nodeId, permissionBody));
|
||||
|
||||
service.updateLocallySetPermissions(fakeNodeCopy, fakeAuthorityResults, fakeSiteRoles).subscribe((node: MinimalNodeEntryEntity) => {
|
||||
service.updateLocallySetPermissions(fakeNodeCopy, fakeAuthorityResults, fakeSiteRoles).subscribe((node: Node) => {
|
||||
expect(node).not.toBeNull();
|
||||
expect(node.id).toBe('fake-updated-node');
|
||||
expect(node.permissions.locallySet.length).toBe(3);
|
||||
@@ -185,7 +185,7 @@ describe('NodePermissionService', () => {
|
||||
}];
|
||||
|
||||
service.updateLocallySetPermissions(fakeNodeCopy, fakeDuplicateAuthority, ['Contributor'])
|
||||
.subscribe((node: MinimalNodeEntryEntity) => {
|
||||
.subscribe((node: Node) => {
|
||||
|
||||
}, (errorMessage) => {
|
||||
expect(errorMessage).not.toBeNull();
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Observable, of, from, throwError } from 'rxjs';
|
||||
import { AlfrescoApiService, SearchService, NodesApiService, TranslationService } from '@alfresco/adf-core';
|
||||
import { QueryBody, MinimalNodeEntryEntity, MinimalNodeEntity, PathElement, GroupMemberEntry, GroupsPaging, GroupMemberPaging, PermissionElement } from 'alfresco-js-api';
|
||||
import { QueryBody, Node, NodeEntry, PathElement, GroupMemberEntry, GroupMemberPaging, PermissionElement } from '@alfresco/js-api';
|
||||
import { switchMap, map } from 'rxjs/operators';
|
||||
|
||||
@Injectable({
|
||||
@@ -37,7 +37,7 @@ export class NodePermissionService {
|
||||
* @param node The target node
|
||||
* @returns Array of strings representing the roles
|
||||
*/
|
||||
getNodeRoles(node: MinimalNodeEntryEntity): Observable<string[]> {
|
||||
getNodeRoles(node: Node): Observable<string[]> {
|
||||
const retrieveSiteQueryBody: QueryBody = this.buildRetrieveSiteQueryBody(node.path.elements);
|
||||
return this.searchApiService.searchByQueryBody(retrieveSiteQueryBody)
|
||||
.pipe(
|
||||
@@ -58,7 +58,7 @@ export class NodePermissionService {
|
||||
* @param updatedPermissionRole Permission role to update or add
|
||||
* @returns Node with updated permission
|
||||
*/
|
||||
updatePermissionRole(node: MinimalNodeEntryEntity, updatedPermissionRole: PermissionElement): Observable<MinimalNodeEntryEntity> {
|
||||
updatePermissionRole(node: Node, updatedPermissionRole: PermissionElement): Observable<Node> {
|
||||
let permissionBody = { permissions: { locallySet: []} };
|
||||
const index = node.permissions.locallySet.map((permission) => permission.authorityId).indexOf(updatedPermissionRole.authorityId);
|
||||
permissionBody.permissions.locallySet = permissionBody.permissions.locallySet.concat(node.permissions.locallySet);
|
||||
@@ -76,7 +76,7 @@ export class NodePermissionService {
|
||||
* @param permissionList New permission settings
|
||||
* @returns Node with updated permissions
|
||||
*/
|
||||
updateNodePermissions(nodeId: string, permissionList: MinimalNodeEntity[]): Observable<MinimalNodeEntryEntity> {
|
||||
updateNodePermissions(nodeId: string, permissionList: NodeEntry[]): Observable<Node> {
|
||||
return this.nodeService.getNode(nodeId).pipe(
|
||||
switchMap((node) => {
|
||||
return this.getNodeRoles(node).pipe(
|
||||
@@ -94,7 +94,7 @@ export class NodePermissionService {
|
||||
* @param nodeRole Permission role
|
||||
* @returns Node with updated permissions
|
||||
*/
|
||||
updateLocallySetPermissions(node: MinimalNodeEntryEntity, nodes: MinimalNodeEntity[], nodeRole: string[]): Observable<MinimalNodeEntryEntity> {
|
||||
updateLocallySetPermissions(node: Node, nodes: NodeEntry[], nodeRole: string[]): Observable<Node> {
|
||||
let permissionBody = { permissions: { locallySet: []} };
|
||||
const permissionList = this.transformNodeToPermissionElement(nodes, nodeRole[0]);
|
||||
const duplicatedPermissions = this.getDuplicatedPermissions(node.permissions.locallySet, permissionList);
|
||||
@@ -126,7 +126,7 @@ export class NodePermissionService {
|
||||
oldPermission.name === newPermission.name;
|
||||
}
|
||||
|
||||
private transformNodeToPermissionElement(nodes: MinimalNodeEntity[], nodeRole: any): PermissionElement[] {
|
||||
private transformNodeToPermissionElement(nodes: NodeEntry[], nodeRole: any): PermissionElement[] {
|
||||
return nodes.map((node) => {
|
||||
let newPermissionElement: PermissionElement = <PermissionElement> {
|
||||
'authorityId': node.entry.properties['cm:authorityName'] ?
|
||||
@@ -145,7 +145,7 @@ export class NodePermissionService {
|
||||
* @param permissionToRemove Permission setting to remove
|
||||
* @returns Node with modified permissions
|
||||
*/
|
||||
removePermission(node: MinimalNodeEntryEntity, permissionToRemove: PermissionElement): Observable<MinimalNodeEntryEntity> {
|
||||
removePermission(node: Node, permissionToRemove: PermissionElement): Observable<Node> {
|
||||
let permissionBody = { permissions: { locallySet: [] } };
|
||||
const index = node.permissions.locallySet.map((permission) => permission.authorityId).indexOf(permissionToRemove.authorityId);
|
||||
if (index !== -1) {
|
||||
@@ -159,9 +159,9 @@ export class NodePermissionService {
|
||||
const groupName = 'GROUP_site_' + siteName;
|
||||
return this.getGroupMemberByGroupName(groupName)
|
||||
.pipe(
|
||||
map((res: GroupsPaging) => {
|
||||
map((groupMemberPaging: GroupMemberPaging) => {
|
||||
let displayResult: string[] = [];
|
||||
res.list.entries.forEach((member: GroupMemberEntry) => {
|
||||
groupMemberPaging.list.entries.forEach((member: GroupMemberEntry) => {
|
||||
displayResult.push(this.formattedRoleName(member.entry.displayName, 'site_' + siteName));
|
||||
});
|
||||
return displayResult;
|
||||
|
||||
Reference in New Issue
Block a user