namespace ZB.MOM.WW.MxGateway.Server.Galaxy;
///
/// A serializable point-in-time copy of the Galaxy Repository browse data.
/// Holds the raw hierarchy and attribute rowsets — not the materialized
/// protobuf objects — so the restore path runs the exact same
/// materialization as a live refresh. Persisted by
/// after a successful refresh
/// and reloaded at startup when the Galaxy database is unreachable.
///
///
/// The galaxy.time_of_last_deploy the rowsets were pulled at, or
/// when the Galaxy table reported no deploy. A later
/// live refresh that observes this same timestamp can promote the restored
/// entry to healthy without re-running the heavy queries.
///
/// UTC wall-clock when the snapshot was written to disk.
/// The persisted object-hierarchy rowset.
/// The persisted attribute rowset.
public sealed record GalaxyHierarchySnapshot(
DateTimeOffset? LastDeployTime,
DateTimeOffset SavedAt,
IReadOnlyList Hierarchy,
IReadOnlyList Attributes);