From c9c17db2469d1ac19537fab3c4bff3a5cb8470d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Mon, 11 Oct 2021 22:23:58 +0300 Subject: [PATCH] Removed LegalBasisMappingControllerService --- .../change-legal-basis-dialog.component.ts | 9 +-- .../force-redaction-dialog.component.ts | 37 ++++++----- .../manual-annotation-dialog.component.ts | 61 +++++++++---------- .../entity-services/justifications.service.ts | 8 +++ libs/red-ui-http/src/lib/api.module.ts | 2 - libs/red-ui-http/src/lib/api/api.ts | 2 - 6 files changed, 61 insertions(+), 58 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts index 831ed6d98..e9fc4bce4 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts @@ -3,10 +3,10 @@ import { TranslateService } from '@ngx-translate/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; -import { LegalBasisMappingControllerService } from '@redaction/red-ui-http'; import { AppStateService } from '@state/app-state.service'; import { PermissionsService } from '@services/permissions.service'; import { DossiersService } from '@services/entity-services/dossiers.service'; +import { JustificationsService } from '@services/entity-services/justifications.service'; export interface LegalBasisOption { label?: string; @@ -26,7 +26,7 @@ export class ChangeLegalBasisDialogComponent implements OnInit { constructor( private readonly _translateService: TranslateService, - private readonly _legalBasisMappingControllerService: LegalBasisMappingControllerService, + private readonly _justificationsService: JustificationsService, private readonly _appStateService: AppStateService, private readonly _dossiersService: DossiersService, private readonly _permissionsService: PermissionsService, @@ -46,8 +46,9 @@ export class ChangeLegalBasisDialogComponent implements OnInit { reason: [null, Validators.required], comment: this.isDocumentAdmin ? [null] : [null, Validators.required], }); - const data = await this._legalBasisMappingControllerService - .getLegalBasisMapping(this._dossiersService.activeDossier.dossierTemplateId) + + const data = await this._justificationsService + .getForDossierTemplate(this._dossiersService.activeDossier.dossierTemplateId) .toPromise(); this.legalOptions = data diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-redaction-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-redaction-dialog.component.ts index d095c4c70..8cc9d50d6 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-redaction-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-redaction-dialog.component.ts @@ -1,13 +1,14 @@ import { Component, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MatDialogRef } from '@angular/material/dialog'; -import { ForceRedactionRequest, LegalBasisMappingControllerService } from '@redaction/red-ui-http'; +import { ForceRedactionRequest } from '@redaction/red-ui-http'; import { Toaster } from '@iqser/common-ui'; import { TranslateService } from '@ngx-translate/core'; import { UserService } from '@services/user.service'; import { ManualAnnotationService } from '../../services/manual-annotation.service'; import { PermissionsService } from '@services/permissions.service'; import { DossiersService } from '@services/entity-services/dossiers.service'; +import { JustificationsService } from '@services/entity-services/justifications.service'; export interface LegalBasisOption { label?: string; @@ -31,27 +32,11 @@ export class ForceRedactionDialogComponent implements OnInit { private readonly _formBuilder: FormBuilder, private readonly _notificationService: Toaster, private readonly _translateService: TranslateService, - private readonly _legalBasisMappingControllerService: LegalBasisMappingControllerService, + private readonly _justificationsService: JustificationsService, private readonly _manualAnnotationService: ManualAnnotationService, private readonly _permissionsService: PermissionsService, public dialogRef: MatDialogRef, - ) {} - - ngOnInit() { - this._legalBasisMappingControllerService - .getLegalBasisMapping(this._dossiersService.activeDossier.dossierTemplateId) - .subscribe(data => { - data.map(lbm => { - this.legalOptions.push({ - legalBasis: lbm.reason, - description: lbm.description, - label: lbm.name, - }); - }); - - this.legalOptions.sort((a, b) => a.label.localeCompare(b.label)); - }); - + ) { this.isDocumentAdmin = this._permissionsService.isApprover(); this.redactionForm = this._formBuilder.group({ @@ -60,6 +45,20 @@ export class ForceRedactionDialogComponent implements OnInit { }); } + async ngOnInit() { + const data = await this._justificationsService + .getForDossierTemplate(this._dossiersService.activeDossier.dossierTemplateId) + .toPromise(); + + this.legalOptions = data.map(lbm => ({ + legalBasis: lbm.reason, + description: lbm.description, + label: lbm.name, + })); + + this.legalOptions.sort((a, b) => a.label.localeCompare(b.label)); + } + handleForceRedaction() { this.dialogRef.close(this._createForceRedactionRequest()); } diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts index 29fcf97ec..21c8fa4df 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts @@ -2,7 +2,7 @@ import { Component, Inject, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { AppStateService } from '@state/app-state.service'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { AddRedactionRequest, LegalBasisMappingControllerService } from '@redaction/red-ui-http'; +import { AddRedactionRequest } from '@redaction/red-ui-http'; import { Toaster } from '@iqser/common-ui'; import { TranslateService } from '@ngx-translate/core'; import { UserService } from '@services/user.service'; @@ -12,6 +12,7 @@ import { ManualAnnotationResponse } from '@models/file/manual-annotation-respons import { PermissionsService } from '@services/permissions.service'; import { TypeValue } from '@models/file/type-value'; import { DossiersService } from '@services/entity-services/dossiers.service'; +import { JustificationsService } from '@services/entity-services/justifications.service'; export interface LegalBasisOption { label?: string; @@ -41,40 +42,12 @@ export class ManualAnnotationDialogComponent implements OnInit { private readonly _formBuilder: FormBuilder, private readonly _notificationService: Toaster, private readonly _translateService: TranslateService, - private readonly _legalBasisMappingControllerService: LegalBasisMappingControllerService, + private readonly _justificationsService: JustificationsService, private readonly _manualAnnotationService: ManualAnnotationService, private readonly _permissionsService: PermissionsService, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public manualRedactionEntryWrapper: ManualRedactionEntryWrapper, - ) {} - - get title() { - return this._manualAnnotationService.getTitle(this.manualRedactionEntryWrapper.type); - } - - get displayedDictionaryLabel() { - const dictType = this.redactionForm.get('dictionary').value; - if (dictType) { - return this.redactionDictionaries.find(d => d.type === dictType).label; - } - return null; - } - - ngOnInit() { - this._legalBasisMappingControllerService - .getLegalBasisMapping(this._dossiersService.activeDossier.dossierTemplateId) - .subscribe(data => { - data.map(lbm => { - this.legalOptions.push({ - legalBasis: lbm.reason, - description: lbm.description, - label: lbm.name, - }); - }); - - this.legalOptions.sort((a, b) => a.label.localeCompare(b.label)); - }); - + ) { this.isDocumentAdmin = this._permissionsService.isApprover(); this.isFalsePositiveRequest = this.manualRedactionEntryWrapper.type === 'FALSE_POSITIVE'; @@ -97,6 +70,32 @@ export class ManualAnnotationDialogComponent implements OnInit { this.redactionDictionaries.sort((a, b) => a.label.localeCompare(b.label)); } + get title() { + return this._manualAnnotationService.getTitle(this.manualRedactionEntryWrapper.type); + } + + get displayedDictionaryLabel() { + const dictType = this.redactionForm.get('dictionary').value; + if (dictType) { + return this.redactionDictionaries.find(d => d.type === dictType).label; + } + return null; + } + + async ngOnInit() { + const data = await this._justificationsService + .getForDossierTemplate(this._dossiersService.activeDossier.dossierTemplateId) + .toPromise(); + + this.legalOptions = data.map(lbm => ({ + legalBasis: lbm.reason, + description: lbm.description, + label: lbm.name, + })); + + this.legalOptions.sort((a, b) => a.label.localeCompare(b.label)); + } + handleAddRedaction() { this._enhanceManualRedaction(this.manualRedactionEntryWrapper.manualRedactionEntry); this._manualAnnotationService.addAnnotation(this.manualRedactionEntryWrapper.manualRedactionEntry).subscribe( diff --git a/apps/red-ui/src/app/services/entity-services/justifications.service.ts b/apps/red-ui/src/app/services/entity-services/justifications.service.ts index 563cc951e..11778da5f 100644 --- a/apps/red-ui/src/app/services/entity-services/justifications.service.ts +++ b/apps/red-ui/src/app/services/entity-services/justifications.service.ts @@ -3,6 +3,7 @@ import { EntitiesService, RequiredParam, Validate } from '@iqser/common-ui'; import { ILegalBasis } from '@redaction/red-ui-http'; import { Justification } from '@models/justification.model'; import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; @Injectable({ providedIn: 'root', @@ -26,4 +27,11 @@ export class JustificationsService extends EntitiesService { return this._post(justificationNames, `${this._defaultModelPath}/${dossierTemplateId}/delete`); } + + @Validate() + getForDossierTemplate(@RequiredParam() dossierTemplateId: string): Observable { + return super + .getAll(`${this._defaultModelPath}/${dossierTemplateId}`) + .pipe(map((entities: ILegalBasis[]) => entities.map(entity => new Justification(entity)))); + } } diff --git a/libs/red-ui-http/src/lib/api.module.ts b/libs/red-ui-http/src/lib/api.module.ts index 5ff95bf33..d3eadd865 100644 --- a/libs/red-ui-http/src/lib/api.module.ts +++ b/libs/red-ui-http/src/lib/api.module.ts @@ -4,7 +4,6 @@ import { HttpClient } from '@angular/common/http'; import { FileManagementControllerService } from './api/fileManagementController.service'; import { GeneralSettingsControllerService } from './api/generalSettingsController.service'; import { InfoControllerService } from './api/infoController.service'; -import { LegalBasisMappingControllerService } from './api/legalBasisMappingController.service'; import { LicenseReportControllerService } from './api/licenseReportController.service'; import { ManualRedactionControllerService } from './api/manualRedactionController.service'; import { ReanalysisControllerService } from './api/reanalysisController.service'; @@ -28,7 +27,6 @@ import { StatusReportControllerService } from './api/statusReportController.serv FileManagementControllerService, GeneralSettingsControllerService, InfoControllerService, - LegalBasisMappingControllerService, LicenseReportControllerService, ManualRedactionControllerService, ReanalysisControllerService, diff --git a/libs/red-ui-http/src/lib/api/api.ts b/libs/red-ui-http/src/lib/api/api.ts index 09ca91469..f79a1b3bc 100644 --- a/libs/red-ui-http/src/lib/api/api.ts +++ b/libs/red-ui-http/src/lib/api/api.ts @@ -20,8 +20,6 @@ export * from './generalSettingsController.service'; export * from './infoController.service'; -export * from './legalBasisMappingController.service'; - export * from './licenseReportController.service'; export * from './manualRedactionController.service';