From e36a5a07e538ae5d17aa523ff6955ea54e5dc02c Mon Sep 17 00:00:00 2001 From: omgbeez <251408589+omgbeez@users.noreply.github.com> Date: Fri, 20 Feb 2026 17:22:54 -0500 Subject: [PATCH] Handle NZB finished actions in `Sabnzbd` service --- server/RdtClient.Service/Services/Sabnzbd.cs | 31 ++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/server/RdtClient.Service/Services/Sabnzbd.cs b/server/RdtClient.Service/Services/Sabnzbd.cs index a7bd066..b2455b8 100644 --- a/server/RdtClient.Service/Services/Sabnzbd.cs +++ b/server/RdtClient.Service/Services/Sabnzbd.cs @@ -175,9 +175,36 @@ public class Sabnzbd(ILogger logger, Torrents torrents, AppSettings app { var torrent = await torrents.GetByHash(hash); - if (torrent != null) + if (torrent == null || torrent.Type != DownloadType.Nzb) { - await torrents.Delete(torrent.TorrentId, true, true, true); + return; + } + + switch (Settings.Get.Integrations.Default.FinishedAction) + { + case TorrentFinishedAction.RemoveAllTorrents: + logger.LogDebug("Removing nzb from debrid provider and RDT-Client, no files"); + await torrents.Delete(torrent.TorrentId, true, true, true); + + break; + case TorrentFinishedAction.RemoveRealDebrid: + logger.LogDebug("Removing nzb from debrid provider, no files"); + await torrents.Delete(torrent.TorrentId, false, true, true); + + break; + case TorrentFinishedAction.RemoveClient: + logger.LogDebug("Removing nzb from client, no files"); + await torrents.Delete(torrent.TorrentId, true, false, true); + + break; + case TorrentFinishedAction.None: + logger.LogDebug("Not removing nzb files"); + + break; + default: + logger.LogDebug($"Invalid nzb FinishedAction {torrent.FinishedAction}", torrent); + + break; } }