New: Optional 'downloadClientId' for pushed releases

(cherry picked from commit fa5bfc3742c24c5730b77bf8178a423d98fdf50e)

Closes #2934
This commit is contained in:
Mark McDowall
2023-09-17 23:20:06 -07:00
committed by Bogdan
parent d23ce9ecc2
commit 03392ca635
3 changed files with 115 additions and 37 deletions
@@ -53,22 +53,23 @@ namespace Readarr.Api.V1.Indexers
ResolveIndexer(info);
List<DownloadDecision> decisions;
DownloadDecision decision;
lock (PushLock)
{
decisions = _downloadDecisionMaker.GetRssDecision(new List<ReleaseInfo> { info }, true);
_downloadDecisionProcessor.ProcessDecisions(decisions).GetAwaiter().GetResult();
var decisions = _downloadDecisionMaker.GetRssDecision(new List<ReleaseInfo> { info }, true);
decision = decisions.FirstOrDefault();
_downloadDecisionProcessor.ProcessDecision(decision, release.DownloadClientId).GetAwaiter().GetResult();
}
var firstDecision = decisions.FirstOrDefault();
if (firstDecision?.RemoteBook.ParsedBookInfo == null)
if (decision?.RemoteBook.ParsedBookInfo == null)
{
throw new ValidationException(new List<ValidationFailure> { new ValidationFailure("Title", "Unable to parse", release.Title) });
throw new ValidationException(new List<ValidationFailure> { new ("Title", "Unable to parse", release.Title) });
}
return MapDecisions(new[] { firstDecision }).First();
return MapDecisions(new[] { decision }).First();
}
private void ResolveIndexer(ReleaseInfo release)