Spaces:
Build error
Build error
File size: 2,061 Bytes
688925d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | package com.dalab.autocompliance.dto;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
/**
* DTO representing a generated compliance report.
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ComplianceReportDTO {
private String reportId; // Unique ID of this generated report instance
private String reportType; // e.g., "cis-gcp-foundations-v1.3"
private String displayName; // User-friendly name of the report type
private LocalDateTime generationTimestamp;
private String overallStatus; // e.g., COMPLIANT, NON_COMPLIANT, PARTIALLY_COMPLIANT, ERROR
private Map<String, Object> generationParameters; // Parameters used to generate this report
private SummaryDTO summary; // High-level summary statistics
private List<FindingDTO> findings; // Detailed list of findings
// Nested DTOs for structure
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class SummaryDTO {
private int totalChecks;
private int compliantChecks;
private int nonCompliantChecks;
private int errorChecks;
private double complianceScore; // e.g., percentage
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class FindingDTO {
private String checkId; // Unique identifier for the specific check/control
private String description;
private String assetId; // ID of the asset evaluated
private String assetType;
private String assetName; // User-friendly name of the asset
private String status; // COMPLIANT, NON_COMPLIANT, ERROR, NOT_APPLICABLE
private String severity; // INFO, LOW, MEDIUM, HIGH, CRITICAL
private String recommendation;
private Map<String, Object> details; // Specific details about the finding
private String evidenceLink; // Link to evidence if applicable
}
} |