From 70584d1acb49d32227142482624d8f6b2758a379 Mon Sep 17 00:00:00 2001
From: Sam Heinz <54530346+asylumexp@users.noreply.github.com>
Date: Sun, 1 Sep 2024 19:46:05 +1000
Subject: [PATCH] Add DB values for seeding and zipped, pass to addtorrent
---
client/src/app/setup/setup.component.html | 3 ++-
server/RdtClient.Data/Models/Internal/DbSettings.cs | 8 ++++++++
.../Services/TorrentClients/TorBoxTorrentClient.cs | 12 +++++++-----
3 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/client/src/app/setup/setup.component.html b/client/src/app/setup/setup.component.html
index c794ba9..643e618 100644
--- a/client/src/app/setup/setup.component.html
+++ b/client/src/app/setup/setup.component.html
@@ -55,7 +55,8 @@
Use this link to sign up to Premiumize.
- Use this link to sign up to Premiumize.
+ Use this link to sign up to TorBox.
(Referal links)
diff --git a/server/RdtClient.Data/Models/Internal/DbSettings.cs b/server/RdtClient.Data/Models/Internal/DbSettings.cs
index ee58bb5..1f014ad 100644
--- a/server/RdtClient.Data/Models/Internal/DbSettings.cs
+++ b/server/RdtClient.Data/Models/Internal/DbSettings.cs
@@ -263,4 +263,12 @@ public class DbSettingsDefaults
[DisplayName("Priority")]
[Description("Set the priority of a torrent, 1 = highest, 0 = disabled.")]
public Int32 Priority { get; set; } = 0;
+
+ [DisplayName("Seeding")]
+ [Description("Set the priority of a torrent, 1 = Auto, 2 = Seed, 3 = disabled. [TorBox Only]")]
+ public Int32 Seeding { get; set; } = 3;
+
+ [DisplayName("Download as Zip")]
+ [Description("Whether to download the files individually or zipped. [TorBox Only]")]
+ public bool Zipped { get; set; } = true;
}
\ No newline at end of file
diff --git a/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs b/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs
index 3671be3..5879ef4 100644
--- a/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs
+++ b/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs
@@ -4,14 +4,14 @@ using TorBoxNET;
using RdtClient.Data.Enums;
using RdtClient.Data.Models.TorrentClient;
using RdtClient.Service.Helpers;
-using MonoTorrent;
+using RdtClient.Data.Models.Internal;
namespace RdtClient.Service.Services.TorrentClients;
public class TorBoxTorrentClient(ILogger logger, IHttpClientFactory httpClientFactory) : ITorrentClient
{
private TimeSpan? _offset;
-
+ private DbSettingsDefaults _dbSettings = new DbSettingsDefaults();
private TorBoxNetClient GetClient()
{
try
@@ -122,7 +122,8 @@ public class TorBoxTorrentClient(ILogger logger, IHttpClien
public async Task AddMagnet(String magnetLink)
{
- var result = await GetClient().Torrents.AddMagnetAsync(magnetLink, seeding: 2);
+
+ var result = await GetClient().Torrents.AddMagnetAsync(magnetLink, _dbSettings.Seeding, _dbSettings.Zipped);
if (result.Error == "ACTIVE_LIMIT")
{
@@ -137,7 +138,7 @@ public class TorBoxTorrentClient(ILogger logger, IHttpClien
public async Task AddFile(Byte[] bytes)
{
- var result = await GetClient().Torrents.AddFileAsync(bytes, seeding: 2);
+ var result = await GetClient().Torrents.AddFileAsync(bytes, _dbSettings.Seeding, _dbSettings.Zipped);
if (result.Error == "ACTIVE_LIMIT")
{
using (var stream = new MemoryStream(bytes))
@@ -145,7 +146,8 @@ public class TorBoxTorrentClient(ILogger logger, IHttpClien
var torrent = MonoTorrent.Torrent.Load(stream);
return torrent!.InfoHash.ToHex()!.ToLowerInvariant();
}
- } else
+ }
+ else
{
return result.Data!.Hash!;
}