mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-20 13:23:20 -07:00
fix(radarr): ensure RequestedUser is loaded when creating tags
- Replace Find() with GetWithUser() in MovieRequestEngine methods to properly load RequestedUser navigation property - Add null check in GetOrCreateTag as a safety measure - Fix NullReferenceException when "Add the user as a tag" feature is enabled Fixes #5045
This commit is contained in:
parent
7303e7da3b
commit
f8658fe6d5
2 changed files with 15 additions and 6 deletions
|
@ -598,13 +598,13 @@ namespace Ombi.Core.Engine
|
|||
|
||||
public async Task<RequestEngineResult> ApproveMovieById(int requestId, bool is4K)
|
||||
{
|
||||
var request = await MovieRepository.Find(requestId);
|
||||
var request = await MovieRepository.GetWithUser().FirstOrDefaultAsync(x => x.Id == requestId);
|
||||
return await ApproveMovie(request, is4K);
|
||||
}
|
||||
|
||||
public async Task<RequestEngineResult> DenyMovieById(int modelId, string denyReason, bool is4K)
|
||||
{
|
||||
var request = await MovieRepository.Find(modelId);
|
||||
var request = await MovieRepository.GetWithUser().FirstOrDefaultAsync(x => x.Id == modelId);
|
||||
if (request == null)
|
||||
{
|
||||
return new RequestEngineResult
|
||||
|
@ -790,7 +790,7 @@ namespace Ombi.Core.Engine
|
|||
|
||||
public async Task<RequestEngineResult> ReProcessRequest(int requestId, bool is4K, CancellationToken cancellationToken)
|
||||
{
|
||||
var request = await MovieRepository.Find(requestId);
|
||||
var request = await MovieRepository.GetWithUser().FirstOrDefaultAsync(x => x.Id == requestId);
|
||||
if (request == null)
|
||||
{
|
||||
return new RequestEngineResult
|
||||
|
@ -805,7 +805,7 @@ namespace Ombi.Core.Engine
|
|||
|
||||
public async Task<RequestEngineResult> MarkUnavailable(int modelId, bool is4K)
|
||||
{
|
||||
var request = await MovieRepository.Find(modelId);
|
||||
var request = await MovieRepository.GetWithUser().FirstOrDefaultAsync(x => x.Id == modelId);
|
||||
if (request == null)
|
||||
{
|
||||
return new RequestEngineResult
|
||||
|
@ -834,7 +834,7 @@ namespace Ombi.Core.Engine
|
|||
|
||||
public async Task<RequestEngineResult> MarkAvailable(int modelId, bool is4K)
|
||||
{
|
||||
var request = await MovieRepository.Find(modelId);
|
||||
var request = await MovieRepository.GetWithUser().FirstOrDefaultAsync(x => x.Id == modelId);
|
||||
if (request == null)
|
||||
{
|
||||
return new RequestEngineResult
|
||||
|
|
|
@ -182,7 +182,10 @@ namespace Ombi.Core.Senders
|
|||
if (settings.SendUserTags)
|
||||
{
|
||||
var userTag = await GetOrCreateTag(model, settings);
|
||||
tags.Add(userTag.id);
|
||||
if (userTag != null)
|
||||
{
|
||||
tags.Add(userTag.id);
|
||||
}
|
||||
}
|
||||
|
||||
// Overrides on the request take priority
|
||||
|
@ -246,6 +249,12 @@ namespace Ombi.Core.Senders
|
|||
|
||||
private async Task<Tag> GetOrCreateTag(MovieRequests model, RadarrSettings s)
|
||||
{
|
||||
if (model.RequestedUser == null)
|
||||
{
|
||||
_log.LogWarning("Cannot create tag - RequestedUser is null for movie request {MovieTitle}", model.Title);
|
||||
return null;
|
||||
}
|
||||
|
||||
var tagName = model.RequestedUser.UserName;
|
||||
// Does tag exist?
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue