using Elsa.MassTransit.Messages; using Elsa.Workflows.Management.Activities.WorkflowDefinitionActivity; using Elsa.Workflows.Management.Contracts; using JetBrains.Annotations; using MassTransit; namespace Elsa.MassTransit.Consumers; /// /// Consumes messages related to workflow definition changes. /// [PublicAPI] public class WorkflowDefinitionEventsConsumer(IActivityRegistryPopulator activityRegistryPopulator) : IConsumer, IConsumer, IConsumer, IConsumer, IConsumer, IConsumer, IConsumer { /// public Task Consume(ConsumeContext context) => RefreshAsync(); /// public Task Consume(ConsumeContext context) => RefreshAsync(); /// public async Task Consume(ConsumeContext context) { await activityRegistryPopulator.AddToRegistry(typeof(WorkflowDefinitionActivityProvider), context.Message.Id); } /// public Task Consume(ConsumeContext context) => RefreshAsync(); /// public Task Consume(ConsumeContext context) => RefreshAsync(); /// public Task Consume(ConsumeContext context) => RefreshAsync(); /// public Task Consume(ConsumeContext context) => RefreshAsync(); private async Task RefreshAsync() => await activityRegistryPopulator.PopulateRegistryAsync(typeof(WorkflowDefinitionActivityProvider)); }