X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Fapp%2Futilities%2Fns-update%2FNsUpdateComponent.ts;h=724bba35c95f42109a1c7ae0876c06665402f289;hb=refs%2Fchanges%2F14%2F14414%2F3;hp=80773e2319d8d797c8f945ccf94ead1fc5b184d7;hpb=3704b8334d999402c8775df7c6f88cdf6dc1b8f8;p=osm%2FNG-UI.git diff --git a/src/app/utilities/ns-update/NsUpdateComponent.ts b/src/app/utilities/ns-update/NsUpdateComponent.ts index 80773e2..724bba3 100644 --- a/src/app/utilities/ns-update/NsUpdateComponent.ts +++ b/src/app/utilities/ns-update/NsUpdateComponent.ts @@ -28,10 +28,9 @@ import { APIURLHEADER, CONFIGCONSTANT, ERRORDATA, MODALCLOSERESPONSEDATA, URLPAR import { environment } from 'environment'; import { NSUPDATE, TERMINATEVNF } from 'NSInstanceModel'; import { RestService } from 'RestService'; -import { SharedService } from 'SharedService'; -import { isNullOrUndefined } from 'util'; +import { SharedService, isNullOrUndefined } from 'SharedService'; import { VNFD } from 'VNFDModel'; -import { VNFInstanceDetails } from 'VNFInstanceModel'; +import { InstanceData, VNFInstanceDetails } from 'VNFInstanceModel'; import { WarningComponent } from 'WarningComponent'; /** @@ -146,27 +145,35 @@ export class NsUpdateComponent implements OnInit { /** Getting MemberVnfIndex using NSDescriptor API @public */ public getMemberVnfIndex(): void { + this.isLoadingResults = true; const vnfInstanceData: {}[] = []; this.restService.getResource(environment.VNFINSTANCES_URL).subscribe((vnfInstancesData: VNFInstanceDetails[]): void => { vnfInstancesData.forEach((vnfData: VNFInstanceDetails): void => { + const vnfdRef: string = 'vnfd-ref'; + const memberIndex: string = 'member-vnf-index-ref'; + const nsrId: string = 'nsr-id-ref'; + const vnfId: string = 'vnfd-id'; const vnfDataObj: {} = { - VNFD: vnfData['vnfd-ref'], + // eslint-disable-next-line security/detect-object-injection + VNFD: vnfData[vnfdRef], VNFInstanceId: vnfData._id, - MemberIndex: vnfData['member-vnf-index-ref'], - NS: vnfData['nsr-id-ref'], - VNFID: vnfData['vnfd-id'] + // eslint-disable-next-line security/detect-object-injection + MemberIndex: vnfData[memberIndex], + // eslint-disable-next-line security/detect-object-injection + NS: vnfData[nsrId], + // eslint-disable-next-line security/detect-object-injection + VNFID: vnfData[vnfId] }; vnfInstanceData.push(vnfDataObj); }); const nsId: string = 'NS'; + // eslint-disable-next-line security/detect-object-injection this.nsIdFilteredData = vnfInstanceData.filter((vnfdData: {}[]): boolean => vnfdData[nsId] === this.params.id); - this.nsIdFilteredData.forEach((resVNF: {}[]): void => { - const memberIndex: string = 'MemberIndex'; - const vnfinstanceID: string = 'VNFInstanceId'; + this.nsIdFilteredData.forEach((resVNF: InstanceData): void => { const assignMemberIndex: {} = { - id: resVNF[memberIndex], - vnfinstanceId: resVNF[vnfinstanceID] + id: resVNF.MemberIndex, + vnfinstanceId: resVNF.VNFInstanceId }; this.memberVnfIndex.push(assignMemberIndex); }); @@ -187,12 +194,15 @@ export class NsUpdateComponent implements OnInit { let memberIndexFilteredData: {}[] = []; const memberIndex: string = 'MemberIndex'; memberIndexFilteredData = this.nsIdFilteredData.filter((vnfdData: {}[]): boolean => + // eslint-disable-next-line security/detect-object-injection vnfdData[memberIndex] === this.memberIndexValue); const vnfId: string = 'VNFID'; const selectedvnfId: string = 'VNFD'; this.selectedVnf = memberIndexFilteredData; for (const data of memberIndexFilteredData) { + // eslint-disable-next-line security/detect-object-injection this.vnfID = data[vnfId]; + // eslint-disable-next-line security/detect-object-injection this.selectedvnfId = data[selectedvnfId]; } } @@ -238,6 +248,7 @@ export class NsUpdateComponent implements OnInit { if (this.nsUpdateForm.value.updateType === 'CHANGE_VNFPKG') { this.checkVersion(); } else { + // eslint-disable-next-line security/detect-non-literal-fs-filename const modalRef: NgbModalRef = this.modalService.open(WarningComponent, { backdrop: 'static' }); modalRef.componentInstance.heading = this.translateService.instant('TERMINATEVNF'); modalRef.componentInstance.confirmationMessage = this.translateService.instant('TERMINATEVNFCONTENT'); @@ -246,8 +257,9 @@ export class NsUpdateComponent implements OnInit { if (result.message === CONFIGCONSTANT.done) { this.onSubmit(); } - }).catch((): void => { //empty - }); + }).catch((): void => { + // Catch Navigation Error + }); } this.isLoadingResults = false; } @@ -272,11 +284,14 @@ export class NsUpdateComponent implements OnInit { let vnfIdFilteredData: {}[] = []; const vnfID: string = 'VNFID'; const version: string = 'version'; + // eslint-disable-next-line security/detect-object-injection vnfIdFilteredData = vnfDetails.filter((vnfdData: {}[]): boolean => vnfdData[vnfID] === this.vnfID); for (const data of vnfIdFilteredData) { + // eslint-disable-next-line security/detect-object-injection this.vnfversion = data[version]; } if (this.version === this.vnfversion) { + // eslint-disable-next-line security/detect-non-literal-fs-filename const modalRef: NgbModalRef = this.modalService.open(WarningComponent, { backdrop: 'static' }); modalRef.componentInstance.heading = this.translateService.instant('UPDATENS'); modalRef.componentInstance.confirmationMessage = this.translateService.instant('GENERICCONTENT'); @@ -286,9 +301,10 @@ export class NsUpdateComponent implements OnInit { this.onSubmit(); } }).catch((): void => { //empty - } + } ); } else { + // eslint-disable-next-line security/detect-non-literal-fs-filename const modalRef: NgbModalRef = this.modalService.open(WarningComponent, { backdrop: 'static' }); modalRef.componentInstance.heading = this.translateService.instant('REDEPLOY'); modalRef.componentInstance.confirmationMessage = this.translateService.instant('REDEPLOYCONTENT'); @@ -298,7 +314,7 @@ export class NsUpdateComponent implements OnInit { this.onSubmit(); } }).catch((): void => { //empty - }); + }); } }, (error: ERRORDATA): void => { this.restService.handleError(error, 'get'); @@ -323,7 +339,9 @@ export class NsUpdateComponent implements OnInit { }; this.restService.postResource(apiURLHeader, nsUpdatePayload).subscribe((result: {}): void => { this.activeModal.close(modalData); - this.router.navigate(['/instances/ns/history-operations/' + this.params.id]).catch(); + this.router.navigate(['/instances/ns/history-operations/' + this.params.id]).catch((): void => { + // Catch Navigation Error + }); }, (error: ERRORDATA): void => { this.restService.handleError(error, 'post'); this.isLoadingResults = false; @@ -344,6 +362,7 @@ export class NsUpdateComponent implements OnInit { /** Used to get the AbstractControl of controlName passed @private */ private getFormControl(controlName: string): AbstractControl { + // eslint-disable-next-line security/detect-object-injection return this.nsUpdateForm.controls[controlName]; } }