Dependency injection

This commit is contained in:
2026-03-18 17:17:37 +01:00
parent 463d1a6600
commit 9147c2c799
11 changed files with 153 additions and 27 deletions
@@ -0,0 +1,33 @@
using MassTransit;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Musify.Infrastructure.Messaging.Consumers;
namespace Musify.Infrastructure.Messaging
{
public static class MassTransitDependencyInjection
{
public static void AddMassTransitHandler(this IServiceCollection serviceDescriptors, IConfiguration configuration)
{
serviceDescriptors.AddMassTransit(options =>
{
options.AddConsumer<PictureResizerConsumer>();
options.UsingRabbitMq((busRegistrationContext, busFactoryConfigurator) =>
{
var section = configuration.GetSection("MassTransit");
var host = section["Host"]
?? throw new InvalidOperationException("MassTransit:Host configuration is missing.");
busFactoryConfigurator.Host(host);
busFactoryConfigurator.ReceiveEndpoint(PictureResizerConsumer.QueueName, endpointConfigurator =>
{
endpointConfigurator.ConfigureConsumer<PictureResizerConsumer>(busRegistrationContext);
} );
} );
} );
}
}
}