Reorganized the solution structure to align with a layered architecture: - Replaced `src` folder with `core`, `infrastructure`, and `presentation`. - Moved projects to their respective folders. - Added `DigitalData.MessagingService.Publisher.Abstraction` project. - Removed `DigitalData.MessagingService.Client` project. Updated project configurations and nesting in the solution file. Added `appsettings.Secrets.json` with RabbitMQ and email account settings: - RabbitMQ configuration includes hostname, port, credentials, and queue/exchange details. - Email configuration includes SMTP server details and credentials.
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);
|
|
}
|