* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Adapter\Address\CommandHandler; use PrestaShop\PrestaShop\Adapter\Address\AbstractAddressHandler; use PrestaShop\PrestaShop\Core\Domain\Address\Command\DeleteAddressCommand; use PrestaShop\PrestaShop\Core\Domain\Address\CommandHandler\DeleteAddressHandlerInterface; use PrestaShop\PrestaShop\Core\Domain\Address\Exception\DeleteAddressException; /** * Handles command which deletes address */ final class DeleteAddressHandler extends AbstractAddressHandler implements DeleteAddressHandlerInterface { /** * {@inheritdoc} */ public function handle(DeleteAddressCommand $command) { $addressId = $command->getAddressId(); $address = $this->getAddress($addressId); if (!$this->deleteAddress($address)) { throw new DeleteAddressException(sprintf('Cannot delete Address object with id "%s".', $addressId->getValue()), DeleteAddressException::FAILED_DELETE); } } }