Inherit trigger from pushed command models

(cherry picked from commit 0bc4903954b955fce0c368ef7fd2a6f3761d6a93)

Closes #5181
pull/5200/head
Bogdan 1 month ago
parent a843a46fbe
commit 8623b4410c

@ -179,9 +179,8 @@ namespace Lidarr.Api.V1.Artist
ArtistId = artist.Id,
SourcePath = sourcePath,
DestinationPath = destinationPath,
MoveFiles = moveFiles,
Trigger = CommandTrigger.Manual
});
MoveFiles = moveFiles
}, trigger: CommandTrigger.Manual);
var model = artistResource.ToModel(artist);

@ -66,9 +66,8 @@ namespace Lidarr.Api.V1.Commands
? CommandPriority.High
: CommandPriority.Normal;
dynamic command = STJson.Deserialize(body, commandType);
var command = STJson.Deserialize(body, commandType) as Command;
command.Trigger = CommandTrigger.Manual;
command.SuppressMessages = !command.SendUpdatesToClient;
command.SendUpdatesToClient = true;
command.ClientUserAgent = Request.Headers["UserAgent"];

@ -106,6 +106,8 @@ namespace NzbDrone.Core.Messaging.Commands
_logger.Trace("Publishing {0}", command.Name);
_logger.Trace("Checking if command is queued or started: {0}", command.Name);
command.Trigger = trigger;
lock (_commandQueue)
{
var existingCommands = QueuedOrStarted(command.Name);
@ -142,7 +144,6 @@ namespace NzbDrone.Core.Messaging.Commands
var command = GetCommand(commandName);
command.LastExecutionTime = lastExecutionTime;
command.LastStartTime = lastStartTime;
command.Trigger = trigger;
return Push(command, priority, trigger);
}
@ -244,13 +245,13 @@ namespace NzbDrone.Core.Messaging.Commands
_repo.Trim();
}
private dynamic GetCommand(string commandName)
private Command GetCommand(string commandName)
{
commandName = commandName.Split('.').Last();
var commands = _knownTypes.GetImplementations(typeof(Command));
var commandType = commands.Single(c => c.Name.Equals(commandName, StringComparison.InvariantCultureIgnoreCase));
return Json.Deserialize("{}", commandType);
return Json.Deserialize("{}", commandType) as Command;
}
private void Update(CommandModel command, CommandStatus status, string message)

Loading…
Cancel
Save