Files
meeting-assistant/MeetingAssistant/Recording/OfflineTranscriptionBacklog.cs
T
codex b774ccc375
PR and Push Build/Test / build-and-test (push) Successful in 18m41s
Add resilient Azure offline transcription backlog
2026-06-15 17:26:34 +02:00

46 lines
1.3 KiB
C#

namespace MeetingAssistant.Recording;
public interface IOfflineTranscriptionBacklog
{
Task EnqueueAsync(OfflineTranscriptionBacklogItem item, CancellationToken cancellationToken);
Task<IReadOnlyList<OfflineTranscriptionBacklogItem>> ListAsync(CancellationToken cancellationToken);
Task CompleteAsync(string id, CancellationToken cancellationToken);
}
public sealed record OfflineTranscriptionBacklogItem(
string Id,
string AudioPath,
string TranscriptPath,
string MeetingNotePath,
string AssistantContextPath,
string SummaryPath,
DateTimeOffset StartedAt,
DateTimeOffset? InferredEndTime,
string LaunchProfileName);
public sealed class NoopOfflineTranscriptionBacklog : IOfflineTranscriptionBacklog
{
public static readonly NoopOfflineTranscriptionBacklog Instance = new();
private NoopOfflineTranscriptionBacklog()
{
}
public Task EnqueueAsync(OfflineTranscriptionBacklogItem item, CancellationToken cancellationToken)
{
return Task.CompletedTask;
}
public Task<IReadOnlyList<OfflineTranscriptionBacklogItem>> ListAsync(CancellationToken cancellationToken)
{
return Task.FromResult<IReadOnlyList<OfflineTranscriptionBacklogItem>>([]);
}
public Task CompleteAsync(string id, CancellationToken cancellationToken)
{
return Task.CompletedTask;
}
}