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, ArtistId = artist.Id,
SourcePath = sourcePath, SourcePath = sourcePath,
DestinationPath = destinationPath, DestinationPath = destinationPath,
MoveFiles = moveFiles, MoveFiles = moveFiles
Trigger = CommandTrigger.Manual }, trigger: CommandTrigger.Manual);
});
var model = artistResource.ToModel(artist); var model = artistResource.ToModel(artist);

@ -66,9 +66,8 @@ namespace Lidarr.Api.V1.Commands
? CommandPriority.High ? CommandPriority.High
: CommandPriority.Normal; : 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.SuppressMessages = !command.SendUpdatesToClient;
command.SendUpdatesToClient = true; command.SendUpdatesToClient = true;
command.ClientUserAgent = Request.Headers["UserAgent"]; command.ClientUserAgent = Request.Headers["UserAgent"];

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

Loading…
Cancel
Save