From f799cdf2c4485877ec3f96c9daecaa630729b9f6 Mon Sep 17 00:00:00 2001 From: TekH Date: Thu, 5 Nov 2026 09:44:56 +0100 Subject: [PATCH] feat(application): add IMessagingServiceClient abstraction The client package will expose two interchangeable implementations (in-process and HTTP), so the contract moves into the application layer where both can depend on it. SendAsync returns the queued message id. --- .../Interfaces/IMessagingServiceClient.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/core/DigitalData.MessagingService.Application/Common/Interfaces/IMessagingServiceClient.cs diff --git a/src/core/DigitalData.MessagingService.Application/Common/Interfaces/IMessagingServiceClient.cs b/src/core/DigitalData.MessagingService.Application/Common/Interfaces/IMessagingServiceClient.cs new file mode 100644 index 0000000..eac226f --- /dev/null +++ b/src/core/DigitalData.MessagingService.Application/Common/Interfaces/IMessagingServiceClient.cs @@ -0,0 +1,19 @@ +#if NET +using DigitalData.MessagingService.Application.EmailSending.Commands; + +namespace DigitalData.MessagingService.Application.Common.Interfaces; + +/// +/// +/// +public interface IMessagingServiceClient +{ + /// + /// + /// + /// + /// + /// + public Task SendAsync(PublishEmailViaSmtpCommand command, CancellationToken cancellationToken = default); +} +#endif