Ajay Yadav
Initial deployment of da-autocompliance-dev
688925d
raw
history blame
3.25 kB
package com.dalab.autocompliance.service;
import com.dalab.autocompliance.dto.ComplianceReportDefinitionDTO;
import com.dalab.autocompliance.dto.ReportGenerationRequestDTO;
import com.dalab.autocompliance.dto.ReportGenerationResponseDTO;
import com.dalab.autocompliance.dto.ReportJobStatusDTO;
import com.dalab.autocompliance.dto.ComplianceReportDTO;
import com.dalab.autocompliance.dto.AssetComplianceStatusDTO;
import com.dalab.autocompliance.dto.ComplianceControlDTO;
import com.dalab.autocompliance.dto.ControlEvaluationRequestDTO;
import com.dalab.autocompliance.dto.ControlEvaluationResponseDTO;
// Future DTOs:
// import com.dalab.autocompliance.dto.ReportGenerationRequestDTO;
// import com.dalab.autocompliance.dto.ReportGenerationResponseDTO;
// import com.dalab.autocompliance.dto.ReportJobStatusDTO;
import java.util.List;
public interface IComplianceService {
/**
* Lists all available compliance report definitions.
* @return A list of ComplianceReportDefinitionDTOs.
*/
List<ComplianceReportDefinitionDTO> listAvailableReportDefinitions();
/**
* Initiates the generation of a specific compliance report.
* @param reportType The type of report to generate.
* @param request DTO containing parameters for report generation.
* @return A response DTO with the job ID and status.
*/
ReportGenerationResponseDTO generateComplianceReport(String reportType, ReportGenerationRequestDTO request);
/**
* Retrieves the status of a specific compliance report generation job.
* @param jobId The ID of the job.
* @return A DTO with the job status details.
*/
ReportJobStatusDTO getReportGenerationJobStatus(String jobId);
/**
* Retrieves a generated compliance report by its ID.
* @param reportId The ID of the generated report.
* @return The ComplianceReportDTO or null if not found.
*/
ComplianceReportDTO getGeneratedReport(String reportId);
/**
* Retrieves the overall compliance status for a specific asset.
* @param assetId The ID of the asset.
* @return AssetComplianceStatusDTO or null if asset not found or no status available.
*/
AssetComplianceStatusDTO getAssetComplianceStatus(String assetId);
/**
* Lists all available (and typically enabled) compliance controls.
* @return A list of ComplianceControlDTOs.
*/
List<ComplianceControlDTO> listAvailableControls();
/**
* Initiates the evaluation of a specific compliance control.
* @param controlId The ID of the control to evaluate.
* @param request DTO containing parameters for the evaluation.
* @return A response DTO with the job ID and status.
*/
ControlEvaluationResponseDTO evaluateControl(String controlId, ControlEvaluationRequestDTO request);
// TODO: Add method to get status of a control evaluation job
// ControlEvaluationJobStatusDTO getControlEvaluationJobStatus(String jobId);
// Methods to be added later:
// ReportGenerationResponseDTO generateComplianceReport(String reportType, ReportGenerationRequestDTO request);
// ReportJobStatusDTO getReportGenerationJobStatus(String jobId);
// ... and others for controls and asset status
}