Skip to content

Commit a2282c8

Browse files
Andrey ErdikovAndrey Erdikov
authored andcommitted
[C0-3455] Убрал параметр upload_destination, добавил получение маппинга в листенер
1 parent e8e66e0 commit a2282c8

File tree

4 files changed

+10
-24
lines changed

4 files changed

+10
-24
lines changed

src/Domain/Entity/ValueObject/MediaFileStorage.php

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,6 @@ class MediaFileStorage
1919

2020
use ValueObjectTrait;
2121

22-
protected function checkValue(string $value): void
23-
{
24-
if (!in_array($value, self::AVAILABLE_STORAGES)) {
25-
throw new IncorrectValueObjectException('This media file storage is not supported');
26-
}
27-
}
28-
2922
public function isS3(): bool
3023
{
3124
return $this->value === self::S3_STORAGE;

src/EventListener/MediaFileUpdatedListener.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Skyeng\MarketingCmsBundle\Application\Cms\MediaFile\Service\MediaFileTypeResolver;
99
use Skyeng\MarketingCmsBundle\Domain\Entity\MediaFile;
1010
use Skyeng\MarketingCmsBundle\Domain\Entity\ValueObject\MediaFileStorage;
11+
use Vich\UploaderBundle\Mapping\PropertyMappingFactory;
1112

1213
class MediaFileUpdatedListener
1314
{
@@ -17,14 +18,14 @@ class MediaFileUpdatedListener
1718
private $mediaFileTypeResolver;
1819

1920
/**
20-
* @var string
21+
* @var PropertyMappingFactory
2122
*/
22-
private $mediaUploadDestination;
23+
private $fileMappingFactory;
2324

24-
public function __construct(MediaFileTypeResolver $mediaFileTypeResolver, string $mediaUploadDestination)
25+
public function __construct(MediaFileTypeResolver $mediaFileTypeResolver, PropertyMappingFactory $fileMappingFactory)
2526
{
2627
$this->mediaFileTypeResolver = $mediaFileTypeResolver;
27-
$this->mediaUploadDestination = $mediaUploadDestination;
28+
$this->fileMappingFactory = $fileMappingFactory;
2829
}
2930

3031
public function postUpdate(LifecycleEventArgs $args): void
@@ -46,6 +47,8 @@ private function handleEventArgs(LifecycleEventArgs $args): void
4647
}
4748

4849
$object->setType($this->mediaFileTypeResolver->getMediaFileTypeByFile($object->getFile()));
49-
$object->setStorage(new MediaFileStorage($this->mediaUploadDestination));
50+
51+
$mapping = $this->fileMappingFactory->fromField($object, 'file');
52+
$object->setStorage(new MediaFileStorage($mapping->getUploadDestination()));
5053
}
5154
}

src/Resources/config/services.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
parameters:
2-
media_upload_destination: '%vich_uploader.mappings.media_files.upload_destination%'
3-
41
services:
52
_defaults:
63
autowire: true

src/UI/Controller/Admin/MediaFileCrudController.php

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,12 @@ class MediaFileCrudController extends AbstractCrudController
2727
*/
2828
private $mediaCatalogRepository;
2929

30-
/**
31-
* @var string
32-
*/
33-
private $mediaUploadDestination;
34-
3530
public function __construct(
3631
MediaFileRepositoryInterface $mediaFileRepository,
37-
MediaCatalogRepositoryInterface $mediaCatalogRepository,
38-
string $mediaUploadDestination
32+
MediaCatalogRepositoryInterface $mediaCatalogRepository
3933
) {
4034
$this->mediaFileRepository = $mediaFileRepository;
4135
$this->mediaCatalogRepository = $mediaCatalogRepository;
42-
$this->mediaUploadDestination = $mediaUploadDestination;
4336
}
4437

4538
public static function getEntityFqcn(): string
@@ -78,7 +71,7 @@ public function createEntity(string $entityFqcn): MediaFile
7871
'',
7972
new MediaFileType(MediaFileType::IMAGE_TYPE),
8073
'',
81-
new MediaFileStorage($this->mediaUploadDestination),
74+
new MediaFileStorage(MediaFileStorage::NFS_STORAGE),
8275
);
8376
}
8477
}

0 commit comments

Comments
 (0)