Files
Musify/Infrastructure/Messaging/MassTransitDependencyInjection.cs
T
2026-03-18 17:17:37 +01:00

33 lines
1.2 KiB
C#

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);
} );
} );
} );
}
}
}