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 { Component, EventEmitter, Input, OnChanges, Output, ViewChild } from '@angular/core';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
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 { InputWithActionComponent, LoadingService, Toaster } from '@iqser/common-ui';
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
import { File } from '@models/file/file';
|
import { File } from '@models/file/file';
|
||||||
|
import { ReanalysisService } from '@services/reanalysis.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-page-exclusion',
|
selector: 'redaction-page-exclusion',
|
||||||
@ -19,7 +20,7 @@ export class PageExclusionComponent implements OnChanges {
|
|||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
readonly permissionsService: PermissionsService,
|
readonly permissionsService: PermissionsService,
|
||||||
private readonly _reanalysisControllerService: ReanalysisControllerService,
|
private readonly _reanalysisService: ReanalysisService,
|
||||||
private readonly _toaster: Toaster,
|
private readonly _toaster: Toaster,
|
||||||
private readonly _loadingService: LoadingService,
|
private readonly _loadingService: LoadingService,
|
||||||
) {}
|
) {}
|
||||||
@ -56,7 +57,7 @@ export class PageExclusionComponent implements OnChanges {
|
|||||||
endPage,
|
endPage,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
await this._reanalysisControllerService
|
await this._reanalysisService
|
||||||
.excludePages(
|
.excludePages(
|
||||||
{
|
{
|
||||||
pageRanges: pageRanges,
|
pageRanges: pageRanges,
|
||||||
@ -75,7 +76,7 @@ export class PageExclusionComponent implements OnChanges {
|
|||||||
|
|
||||||
async includePagesRange(range: PageRange): Promise<void> {
|
async includePagesRange(range: PageRange): Promise<void> {
|
||||||
this._loadingService.start();
|
this._loadingService.start();
|
||||||
await this._reanalysisControllerService
|
await this._reanalysisService
|
||||||
.includePages(
|
.includePages(
|
||||||
{
|
{
|
||||||
pageRanges: [range],
|
pageRanges: [range],
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
import { ReanalysisControllerService } from '@redaction/red-ui-http';
|
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
import { File } from '@models/file/file';
|
import { File } from '@models/file/file';
|
||||||
import { FileActionService } from '../../../../shared/services/file-action.service';
|
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 { LongPressEvent } from '@shared/directives/long-press.directive';
|
||||||
import { UserPreferenceService } from '@services/user-preference.service';
|
import { UserPreferenceService } from '@services/user-preference.service';
|
||||||
import { FileManagementService } from '../../../../shared/services/file-management.service';
|
import { FileManagementService } from '../../../../shared/services/file-management.service';
|
||||||
|
import { ReanalysisService } from '@services/reanalysis.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-dossier-overview-bulk-actions',
|
selector: 'redaction-dossier-overview-bulk-actions',
|
||||||
@ -31,7 +31,7 @@ export class DossierOverviewBulkActionsComponent {
|
|||||||
private readonly _appStateService: AppStateService,
|
private readonly _appStateService: AppStateService,
|
||||||
private readonly _dialogService: DossiersDialogService,
|
private readonly _dialogService: DossiersDialogService,
|
||||||
private readonly _fileManagementService: FileManagementService,
|
private readonly _fileManagementService: FileManagementService,
|
||||||
private readonly _reanalysisControllerService: ReanalysisControllerService,
|
private readonly _reanalysisService: ReanalysisService,
|
||||||
private readonly _permissionsService: PermissionsService,
|
private readonly _permissionsService: PermissionsService,
|
||||||
private readonly _fileActionService: FileActionService,
|
private readonly _fileActionService: FileActionService,
|
||||||
private readonly _loadingService: LoadingService,
|
private readonly _loadingService: LoadingService,
|
||||||
@ -159,7 +159,7 @@ export class DossierOverviewBulkActionsComponent {
|
|||||||
|
|
||||||
reanalyse() {
|
reanalyse() {
|
||||||
const fileIds = this.selectedFiles.filter(file => file.analysisRequired).map(file => file.fileId);
|
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() {
|
ocr() {
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
import { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { ReanalysisControllerService } from '@redaction/red-ui-http';
|
|
||||||
import { File } from '@models/file/file';
|
import { File } from '@models/file/file';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
import { DossiersDialogService } from '../../services/dossiers-dialog.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 { FilesService } from '@services/entity-services/files.service';
|
||||||
import { ConfirmationDialogInput } from '@iqser/common-ui';
|
import { ConfirmationDialogInput } from '@iqser/common-ui';
|
||||||
import { DossiersService } from '@services/entity-services/dossiers.service';
|
import { DossiersService } from '@services/entity-services/dossiers.service';
|
||||||
|
import { ReanalysisService } from '@services/reanalysis.service';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class FileActionService {
|
export class FileActionService {
|
||||||
@ -17,17 +17,17 @@ export class FileActionService {
|
|||||||
private readonly _permissionsService: PermissionsService,
|
private readonly _permissionsService: PermissionsService,
|
||||||
private readonly _userService: UserService,
|
private readonly _userService: UserService,
|
||||||
private readonly _fileService: FilesService,
|
private readonly _fileService: FilesService,
|
||||||
private readonly _reanalysisControllerService: ReanalysisControllerService,
|
private readonly _reanalysisService: ReanalysisService,
|
||||||
private readonly _appStateService: AppStateService,
|
private readonly _appStateService: AppStateService,
|
||||||
private readonly _dossiersService: DossiersService,
|
private readonly _dossiersService: DossiersService,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
reanalyseFile(file = this._appStateService.activeFile) {
|
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) {
|
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) {
|
async assignToMe(files?: File[], callback?: Function) {
|
||||||
@ -78,7 +78,7 @@ export class FileActionService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ocrFiles(files: File[]) {
|
ocrFiles(files: File[]) {
|
||||||
return this._reanalysisControllerService.ocrFiles(
|
return this._reanalysisService.ocrFiles(
|
||||||
files.map(f => f.fileId),
|
files.map(f => f.fileId),
|
||||||
this._dossiersService.activeDossierId,
|
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 { 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 { ActivationEnd, Router } from '@angular/router';
|
||||||
import { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { forkJoin, Observable, of, Subject } from 'rxjs';
|
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 { DictionaryService } from '@shared/services/dictionary.service';
|
||||||
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
||||||
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
|
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
|
||||||
|
import { ReanalysisService } from '@services/reanalysis.service';
|
||||||
|
|
||||||
export interface AppState {
|
export interface AppState {
|
||||||
activeFileId?: string;
|
activeFileId?: string;
|
||||||
@ -35,7 +36,7 @@ export class AppStateService {
|
|||||||
private readonly _userService: UserService,
|
private readonly _userService: UserService,
|
||||||
private readonly _dossiersService: DossiersService,
|
private readonly _dossiersService: DossiersService,
|
||||||
private readonly _filesService: FilesService,
|
private readonly _filesService: FilesService,
|
||||||
private readonly _reanalysisControllerService: ReanalysisControllerService,
|
private readonly _reanalysisService: ReanalysisService,
|
||||||
private readonly _dictionaryService: DictionaryService,
|
private readonly _dictionaryService: DictionaryService,
|
||||||
private readonly _dossierTemplatesService: DossierTemplatesService,
|
private readonly _dossierTemplatesService: DossierTemplatesService,
|
||||||
private readonly _fileAttributesService: FileAttributesService,
|
private readonly _fileAttributesService: FileAttributesService,
|
||||||
@ -176,7 +177,7 @@ export class AppStateService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async reanalyzeDossier({ id } = this._dossiersService.activeDossier) {
|
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) {
|
async activateFile(dossierId: string, fileId: string) {
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';
|
import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';
|
||||||
import { Configuration } from './configuration';
|
import { Configuration } from './configuration';
|
||||||
import { HttpClient } from '@angular/common/http';
|
import { HttpClient } from '@angular/common/http';
|
||||||
import { ReanalysisControllerService } from './api/reanalysisController.service';
|
|
||||||
import { RedactionLogControllerService } from './api/redactionLogController.service';
|
import { RedactionLogControllerService } from './api/redactionLogController.service';
|
||||||
import { ReportTemplateControllerService } from './api/reportTemplateController.service';
|
import { ReportTemplateControllerService } from './api/reportTemplateController.service';
|
||||||
import { RulesControllerService } from './api/rulesController.service';
|
import { RulesControllerService } from './api/rulesController.service';
|
||||||
@ -17,7 +16,6 @@ import { NotificationControllerService } from './api/notificationController.serv
|
|||||||
declarations: [],
|
declarations: [],
|
||||||
exports: [],
|
exports: [],
|
||||||
providers: [
|
providers: [
|
||||||
ReanalysisControllerService,
|
|
||||||
RedactionLogControllerService,
|
RedactionLogControllerService,
|
||||||
ReportTemplateControllerService,
|
ReportTemplateControllerService,
|
||||||
RulesControllerService,
|
RulesControllerService,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user