namespace Application.Features.Admin.Dashboard.MailHealth;
public sealed class Response
{
/// 현재 발송 대기 중인 큐 깊이
public int PendingCount { get; init; }
/// Processing 상태로 5분 이상 갇혀있는 항목 수 (워커 다운/락 의심)
public int ProcessingStuckCount { get; init; }
/// 가장 오래된 Pending 항목의 등록 시각 (UTC). 없으면 null.
public DateTime? OldestPendingAt { get; init; }
/// 24시간 이상 처리 안 된 Pending 항목 수 (Janitor가 이걸 Failed로 전환해야 함)
public int StalePendingCount { get; init; }
/// 최근 24시간 내 발송 완료 건수
public int Sent24hCount { get; init; }
/// 최근 24시간 내 실패 확정(Dead Letter) 건수
public int Failed24hCount { get; init; }
/// 전체 EmailLog row 수
public int TotalRowCount { get; init; }
}