From 5bb496b37c10df081f6814ccedcbd300e21815fa Mon Sep 17 00:00:00 2001 From: Alexis Guyomar Date: Thu, 30 Jan 2025 10:28:53 +0100 Subject: [PATCH 1/3] feat: add middleware for update page post update --- classes/Router/Middlewares/UpdateLogExists.php | 17 +++++++++++++++++ classes/Router/RoutesConfig.php | 4 ++++ 2 files changed, 21 insertions(+) create mode 100644 classes/Router/Middlewares/UpdateLogExists.php diff --git a/classes/Router/Middlewares/UpdateLogExists.php b/classes/Router/Middlewares/UpdateLogExists.php new file mode 100644 index 000000000..623e31704 --- /dev/null +++ b/classes/Router/Middlewares/UpdateLogExists.php @@ -0,0 +1,17 @@ +upgradeContainer->getLogsState()->getActiveUpdateLogFile() === null) { + return Routes::HOME_PAGE; + } + + return null; + } +} diff --git a/classes/Router/RoutesConfig.php b/classes/Router/RoutesConfig.php index 7a2ee5143..ca15a0f52 100644 --- a/classes/Router/RoutesConfig.php +++ b/classes/Router/RoutesConfig.php @@ -17,6 +17,7 @@ use PrestaShop\Module\AutoUpgrade\Controller\UpdatePageVersionChoiceController; use PrestaShop\Module\AutoUpgrade\Router\Middlewares\LocalChannelXmlAndZipAreValid; use PrestaShop\Module\AutoUpgrade\Router\Middlewares\UpdateIsConfigured; +use PrestaShop\Module\AutoUpgrade\Router\Middlewares\UpdateLogExists; class RoutesConfig { @@ -132,6 +133,9 @@ class RoutesConfig Routes::UPDATE_PAGE_POST_UPDATE => [ 'controller' => UpdatePagePostUpdateController::class, 'method' => 'index', + 'middleware' => [ + UpdateLogExists::class, + ], ], Routes::UPDATE_STEP_POST_UPDATE => [ 'controller' => UpdatePagePostUpdateController::class, From 34c76c72b187a798e6574cff9edb0d37d6923a74 Mon Sep 17 00:00:00 2001 From: Alexis Guyomar Date: Mon, 3 Feb 2025 10:34:30 +0100 Subject: [PATCH 2/3] fix: add check to log file exist on middleware --- classes/Router/Middlewares/UpdateLogExists.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/classes/Router/Middlewares/UpdateLogExists.php b/classes/Router/Middlewares/UpdateLogExists.php index 623e31704..b39f1e2bf 100644 --- a/classes/Router/Middlewares/UpdateLogExists.php +++ b/classes/Router/Middlewares/UpdateLogExists.php @@ -8,7 +8,11 @@ class UpdateLogExists extends AbstractMiddleware { public function process(): ?string { - if ($this->upgradeContainer->getLogsState()->getActiveUpdateLogFile() === null) { + $activeUpdateLogFile = $this->upgradeContainer->getLogsState()->getActiveRestoreLogFile(); + $activeUpdateLogPath = $this->upgradeContainer->getProperty($this->upgradeContainer::LOGS_PATH) . DIRECTORY_SEPARATOR . $activeUpdateLogFile; + + if ($activeUpdateLogFile === null + || !$this->upgradeContainer->getFileStorage()->exists($activeUpdateLogPath)) { return Routes::HOME_PAGE; } From 9c0cbc7a34ad01cbd902567fd79eec83c8ccdf15 Mon Sep 17 00:00:00 2001 From: Alexis Guyomar Date: Mon, 3 Feb 2025 11:11:53 +0100 Subject: [PATCH 3/3] fix: using logservices and filesystem --- classes/Router/Middlewares/UpdateLogExists.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/classes/Router/Middlewares/UpdateLogExists.php b/classes/Router/Middlewares/UpdateLogExists.php index b39f1e2bf..4fea8dd32 100644 --- a/classes/Router/Middlewares/UpdateLogExists.php +++ b/classes/Router/Middlewares/UpdateLogExists.php @@ -3,16 +3,16 @@ namespace PrestaShop\Module\AutoUpgrade\Router\Middlewares; use PrestaShop\Module\AutoUpgrade\Router\Routes; +use PrestaShop\Module\AutoUpgrade\Task\TaskType; class UpdateLogExists extends AbstractMiddleware { public function process(): ?string { - $activeUpdateLogFile = $this->upgradeContainer->getLogsState()->getActiveRestoreLogFile(); - $activeUpdateLogPath = $this->upgradeContainer->getProperty($this->upgradeContainer::LOGS_PATH) . DIRECTORY_SEPARATOR . $activeUpdateLogFile; + $activeUpdateLogPath = $this->upgradeContainer->getLogsService()->getLogsPath(TaskType::TASK_TYPE_UPDATE); - if ($activeUpdateLogFile === null - || !$this->upgradeContainer->getFileStorage()->exists($activeUpdateLogPath)) { + if ($activeUpdateLogPath === null + || !$this->upgradeContainer->getFileSystem()->exists($activeUpdateLogPath)) { return Routes::HOME_PAGE; }