elsa-core/src/modules/Elsa.MassTransit/Consumers/DispatchStimulusRequestConsumer.cs
Sipke Schoorstra 1923a0f7f8
Fix conditional logic in stimulus dispatch handlers
Added missing braces to improve readability and consistency in conditional statements for stimulus dispatch logic. Ensures better maintainability and alignment with coding standards.
2025-05-21 11:27:28 +02:00

34 lines
1.2 KiB
C#

using Elsa.MassTransit.Messages;
using Elsa.Workflows;
using Elsa.Workflows.Runtime;
using Elsa.Workflows.Runtime.Requests;
using JetBrains.Annotations;
using MassTransit;
namespace Elsa.MassTransit.Consumers;
[UsedImplicitly]
public class DispatchStimulusRequestConsumer(IStimulusSender stimulusSender, IPayloadSerializer payloadSerializer) : IConsumer<DispatchStimulus>
{
public async Task Consume(ConsumeContext<DispatchStimulus> context)
{
var cancellationToken = context.CancellationToken;
var message = context.Message;
var json = message.SerializedRequest;
var request = payloadSerializer.Deserialize<DispatchStimulusRequest>(json);
if (request.ActivityTypeName != null)
{
await stimulusSender.SendAsync(request.ActivityTypeName, request.Stimulus!, request.Metadata, cancellationToken);
return;
}
if (request.StimulusHash != null)
{
await stimulusSender.SendAsync(request.StimulusHash!, request.Metadata, cancellationToken);
return;
}
throw new InvalidOperationException("Either ActivityTypeName or StimulusHash must be specified.");
}
}