using CommunityToolkit.Mvvm.Messaging.Messages; namespace OTSSignsOrchestrator.Desktop.Services; /// SignalR push messages republished via WeakReferenceMessenger for ViewModel consumption. public sealed class JobCreatedMessage : ValueChangedMessage { public JobCreatedMessage(Payload value) : base(value) { } public record Payload(string JobId, string Abbrev, string JobType); } public sealed class JobProgressUpdateMessage : ValueChangedMessage { public JobProgressUpdateMessage(Payload value) : base(value) { } public record Payload(string JobId, string StepName, int Pct, string LogLine); } public sealed class JobCompletedMessage : ValueChangedMessage { public JobCompletedMessage(Payload value) : base(value) { } public record Payload(string JobId, bool Success, string Summary); } public sealed class InstanceStatusChangedMessage : ValueChangedMessage { public InstanceStatusChangedMessage(Payload value) : base(value) { } public record Payload(string CustomerId, string Status); } public sealed class AlertRaisedMessage : ValueChangedMessage { public AlertRaisedMessage(Payload value) : base(value) { } public record Payload(string Severity, string Message); }