* @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\OrderMessage\CommandHandler; use PrestaShop\PrestaShop\Adapter\OrderMessage\AbstractOrderMessageHandler; use PrestaShop\PrestaShop\Core\Domain\OrderMessage\Command\DeleteOrderMessageCommand; use PrestaShop\PrestaShop\Core\Domain\OrderMessage\CommandHandler\DeleteOrderMessageHandlerInterface; use PrestaShop\PrestaShop\Core\Domain\OrderMessage\Exception\OrderMessageException; use PrestaShopException; /** * Handles deleting order message using object model * * @internal */ final class DeleteOrderMessageHandler extends AbstractOrderMessageHandler implements DeleteOrderMessageHandlerInterface { /** * @param DeleteOrderMessageCommand $command */ public function handle(DeleteOrderMessageCommand $command): void { $orderMessage = $this->getOrderMessage($command->getOrderMessageId()); try { if (false === $orderMessage->delete()) { throw new OrderMessageException(sprintf('Failed to delete Order message with id "%d"', $orderMessage->id), OrderMessageException::FAILED_DELETE); } } catch (PrestaShopException $e) { throw new OrderMessageException(sprintf('Failed to delete Order message with id "%s"', $orderMessage->id)); } } }