import { TrashItem } from './trash.item'; import { File, IFile } from '../files'; import { FileAttributes } from '../file-attributes'; export class TrashFile extends TrashItem implements Partial { readonly type = 'file'; readonly icon = 'iqser:document'; readonly dossierId: string; readonly fileId: string; readonly filename: string; readonly assignee?: string; readonly numberOfPages: number; readonly excludedPages: number[]; readonly lastOCRTime?: string; readonly fileAttributes: FileAttributes; readonly isError: boolean; readonly isInitialProcessing: boolean; constructor( file: File, readonly dossierTemplateId: string, protected readonly _retentionHours: number, readonly hasRestoreRights: boolean, readonly hasHardDeleteRights: boolean, readonly ownerName: string, readonly fileDossierName: string, ) { super(_retentionHours, file.softDeletedTime, hasRestoreRights, hasHardDeleteRights); this.fileId = file.fileId; this.dossierId = file.dossierId; this.filename = file.filename; this.assignee = file.assignee; this.numberOfPages = file.numberOfPages || 0; this.excludedPages = file.excludedPages || []; this.lastOCRTime = file.lastOCRTime; this.fileAttributes = file.fileAttributes; this.isError = file.isError; this.isInitialProcessing = file.isInitialProcessing; } get id(): string { return this.fileId; } get searchKey(): string { return this.filename; } get name(): string { return this.filename; } get ownerId(): string | undefined { return this.assignee; } }