diff --git a/src/main/services/download/download-manager.ts b/src/main/services/download/download-manager.ts index 2fb19706..b14e81d7 100644 --- a/src/main/services/download/download-manager.ts +++ b/src/main/services/download/download-manager.ts @@ -5,7 +5,6 @@ import { WindowManager } from "../window-manager"; import { downloadQueueRepository, gameRepository, - userPreferencesRepository, } from "@main/repository"; import { publishDownloadCompleteNotification } from "../notifications"; import { RealDebridDownloader } from "./real-debrid-downloader"; @@ -104,36 +103,6 @@ export class DownloadManager { { status: "seeding" } ); } - - const userPreferences = await userPreferencesRepository.findOneBy({ - id: 1, - }); - - const shouldSeedOrNot = await gameRepository.find({ - where: { - id: In(gameIds), - shouldSeed: false, - isDeleted: false, - status: Not(In(["complete", "seeding"])), - }, - }); - - if (shouldSeedOrNot.length === 0) return; - - if (userPreferences?.seedAfterDownloadComplete) { - await gameRepository.update( - { id: In(shouldSeedOrNot.map((game) => game.id)) }, - { shouldSeed: true, status: "seeding" } - ); - } else { - await gameRepository.update( - { id: In(shouldSeedOrNot.map((game) => game.id)) }, - { shouldSeed: false, status: "complete" } - ); - for (const game of shouldSeedOrNot) { - await this.pauseSeeding(game.id); - } - } } static async pauseSeeding(gameId: number) { diff --git a/src/main/services/download/python-instance.ts b/src/main/services/download/python-instance.ts index 95997c4c..737d5496 100644 --- a/src/main/services/download/python-instance.ts +++ b/src/main/services/download/python-instance.ts @@ -6,7 +6,7 @@ import { RPC_PORT, startTorrentClient as startRPCClient, } from "./torrent-client"; -import { gameRepository } from "@main/repository"; +import { gameRepository, userPreferencesRepository } from "@main/repository"; import type { DownloadProgress } from "@types"; import { QueryDeepPartialEntity } from "typeorm/query-builder/QueryPartialEntity"; import { calculateETA } from "./helpers"; @@ -107,6 +107,22 @@ export class PythonInstance { } if (progress === 1 && !isCheckingFiles) { + const userPreferences = await userPreferencesRepository.findOneBy({ + id: 1, + }); + + if (userPreferences?.seedAfterDownloadComplete) { + gameRepository.update( + { id: gameId }, + { status: "seeding", shouldSeed: true } + ); + } else { + gameRepository.update( + { id: gameId }, + { status: "complete", shouldSeed: false } + ); + } + this.downloadingGameId = -1; }