Introduced a new project, `DigitalData.MessagingService.Publisher.Abstraction`, to encapsulate the `OutgoingEmailEvent` class and `IOutgoingEmailPublisher` interface. The project targets multiple frameworks (`net462`, `net480`, `net8.0`) and enables nullable reference types and the latest C# language version. Moved `OutgoingEmailEvent` and `IOutgoingEmailPublisher` to the new project, updating their namespaces and replacing `required` properties with mutable ones in `OutgoingEmailEvent`. Updated all dependent files to reference the new namespace. Updated the solution file to include the new project and adjusted build configurations. Cleaned up unused `using` directives and removed redundant `LangVersion` property in the new project file.
15 lines
430 B
C#
15 lines
430 B
C#
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace DigitalData.MessagingService.Publisher.Abstraction;
|
|
|
|
/// <summary>
|
|
/// Email queue interface for outgoing emails.
|
|
/// </summary>
|
|
public interface IOutgoingEmailPublisher
|
|
{
|
|
Task EnqueueAsync(OutgoingEmailEvent outgoingEmailEvent, CancellationToken cancellationToken = default);
|
|
|
|
Task<int> GetQueueDepthAsync(CancellationToken cancellationToken = default);
|
|
}
|