Files
Khwezi Mngoma 42001998d6 Fixed package references and namespaces
Refactored mappers
2026-05-13 20:15:21 +02:00

28 lines
1.1 KiB
C#

using LiteCharms.Features.ServiceBus;
using LiteCharms.Features.ServiceBus.Abstractions;
using LiteCharms.Features.ServiceBus.Exchanges;
using LiteCharms.Features.ServiceBus.Queues;
namespace LiteCharms.Features.Extensions;
public static class ServiceBus
{
public static IServiceCollection AddGeneralServiceBus(this IServiceCollection services) => services
.AddSingleton<GeneralQueue>()
.AddHostedService<GeneralExchange>()
.AddKeyedSingleton<IEventBus, GeneralServiceBus>(Constants.GeneralServiceBus)
.AddMemoryCache();
public static IServiceCollection AddEmailServiceBus(this IServiceCollection services) => services
.AddSingleton<EmailQueue>()
.AddHostedService<EmailExchange>()
.AddKeyedTransient<IEventBus, EmailServiceBus>(Constants.EmailServiceBus)
.AddMemoryCache();
public static IServiceCollection AddSalesServiceBus(this IServiceCollection services) => services
.AddSingleton<SalesQueue>()
.AddHostedService<SalesExchange>()
.AddKeyedSingleton<IEventBus, SalesServiceBus>(Constants.SalesServiceBus)
.AddMemoryCache();
}