Fix TorBox GetAvailability

Won't display anything in the UI though as its set to only show available files for RD
This commit is contained in:
Sam Heinz 2024-08-30 17:26:53 +10:00
parent 754588091d
commit 183798db2d
2 changed files with 26 additions and 6 deletions

View file

@ -22,7 +22,7 @@
<PackageReference Include="Serilog" Version="4.0.0" /> <PackageReference Include="Serilog" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.File" Version="6.0.0" /> <PackageReference Include="Serilog.Sinks.File" Version="6.0.0" />
<PackageReference Include="SharpCompress" Version="0.37.2" /> <PackageReference Include="SharpCompress" Version="0.37.2" />
<PackageReference Include="TorBox.NET" Version="1.0.0.20" /> <PackageReference Include="TorBox.NET" Version="1.0.0.23" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View file

@ -135,10 +135,30 @@ public class TorBoxTorrentClient(ILogger<TorBoxTorrentClient> logger, IHttpClien
return result.Data?.Hash?.ToString()!; return result.Data?.Hash?.ToString()!;
} }
public Task<IList<TorrentClientAvailableFile>> GetAvailableFiles(String hash) public async Task<IList<TorrentClientAvailableFile>> GetAvailableFiles(String hash)
{ {
var result = new List<TorrentClientAvailableFile>(); var availability = await GetClient().Torrents.GetAvailabilityAsync(hash, listFiles: true);
return Task.FromResult<IList<TorrentClientAvailableFile>>(result);
if (availability.Data != null)
{
var availableFiles = new List<TorrentClientAvailableFile>();
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) public Task SelectFiles(Data.Models.Data.Torrent torrent)