using ScadaLink.Commons.Messages.Health;

namespace ScadaLink.HealthMonitoring;

/// <summary>
/// In-memory state for a single site's health, stored by the central aggregator.
/// </summary>
public class SiteHealthState
{
    public required string SiteId { get; init; }
    public SiteHealthReport LatestReport { get; set; } = null!;
    public DateTimeOffset LastReportReceivedAt { get; set; }
    public long LastSequenceNumber { get; set; }
    public bool IsOnline { get; set; }
}
