Files
components/LiteCharms.Extensions/ServiceBus.cs
T
Khwezi Mngoma acc0d44c7c Added abstractions
Internal service bus support enabled
Added quartz support
Reconfigured extensions
2026-05-07 16:08:47 +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
.AddSingleton<GeneralServiceBus>()
.AddHostedService<GeneralExchange>()
.AddKeyedTransient<IEventBus, GeneralServiceBus>(Constants.GeneralServiceBus)
.AddMemoryCache();
public static IServiceCollection AddEmailServiceBus(this IServiceCollection services) => services
.AddSingleton<EmailServiceBus>()
.AddHostedService<EmailExchange>()
.AddKeyedTransient<IEventBus, EmailServiceBus>(Constants.EmailServiceBus)
.AddMemoryCache();
public static IServiceCollection AddSalesServiceBus(this IServiceCollection services) => services
.AddSingleton<SalesServiceBus>()
.AddHostedService<SalesExchange>()
.AddKeyedTransient<IEventBus, SalesServiceBus>(Constants.SalesServiceBus)
.AddMemoryCache();
}