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() .AddHostedService() .AddKeyedTransient(Constants.GeneralServiceBus) .AddMemoryCache(); public static IServiceCollection AddEmailServiceBus(this IServiceCollection services) => services .AddSingleton() .AddHostedService() .AddKeyedTransient(Constants.EmailServiceBus) .AddMemoryCache(); public static IServiceCollection AddSalesServiceBus(this IServiceCollection services) => services .AddSingleton() .AddHostedService() .AddKeyedTransient(Constants.SalesServiceBus) .AddMemoryCache(); }