diff --git a/apps/red-ui/src/app/models/file/dossier-template.ts b/apps/red-ui/src/app/models/file/dossier-template.ts index 265d29d5f..cd6717d11 100644 --- a/apps/red-ui/src/app/models/file/dossier-template.ts +++ b/apps/red-ui/src/app/models/file/dossier-template.ts @@ -1,4 +1,4 @@ -import { DownloadFileType, FileAttributesConfig, IDossierTemplate, List } from '@redaction/red-ui-http'; +import { DownloadFileType, IDossierTemplate, List } from '@redaction/red-ui-http'; import { IListable } from '@iqser/common-ui'; export class DossierTemplate implements IDossierTemplate, IListable { @@ -16,7 +16,7 @@ export class DossierTemplate implements IDossierTemplate, IListable { dictionariesCount = 0; totalDictionaryEntries = 0; - constructor(dossierTemplate: IDossierTemplate, public fileAttributesConfig: FileAttributesConfig) { + constructor(dossierTemplate: IDossierTemplate) { this.createdBy = dossierTemplate.createdBy; this.dateAdded = dossierTemplate.dateAdded; this.dateModified = dossierTemplate.dateModified; diff --git a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts index 48ec927cc..6871e582c 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts @@ -2,17 +2,13 @@ import { Component, Inject, Injector } from '@angular/core'; import { AbstractControl, FormBuilder, FormGroup, ValidatorFn, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import * as Papa from 'papaparse'; -import { - FileAttributeConfigType, - FileAttributeConfigTypes, - FileAttributesConfig, - FileAttributesControllerService -} from '@redaction/red-ui-http'; +import { FileAttributeConfigType, FileAttributeConfigTypes, FileAttributesConfig } from '@redaction/red-ui-http'; import { Observable } from 'rxjs'; import { map, startWith } from 'rxjs/operators'; import { DefaultListingServices, IListable, ListingComponent, TableColumnConfig, Toaster } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { FileAttributeConfig } from '@models/file/file-attribute-config'; +import { FileAttributesService } from '../../../dossier/services/file-attributes.service'; export interface Field extends IListable { id: string; @@ -47,7 +43,7 @@ export class FileAttributesCsvImportDialogComponent extends ListingComponent, - private readonly _fileAttributesControllerService: FileAttributesControllerService, + private readonly _fileAttributesService: FileAttributesService, @Inject(MAT_DIALOG_DATA) readonly data: { readonly csv: File; @@ -191,7 +187,7 @@ export class FileAttributesCsvImportDialogComponent extends ListingComponent { this._loadingService.start(); await this._fileAttributesService - .setFileAttributesConfiguration(newValue, this._appStateService.activeDossierTemplateId) + .setFileAttributesConfig(newValue, this._appStateService.activeDossierTemplateId) .toPromise(); await this._appStateService.refreshDossierTemplate(this._appStateService.activeDossierTemplateId); await this._loadData(); @@ -91,7 +92,7 @@ export class FileAttributesListingScreenComponent extends ListingComponent new FileAttributeConfig(item)) || []; diff --git a/apps/red-ui/src/app/modules/dossier/components/document-info/document-info.component.ts b/apps/red-ui/src/app/modules/dossier/components/document-info/document-info.component.ts index 638890d3d..f367b2ae8 100644 --- a/apps/red-ui/src/app/modules/dossier/components/document-info/document-info.component.ts +++ b/apps/red-ui/src/app/modules/dossier/components/document-info/document-info.component.ts @@ -4,6 +4,7 @@ import { AppStateService } from '@state/app-state.service'; import { DossiersDialogService } from '../../services/dossiers-dialog.service'; import { AutoUnsubscribe } from '@iqser/common-ui'; import { File } from '@models/file/file'; +import { FileAttributesService } from '../../services/file-attributes.service'; @Component({ selector: 'redaction-document-info', @@ -16,18 +17,14 @@ export class DocumentInfoComponent extends AutoUnsubscribe implements OnInit { fileAttributesConfig: FileAttributesConfig; - constructor(private readonly _appStateService: AppStateService, private readonly _dialogService: DossiersDialogService) { + constructor( + private readonly _appStateService: AppStateService, + private readonly _fileAttributesService: FileAttributesService, + private readonly _dialogService: DossiersDialogService + ) { super(); } - ngOnInit(): void { - this.fileAttributesConfig = this._appStateService.getFileAttributeConfig(this.file.dossierTemplateId); - - this.addSubscription = this._appStateService.dossierTemplateChanged$.subscribe(() => { - this.fileAttributesConfig = this._appStateService.getFileAttributeConfig(this.file.dossierTemplateId); - }); - } - get dossier() { return this._appStateService.getDossierById(this.file.dossierId); } @@ -36,6 +33,14 @@ export class DocumentInfoComponent extends AutoUnsubscribe implements OnInit { return this._appStateService.getDossierTemplateById(this.dossier.dossierTemplateId).name; } + ngOnInit(): void { + this.fileAttributesConfig = this._fileAttributesService.getFileAttributeConfig(this.file.dossierTemplateId); + + this.addSubscription = this._appStateService.dossierTemplateChanged$.subscribe(() => { + this.fileAttributesConfig = this._fileAttributesService.getFileAttributeConfig(this.file.dossierTemplateId); + }); + } + edit() { this._dialogService.openDialog('documentInfo', null, this.file); } diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.ts index 39d6f0c31..9625d86c1 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.ts @@ -1,9 +1,10 @@ import { Component, Inject, OnInit } from '@angular/core'; import { FormBuilder, FormGroup } from '@angular/forms'; -import { FileAttributesControllerService, IFile, IFileAttributeConfig } from '@redaction/red-ui-http'; +import { IFile, IFileAttributeConfig } from '@redaction/red-ui-http'; import { AppStateService } from '@state/app-state.service'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { Dossier } from '@state/model/dossier'; +import { FileAttributesService } from '../../services/file-attributes.service'; @Component({ templateUrl: './document-info-dialog.component.html', @@ -19,7 +20,7 @@ export class DocumentInfoDialogComponent implements OnInit { constructor( private readonly _appStateService: AppStateService, private readonly _formBuilder: FormBuilder, - private readonly _fileAttributesService: FileAttributesControllerService, + private readonly _fileAttributesService: FileAttributesService, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: IFile ) { @@ -29,7 +30,7 @@ export class DocumentInfoDialogComponent implements OnInit { async ngOnInit() { this.attributes = ( - await this._fileAttributesService.getFileAttributesConfiguration(this._dossier.dossierTemplateId).toPromise() + await this._fileAttributesService.getFileAttributesConfig(this._dossier.dossierTemplateId).toPromise() ).fileAttributeConfigs.filter(attr => attr.editable); const formConfig = this.attributes.reduce( (acc, attr) => ({ diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.ts index fe9029f9d..475d5d5fe 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.ts @@ -55,6 +55,7 @@ import { RouterHistoryService } from '@services/router-history.service'; import { Dossier } from '@state/model/dossier'; import { Router } from '@angular/router'; import { FileActionService } from '../../services/file-action.service'; +import { FileAttributesService } from '../../services/file-attributes.service'; @Component({ templateUrl: './dossier-overview-screen.component.html', @@ -112,11 +113,12 @@ export class DossierOverviewScreenComponent extends ListingComponent imple private readonly _statusOverlayService: StatusOverlayService, private readonly _fileDropOverlayService: FileDropOverlayService, private readonly _dossierAttributesService: DossierAttributesService, - private readonly _fileActionService: FileActionService + private readonly _fileActionService: FileActionService, + private readonly _fileAttributesService: FileAttributesService ) { super(_injector); this._loadEntitiesFromState(); - this.fileAttributeConfigs = this._appStateService.getFileAttributeConfig( + this.fileAttributeConfigs = this._fileAttributesService.getFileAttributeConfig( this.currentDossier.dossierTemplateId ).fileAttributeConfigs; this.workflowConfig = { @@ -228,7 +230,7 @@ export class DossierOverviewScreenComponent extends ListingComponent imple }); this.addSubscription = this._appStateService.dossierTemplateChanged$.subscribe(() => { - this.fileAttributeConfigs = this._appStateService.getFileAttributeConfig( + this.fileAttributeConfigs = this._fileAttributesService.getFileAttributeConfig( this.currentDossier.dossierTemplateId ).fileAttributeConfigs; }); diff --git a/apps/red-ui/src/app/modules/dossier/services/dossier-templates.service.ts b/apps/red-ui/src/app/modules/dossier/services/dossier-templates.service.ts new file mode 100644 index 000000000..8457a09d1 --- /dev/null +++ b/apps/red-ui/src/app/modules/dossier/services/dossier-templates.service.ts @@ -0,0 +1,36 @@ +import { EntitiesService } from '@iqser/common-ui'; +import { DossierTemplate } from '@models/file/dossier-template'; +import { IDossierTemplate } from '@redaction/red-ui-http'; +import { Injectable, Injector } from '@angular/core'; +import { TEMPORARY_INJECTOR } from './injector'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +@Injectable({ + providedIn: 'root' +}) +export class DossierTemplatesService extends EntitiesService { + constructor(protected readonly _injector: Injector) { + super(TEMPORARY_INJECTOR(_injector), 'dossier-template'); + } + + fetch() { + this.get().pipe(map(entities => entities.map(dossierTemplate => new DossierTemplate(dossierTemplate)))); + } + + /** + * Gets all dossier templates. + */ + get(): Observable; + /** + * Gets one dossier template by id. + */ + get(dossierTemplateId: string): Observable; + get(dossierTemplateId?: string) { + if (dossierTemplateId) { + return super._getOne([dossierTemplateId]); + } + + return super.getAll(); + } +} diff --git a/apps/red-ui/src/app/modules/dossier/services/file-attributes.service.ts b/apps/red-ui/src/app/modules/dossier/services/file-attributes.service.ts new file mode 100644 index 000000000..6d8af537c --- /dev/null +++ b/apps/red-ui/src/app/modules/dossier/services/file-attributes.service.ts @@ -0,0 +1,92 @@ +import { EntitiesService, List, RequiredParam, Validate } from '@iqser/common-ui'; +import { FileAttributes, FileAttributesConfig, IFileAttributeConfig } from '@redaction/red-ui-http'; +import { Injectable, Injector } from '@angular/core'; +import { TEMPORARY_INJECTOR } from './injector'; +import { BehaviorSubject, Observable, of } from 'rxjs'; +import { catchError, map, tap } from 'rxjs/operators'; +import { FileAttributeConfig } from '@models/file/file-attribute-config'; + +type FileAttributesConfigMap = Readonly>; + +@Injectable({ + providedIn: 'root' +}) +export class FileAttributesService extends EntitiesService { + private readonly _fileAttributesConfig$ = new BehaviorSubject({}); + + constructor(protected readonly _injector: Injector) { + super(TEMPORARY_INJECTOR(_injector), 'fileAttributes'); + } + + get fileAttributesConfig(): FileAttributesConfigMap { + return this._fileAttributesConfig$.value; + } + + fetch(): Observable { + return this.getAll().pipe( + map(entities => entities.map(entity => new FileAttributeConfig(entity))), + tap(entities => this.setEntities(entities)) + ); + } + + /** + * Get the file attributes that can be used at importing csv. + */ + @Validate() + getFileAttributesConfig(@RequiredParam() dossierTemplateId: string, fetch = true): Observable { + if (!fetch) { + return this._fileAttributesConfig$.pipe(map(entities => entities[dossierTemplateId])); + } + + const request$ = this._getOne(['config', dossierTemplateId]); + return request$.pipe( + tap(entities => + this._fileAttributesConfig$.next({ + ...this._fileAttributesConfig$.value, + [dossierTemplateId]: entities + }) + ), + catchError(() => of({})) + ); + } + + getFileAttributeConfig(dossierTemplateId: string): FileAttributesConfig | undefined { + return this._fileAttributesConfig$.value[dossierTemplateId]; + } + + /** + * Add or update a file attribute that can be used at importing csv. + */ + @Validate() + setFileAttributesConfig(@RequiredParam() body: IFileAttributeConfig, @RequiredParam() dossierTemplateId: string) { + const url = `${this._defaultModelPath}/config/fileAttribute/${dossierTemplateId}`; + return this._post(body, url); + } + + /** + * Set file attributes base configuration and a list of file attributes, + */ + @Validate() + setFileAttributeConfig(@RequiredParam() body: FileAttributesConfig, @RequiredParam() dossierTemplateId: string) { + const url = `${this._defaultModelPath}/config/baseConfig/${dossierTemplateId}`; + return this._put(body, url); + } + + /** + * Set file attributes to an existing file + */ + @Validate() + setFileAttributes(@RequiredParam() body: FileAttributes, @RequiredParam() dossierId: string, @RequiredParam() fileId: string) { + const url = `${this._defaultModelPath}/set/${dossierId}/${fileId}`; + return this._post(body, url); + } + + /** + * Delete a specific file attribute. + */ + @Validate() + deleteFileAttributes(@RequiredParam() body: List, @RequiredParam() dossierTemplateId: string) { + const url = `${this._defaultModelPath}/config/fileAttribute/${dossierTemplateId}/delete`; + return this.delete(body, url); + } +} diff --git a/apps/red-ui/src/app/modules/dossier/services/files.service.ts b/apps/red-ui/src/app/modules/dossier/services/files.service.ts index 5b1f481f5..d3e0c3eda 100644 --- a/apps/red-ui/src/app/modules/dossier/services/files.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/files.service.ts @@ -4,15 +4,25 @@ import { IFile } from '@redaction/red-ui-http'; import { File } from '@models/file/file'; import { TEMPORARY_INJECTOR } from './injector'; import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; +import { UserService } from '@services/user.service'; @Injectable({ providedIn: 'root' }) export class FilesService extends EntitiesService { - constructor(protected readonly _injector: Injector) { + constructor(protected readonly _injector: Injector, private readonly _userService: UserService) { super(TEMPORARY_INJECTOR(_injector), 'status'); } + getExistingFilesFor(dossierId: string): List { + return this.all.filter(file => file.dossierId === dossierId); + } + + fetch() { + this.get().pipe(map(files => files.map(file => new File(file, this._userService.getNameForId(file.currentReviewer))))); + } + /** * Gets the status for all files. */ diff --git a/apps/red-ui/src/app/state/app-state.service.ts b/apps/red-ui/src/app/state/app-state.service.ts index d02eae4e9..387f44e3c 100644 --- a/apps/red-ui/src/app/state/app-state.service.ts +++ b/apps/red-ui/src/app/state/app-state.service.ts @@ -12,8 +12,8 @@ import { Toaster } from '@iqser/common-ui'; import { TranslateService } from '@ngx-translate/core'; import { Event, NavigationEnd, ResolveStart, Router } from '@angular/router'; import { UserService } from '@services/user.service'; -import { forkJoin, Observable, of, Subject } from 'rxjs'; -import { catchError, map, tap } from 'rxjs/operators'; +import { forkJoin, Observable, Subject } from 'rxjs'; +import { map, tap } from 'rxjs/operators'; import { FALLBACK_COLOR, hexToRgb } from '@utils/functions'; import { File } from '@models/file/file'; import { Dossier } from './model/dossier'; @@ -24,6 +24,8 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { UserPreferenceService } from '@services/user-preference.service'; import { FilesService } from '../modules/dossier/services/files.service'; import { DictionaryService } from '@shared/services/dictionary.service'; +import { DossierTemplatesService } from '../modules/dossier/services/dossier-templates.service'; +import { FileAttributesService } from '../modules/dossier/services/file-attributes.service'; export interface AppState { dossiers: Dossier[]; @@ -56,8 +58,8 @@ export class AppStateService { private readonly _reanalysisControllerService: ReanalysisControllerService, private readonly _translateService: TranslateService, private readonly _dictionaryService: DictionaryService, - private readonly _dossierTemplateControllerService: DossierTemplateControllerService, - private readonly _fileAttributesService: FileAttributesControllerService, + private readonly _dossierTemplatesService: DossierTemplatesService, + private readonly _fileAttributesService: FileAttributesService, private readonly _userPreferenceService: UserPreferenceService ) { this._appState = { @@ -172,10 +174,6 @@ export class AppStateService { } } - getFileAttributeConfig(dossierTemplateId: string): FileAttributesConfig { - return this.dossierTemplates.find(d => d.dossierTemplateId === dossierTemplateId)?.fileAttributesConfig; - } - getDictionaryColor(type?: string, dossierTemplateId = this.activeDossier?.dossierTemplateId) { if (!dossierTemplateId) { dossierTemplateId = this.dossierTemplates[0]?.dossierTemplateId; @@ -245,7 +243,7 @@ export class AppStateService { const activeFile = new File( iFile, this._userService.getNameForId(iFile.currentReviewer), - this.getFileAttributeConfig(iFile.dossierTemplateId) + this._fileAttributesService.getFileAttributeConfig(iFile.dossierTemplateId) ); this.activeDossier.files = this.activeDossier?.files.map(file => (file.fileId === activeFile.fileId ? activeFile : file)); @@ -372,27 +370,21 @@ export class AppStateService { } async loadAllDossierTemplates() { - const dossierTemplates = await this._dossierTemplateControllerService.getAllDossierTemplates().toPromise(); - this._appState.dossierTemplates = dossierTemplates.map(dossierTemplate => new DossierTemplate(dossierTemplate, null)); + const dossierTemplates = await this._dossierTemplatesService.get().toPromise(); + this._appState.dossierTemplates = dossierTemplates.map(dossierTemplate => new DossierTemplate(dossierTemplate)); for (const dossierTemplate of this._appState.dossierTemplates) { - dossierTemplate.fileAttributesConfig = await this._fileAttributesService - .getFileAttributesConfiguration(dossierTemplate.dossierTemplateId) - .pipe(catchError(() => of({}))) - .toPromise(); + await this._fileAttributesService.getFileAttributesConfig(dossierTemplate.dossierTemplateId).toPromise(); } } async refreshDossierTemplate(dossierTemplateId: string) { - const dossierTemplate = await this._dossierTemplateControllerService.getDossierTemplate(dossierTemplateId).toPromise(); + const dossierTemplate = await this._dossierTemplatesService.get(dossierTemplateId).toPromise(); - const fileAttributesConfigs = await this._fileAttributesService - .getFileAttributesConfiguration(dossierTemplateId) - .pipe(catchError(() => of({}))) - .toPromise(); + await this._fileAttributesService.getFileAttributesConfig(dossierTemplateId).toPromise(); Object.assign( this._appState.dossierTemplates.find(d => d.dossierTemplateId === dossierTemplateId), - new DossierTemplate(dossierTemplate, fileAttributesConfigs) + new DossierTemplate(dossierTemplate) ); await this.refreshDossierTemplateDictionaryData(dossierTemplateId); @@ -698,7 +690,7 @@ export class AppStateService { const file = new File( iFile, this._userService.getNameForId(iFile.currentReviewer), - this.getFileAttributeConfig(iFile.dossierTemplateId) + this._fileAttributesService.getFileAttributeConfig(iFile.dossierTemplateId) ); file.lastOpened = file.fileId === this._userPreferenceService.getLastOpenedFileForDossier(dossier.id); if (JSON.stringify(oldFile) !== JSON.stringify(file)) { @@ -716,7 +708,7 @@ export class AppStateService { const file = new File( iFile, this._userService.getNameForId(iFile.currentReviewer), - this.getFileAttributeConfig(iFile.dossierTemplateId) + this._fileAttributesService.getFileAttributeConfig(iFile.dossierTemplateId) ); fileChangedEvent.push(file); } @@ -724,7 +716,11 @@ export class AppStateService { dossier.files = iFiles.map( iFile => - new File(iFile, this._userService.getNameForId(iFile.currentReviewer), this.getFileAttributeConfig(iFile.dossierTemplateId)) + new File( + iFile, + this._userService.getNameForId(iFile.currentReviewer), + this._fileAttributesService.getFileAttributeConfig(iFile.dossierTemplateId) + ) ); this._computeStats(); diff --git a/libs/red-ui-http/src/lib/api.module.ts b/libs/red-ui-http/src/lib/api.module.ts index 966a38535..9100985ab 100644 --- a/libs/red-ui-http/src/lib/api.module.ts +++ b/libs/red-ui-http/src/lib/api.module.ts @@ -7,7 +7,6 @@ import { DigitalSignatureControllerService } from './api/digitalSignatureControl import { DossierAttributesControllerService } from './api/dossierAttributesController.service'; import { DossierTemplateControllerService } from './api/dossierTemplateController.service'; import { DownloadControllerService } from './api/downloadController.service'; -import { FileAttributesControllerService } from './api/fileAttributesController.service'; import { FileManagementControllerService } from './api/fileManagementController.service'; import { GeneralSettingsControllerService } from './api/generalSettingsController.service'; import { InfoControllerService } from './api/infoController.service'; @@ -39,7 +38,6 @@ import { StatusReportControllerService } from './api/statusReportController.serv DossierAttributesControllerService, DossierTemplateControllerService, DownloadControllerService, - FileAttributesControllerService, FileManagementControllerService, GeneralSettingsControllerService, InfoControllerService, diff --git a/libs/red-ui-http/src/lib/api/api.ts b/libs/red-ui-http/src/lib/api/api.ts index 272b97ef0..09ca91469 100644 --- a/libs/red-ui-http/src/lib/api/api.ts +++ b/libs/red-ui-http/src/lib/api/api.ts @@ -1,33 +1,4 @@ export * from './auditController.service'; -import { AuditControllerService } from './auditController.service'; -import { DictionaryControllerService } from './dictionaryController.service'; -import { DigitalSignatureControllerService } from './digitalSignatureController.service'; -import { DossierAttributesControllerService } from './dossierAttributesController.service'; -import { DossierControllerService } from './dossierController.service'; -import { DossierTemplateControllerService } from './dossierTemplateController.service'; -import { DownloadControllerService } from './downloadController.service'; -import { FileAttributesControllerService } from './fileAttributesController.service'; -import { FileManagementControllerService } from './fileManagementController.service'; -import { GeneralSettingsControllerService } from './generalSettingsController.service'; -import { InfoControllerService } from './infoController.service'; -import { LegalBasisMappingControllerService } from './legalBasisMappingController.service'; -import { LicenseReportControllerService } from './licenseReportController.service'; -import { ManualRedactionControllerService } from './manualRedactionController.service'; -import { NotificationControllerService } from './notificationController.service'; -import { ReanalysisControllerService } from './reanalysisController.service'; -import { RedactionLogControllerService } from './redactionLogController.service'; -import { ReportTemplateControllerService } from './reportTemplateController.service'; -import { RulesControllerService } from './rulesController.service'; -import { SearchControllerService } from './searchController.service'; -import { SmtpConfigurationControllerService } from './smtpConfigurationController.service'; -import { StatusControllerService } from './statusController.service'; -import { StatusReportControllerService } from './statusReportController.service'; -import { UploadControllerService } from './uploadController.service'; -import { UserControllerService } from './userController.service'; -import { UserPreferenceControllerService } from './userPreferenceController.service'; -import { VersionsControllerService } from './versionsController.service'; -import { ViewedPagesControllerService } from './viewedPagesController.service'; -import { WatermarkControllerService } from './watermarkController.service'; export * from './dictionaryController.service'; @@ -85,34 +56,22 @@ export * from './viewedPagesController.service'; export * from './watermarkController.service'; -export const APIS = [ - AuditControllerService, - DictionaryControllerService, - DigitalSignatureControllerService, - DossierAttributesControllerService, - DossierControllerService, - DossierTemplateControllerService, - DownloadControllerService, - FileAttributesControllerService, - FileManagementControllerService, - GeneralSettingsControllerService, - InfoControllerService, - LegalBasisMappingControllerService, - LicenseReportControllerService, - ManualRedactionControllerService, - NotificationControllerService, - ReanalysisControllerService, - RedactionLogControllerService, - ReportTemplateControllerService, - RulesControllerService, - SearchControllerService, - SmtpConfigurationControllerService, - StatusControllerService, - StatusReportControllerService, - UploadControllerService, - UserControllerService, - UserPreferenceControllerService, - VersionsControllerService, - ViewedPagesControllerService, - WatermarkControllerService -]; +export * from './downloadController.service'; + +export * from './digitalSignatureController.service'; + +export * from './fileAttributesController.service'; + +export * from './smtpConfigurationController.service'; + +export * from './reportTemplateController.service'; + +export * from './uploadController.service'; + +export * from './generalSettingsController.service'; + +export * from './dossierAttributesController.service'; + +export * from './searchController.service'; + +export * from './notificationController.service';