Completed
Pull Request — master (#229)
by
unknown
02:44
created

RemoveAddressHandler::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Sylius\ShopApiPlugin\Handler;
6
7
use Sylius\Component\Core\Model\AddressInterface;
8
use Sylius\Component\Core\Repository\AddressRepositoryInterface;
9
use Sylius\Component\Core\Repository\OrderRepositoryInterface;
10
use Sylius\ShopApiPlugin\Command\RemoveAddress;
11
12
final class RemoveAddressHandler
13
{
14
    /**
15
     * @var AddressRepositoryInterface
16
     */
17
    private $addressRepository;
18
19
    /**
20
     * @var OrderRepositoryInterface
21
     */
22
    private $orderRepository;
23
24
    /**
25
     * @param AddressRepositoryInterface $addressRepository
26
     * @param OrderRepositoryInterface $orderRepository
27
     */
28
    public function __construct(AddressRepositoryInterface $addressRepository, OrderRepositoryInterface $orderRepository)
29
    {
30
        $this->addressRepository = $addressRepository;
31
        $this->orderRepository = $orderRepository;
32
    }
33
34
    public function handle(RemoveAddress $removeAddress): void
35
    {
36
        /** @var AddressInterface $address */
37
        $address = $this->addressRepository->findOneBy(['id' => $removeAddress->id()]);
38
39
        $this->addressRepository->remove($address);
40
    }
41
}
42