diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e6ca2c..0efd2f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ # Changelog +## [0.19.0] - 2025-08-06 +### Added +- Se ha añadido un nuevo estado "enviado" para cuando se ejecuten acciones a equipos en estado Windows o Linux + +--- ## [0.18.1] - 2025-08-06 ### Improved - Se ha añadido el filtro "jobId" a la entidad Trace. diff --git a/src/Controller/OgAgent/RunScriptAction.php b/src/Controller/OgAgent/RunScriptAction.php index ead9b00..9ee287b 100644 --- a/src/Controller/OgAgent/RunScriptAction.php +++ b/src/Controller/OgAgent/RunScriptAction.php @@ -137,15 +137,17 @@ class RunScriptAction extends AbstractOgAgentController $this->entityManager->flush(); if ($existingTrace) { - $this->updateExistingTrace($existingTrace, $jobId, $inputData); + $this->updateExistingTrace($existingTrace, $jobId, $inputData, $client); } else { - $this->createService->__invoke($client, CommandTypes::RUN_SCRIPT, TraceStatus::IN_PROGRESS, $jobId, $inputData); + $status = ($this->isLinuxOrWindows($client) || $this->isLinuxOrWindowsSession($client)) ? TraceStatus::SENT : TraceStatus::IN_PROGRESS; + $this->createService->__invoke($client, CommandTypes::RUN_SCRIPT, $status, $jobId, $inputData); } } - private function updateExistingTrace(Trace $trace, string $jobId, array $inputData): void + private function updateExistingTrace(Trace $trace, string $jobId, array $inputData, Client $client): void { - $trace->setStatus(TraceStatus::IN_PROGRESS); + $status = ($this->isLinuxOrWindows($client) || $this->isLinuxOrWindowsSession($client)) ? TraceStatus::SENT : TraceStatus::IN_PROGRESS; + $trace->setStatus($status); $trace->setJobId($jobId); $trace->setInput($inputData); $this->entityManager->persist($trace); diff --git a/src/Model/TraceStatus.php b/src/Model/TraceStatus.php index e8c2bea..f6e01fa 100644 --- a/src/Model/TraceStatus.php +++ b/src/Model/TraceStatus.php @@ -9,6 +9,7 @@ final class TraceStatus public const string SUCCESS = 'success'; public const string FAILED = 'failed'; public const string CANCELLED = 'cancelled'; + public const string SENT = 'sent'; private const array STATUS = [ self::PENDING => 'Pendiente', @@ -16,6 +17,7 @@ final class TraceStatus self::SUCCESS => 'Finalizado con éxito', self::FAILED => 'Fallido', self::CANCELLED => 'Cancelado', + self::SENT => 'Enviado', ]; public static function getStatus(): array