Don't invoke CatchAll if To and From workflows were triggered

This commit is contained in:
Sipke Schoorstra 2023-08-14 21:12:25 +02:00
parent aa8536ca7b
commit a684d3d8b5

View file

@ -48,7 +48,7 @@ internal class TriggerIncomingCallActivities : INotificationHandler<TelnyxWebhoo
var fromNumber = callInitiatedPayload.From;
var fromBookmarkPayload = new IncomingCallFromBookmarkPayload(fromNumber);
await _workflowInbox.SubmitAsync(new NewWorkflowInboxMessage
var fromResults = await _workflowInbox.SubmitAsync(new NewWorkflowInboxMessage
{
ActivityTypeName = activityTypeName,
BookmarkPayload = fromBookmarkPayload,
@ -59,7 +59,7 @@ internal class TriggerIncomingCallActivities : INotificationHandler<TelnyxWebhoo
// Trigger all workflows matching the To number.
var toNumber = callInitiatedPayload.To;
var toBookmarkPayload = new IncomingCallToBookmarkPayload(toNumber);
await _workflowInbox.SubmitAsync(new NewWorkflowInboxMessage
var toResults = await _workflowInbox.SubmitAsync(new NewWorkflowInboxMessage
{
ActivityTypeName = activityTypeName,
BookmarkPayload = toBookmarkPayload,
@ -67,6 +67,10 @@ internal class TriggerIncomingCallActivities : INotificationHandler<TelnyxWebhoo
Input = input
}, cancellationToken);
// If any workflows were triggered, don't trigger the catch-all workflows.
if (fromResults.WorkflowExecutionResults.Any() || toResults.WorkflowExecutionResults.Any())
return;
// Trigger all catch-all workflows.
var catchallBookmarkPayload = new IncomingCallCatchAllBookmarkPayload();
await _workflowInbox.SubmitAsync(new NewWorkflowInboxMessage