CreateMediaHandler   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 13
dl 0
loc 24
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A __invoke() 0 13 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Damax\Media\Application\Command;
6
7
use Damax\Media\Domain\Model\MediaFactory;
8
use Damax\Media\Domain\Model\MediaRepository;
9
10
final class CreateMediaHandler
11
{
12
    private $repository;
13
    private $factory;
14
15
    public function __construct(MediaRepository $repository, MediaFactory $factory)
16
    {
17
        $this->repository = $repository;
18
        $this->factory = $factory;
19
    }
20
21
    public function __invoke(CreateMedia $command): void
22
    {
23
        $dto = $command->media();
24
25
        $media = $this->factory->create([
26
            'id' => $command->mediaId(),
27
            'type' => $dto->type,
28
            'name' => $dto->name,
29
            'mime_type' => $dto->mimeType,
30
            'file_size' => $dto->fileSize,
31
        ]);
32
33
        $this->repository->add($media);
34
    }
35
}
36