namespace ZB.MOM.WW.OtOpcUa.Configuration.LocalCache;

/// <summary>
///     A self-contained snapshot of one generation — enough to rebuild the address space on a node
///     that has lost DB connectivity. The payload is the JSON-serialized <c>sp_GetGenerationContent</c>
///     result; the local cache doesn't inspect the shape, it just round-trips bytes.
/// </summary>
public sealed class GenerationSnapshot
{
    public int Id { get; set; } // LiteDB auto-ID
    public required string ClusterId { get; set; }
    public required long GenerationId { get; set; }
    public required DateTime CachedAt { get; set; }
    public required string PayloadJson { get; set; }
}
