Fixed: Blocklisting pending releases

This commit is contained in:
Mark McDowall
2021-08-01 14:36:16 -07:00
committed by ta264
parent ede981f737
commit e2745c5956
7 changed files with 104 additions and 50 deletions
@@ -16,6 +16,7 @@ namespace NzbDrone.Core.Blocklisting
{
bool Blocklisted(int authorId, ReleaseInfo release);
PagingSpec<Blocklist> Paged(PagingSpec<Blocklist> pagingSpec);
void Block(RemoteBook remoteEpisode, string message);
void Delete(int id);
void Delete(List<int> ids);
}
@@ -66,6 +67,30 @@ namespace NzbDrone.Core.Blocklisting
return _blocklistRepository.GetPaged(pagingSpec);
}
public void Block(RemoteBook remoteEpisode, string message)
{
var blocklist = new Blocklist
{
AuthorId = remoteEpisode.Author.Id,
BookIds = remoteEpisode.Books.Select(e => e.Id).ToList(),
SourceTitle = remoteEpisode.Release.Title,
Quality = remoteEpisode.ParsedBookInfo.Quality,
Date = DateTime.UtcNow,
PublishedDate = remoteEpisode.Release.PublishDate,
Size = remoteEpisode.Release.Size,
Indexer = remoteEpisode.Release.Indexer,
Protocol = remoteEpisode.Release.DownloadProtocol,
Message = message
};
if (remoteEpisode.Release is TorrentInfo torrentRelease)
{
blocklist.TorrentInfoHash = torrentRelease.InfoHash;
}
_blocklistRepository.Insert(blocklist);
}
public void Delete(int id)
{
_blocklistRepository.Delete(id);