fix(template-engine): computed-alarm IsMesReportable in revision hash and diff, true-only (ScadaBridge#102 item 2)

Claude-Session: https://claude.ai/code/session_01GT67AEHd2Acv1YPwGfXEoV
This commit is contained in:
Joseph Doherty
2026-11-09 15:19:15 -05:00
parent 3dd492a77f
commit 3b0c2b3bfa
4 changed files with 48 additions and 0 deletions
@@ -142,6 +142,7 @@ public class DiffService
a.Description == b.Description &&
a.PriorityLevel == b.PriorityLevel &&
a.IsLocked == b.IsLocked &&
a.IsMesReportable == b.IsMesReportable &&
a.TriggerType == b.TriggerType &&
a.TriggerConfiguration == b.TriggerConfiguration &&
a.OnTriggerScriptCanonicalName == b.OnTriggerScriptCanonicalName;
@@ -78,6 +78,8 @@ public class RevisionHashService
Description = a.Description,
PriorityLevel = a.PriorityLevel,
IsLocked = a.IsLocked,
// true-only (null when false) so existing revision hashes are unchanged.
IsMesReportable = a.IsMesReportable ? true : null,
TriggerType = a.TriggerType,
TriggerConfiguration = a.TriggerConfiguration,
OnTriggerScriptCanonicalName = a.OnTriggerScriptCanonicalName
@@ -242,6 +244,11 @@ public class RevisionHashService
/// </summary>
public bool IsLocked { get; init; }
/// <summary>
/// MES-reportable flag; null when false (the serializer drops nulls), so
/// pre-existing configurations hash identically.
/// </summary>
public bool? IsMesReportable { get; init; }
/// <summary>
/// The canonical name of the script triggered by this alarm.
/// </summary>
public string? OnTriggerScriptCanonicalName { get; init; }