diff --git a/frontend/src/app/models/dtos/FileScanResultDto.ts b/frontend/src/app/models/dtos/FileScanResultDto.ts new file mode 100644 index 00000000..7803cc94 --- /dev/null +++ b/frontend/src/app/models/dtos/FileScanResultDto.ts @@ -0,0 +1,7 @@ +export type ScanVerdict = 'CLEAN' | 'INFECTED' | 'ERROR'; + +export interface FileScanResultDto { + path: string; + verdict: ScanVerdict; + detail?: string; +} diff --git a/frontend/src/app/models/dtos/ScanJobDto.ts b/frontend/src/app/models/dtos/ScanJobDto.ts new file mode 100644 index 00000000..f9c287c1 --- /dev/null +++ b/frontend/src/app/models/dtos/ScanJobDto.ts @@ -0,0 +1,15 @@ +import { FileScanResultDto } from './FileScanResultDto'; + +export type ScanStatus = 'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED'; + +export interface ScanJobDto { + jobId: string; + path: string; + status: ScanStatus; + createdAt?: string; + finishedAt?: string; + filesScanned: number; + infectedCount: number; + error?: string; + findings?: FileScanResultDto[]; +} diff --git a/frontend/src/app/pages/cloud/cloud.component.html b/frontend/src/app/pages/cloud/cloud.component.html index 16bd8cd4..fc8534cd 100644 --- a/frontend/src/app/pages/cloud/cloud.component.html +++ b/frontend/src/app/pages/cloud/cloud.component.html @@ -17,6 +17,15 @@
+ Scanning {{ scanFolderLabel }} +
+ + ++ {{ scanErroredFindings.length }} file{{ + scanErroredFindings.length === 1 ? "" : "s" + }} + could not be scanned +
+