for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is part of the CMS Kernel package.
*
* Copyright (c) 2016-present LIN3S <[email protected]>
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace LIN3S\CMSKernel\Application\Command\Menu;
use LIN3S\CMSKernel\Domain\Model\Menu\Menu;
use LIN3S\CMSKernel\Domain\Model\Menu\MenuDoesNotExistException;
use LIN3S\CMSKernel\Domain\Model\Menu\MenuId;
use LIN3S\CMSKernel\Domain\Model\Menu\MenuRepository;
/**
* @author Beñat Espiña <[email protected]>
class RemoveMenuHandler
{
private $repository;
public function __construct(MenuRepository $repository)
$this->repository = $repository;
}
public function __invoke(RemoveMenuCommand $command)
$menu = $this->repository->menuOfId(
MenuId::generate(
$command->menuId()
)
);
if (!$menu instanceof Menu) {
throw new MenuDoesNotExistException();
$this->repository->remove($menu);