using API.Schema.MangaContext;
using Microsoft.EntityFrameworkCore;
namespace API.Workers;
///
/// Creates Workers to update covers for Manga
///
///
///
public class UpdateCoversWorker(TimeSpan? interval = null, IEnumerable? dependsOn = null)
: BaseWorkerWithContext(dependsOn), IPeriodic
{
public DateTime LastExecution { get; set; } = DateTime.UnixEpoch;
public TimeSpan Interval { get; set; } = interval ?? TimeSpan.FromHours(6);
protected override async Task DoWorkInternal()
{
List> manga = await DbContext.MangaConnectorToManga.Where(mcId => mcId.UseForDownload).ToListAsync(CancellationToken);
List newWorkers = manga.Select(m => new DownloadCoverFromMangaconnectorWorker(m)).ToList();
return newWorkers.ToArray();
}
}