Code Duplication    Length = 26-32 lines in 3 locations

src/LIN3S/CMSKernel/Application/Query/Menu/MenuOfCodeHandler.php 1 location

@@ 24-49 (lines=26) @@
21
/**
22
 * @author Beñat Espiña <[email protected]>
23
 */
24
class MenuOfCodeHandler
25
{
26
    private $repository;
27
    private $dataTransformer;
28
29
    public function __construct(MenuRepository $repository, TranslatableDataTransformer $dataTransformer)
30
    {
31
        $this->repository = $repository;
32
        $this->dataTransformer = $dataTransformer;
33
    }
34
35
    public function __invoke(MenuOfCodeQuery $query)
36
    {
37
        $code = new MenuCode($query->code());
38
        $locale = new Locale($query->locale());
39
40
        $menu = $this->repository->menuOfCode($code);
41
        if (!$menu instanceof Menu) {
42
            throw new MenuDoesNotExistException();
43
        }
44
45
        $this->dataTransformer->write($menu, $locale);
46
47
        return $this->dataTransformer->read();
48
    }
49
}
50

src/LIN3S/CMSKernel/Application/Query/Menu/MenuOfIdHandler.php 1 location

@@ 24-51 (lines=28) @@
21
/**
22
 * @author Beñat Espiña <[email protected]>
23
 */
24
class MenuOfIdHandler
25
{
26
    private $repository;
27
    private $dataTransformer;
28
29
    public function __construct(MenuRepository $repository, TranslatableDataTransformer $dataTransformer)
30
    {
31
        $this->repository = $repository;
32
        $this->dataTransformer = $dataTransformer;
33
    }
34
35
    public function __invoke(MenuOfIdQuery $query)
36
    {
37
        $locale = new Locale($query->locale());
38
        $menu = $this->repository->menuOfId(
39
            MenuId::generate(
40
                $query->menuId()
41
            )
42
        );
43
        if (!$menu instanceof Menu) {
44
            throw new MenuDoesNotExistException();
45
        }
46
47
        $this->dataTransformer->write($menu, $locale);
48
49
        return $this->dataTransformer->read();
50
    }
51
}
52

src/LIN3S/CMSKernel/Application/Query/Translation/TranslatableOfIdHandler.php 1 location

@@ 24-55 (lines=32) @@
21
/**
22
 * @author Beñat Espiña <[email protected]>
23
 */
24
class TranslatableOfIdHandler
25
{
26
    private $dataTransformer;
27
    private $repository;
28
29
    public function __construct(TranslatableRepository $repository, TranslatableDataTransformer $dataTransformer)
30
    {
31
        $this->repository = $repository;
32
        $this->dataTransformer = $dataTransformer;
33
    }
34
35
    public function __invoke(TranslatableOfIdQuery $query)
36
    {
37
        $translatable = $this->repository->translatableOfId(
38
            TranslatableId::generate(
39
                $query->translatableId()
40
            )
41
        );
42
        if (!$translatable instanceof Translatable) {
43
            throw new TranslatableDoesNotExistException();
44
        }
45
46
        $this->dataTransformer->write(
47
            $translatable,
48
            new Locale(
49
                $query->locale()
50
            )
51
        );
52
53
        return $this->dataTransformer->read();
54
    }
55
}
56