add reanalysis service
This commit is contained in:
parent
741c2d7fd6
commit
9d7797e280
@ -1,9 +1,10 @@
|
||||
import { Component, EventEmitter, Input, OnChanges, Output, ViewChild } from '@angular/core';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { PageRange, ReanalysisControllerService } from '@redaction/red-ui-http';
|
||||
import { PageRange } from '@redaction/red-ui-http';
|
||||
import { InputWithActionComponent, LoadingService, Toaster } from '@iqser/common-ui';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { File } from '@models/file/file';
|
||||
import { ReanalysisService } from '@services/reanalysis.service';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-page-exclusion',
|
||||
@ -19,7 +20,7 @@ export class PageExclusionComponent implements OnChanges {
|
||||
|
||||
constructor(
|
||||
readonly permissionsService: PermissionsService,
|
||||
private readonly _reanalysisControllerService: ReanalysisControllerService,
|
||||
private readonly _reanalysisService: ReanalysisService,
|
||||
private readonly _toaster: Toaster,
|
||||
private readonly _loadingService: LoadingService,
|
||||
) {}
|
||||
@ -56,7 +57,7 @@ export class PageExclusionComponent implements OnChanges {
|
||||
endPage,
|
||||
};
|
||||
});
|
||||
await this._reanalysisControllerService
|
||||
await this._reanalysisService
|
||||
.excludePages(
|
||||
{
|
||||
pageRanges: pageRanges,
|
||||
@ -75,7 +76,7 @@ export class PageExclusionComponent implements OnChanges {
|
||||
|
||||
async includePagesRange(range: PageRange): Promise<void> {
|
||||
this._loadingService.start();
|
||||
await this._reanalysisControllerService
|
||||
await this._reanalysisService
|
||||
.includePages(
|
||||
{
|
||||
pageRanges: [range],
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
||||
import { AppStateService } from '@state/app-state.service';
|
||||
import { ReanalysisControllerService } from '@redaction/red-ui-http';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { File } from '@models/file/file';
|
||||
import { FileActionService } from '../../../../shared/services/file-action.service';
|
||||
@ -13,6 +12,7 @@ import { Dossier } from '@state/model/dossier';
|
||||
import { LongPressEvent } from '@shared/directives/long-press.directive';
|
||||
import { UserPreferenceService } from '@services/user-preference.service';
|
||||
import { FileManagementService } from '../../../../shared/services/file-management.service';
|
||||
import { ReanalysisService } from '@services/reanalysis.service';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-dossier-overview-bulk-actions',
|
||||
@ -31,7 +31,7 @@ export class DossierOverviewBulkActionsComponent {
|
||||
private readonly _appStateService: AppStateService,
|
||||
private readonly _dialogService: DossiersDialogService,
|
||||
private readonly _fileManagementService: FileManagementService,
|
||||
private readonly _reanalysisControllerService: ReanalysisControllerService,
|
||||
private readonly _reanalysisService: ReanalysisService,
|
||||
private readonly _permissionsService: PermissionsService,
|
||||
private readonly _fileActionService: FileActionService,
|
||||
private readonly _loadingService: LoadingService,
|
||||
@ -159,7 +159,7 @@ export class DossierOverviewBulkActionsComponent {
|
||||
|
||||
reanalyse() {
|
||||
const fileIds = this.selectedFiles.filter(file => file.analysisRequired).map(file => file.fileId);
|
||||
this._performBulkAction(this._reanalysisControllerService.reanalyzeFilesForDossier(fileIds, this.dossier.id));
|
||||
this._performBulkAction(this._reanalysisService.reanalyzeFilesForDossier(fileIds, this.dossier.id));
|
||||
}
|
||||
|
||||
ocr() {
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { AppStateService } from '@state/app-state.service';
|
||||
import { UserService } from '@services/user.service';
|
||||
import { ReanalysisControllerService } from '@redaction/red-ui-http';
|
||||
import { File } from '@models/file/file';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
|
||||
@ -9,6 +8,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { FilesService } from '@services/entity-services/files.service';
|
||||
import { ConfirmationDialogInput } from '@iqser/common-ui';
|
||||
import { DossiersService } from '@services/entity-services/dossiers.service';
|
||||
import { ReanalysisService } from '@services/reanalysis.service';
|
||||
|
||||
@Injectable()
|
||||
export class FileActionService {
|
||||
@ -17,17 +17,17 @@ export class FileActionService {
|
||||
private readonly _permissionsService: PermissionsService,
|
||||
private readonly _userService: UserService,
|
||||
private readonly _fileService: FilesService,
|
||||
private readonly _reanalysisControllerService: ReanalysisControllerService,
|
||||
private readonly _reanalysisService: ReanalysisService,
|
||||
private readonly _appStateService: AppStateService,
|
||||
private readonly _dossiersService: DossiersService,
|
||||
) {}
|
||||
|
||||
reanalyseFile(file = this._appStateService.activeFile) {
|
||||
return this._reanalysisControllerService.reanalyzeFile(this._dossiersService.activeDossier.id, file.fileId, true);
|
||||
return this._reanalysisService.reanalyzeFilesForDossier([file.fileId], this._dossiersService.activeDossier.id, true);
|
||||
}
|
||||
|
||||
toggleAnalysis(file = this._appStateService.activeFile) {
|
||||
return this._reanalysisControllerService.toggleAnalysis(file.dossierId, file.fileId, !file.excluded);
|
||||
return this._reanalysisService.toggleAnalysis(file.dossierId, file.fileId, !file.excluded);
|
||||
}
|
||||
|
||||
async assignToMe(files?: File[], callback?: Function) {
|
||||
@ -78,7 +78,7 @@ export class FileActionService {
|
||||
}
|
||||
|
||||
ocrFiles(files: File[]) {
|
||||
return this._reanalysisControllerService.ocrFiles(
|
||||
return this._reanalysisService.ocrFiles(
|
||||
files.map(f => f.fileId),
|
||||
this._dossiersService.activeDossierId,
|
||||
);
|
||||
|
||||
57
apps/red-ui/src/app/services/reanalysis.service.ts
Normal file
57
apps/red-ui/src/app/services/reanalysis.service.ts
Normal file
@ -0,0 +1,57 @@
|
||||
import { Injectable, Injector } from '@angular/core';
|
||||
import { GenericService, List, QueryParam, RequiredParam, Validate } from '@iqser/common-ui';
|
||||
import { PageExclusionRequest } from '@redaction/red-ui-http';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class ReanalysisService extends GenericService<unknown> {
|
||||
constructor(protected readonly _injector: Injector) {
|
||||
super(_injector, '');
|
||||
}
|
||||
|
||||
@Validate()
|
||||
excludePages(@RequiredParam() body: PageExclusionRequest, @RequiredParam() dossierId: string, @RequiredParam() fileId: string) {
|
||||
return this._post(body, `exclude-pages/${dossierId}/${fileId}`);
|
||||
}
|
||||
|
||||
@Validate()
|
||||
includePages(@RequiredParam() body: PageExclusionRequest, @RequiredParam() dossierId: string, @RequiredParam() fileId: string) {
|
||||
return this._post(body, `include-pages/${dossierId}/${fileId}`);
|
||||
}
|
||||
|
||||
@Validate()
|
||||
reanalyzeFilesForDossier(@RequiredParam() body: List, @RequiredParam() dossierId: string, force?: boolean) {
|
||||
const queryParams: QueryParam[] = [];
|
||||
if (force) {
|
||||
queryParams.push({ key: 'force', value: force });
|
||||
}
|
||||
|
||||
return this._post(body, `reanalyze/${dossierId}/bulk`, queryParams);
|
||||
}
|
||||
|
||||
@Validate()
|
||||
toggleAnalysis(@RequiredParam() dossierId: string, @RequiredParam() fileId: string, excluded?: boolean) {
|
||||
const queryParams: QueryParam[] = [];
|
||||
if (excluded) {
|
||||
queryParams.push({ key: 'excluded', value: excluded });
|
||||
}
|
||||
|
||||
return this._post({}, `toggle-analysis/${dossierId}/${fileId}`, queryParams);
|
||||
}
|
||||
|
||||
@Validate()
|
||||
ocrFiles(@RequiredParam() body: List, @RequiredParam() dossierId: string) {
|
||||
return this._post(body, `ocr/reanalyze/${dossierId}/bulk`);
|
||||
}
|
||||
|
||||
@Validate()
|
||||
reanalyzeDossier(@RequiredParam() dossierId: string, force?: boolean) {
|
||||
const queryParams: QueryParam[] = [];
|
||||
if (force) {
|
||||
queryParams.push({ key: 'force', value: force });
|
||||
}
|
||||
|
||||
return this._post({}, `reanalyze/${dossierId}`, queryParams);
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Colors, IFile, ReanalysisControllerService } from '@redaction/red-ui-http';
|
||||
import { Colors, IFile } from '@redaction/red-ui-http';
|
||||
import { ActivationEnd, Router } from '@angular/router';
|
||||
import { UserService } from '@services/user.service';
|
||||
import { forkJoin, Observable, of, Subject } from 'rxjs';
|
||||
@ -15,6 +15,7 @@ import { FilesService } from '@services/entity-services/files.service';
|
||||
import { DictionaryService } from '@shared/services/dictionary.service';
|
||||
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
||||
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
|
||||
import { ReanalysisService } from '@services/reanalysis.service';
|
||||
|
||||
export interface AppState {
|
||||
activeFileId?: string;
|
||||
@ -35,7 +36,7 @@ export class AppStateService {
|
||||
private readonly _userService: UserService,
|
||||
private readonly _dossiersService: DossiersService,
|
||||
private readonly _filesService: FilesService,
|
||||
private readonly _reanalysisControllerService: ReanalysisControllerService,
|
||||
private readonly _reanalysisService: ReanalysisService,
|
||||
private readonly _dictionaryService: DictionaryService,
|
||||
private readonly _dossierTemplatesService: DossierTemplatesService,
|
||||
private readonly _fileAttributesService: FileAttributesService,
|
||||
@ -176,7 +177,7 @@ export class AppStateService {
|
||||
}
|
||||
|
||||
async reanalyzeDossier({ id } = this._dossiersService.activeDossier) {
|
||||
await this._reanalysisControllerService.reanalyzeDossier(id, true).toPromise();
|
||||
await this._reanalysisService.reanalyzeDossier(id, true).toPromise();
|
||||
}
|
||||
|
||||
async activateFile(dossierId: string, fileId: string) {
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';
|
||||
import { Configuration } from './configuration';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { ReanalysisControllerService } from './api/reanalysisController.service';
|
||||
import { RedactionLogControllerService } from './api/redactionLogController.service';
|
||||
import { ReportTemplateControllerService } from './api/reportTemplateController.service';
|
||||
import { RulesControllerService } from './api/rulesController.service';
|
||||
@ -17,7 +16,6 @@ import { NotificationControllerService } from './api/notificationController.serv
|
||||
declarations: [],
|
||||
exports: [],
|
||||
providers: [
|
||||
ReanalysisControllerService,
|
||||
RedactionLogControllerService,
|
||||
ReportTemplateControllerService,
|
||||
RulesControllerService,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user