From 0e0ea9cb2f762ba28b83056ab8dfee60bac2bc5f Mon Sep 17 00:00:00 2001 From: Anton Fedurtsya Date: Mon, 8 Jan 2024 15:15:50 +0200 Subject: [PATCH] Use folder id directly from request As the value is saved from request, there is totally no point to fixate this variable in the service, temporary we can just use it directly from request where needed, while we will not have better solution, at least the complexity will be lowered. Signed-off-by: Anton Fedurtsya --- src/Application/Controller/Admin/MediaController.php | 2 +- src/Image/Service/ImageResource.php | 8 -------- src/Image/Service/ImageResourceInterface.php | 2 -- src/Service/Media.php | 6 +++--- tests/Integration/Service/MediaTest.php | 4 +++- tests/Unit/Service/MediaTest.php | 6 ++---- 6 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/Application/Controller/Admin/MediaController.php b/src/Application/Controller/Admin/MediaController.php index 625c509..019d782 100755 --- a/src/Application/Controller/Admin/MediaController.php +++ b/src/Application/Controller/Admin/MediaController.php @@ -60,8 +60,8 @@ public function render() $this->addTplParam('sResourceUrl', $this->imageResource->getMediaUrl()); $this->addTplParam('sThumbsUrl', $this->imageResource->getThumbnailUrl()); + $this->addTplParam('sFolderId', $uiRequest->getFolderId()); $this->addTplParam('sFoldername', $this->imageResource->getFolderName()); - $this->addTplParam('sFolderId', $this->imageResource->getFolderId()); $this->addTplParam('sTab', $request->getRequestEscapedParameter('tab')); $this->addTplParam('request', $uiRequest); diff --git a/src/Image/Service/ImageResource.php b/src/Image/Service/ImageResource.php index 84860af..ce06a76 100644 --- a/src/Image/Service/ImageResource.php +++ b/src/Image/Service/ImageResource.php @@ -44,14 +44,6 @@ public function setFolderName($sFolderName): void $this->_sFolderName = $sFolderName; } - /** - * @deprecated This is temporary solution, it should be removed in next release. - */ - public function getFolderId(): string - { - return $this->_sFolderId; - } - /** * @param $sId * diff --git a/src/Image/Service/ImageResourceInterface.php b/src/Image/Service/ImageResourceInterface.php index 09efd6f..160fa34 100644 --- a/src/Image/Service/ImageResourceInterface.php +++ b/src/Image/Service/ImageResourceInterface.php @@ -17,8 +17,6 @@ public function getFolderName(): string; public function setFolderName($sFolderName): void; - public function getFolderId(): string; - public function setFolder($sFolderId = ''): void; public function getDefaultThumbnailSize(): int; diff --git a/src/Service/Media.php b/src/Service/Media.php index 683f184..bd49a89 100755 --- a/src/Service/Media.php +++ b/src/Service/Media.php @@ -11,14 +11,13 @@ use Doctrine\DBAL\Connection; use OxidEsales\Eshop\Core\Config; -use OxidEsales\Eshop\Core\UtilsObject; use OxidEsales\EshopCommunity\Internal\Framework\Database\ConnectionProviderInterface; use OxidEsales\EshopCommunity\Internal\Transition\Adapter\ShopAdapterInterface; use OxidEsales\MediaLibrary\Image\DataTransfer\ImageSize; -use OxidEsales\MediaLibrary\Image\Service\ThumbnailGeneratorInterface; use OxidEsales\MediaLibrary\Image\Service\ImageResourceInterface; use OxidEsales\MediaLibrary\Media\DataType\Media as MediaDataType; use OxidEsales\MediaLibrary\Media\Repository\MediaRepositoryInterface; +use OxidEsales\MediaLibrary\Transput\RequestData\UIRequestInterface; use Symfony\Component\Filesystem\Path; use Webmozart\Glob\Glob; @@ -34,6 +33,7 @@ public function __construct( protected MediaRepositoryInterface $mediaRepository, private FileSystemServiceInterface $fileSystemService, protected ShopAdapterInterface $shopAdapter, + protected UIRequestInterface $UIRequest, ) { $this->connection = $connectionProvider->get(); } @@ -83,7 +83,7 @@ public function uploadMedia($sSourcePath, $sDestPath, $sFileSize, $sFileType) fileType: $sFileType, thumbFileName: '', imageSize: $imageSize, - folderId: $this->imageResource->getFolderId() + folderId: $this->UIRequest->getFolderId() ); $this->mediaRepository->addMedia($newMedia); diff --git a/tests/Integration/Service/MediaTest.php b/tests/Integration/Service/MediaTest.php index 3693b43..325348c 100644 --- a/tests/Integration/Service/MediaTest.php +++ b/tests/Integration/Service/MediaTest.php @@ -24,6 +24,7 @@ use OxidEsales\EshopCommunity\Internal\Framework\Database\QueryBuilderFactoryInterface; use OxidEsales\EshopCommunity\Internal\Container\ContainerFactory; use OxidEsales\MediaLibrary\Image\Service\ThumbnailGeneratorInterface; +use OxidEsales\MediaLibrary\Transput\RequestData\UIRequestInterface; /** * @covers \OxidEsales\MediaLibrary\Service\Media @@ -235,7 +236,8 @@ protected function getSut( namingService: $namingService ?: $this->containerFactory->get(NamingServiceInterface::class), mediaRepository: $this->containerFactory->get(MediaRepositoryInterface::class), fileSystemService: $this->containerFactory->get(FileSystemServiceInterface::class), - shopAdapter: $shopAdapterStub + shopAdapter: $shopAdapterStub, + UIRequest: $this->createStub(UIRequestInterface::class), ); } diff --git a/tests/Unit/Service/MediaTest.php b/tests/Unit/Service/MediaTest.php index d69c539..aa34b8a 100644 --- a/tests/Unit/Service/MediaTest.php +++ b/tests/Unit/Service/MediaTest.php @@ -8,7 +8,6 @@ namespace OxidEsales\MediaLibrary\Tests\Unit\Service; use Doctrine\DBAL\Connection; -use Doctrine\DBAL\Exception as DBALException; use org\bovigo\vfs\vfsStream; use org\bovigo\vfs\visitor\vfsStreamStructureVisitor; use OxidEsales\Eshop\Core\Config; @@ -17,16 +16,14 @@ use OxidEsales\EshopCommunity\Internal\Framework\Database\ConnectionProviderInterface; use OxidEsales\EshopCommunity\Internal\Transition\Adapter\ShopAdapterInterface; use OxidEsales\MediaLibrary\Image\Service\ImageResource; -use OxidEsales\MediaLibrary\Image\Service\ImageResourceInterface; use OxidEsales\MediaLibrary\Image\Service\ThumbnailGeneratorInterface; use OxidEsales\MediaLibrary\Media\Repository\MediaRepositoryInterface; use OxidEsales\MediaLibrary\Service\FileSystemService; use OxidEsales\MediaLibrary\Service\FileSystemServiceInterface; -use OxidEsales\MediaLibrary\Service\FolderServiceInterface; -use OxidEsales\MediaLibrary\Service\Media; use OxidEsales\MediaLibrary\Service\ModuleSettings; use OxidEsales\MediaLibrary\Service\NamingService; use OxidEsales\MediaLibrary\Service\NamingServiceInterface; +use OxidEsales\MediaLibrary\Transput\RequestData\UIRequestInterface; use PHPUnit\Framework\TestCase; /** @@ -564,6 +561,7 @@ protected function getSut( mediaRepository: $mediaRepository ?? $this->createStub(MediaRepositoryInterface::class), fileSystemService: $fileSystemService ?? $this->createPartialMock(FileSystemService::class, []), shopAdapter: $this->createStub(ShopAdapterInterface::class), + UIRequest: $this->createStub(UIRequestInterface::class) ); }