diff --git a/server/RdtClient.Service/RdtClient.Service.csproj b/server/RdtClient.Service/RdtClient.Service.csproj
index 6d43ec2..71d18a9 100644
--- a/server/RdtClient.Service/RdtClient.Service.csproj
+++ b/server/RdtClient.Service/RdtClient.Service.csproj
@@ -22,7 +22,7 @@
-
+
diff --git a/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs b/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs
index 30dd54d..6cf14d8 100644
--- a/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs
+++ b/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs
@@ -135,10 +135,30 @@ public class TorBoxTorrentClient(ILogger logger, IHttpClien
return result.Data?.Hash?.ToString()!;
}
- public Task> GetAvailableFiles(String hash)
+ public async Task> GetAvailableFiles(String hash)
{
- var result = new List();
- return Task.FromResult>(result);
+ var availability = await GetClient().Torrents.GetAvailabilityAsync(hash, listFiles: true);
+
+ if (availability.Data != null)
+ {
+ var availableFiles = new List();
+ foreach (var file in availability.Data[0]?.Files!)
+ {
+ availableFiles.Add(
+ new TorrentClientAvailableFile
+ {
+ Filename = file!.Name,
+ Filesize = file.Size
+ });
+ }
+ return availableFiles;
+ }
+ else
+ {
+ return [];
+ }
+
+
}
public Task SelectFiles(Data.Models.Data.Torrent torrent)
@@ -213,7 +233,7 @@ public class TorBoxTorrentClient(ILogger logger, IHttpClien
if (rdTorrent.Host == "True")
{
torrent.RdStatus = TorrentStatus.Finished;
- }
+ }
else
{
torrent.RdStatus = rdTorrent.Status switch
@@ -233,7 +253,7 @@ public class TorBoxTorrentClient(ILogger logger, IHttpClien
_ => TorrentStatus.Error
};
}
-
+
}
catch (Exception ex)
{