Files
components/LiteCharms.Extensions/ServiceBus.cs
T
2026-05-09 08:37:45 +02:00

27 lines
1.1 KiB
C#

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