From 1a122ceea3379e8f6d20b661609464b046af3321 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 21 Mar 2022 13:53:34 +0200 Subject: [PATCH] adjusted to new search and missing dossier status --- .../search-screen/search-screen.component.ts | 22 +++++++++++++------ .../platform-search.service.ts | 5 +++-- .../src/lib/dossiers/dossier.model.ts | 7 ++---- libs/red-domain/src/lib/dossiers/dossier.ts | 2 -- libs/red-domain/src/lib/dossiers/index.ts | 1 - libs/red-domain/src/lib/dossiers/types.ts | 7 ------ .../src/lib/search/matched-document.ts | 4 ++-- .../red-domain/src/lib/search/search-input.ts | 4 ++-- .../src/lib/search/search-list-item.ts | 4 ++-- .../src/lib/search/search.request.ts | 4 ++-- libs/red-domain/src/lib/shared/colors.ts | 3 +-- 11 files changed, 29 insertions(+), 34 deletions(-) delete mode 100644 libs/red-domain/src/lib/dossiers/types.ts diff --git a/apps/red-ui/src/app/modules/search/search-screen/search-screen.component.ts b/apps/red-ui/src/app/modules/search/search-screen/search-screen.component.ts index 900b677e7..57e13f5fc 100644 --- a/apps/red-ui/src/app/modules/search/search-screen/search-screen.component.ts +++ b/apps/red-ui/src/app/modules/search/search-screen/search-screen.component.ts @@ -17,7 +17,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { workflowFileStatusTranslations } from '../../../translations/file-status-translations'; import { TranslateService } from '@ngx-translate/core'; import { RouterHistoryService } from '@services/router-history.service'; -import { Dossier, DossierStatuses, IMatchedDocument, ISearchListItem, ISearchResponse } from '@red/domain'; +import { Dossier, IMatchedDocument, ISearchListItem, ISearchResponse } from '@red/domain'; import { FilesMapService } from '@services/entity-services/files-map.service'; import { PlatformSearchService } from '@services/entity-services/platform-search.service'; import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; @@ -51,7 +51,8 @@ export class SearchScreenComponent extends ListingComponent imp this._platformSearchService.search({ query, dossierIds, - dossierStatus: onlyActive ? [] : [DossierStatuses.ACTIVE, DossierStatuses.ARCHIVED], + inDeletedDossiers: false, + inArchivedDossiers: !onlyActive, }), ), map(searchResult => this._toMatchedDocuments(searchResult)), @@ -154,20 +155,27 @@ export class SearchScreenComponent extends ListingComponent imp return matchedDocuments.map(document => this._toListItem(document)).filter(value => value); } - private _toListItem({ dossierId, fileId, unmatchedTerms, highlights, score, dossierStatus }: IMatchedDocument): ISearchListItem { + private _toListItem({ + dossierId, + fileId, + unmatchedTerms, + highlights, + score, + dossierDeleted, + dossierArchived, + }: IMatchedDocument): ISearchListItem { const file = this._filesMapService.get(dossierId, fileId); if (!file) { return undefined; } - const dossier = (dossierStatus === DossierStatuses.ARCHIVED ? this._archivedDossiersService : this._activeDossiersService).find( - dossierId, - ); + const dossier = (dossierArchived ? this._archivedDossiersService : this._activeDossiersService).find(dossierId); return { id: fileId, dossierId, - dossierStatus, + deleted: dossierDeleted, + archived: dossierArchived, unmatched: unmatchedTerms || null, highlights, status: file.workflowStatus, diff --git a/apps/red-ui/src/app/services/entity-services/platform-search.service.ts b/apps/red-ui/src/app/services/entity-services/platform-search.service.ts index abda973f3..b546c5dd1 100644 --- a/apps/red-ui/src/app/services/entity-services/platform-search.service.ts +++ b/apps/red-ui/src/app/services/entity-services/platform-search.service.ts @@ -21,7 +21,7 @@ export class PlatformSearchService extends GenericService { super(_injector, 'search-v2'); } - search({ dossierIds, query, dossierStatus }: ISearchInput): Observable { + search({ dossierIds, query, inDeletedDossiers, inArchivedDossiers }: ISearchInput): Observable { if (!query) { return of({ matchedDocuments: [], @@ -35,7 +35,8 @@ export class PlatformSearchService extends GenericService { page: 0, returnSections: false, pageSize: 300, - dossierStatus, + inDeletedDossiers, + inArchivedDossiers, }; return this._post(body).pipe(switchMap(searchValue => this._loadMissingFiles$(searchValue))); diff --git a/libs/red-domain/src/lib/dossiers/dossier.model.ts b/libs/red-domain/src/lib/dossiers/dossier.model.ts index b0e04911a..79f613570 100644 --- a/libs/red-domain/src/lib/dossiers/dossier.model.ts +++ b/libs/red-domain/src/lib/dossiers/dossier.model.ts @@ -1,6 +1,5 @@ import { IListable, IRouterPath, List } from '@iqser/common-ui'; import { IDossier } from './dossier'; -import { DossierStatus, DossierStatuses } from './types'; import { DownloadFileType } from '../shared'; export class Dossier implements IDossier, IListable, IRouterPath { @@ -19,7 +18,6 @@ export class Dossier implements IDossier, IListable, IRouterPath { readonly hardDeletedTime?: string; readonly softDeletedTime?: string; readonly startDate?: string; - readonly status: DossierStatus; readonly watermarkEnabled: boolean; readonly watermarkPreviewEnabled: boolean; readonly archivedTime: string; @@ -41,7 +39,6 @@ export class Dossier implements IDossier, IListable, IRouterPath { this.reportTemplateIds = dossier.reportTemplateIds; this.softDeletedTime = dossier.softDeletedTime; this.startDate = dossier.startDate; - this.status = dossier.status; this.watermarkEnabled = dossier.watermarkEnabled; this.watermarkPreviewEnabled = dossier.watermarkPreviewEnabled; this.archivedTime = dossier.archivedTime; @@ -61,11 +58,11 @@ export class Dossier implements IDossier, IListable, IRouterPath { } get isActive(): boolean { - return this.status === DossierStatuses.ACTIVE; + return this.softDeletedTime == null && this.archivedTime == null; } get isSoftDeleted(): boolean { - return this.status === DossierStatuses.DELETED; + return this.softDeletedTime !== null; } hasMember(memberId: string): boolean { diff --git a/libs/red-domain/src/lib/dossiers/dossier.ts b/libs/red-domain/src/lib/dossiers/dossier.ts index 59689a5d9..bd16731ac 100644 --- a/libs/red-domain/src/lib/dossiers/dossier.ts +++ b/libs/red-domain/src/lib/dossiers/dossier.ts @@ -1,4 +1,3 @@ -import { DossierStatus } from './types'; import { DownloadFileType } from '../shared'; import { List } from '@iqser/common-ui'; @@ -18,7 +17,6 @@ export interface IDossier { readonly reportTemplateIds: List; readonly softDeletedTime?: string; readonly startDate?: string; - readonly status: DossierStatus; readonly watermarkEnabled: boolean; readonly watermarkPreviewEnabled: boolean; readonly archivedTime: string; diff --git a/libs/red-domain/src/lib/dossiers/index.ts b/libs/red-domain/src/lib/dossiers/index.ts index 994f4274c..7b25e441b 100644 --- a/libs/red-domain/src/lib/dossiers/index.ts +++ b/libs/red-domain/src/lib/dossiers/index.ts @@ -1,5 +1,4 @@ export * from './dossier'; export * from './dossier.request'; export * from './dossier.model'; -export * from './types'; export * from './dossier-changes'; diff --git a/libs/red-domain/src/lib/dossiers/types.ts b/libs/red-domain/src/lib/dossiers/types.ts deleted file mode 100644 index f667390d4..000000000 --- a/libs/red-domain/src/lib/dossiers/types.ts +++ /dev/null @@ -1,7 +0,0 @@ -export const DossierStatuses = { - ACTIVE: 'ACTIVE', - DELETED: 'DELETED', - ARCHIVED: 'ARCHIVED', -} as const; - -export type DossierStatus = keyof typeof DossierStatuses; diff --git a/libs/red-domain/src/lib/search/matched-document.ts b/libs/red-domain/src/lib/search/matched-document.ts index 65d41ddce..6eba56b59 100644 --- a/libs/red-domain/src/lib/search/matched-document.ts +++ b/libs/red-domain/src/lib/search/matched-document.ts @@ -1,12 +1,12 @@ import { IMatchedSection } from './matched-section'; import { List } from '@iqser/common-ui'; -import { DossierStatus } from '../dossiers'; export interface IMatchedDocument { containsAllMatchedSections?: boolean; dossierId?: string; dossierTemplateId?: string; - dossierStatus?: DossierStatus; + dossierDeleted?: boolean; + dossierArchived?: boolean; fileId?: string; highlights?: { [key: string]: List }; matchedSections?: List; diff --git a/libs/red-domain/src/lib/search/search-input.ts b/libs/red-domain/src/lib/search/search-input.ts index dc0786951..e0eafd1ca 100644 --- a/libs/red-domain/src/lib/search/search-input.ts +++ b/libs/red-domain/src/lib/search/search-input.ts @@ -1,8 +1,8 @@ import { List } from '@iqser/common-ui'; -import { DossierStatus } from '../dossiers'; export interface ISearchInput { readonly query: string; readonly dossierIds?: List; - readonly dossierStatus?: List; + readonly inDeletedDossiers: boolean; + readonly inArchivedDossiers: boolean; } diff --git a/libs/red-domain/src/lib/search/search-list-item.ts b/libs/red-domain/src/lib/search/search-list-item.ts index 0091366b8..70932948b 100644 --- a/libs/red-domain/src/lib/search/search-list-item.ts +++ b/libs/red-domain/src/lib/search/search-list-item.ts @@ -1,15 +1,15 @@ import { IListable, List } from '@iqser/common-ui'; -import { DossierStatus } from '../dossiers'; export interface ISearchListItem extends IListable { readonly dossierId: string; - readonly dossierStatus: DossierStatus; readonly filename: string; readonly assignee: string; readonly unmatched: List | null; readonly highlights: Record; readonly routerLink: string; readonly status: string; + readonly deleted: boolean; + readonly archived: boolean; readonly dossierName: string; readonly numberOfPages: number; } diff --git a/libs/red-domain/src/lib/search/search.request.ts b/libs/red-domain/src/lib/search/search.request.ts index e9ae5c23e..d497b3b14 100644 --- a/libs/red-domain/src/lib/search/search.request.ts +++ b/libs/red-domain/src/lib/search/search.request.ts @@ -1,10 +1,10 @@ import { List } from '@iqser/common-ui'; -import { DossierStatus } from '../dossiers'; export interface ISearchRequest { readonly dossierIds?: List; readonly dossierTemplateIds?: List; - readonly dossierStatus?: List; + readonly inDeletedDossiers: boolean; + readonly inArchivedDossiers: boolean; readonly fileId?: string; readonly page?: number; readonly pageSize?: number; diff --git a/libs/red-domain/src/lib/shared/colors.ts b/libs/red-domain/src/lib/shared/colors.ts index f80429122..86f5d289d 100644 --- a/libs/red-domain/src/lib/shared/colors.ts +++ b/libs/red-domain/src/lib/shared/colors.ts @@ -1,4 +1,3 @@ -import { DossierStatus } from '../dossiers'; import { WorkflowFileStatus } from '../files'; -export type Color = WorkflowFileStatus | DossierStatus | string; +export type Color = WorkflowFileStatus | string;