namespace SharedContracts.Dapper; public interface IDataStorage { Task> InsertTorrents(IReadOnlyCollection torrents, CancellationToken cancellationToken = default); Task, List>> GetPublishableTorrents(CancellationToken cancellationToken = default); Task> SetTorrentsProcessed(IReadOnlyCollection torrents, CancellationToken cancellationToken = default); Task PageIngested(string pageId, CancellationToken cancellationToken = default); Task> MarkPageAsIngested(string pageId, CancellationToken cancellationToken = default); Task> GetRowCountImdbMetadata(CancellationToken cancellationToken = default); Task> GetImdbEntriesForRequests(int year, int batchSize, string? stateLastProcessedImdbId, CancellationToken cancellationToken = default); Task> FindImdbMetadata(string? parsedTorrentTitle, string parsedTorrentTorrentType, string? parsedTorrentYear, CancellationToken cancellationToken = default); Task InsertTorrent(Torrent torrent, CancellationToken cancellationToken = default); Task InsertFiles(IEnumerable files, CancellationToken cancellationToken = default); Task InsertSubtitles(IEnumerable subtitles, CancellationToken cancellationToken = default); Task> GetTorrentFiles(string infoHash, CancellationToken cancellationToken = default); }