using System.ComponentModel.DataAnnotations;
namespace ZB.MOM.WW.CBDDC.Persistence.BLite.Entities;
///
/// BLite entity representing document metadata for sync tracking.
/// Stores HLC timestamp and deleted state for each document without modifying application entities.
///
public class DocumentMetadataEntity
{
///
/// Gets or sets the unique identifier for this entity (technical key).
/// Auto-generated GUID string.
///
[Key]
public string Id { get; set; } = "";
///
/// Gets or sets the collection name (business key part 1).
///
public string Collection { get; set; } = "";
///
/// Gets or sets the document key within the collection (business key part 2).
///
public string Key { get; set; } = "";
///
/// Gets or sets the physical time component of the HLC timestamp.
///
public long HlcPhysicalTime { get; set; }
///
/// Gets or sets the logical counter component of the HLC timestamp.
///
public int HlcLogicalCounter { get; set; }
///
/// Gets or sets the node ID that last modified this document.
///
public string HlcNodeId { get; set; } = "";
///
/// Gets or sets whether this document is marked as deleted (tombstone).
///
public bool IsDeleted { get; set; }
}