feat(template-engine): persist IsMesReportable on alarm update; IsMesReportableOverride on SetAlarmOverrideAsync

Claude-Session: https://claude.ai/code/session_01Y5ef34iUUMjmwnMpL9xgmB
This commit is contained in:
Joseph Doherty
2026-09-11 09:56:54 -04:00
parent 30a23458e9
commit af10af1573
4 changed files with 160 additions and 1 deletions
@@ -213,6 +213,7 @@ public class InstanceService
/// <param name="triggerConfigurationOverride">Override JSON for the trigger configuration.</param>
/// <param name="priorityLevelOverride">Override priority level, or null to use template value.</param>
/// <param name="user">Username of the user setting the override.</param>
/// <param name="isMesReportableOverride">Override for the alarm's MES-reportable flag, or null to use the template value.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>Result containing the alarm override or failure message.</returns>
public async Task<Result<InstanceAlarmOverride>> SetAlarmOverrideAsync(
@@ -221,6 +222,7 @@ public class InstanceService
string? triggerConfigurationOverride,
int? priorityLevelOverride,
string user,
bool? isMesReportableOverride = null,
CancellationToken cancellationToken = default)
{
var instance = await _repository.GetInstanceByIdAsync(instanceId, cancellationToken);
@@ -254,6 +256,7 @@ public class InstanceService
{
existingOverride.TriggerConfigurationOverride = triggerConfigurationOverride;
existingOverride.PriorityLevelOverride = priorityLevelOverride;
existingOverride.IsMesReportableOverride = isMesReportableOverride;
await _repository.UpdateInstanceAlarmOverrideAsync(existingOverride, cancellationToken);
await _repository.SaveChangesAsync(cancellationToken);
@@ -268,7 +271,8 @@ public class InstanceService
{
InstanceId = instanceId,
TriggerConfigurationOverride = triggerConfigurationOverride,
PriorityLevelOverride = priorityLevelOverride
PriorityLevelOverride = priorityLevelOverride,
IsMesReportableOverride = isMesReportableOverride
};
await _repository.AddInstanceAlarmOverrideAsync(newOverride, cancellationToken);
@@ -621,6 +621,7 @@ public class TemplateService
existing.Description = proposed.Description;
existing.OnTriggerScriptId = proposed.OnTriggerScriptId;
existing.IsLocked = proposed.IsLocked;
existing.IsMesReportable = proposed.IsMesReportable;
if (template?.IsDerived == true)
existing.IsInherited = proposed.IsInherited;
else