using Elsa.Features.Services;
using Elsa.MassTransit.Features;
using Elsa.MassTransit.Options;
using MassTransit;
// ReSharper disable once CheckNamespace
namespace Elsa.Extensions;
///
/// Provides extensions to that enables and configures MassTransit.
///
public static class ModuleExtensions
{
///
/// Enable and configure MassTransit.
///
public static IModule UseMassTransit(this IModule module, Action? configure = default) => module.Use(configure);
///
/// Registers the specified consumer with MassTransit.
///
public static IModule AddMassTransitConsumer(this IModule module) where T : IConsumer
{
module.Configure(massTransit => massTransit.AddConsumer());
return module;
}
}