using RdtClient.Data.Models.Data; using RdtClient.Data.Models.DebridClient; namespace RdtClient.Service.Services.DebridClients; public interface IDebridClient { Task> GetDownloads(); Task GetUser(); Task AddTorrentMagnet(String magnetLink); Task AddTorrentFile(Byte[] bytes); Task AddNzbLink(String nzbLink); Task AddNzbFile(Byte[] bytes, String? name); Task> GetAvailableFiles(String hash); /// /// Tell the debrid provider which files to download. /// /// /// Not all providers support this feature. /// /// The torrent to select files for /// Number of files selected Task SelectFiles(Torrent torrent); Task Delete(Torrent torrent); Task Unrestrict(Torrent torrent, String link); Task UpdateData(Torrent torrent, DebridClientTorrent? torrentClientTorrent); Task?> GetDownloadInfos(Torrent torrent); /// /// To be called only when . /// is not set by /// /// /// The download to get the filename of /// The filename of the download Task GetFileName(Download download); }