using IamService.Domain.SeedWork;

namespace IamService.Domain.Events;

/// <summary>
/// EN: Event when compliance report is created.
/// VI: Event khi báo cáo tuân thủ được tạo.
/// </summary>
public record ComplianceReportCreatedEvent(Guid ReportId, string Name, string ReportType) : IDomainEvent
{
    public DateTime OccurredOn { get; } = DateTime.UtcNow;
}

/// <summary>
/// EN: Event when compliance report is completed.
/// VI: Event khi báo cáo tuân thủ hoàn thành.
/// </summary>
public record ComplianceReportCompletedEvent(Guid ReportId, int PassedChecks, int FailedChecks, int ViolationCount) : IDomainEvent
{
    public DateTime OccurredOn { get; } = DateTime.UtcNow;
}
