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

/// <summary>Per-device row for multi-device drivers (Modbus, AB CIP). Optional for single-device drivers.</summary>
public sealed class Device
{
    public Guid DeviceRowId { get; set; }

    public long GenerationId { get; set; }

    public required string DeviceId { get; set; }

    /// <summary>Logical FK to <see cref="DriverInstance.DriverInstanceId"/>.</summary>
    public required string DriverInstanceId { get; set; }

    public required string Name { get; set; }

    public bool Enabled { get; set; } = true;

    /// <summary>Schemaless per-driver-type device config (host, port, unit ID, slot, etc.).</summary>
    public required string DeviceConfig { get; set; }

    public ConfigGeneration? Generation { get; set; }
}
