From cd94a3065e864925024d6edd3aa73beca84ad60b Mon Sep 17 00:00:00 2001 From: Manuel Aranda Date: Mon, 3 Feb 2025 11:13:09 +0100 Subject: [PATCH] Added logger into repo connection --- .../OgRepository/AbstractOgRepositoryController.php | 1 + .../OgRepository/Image/CreateAuxFilesAction.php | 4 ++++ src/Controller/OgRepository/Image/ExportAction.php | 3 +++ src/Controller/OgRepository/Image/ImportAction.php | 5 +++++ src/Controller/OgRepository/Image/RecoverAction.php | 3 +++ .../OgRepository/Webhook/ResponseController.php | 12 +++++++++--- 6 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/Controller/OgRepository/AbstractOgRepositoryController.php b/src/Controller/OgRepository/AbstractOgRepositoryController.php index 656df18..b1aecb2 100644 --- a/src/Controller/OgRepository/AbstractOgRepositoryController.php +++ b/src/Controller/OgRepository/AbstractOgRepositoryController.php @@ -52,6 +52,7 @@ abstract class AbstractOgRepositoryController extends AbstractController } catch (ClientExceptionInterface | ServerExceptionInterface $e) { $response = $e->getResponse(); $content = json_decode($response->getContent(false), true); + $this->logger->error($content); throw new HttpException($response->getStatusCode(), $content['error'] ?? 'An error occurred'); } catch (TransportExceptionInterface $e) { throw new HttpException(Response::HTTP_INTERNAL_SERVER_ERROR, $e->getMessage()); diff --git a/src/Controller/OgRepository/Image/CreateAuxFilesAction.php b/src/Controller/OgRepository/Image/CreateAuxFilesAction.php index 70c9461..36b6327 100644 --- a/src/Controller/OgRepository/Image/CreateAuxFilesAction.php +++ b/src/Controller/OgRepository/Image/CreateAuxFilesAction.php @@ -40,6 +40,8 @@ class CreateAuxFilesAction extends AbstractOgRepositoryController ] ]; + $this->logger->info('Creating aux files', ['image' => $data->getName()]); + $content = $this->createRequest('POST', 'http://'.$data->getRepository()->getIp().':8006/ogrepository/v1/images/torrentsum', $params); $inputData = [ @@ -49,6 +51,8 @@ class CreateAuxFilesAction extends AbstractOgRepositoryController $this->createService->__invoke($data->getClient(), CommandTypes::CREATE_IMAGE_AUX_FILE, TraceStatus::IN_PROGRESS, $content['job_id'], $inputData); + $this->logger->info('Aux files created successfully', ['image' => $data->getName()]); + $data->setStatus(ImageStatus::IN_PROGRESS); $this->entityManager->persist($data); $this->entityManager->flush(); diff --git a/src/Controller/OgRepository/Image/ExportAction.php b/src/Controller/OgRepository/Image/ExportAction.php index 7818361..73e4eaf 100644 --- a/src/Controller/OgRepository/Image/ExportAction.php +++ b/src/Controller/OgRepository/Image/ExportAction.php @@ -54,10 +54,13 @@ class ExportAction extends AbstractOgRepositoryController $inputData = [ 'imageName' => $image->getName(), 'imageUuid' => $image->getUuid(), + 'repositoryUuid' => $repository->getUuid(), ]; $this->createService->__invoke($image->getClient(), CommandTypes::EXPORT_IMAGE, TraceStatus::IN_PROGRESS, $content['job_id'], $inputData); + $this->logger->info('Image exported successfully', ['image' => $image->getName()]); + $image->setStatus(ImageStatus::TRANSFERING); $this->entityManager->persist($image); $this->entityManager->flush(); diff --git a/src/Controller/OgRepository/Image/ImportAction.php b/src/Controller/OgRepository/Image/ImportAction.php index c719950..c41df80 100644 --- a/src/Controller/OgRepository/Image/ImportAction.php +++ b/src/Controller/OgRepository/Image/ImportAction.php @@ -47,15 +47,20 @@ class ImportAction extends AbstractOgRepositoryController ] ]; + $this->logger->info('Importing image', ['image' => $image->getName(), 'repository' => $repository->getIp()]); + $content = $this->createRequest('POST', 'http://'.$image->getRepository()->getIp().':8006/ogrepository/v1/repo/images', $params); $inputData = [ 'imageName' => $image->getName(), 'imageUuid' => $image->getUuid(), + 'repositoryUuid' => $repository->getUuid(), ]; $this->createService->__invoke($image->getClient(), CommandTypes::IMPORT_IMAGE, TraceStatus::IN_PROGRESS, $content['job_id'], $inputData); + $this->logger->info('Image imported successfully', ['image' => $image->getName()]); + $image->setStatus(ImageStatus::TRANSFERING); $this->entityManager->persist($image); $this->entityManager->flush(); diff --git a/src/Controller/OgRepository/Image/RecoverAction.php b/src/Controller/OgRepository/Image/RecoverAction.php index 4e6b820..ef65613 100644 --- a/src/Controller/OgRepository/Image/RecoverAction.php +++ b/src/Controller/OgRepository/Image/RecoverAction.php @@ -39,9 +39,12 @@ class RecoverAction extends AbstractOgRepositoryController ] ]; + $this->logger->info('Recovering image', ['image' => $data->getName()]); $content = $this->createRequest('POST', 'http://'.$data->getRepository()->getIp().':8006/ogrepository/v1/trash/images', $params); + $this->logger->info('Image recovered successfully', ['image' => $data->getName()]); + $data->setStatus(ImageStatus::SUCCESS); $this->entityManager->persist($data); $this->entityManager->flush(); diff --git a/src/Controller/OgRepository/Webhook/ResponseController.php b/src/Controller/OgRepository/Webhook/ResponseController.php index 1838a08..e044fe8 100644 --- a/src/Controller/OgRepository/Webhook/ResponseController.php +++ b/src/Controller/OgRepository/Webhook/ResponseController.php @@ -3,6 +3,7 @@ namespace App\Controller\OgRepository\Webhook; use App\Entity\Image; +use App\Entity\ImageRepository; use App\Entity\Trace; use App\Model\ImageStatus; use App\Model\TraceStatus; @@ -83,9 +84,11 @@ class ResponseController extends AbstractController $trace = $this->entityManager->getRepository(Trace::class)->findOneBy(['jobId' => $data['job_id']]); $imageUuid = $trace->getInput()['imageUuid']; - $image = $this->entityManager->getRepository(Image::class)->findOneBy(['uuid' => $imageUuid]); + $repositoryUuid = $trace->getInput()['repositoryUuid']; + $repository = $this->entityManager->getRepository(ImageRepository::class)->findOneBy(['uuid' => $repositoryUuid]); + if ($image === null) { $trace->setStatus(TraceStatus::FAILED); $trace->setFinishedAt(new \DateTime()); @@ -99,6 +102,7 @@ class ResponseController extends AbstractController $this->logger->info('Image exported', ['image' => $image->getName()]); + $image->setRepository($repository); $image->setStatus(ImageStatus::SUCCESS); $this->entityManager->persist($image); @@ -115,9 +119,11 @@ class ResponseController extends AbstractController $trace = $this->entityManager->getRepository(Trace::class)->findOneBy(['jobId' => $data['job_id']]); $imageUuid = $trace->getInput()['imageUuid']; - $image = $this->entityManager->getRepository(Image::class)->findOneBy(['uuid' => $imageUuid]); + $repositoryUuid = $trace->getInput()['repositoryUuid']; + $repository = $this->entityManager->getRepository(ImageRepository::class)->findOneBy(['uuid' => $repositoryUuid]); + if ($image === null) { $trace->setStatus(TraceStatus::FAILED); $trace->setFinishedAt(new \DateTime()); @@ -131,10 +137,10 @@ class ResponseController extends AbstractController $this->logger->info('Image imported', ['image' => $image->getName()]); + $image->setRepository($repository); $image->setStatus(ImageStatus::SUCCESS); $this->entityManager->persist($image); - $trace->setStatus(TraceStatus::SUCCESS); $trace->setFinishedAt(new \DateTime());