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

/// <summary>UNS level-4 segment. Generation-versioned per decision #115.</summary>
public sealed class UnsLine
{
    public Guid UnsLineRowId { get; set; }

    public long GenerationId { get; set; }

    public required string UnsLineId { get; set; }

    /// <summary>Logical FK to <see cref="UnsArea.UnsAreaId"/>; resolved within the same generation.</summary>
    public required string UnsAreaId { get; set; }

    /// <summary>UNS level 4 segment: matches <c>^[a-z0-9-]{1,32}$</c> OR equals literal <c>_default</c>.</summary>
    public required string Name { get; set; }

    public string? Notes { get; set; }

    public ConfigGeneration? Generation { get; set; }
}
