using ZB.MOM.WW.OtOpcUa.Commons.Messages.Admin; namespace ZB.MOM.WW.OtOpcUa.Commons.Interfaces; /// /// Cluster-singleton-proxy client for the AdminOperationsActor. The Blazor UI calls /// this from any host (admin or driver role); the proxy routes the request to whichever node /// holds the admin singleton. /// public interface IAdminOperationsClient { /// Starts a new deployment on the cluster-singleton admin operations actor. /// The user or system identifier triggering the deployment. /// The cancellation token. /// A task representing the asynchronous operation containing the deployment start result. Task StartDeploymentAsync(string createdBy, CancellationToken ct); /// /// Acknowledges one alarm via the admin singleton, which republishes the mapped command onto /// the cluster alarm-commands topic for the owning node to apply. /// /// The alarm's ScriptedAlarmId. /// The acting operator's name (for audit + the alarm-event User field). /// Optional free-text comment; null when none. /// The cancellation token. /// The acknowledge result. Task AcknowledgeAlarmAsync(string alarmId, string user, string? comment, CancellationToken ct); /// /// Shelves or unshelves one alarm via the admin singleton, which republishes the mapped command /// onto the cluster alarm-commands topic for the owning node to apply. /// /// The alarm's ScriptedAlarmId. /// The acting operator's name (for audit + the alarm-event User field). /// Which shelve action to perform (OneShot / Timed / Unshelve). /// For , when the shelve expires; null otherwise. /// Optional free-text comment; null when none. /// The cancellation token. /// The shelve result. Task ShelveAlarmAsync( string alarmId, string user, Messages.Admin.ShelveKind kind, DateTime? unshelveAtUtc, string? comment, CancellationToken ct); /// /// Generic Ask: forwards to the AdminOperationsActor /// cluster-singleton proxy and awaits a reply of type . /// The caller is responsible for applying any outer timeout via . /// /// Expected reply type. /// The message to send. /// Cancellation token (caller-controlled timeout). Task AskAsync(object message, CancellationToken ct); }