namespace MeetingAssistant.Recording; public sealed class TemporaryRecordingCleanupHostedService : IHostedService { private readonly IRecordedAudioStore recordedAudioStore; private readonly ILogger logger; public TemporaryRecordingCleanupHostedService( IRecordedAudioStore recordedAudioStore, ILogger logger) { this.recordedAudioStore = recordedAudioStore; this.logger = logger; } public async Task StartAsync(CancellationToken cancellationToken) { logger.LogInformation("Deleting stale temporary meeting recordings"); await recordedAudioStore.DeleteStaleRecordingsAsync(cancellationToken); } public Task StopAsync(CancellationToken cancellationToken) { return Task.CompletedTask; } }