Public Access
45 lines
1.3 KiB
C#
45 lines
1.3 KiB
C#
using MeetingAssistant.Workflow;
|
|
|
|
namespace MeetingAssistant.Tests;
|
|
|
|
internal sealed class TransformingAttendeeWorkflowEngine : IMeetingWorkflowEngine
|
|
{
|
|
private readonly string source;
|
|
private readonly string replacement;
|
|
|
|
public TransformingAttendeeWorkflowEngine(string source, string replacement)
|
|
{
|
|
this.source = source;
|
|
this.replacement = replacement;
|
|
}
|
|
|
|
public List<string> AttendeeRequests { get; } = [];
|
|
|
|
public Task RunAsync(
|
|
MeetingWorkflowEvent workflowEvent,
|
|
MeetingAssistantOptions options,
|
|
CancellationToken cancellationToken)
|
|
{
|
|
return Task.CompletedTask;
|
|
}
|
|
|
|
public Task<string> TransformTranscriptLineAsync(
|
|
MeetingWorkflowEvent workflowEvent,
|
|
MeetingAssistantOptions options,
|
|
CancellationToken cancellationToken)
|
|
{
|
|
return Task.FromResult(workflowEvent.TranscriptLineText ?? "");
|
|
}
|
|
|
|
public Task<string> TransformAttendeeAsync(
|
|
MeetingWorkflowEvent workflowEvent,
|
|
MeetingAssistantOptions options,
|
|
CancellationToken cancellationToken)
|
|
{
|
|
AttendeeRequests.Add(workflowEvent.AttendeeName ?? "");
|
|
return Task.FromResult(string.Equals(workflowEvent.AttendeeName, source, StringComparison.OrdinalIgnoreCase)
|
|
? replacement
|
|
: workflowEvent.AttendeeName ?? "");
|
|
}
|
|
}
|