mirror of
https://github.com/lidarr/Lidarr
synced 2025-01-03 05:25:10 +00:00
Inherit trigger from pushed command models
(cherry picked from commit 0bc4903954b955fce0c368ef7fd2a6f3761d6a93) Closes #5181
This commit is contained in:
parent
a843a46fbe
commit
8623b4410c
3 changed files with 7 additions and 8 deletions
|
@ -179,9 +179,8 @@ public ActionResult<ArtistResource> UpdateArtist(ArtistResource artistResource,
|
||||||
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 @@ public ActionResult<CommandResource> StartCommand(CommandResource commandResourc
|
||||||
? 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 @@ public CommandModel Push<TCommand>(TCommand command, CommandPriority priority =
|
||||||
_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 @@ public CommandModel Push(string commandName, DateTime? lastExecutionTime, DateTi
|
||||||
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 @@ public void CleanCommands()
|
||||||
_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…
Reference in a new issue