using ZB.MOM.WW.OtOpcUa.Commons.Types;
namespace ZB.MOM.WW.OtOpcUa.Commons.Messages.Admin;
///
/// AdminUI → AdminOperationsActor: acknowledge one alarm on behalf of an operator. The admin
/// singleton maps this to a Commons.OpcUa.AlarmCommand with Operation = "Acknowledge"
/// and republishes it onto the cluster alarm-commands topic, where the owning
/// ScriptedAlarmHostActor filters by ownership and drives the engine. Routing this through
/// the admin-pinned singleton lets the AdminUI act without knowing which node owns the alarm —
/// the broadcast + ownership filter handle cross-node delivery.
///
/// The alarm's ScriptedAlarmId (the AlarmTransitionEvent.AlarmId shown on the row).
/// The authenticated operator who triggered the acknowledgement.
/// Optional free-text comment supplied with the acknowledgement; null when none.
/// Round-trip correlation token.
public sealed record AcknowledgeAlarmCommand(
string AlarmId,
string User,
string? Comment,
CorrelationId CorrelationId);
/// Reply for .
/// True iff the command was published without error.
/// Failure reason; null on success.
/// Echoes the request's correlation token.
public sealed record AcknowledgeAlarmResult(
bool Ok,
string? Message,
CorrelationId CorrelationId);