using API.MangaConnectors; using API.Schema.MangaContext; namespace API.Workers; public class DownloadCoverFromMangaconnectorWorker(MangaConnectorId mcId, IEnumerable? dependsOn = null) : BaseWorkerWithContext(dependsOn) { internal readonly string MangaConnectorIdId = mcId.Key; protected override BaseWorker[] DoWorkInternal() { if (DbContext.MangaConnectorToManga.Find(MangaConnectorIdId) is not { } mangaConnectorId) return []; //TODO Exception? if (!Tranga.TryGetMangaConnector(mangaConnectorId.MangaConnectorName, out MangaConnector? mangaConnector)) return []; //TODO Exception? Manga manga = mangaConnectorId.Obj; manga.CoverFileNameInCache = mangaConnector.SaveCoverImageToCache(mangaConnectorId); DbContext.Sync(); return []; } public override string ToString() => $"{base.ToString()} {MangaConnectorIdId}"; }