From acf772f1391a1e2fc423432ac326e6358c1562c5 Mon Sep 17 00:00:00 2001 From: Manuel Aranda Date: Thu, 13 Feb 2025 07:45:57 +0100 Subject: [PATCH] refs #1472. Changes in images and imageRepo --- .../OgRepository/Image/TransferAction.php | 1 + .../Webhook/ResponseController.php | 18 +++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/Controller/OgRepository/Image/TransferAction.php b/src/Controller/OgRepository/Image/TransferAction.php index caca667..a0eadac 100644 --- a/src/Controller/OgRepository/Image/TransferAction.php +++ b/src/Controller/OgRepository/Image/TransferAction.php @@ -61,6 +61,7 @@ class TransferAction extends AbstractOgRepositoryController $inputData = [ 'imageName' => $image->getName(), 'imageUuid' => $image->getUuid(), + 'imageImageRepositoryUuid' => $imageImageRepository->getUuid(), 'repositoryUuid' => $repository->getUuid(), ]; diff --git a/src/Controller/OgRepository/Webhook/ResponseController.php b/src/Controller/OgRepository/Webhook/ResponseController.php index cdd7e34..ed8999b 100644 --- a/src/Controller/OgRepository/Webhook/ResponseController.php +++ b/src/Controller/OgRepository/Webhook/ResponseController.php @@ -86,13 +86,10 @@ class ResponseController extends AbstractOgRepositoryController { $trace = $this->entityManager->getRepository(Trace::class)->findOneBy(['jobId' => $data['job_id']]); $imageUuid = $trace->getInput()['imageUuid']; + $imageImageRepository = $trace->getInput()['imageImageRepositoryUuid']; $repositoryUuid = $trace->getInput()['repositoryUuid']; - $imageImageRepository = $this->entityManager->getRepository(ImageImageRepository::class)->findOneBy(['uuid' => $imageUuid]); - - /** @var Image $image */ - $image = $imageImageRepository->getImage(); - + $image = $this->entityManager->getRepository(Image::class)->findOneBy(['uuid' => $imageUuid]); $repository = $this->entityManager->getRepository(ImageRepository::class)->findOneBy(['uuid' => $repositoryUuid]); if ($image === null) { @@ -102,9 +99,16 @@ class ResponseController extends AbstractOgRepositoryController $this->logger->info("Image $actionType successful", ['image' => $image->getName()]); - $imageImageRepository->setRepository($repository); + // Creamos un objeto imagen nuevo, en el repositorio destino + $newImageImageRepository = new ImageImageRepository(); + $newImageImageRepository->setImage($image); + $newImageImageRepository->setRepository($repository); + $newImageImageRepository->setStatus(ImageStatus::SUCCESS); + + // Cambiamos el estado de la imagen anterior a SUCCESS $imageImageRepository->setStatus(ImageStatus::SUCCESS); - $this->entityManager->persist($imageImageRepository); + $this->entityManager->persist($newImageImageRepository); + $this->entityManager->persist($image); $this->updateTraceStatus($trace, TraceStatus::SUCCESS); }