25 lines
1.3 KiB
C#
25 lines
1.3 KiB
C#
namespace ZB.MOM.WW.GalaxyRepository;
|
|
|
|
/// <summary>
|
|
/// 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
|
|
/// <see cref="IGalaxyHierarchySnapshotStore"/> after a successful refresh
|
|
/// and reloaded at startup when the Galaxy database is unreachable.
|
|
/// </summary>
|
|
/// <param name="LastDeployTime">
|
|
/// The <c>galaxy.time_of_last_deploy</c> the rowsets were pulled at, or
|
|
/// <see langword="null"/> 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.
|
|
/// </param>
|
|
/// <param name="SavedAt">UTC wall-clock when the snapshot was written to disk.</param>
|
|
/// <param name="Hierarchy">The persisted object-hierarchy rowset.</param>
|
|
/// <param name="Attributes">The persisted attribute rowset.</param>
|
|
public sealed record GalaxyHierarchySnapshot(
|
|
DateTimeOffset? LastDeployTime,
|
|
DateTimeOffset SavedAt,
|
|
IReadOnlyList<GalaxyHierarchyRow> Hierarchy,
|
|
IReadOnlyList<GalaxyAttributeRow> Attributes);
|