* @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\Attachment\CommandHandler; use PrestaShop\PrestaShop\Adapter\Attachment\AbstractAttachmentHandler; use PrestaShop\PrestaShop\Core\Domain\Attachment\Command\DeleteAttachmentCommand; use PrestaShop\PrestaShop\Core\Domain\Attachment\CommandHandler\DeleteAttachmentHandlerInterface; use PrestaShop\PrestaShop\Core\Domain\Attachment\Exception\AttachmentNotFoundException; use PrestaShop\PrestaShop\Core\Domain\Attachment\Exception\DeleteAttachmentException; /** * Delete attachment handler */ final class DeleteAttachmentHandler extends AbstractAttachmentHandler implements DeleteAttachmentHandlerInterface { /** * {@inheritdoc} * * @throws DeleteAttachmentException * @throws AttachmentNotFoundException */ public function handle(DeleteAttachmentCommand $command) { $attachment = $this->getAttachment($command->getAttachmentId()); if (!$this->deleteAttachment($attachment)) { throw new DeleteAttachmentException(sprintf('Cannot delete Attachment object with id "%s".', $attachment->id)); } } }