feat(transport): carry IsMesReportable / IsMesReportableOverride through bundles (round-trip guard extended)

Claude-Session: https://claude.ai/code/session_01Y5ef34iUUMjmwnMpL9xgmB
This commit is contained in:
Joseph Doherty
2026-09-11 10:00:00 -04:00
parent af10af1573
commit 43973d34de
8 changed files with 178 additions and 7 deletions
@@ -77,7 +77,8 @@ public sealed class EntitySerializer
// name comes through as null and the importer leaves the
// FK null on the imported alarm.
OnTriggerScriptName: a.OnTriggerScriptId is { } sid && scriptNameById.TryGetValue(sid, out var sn) ? sn : null,
LockedInDerived: a.LockedInDerived)).ToList(),
LockedInDerived: a.LockedInDerived,
IsMesReportable: a.IsMesReportable)).ToList(),
Scripts: t.Scripts.Select(s => new TemplateScriptDto(
Name: s.Name,
Code: s.Code,
@@ -285,7 +286,8 @@ public sealed class EntitySerializer
AlarmOverrides: inst.AlarmOverrides.Select(o => new InstanceAlarmOverrideDto(
AlarmCanonicalName: o.AlarmCanonicalName,
TriggerConfigurationOverride: o.TriggerConfigurationOverride,
PriorityLevelOverride: o.PriorityLevelOverride)).ToList(),
PriorityLevelOverride: o.PriorityLevelOverride,
IsMesReportableOverride: o.IsMesReportableOverride)).ToList(),
NativeAlarmSourceOverrides: inst.NativeAlarmSourceOverrides.Select(o => new InstanceNativeAlarmSourceOverrideDto(
SourceCanonicalName: o.SourceCanonicalName,
ConnectionNameOverride: o.ConnectionNameOverride,
@@ -354,6 +356,7 @@ public sealed class EntitySerializer
TriggerConfiguration = al.TriggerConfiguration,
IsLocked = al.IsLocked,
LockedInDerived = al.LockedInDerived,
IsMesReportable = al.IsMesReportable,
});
}
foreach (var s in dto.Scripts)
@@ -607,6 +610,7 @@ public sealed class EntitySerializer
InstanceId = inst.Id,
TriggerConfigurationOverride = o.TriggerConfigurationOverride,
PriorityLevelOverride = o.PriorityLevelOverride,
IsMesReportableOverride = o.IsMesReportableOverride,
});
}
foreach (var o in dto.NativeAlarmSourceOverrides)