|
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