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; } }