Public Access
46 lines
1.4 KiB
C#
46 lines
1.4 KiB
C#
namespace MeetingAssistant.Recording;
|
|
|
|
public interface IOfflineTranscriptionBacklog
|
|
{
|
|
Task EnqueueAsync(OfflineTranscriptionBacklogItem item, CancellationToken cancellationToken);
|
|
|
|
Task<IReadOnlyList<OfflineTranscriptionBacklogItem>> ListAsync(CancellationToken cancellationToken);
|
|
|
|
Task CompleteAsync(OfflineTranscriptionBacklogItem item, 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(OfflineTranscriptionBacklogItem item, CancellationToken cancellationToken)
|
|
{
|
|
return Task.CompletedTask;
|
|
}
|
|
}
|