package cn.yunzhixue.ability.center.examsprint.application.report;

import cn.yunzhixue.ability.center.examsprint.contracts.report.CreateExamSprintReportRequest;
import cn.yunzhixue.ability.center.examsprint.contracts.report.CreateExamSprintReportResponse;
import cn.yunzhixue.ability.center.examsprint.contracts.report.ExamSprintReportDetailResponse;

public interface ExamSprintReportApplicationService {

    CreateExamSprintReportResponse createReport(CreateExamSprintReportRequest request);

    ExamSprintReportDetailResponse getReport(String reportId);

    ReportDownloadContent downloadReport(String reportId);

    ReportHtmlPreviewContent previewReportHtml(String reportId);

    record ReportDownloadContent(String fileName, byte[] bytes, String contentType) {
    }

    record ReportHtmlPreviewContent(String html, String contentType) {
    }
}
