fix(adminui): null Source for alias rows without a FullName (review nits)

This commit is contained in:
Joseph Doherty
2026-06-11 21:12:52 -04:00
parent bc9e83ed9f
commit fcc73ccd2d
3 changed files with 39 additions and 2 deletions
@@ -345,7 +345,9 @@ public interface IUnsTreeService
Task<IReadOnlyList<(string DriverInstanceId, string Display, string DriverType)>> LoadTagDriversForEquipmentAsync(string equipmentId, CancellationToken ct = default);
/// <summary>Galaxy gateway driver instances (DriverType "GalaxyMxGateway") in the equipment's
/// cluster, for the alias address picker. Tuple = (DriverInstanceId, Display, DriverConfig).</summary>
/// cluster, for the alias address picker. Tuple = (DriverInstanceId, Display, DriverConfig).
/// <c>Display</c> is intentionally <c>"{DriverInstanceId} — {Name}"</c> (no DriverType suffix)
/// because every returned driver is a Galaxy gateway — do not add the type suffix.</summary>
Task<IReadOnlyList<(string DriverInstanceId, string Display, string DriverConfig)>>
LoadGalaxyGatewaysForEquipmentAsync(string equipmentId, CancellationToken ct = default);
@@ -111,7 +111,8 @@ public sealed class UnsTreeService(IDbContextFactory<OtOpcUaConfigDbContext> dbF
return rows.Select(r =>
{
var isAlias = r.DriverType == "GalaxyMxGateway";
var source = isAlias ? $"galaxy:{ExtractTagConfigFullName(r.TagConfig)}" : null;
var fullName = isAlias ? ExtractTagConfigFullName(r.TagConfig) : null;
var source = fullName is not null ? $"galaxy:{fullName}" : null;
return new EquipmentTagRow(r.TagId, r.Name, r.DriverInstanceId, r.DataType, r.AccessLevel, isAlias, source);
}).ToList();
}