From 0aacc165bfdf137a0e910f57c4094c86eb2df1cc Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Mon, 25 Mar 2024 12:08:26 +0200 Subject: [PATCH] RED-8711 - Filter out entity log entries that have no positions and show a toast message in dev mode --- .../services/file-data.service.ts | 4 ---- .../app/services/files/entity-log.service.ts | 20 ++++++++++++++++--- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts b/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts index 4ff31e95f..ba82979e4 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts @@ -190,10 +190,6 @@ export class FileDataService extends EntitiesService { protected readonly _defaultModelPath = ''; + readonly #isIqserDevMode = isIqserDevMode(); + readonly #toaster = inject(Toaster); async getEntityLog(dossierId: string, fileId: string) { const queryParams = [{ key: 'includeUnprocessed', value: true }]; const entityLog$ = this._getOne([dossierId, fileId], 'entityLog', queryParams); const entityLog = await firstValueFrom(entityLog$.pipe(catchError(() => of({} as IEntityLog)))); + entityLog.entityLogEntry = this.#filterInvalidEntries(entityLog.entityLogEntry); entityLog.entityLogEntry.sort((a, b) => a.positions[0].pageNumber - b.positions[0].pageNumber); return entityLog; } @@ -21,4 +24,15 @@ export class EntityLogService extends GenericService { getSectionGrid(dossierId: string, fileId: string) { return this._getOne([dossierId, fileId], 'sectionGrid'); } + + #filterInvalidEntries(entityLogEntry: IEntityLogEntry[]) { + return entityLogEntry.filter(entry => { + const hasPositions = !!entry.positions?.length; + const isRemoved = entry.state === EntryStates.REMOVED; + if (!hasPositions) { + this.#toaster.devInfo(`Entry ${entry.id} was skipped because it has no position`); + } + return hasPositions && !isRemoved; + }); + } }