|
12 | 12 | use Magento\Framework\Api\FilterBuilder;
|
13 | 13 | use Magento\Framework\Api\SearchCriteriaBuilder;
|
14 | 14 | use Magento\Framework\Api\SearchResultsInterface;
|
| 15 | +use Magento\Framework\DataObject; |
15 | 16 | use Magento\Framework\Event\Observer;
|
16 | 17 | use Magento\Framework\Event\ObserverInterface;
|
17 | 18 | use Magento\Framework\Exception\LocalizedException;
|
18 |
| -use Magento\Framework\Model\AbstractModel; |
19 | 19 | use Opengento\Gdpr\Api\Data\ExportEntityInterface;
|
20 | 20 | use Opengento\Gdpr\Api\Data\ExportEntitySearchResultsInterface;
|
21 | 21 | use Opengento\Gdpr\Api\ExportEntityRepositoryInterface;
|
@@ -65,27 +65,29 @@ public function __construct(
|
65 | 65 |
|
66 | 66 | public function execute(Observer $observer): void
|
67 | 67 | {
|
68 |
| - /** @var AbstractModel $entity */ |
| 68 | + /** @var DataObject $entity */ |
69 | 69 | $entity = $observer->getData('data_object');
|
70 | 70 |
|
71 |
| - try { |
72 |
| - foreach ($this->fetchExportEntities($entity)->getItems() as $exportEntity) { |
73 |
| - $this->exportRepository->delete($exportEntity); |
| 71 | + if ($entity instanceof DataObject) { |
| 72 | + try { |
| 73 | + foreach ($this->fetchExportEntities($entity)->getItems() as $exportEntity) { |
| 74 | + $this->exportRepository->delete($exportEntity); |
| 75 | + } |
| 76 | + } catch (LocalizedException $e) { |
| 77 | + $this->logger->error($e->getLogMessage(), $e->getTrace()); |
| 78 | + } catch (Exception $e) { |
| 79 | + $this->logger->error($e->getMessage(), $e->getTrace()); |
74 | 80 | }
|
75 |
| - } catch (LocalizedException $e) { |
76 |
| - $this->logger->error($e->getLogMessage(), $e->getTrace()); |
77 |
| - } catch (Exception $e) { |
78 |
| - $this->logger->error($e->getMessage(), $e->getTrace()); |
79 | 81 | }
|
80 | 82 | }
|
81 | 83 |
|
82 | 84 | /**
|
83 |
| - * @param AbstractModel $entity |
| 85 | + * @param DataObject $entity |
84 | 86 | * @return ExportEntitySearchResultsInterface
|
85 | 87 | * @throws LocalizedException
|
86 | 88 | * @throws Exception
|
87 | 89 | */
|
88 |
| - private function fetchExportEntities(AbstractModel $entity): SearchResultsInterface |
| 90 | + private function fetchExportEntities(DataObject $entity): SearchResultsInterface |
89 | 91 | {
|
90 | 92 | $entityTypes = $this->entityTypeResolver->resolve($entity);
|
91 | 93 |
|
|
0 commit comments