Skip to content

Commit 12a6cfe

Browse files
Refactoring
1 parent a95a29e commit 12a6cfe

File tree

6 files changed

+94
-15
lines changed

6 files changed

+94
-15
lines changed

MediaGalleryRenditionsApi/Model/Config.php renamed to MediaGalleryRenditions/Model/Config.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66

77
declare(strict_types=1);
88

9-
namespace Magento\MediaGalleryRenditionsApi\Model;
9+
namespace Magento\MediaGalleryRenditions\Model;
1010

1111
use Magento\Framework\App\Config\ScopeConfigInterface;
12+
use Magento\MediaGalleryRenditionsApi\Model\ConfigInterface;
1213

1314
/**
1415
* Class responsible for providing access to Media Gallery Renditions system configuration.
1516
*/
16-
class Config
17+
class Config implements ConfigInterface
1718
{
1819
/**
1920
* Config path for Media Gallery Renditions Width
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
namespace Magento\MediaGalleryRenditionsApi\Model;
10+
11+
/**
12+
* Class responsible for providing API access to Media Gallery Renditions system configuration
13+
*/
14+
interface ConfigInterface
15+
{
16+
/**
17+
* Get width value specified in Media Gallery Renditions
18+
*
19+
* @return int
20+
*/
21+
public function getWidth(): int;
22+
23+
/**
24+
* Get length value specified in Media Gallery Renditions
25+
*
26+
* @return int
27+
*/
28+
public function getHeight(): int;
29+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\MediaGallerySynchronization\Model;
9+
10+
use Magento\MediaGallerySynchronizationApi\Api\ImportFileInterface;
11+
use Magento\MediaGallerySynchronization\Model\Filesystem\SplFileInfoFactory;
12+
use Magento\MediaGalleryRenditionsApi\Api\GenerateRenditionsInterface;
13+
14+
/**
15+
* Generate Rendition Images
16+
*/
17+
class GenerateRenditionImages implements ImportFileInterface
18+
{
19+
/**
20+
* @var SplFileInfoFactory
21+
*/
22+
private $splFileInfoFactory;
23+
24+
/**
25+
* @var CreateAssetFromFile
26+
*/
27+
private $createAssetFromFile;
28+
29+
/**
30+
* @var GenerateRenditionsInterface
31+
*/
32+
private $generateRenditions;
33+
34+
/**
35+
* @param SplFileInfoFactory $splFileInfoFactory
36+
* @param CreateAssetFromFile $createAssetFromFile
37+
* @param GenerateRenditionsInterface $generateRenditions
38+
*/
39+
public function __construct(
40+
SplFileInfoFactory $splFileInfoFactory,
41+
CreateAssetFromFile $createAssetFromFile,
42+
GenerateRenditionsInterface $generateRenditions
43+
) {
44+
$this->splFileInfoFactory = $splFileInfoFactory;
45+
$this->createAssetFromFile = $createAssetFromFile;
46+
$this->generateRenditions = $generateRenditions;
47+
}
48+
49+
/**
50+
* @inheritdoc
51+
*/
52+
public function execute(string $path): void
53+
{
54+
$file = $this->splFileInfoFactory->create($path);
55+
$createdAsset = $this->createAssetFromFile->execute($file);
56+
$this->generateRenditions->execute([$createdAsset]);
57+
}
58+
}

MediaGallerySynchronization/Model/ImportMediaAsset.php

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
use Magento\MediaGallerySynchronizationApi\Api\ImportFileInterface;
1111
use Magento\MediaGalleryApi\Api\SaveAssetsInterface;
1212
use Magento\MediaGallerySynchronization\Model\Filesystem\SplFileInfoFactory;
13-
use Magento\MediaGalleryRenditionsApi\Api\GenerateRenditionsInterface;
1413

1514
/**
1615
* Import image file to the media gallery asset table
@@ -32,27 +31,19 @@ class ImportMediaAsset implements ImportFileInterface
3231
*/
3332
private $createAssetFromFile;
3433

35-
/**
36-
* @var GenerateRenditionsInterface
37-
*/
38-
private $generateRenditions;
39-
4034
/**
4135
* @param SplFileInfoFactory $splFileInfoFactory
4236
* @param SaveAssetsInterface $saveAssets
4337
* @param CreateAssetFromFile $createAssetFromFile
44-
* @param GenerateRenditionsInterface $generateRenditions
4538
*/
4639
public function __construct(
4740
SplFileInfoFactory $splFileInfoFactory,
4841
SaveAssetsInterface $saveAssets,
49-
CreateAssetFromFile $createAssetFromFile,
50-
GenerateRenditionsInterface $generateRenditions
42+
CreateAssetFromFile $createAssetFromFile
5143
) {
5244
$this->splFileInfoFactory = $splFileInfoFactory;
5345
$this->saveAssets = $saveAssets;
5446
$this->createAssetFromFile = $createAssetFromFile;
55-
$this->generateRenditions = $generateRenditions;
5647
}
5748

5849
/**
@@ -61,8 +52,6 @@ public function __construct(
6152
public function execute(string $path): void
6253
{
6354
$file = $this->splFileInfoFactory->create($path);
64-
$createdAsset = $this->createAssetFromFile->execute($file);
65-
$this->saveAssets->execute([$createdAsset]);
66-
$this->generateRenditions->execute([$createdAsset]);
55+
$this->saveAssets->execute([$this->createAssetFromFile->execute($file)]);
6756
}
6857
}

MediaGallerySynchronization/composer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"php": "~7.3.0||~7.4.0",
66
"magento/framework": "*",
77
"magento/module-media-gallery-api": "*",
8+
"magento/module-media-gallery-renditions-api": "*",
89
"magento/module-media-gallery-synchronization-api": "*",
910
"magento/framework-message-queue": "*",
1011
"magento/module-media-gallery-metadata-api": "*"

MediaGallerySynchronization/etc/di.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<argument name="importers" xsi:type="array">
1616
<item name="0" xsi:type="object">Magento\MediaGallerySynchronization\Model\ImportMediaAsset</item>
1717
<item name="1" xsi:type="object">Magento\MediaGallerySynchronization\Model\ImportImageFileKeywords</item>
18+
<item name="generateRenditionImages" xsi:type="object">Magento\MediaGallerySynchronization\Model\GenerateRenditionImages</item>
1819
</argument>
1920
</arguments>
2021
</type>

0 commit comments

Comments
 (0)