[ADF-] update library to use new js-api 3.0.0 (#4097)

This commit is contained in:
Eugenio Romano
2019-01-08 16:29:30 +00:00
committed by Eugenio Romano
parent 2acd1b4e26
commit 3ef7d3b7ea
430 changed files with 1966 additions and 2149 deletions
@@ -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[]>;
}
@@ -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')
@@ -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;
}
@@ -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;
}
@@ -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');
@@ -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;
}
@@ -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 {
@@ -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 {
@@ -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;