using ZB.MOM.WW.OtOpcUa.Configuration.Enums; namespace ZB.MOM.WW.OtOpcUa.AdminUI.Uns; /// A tag row for the equipment page's Tags tab table — display columns plus the id used to /// open the edit modal. RowVersion is re-read fresh on delete (matching the tree's delete path). public sealed record EquipmentTagRow( string TagId, string Name, string DriverInstanceId, string DataType, TagAccessLevel AccessLevel); /// A virtual-tag row for the equipment page's Virtual Tags tab table. public sealed record EquipmentVirtualTagRow(string VirtualTagId, string Name, string DataType, string ScriptId, bool Enabled); /// /// A UNS tag-reference row for the equipment page's Tags tab table (v3 reference-only equipment). Each /// row projects a together with the backing raw /// tag's inherited (read-only) datatype/access and computed RawPath. The effective name is the /// DisplayNameOverride when set, else the backing raw tag's Name. RowVersion is the /// reference row's concurrency token, echoed on the override-set / remove mutations. /// /// The reference's stable logical id (the mutation key). /// Override else the raw tag's Name — the UNS leaf name. /// The backing raw tag's computed RawPath (folder/driver/device/group/tag). /// Inherited OPC UA built-in type name from the raw tag (read-only). /// Inherited access level from the raw tag (read-only). /// The optional display-name override; null = use the raw name. /// Sibling display ordering within the equipment's Tags list. /// The reference row's optimistic-concurrency token. public sealed record EquipmentReferenceRow( string UnsTagReferenceId, string EffectiveName, string RawPath, string DataType, TagAccessLevel AccessLevel, string? DisplayNameOverride, int SortOrder, byte[] RowVersion);