Skip to content

Commit 2b3d23e

Browse files
committed
B2B-2677: [MediaGallery]Implement data caching for GraphQL results on resolver level
- Address review feedback
1 parent bcd548c commit 2b3d23e

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

app/code/Magento/CatalogGraphQl/Observer/AfterImportDataObserver.php

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
use Magento\Framework\Event\ObserverInterface;
1313
use Magento\GraphQlResolverCache\Model\Resolver\Result\Type as GraphQlResolverCache;
1414

15+
/**
16+
* Clean media gallery resolver cache for product SKUs after importing data to database
17+
*/
1518
class AfterImportDataObserver implements ObserverInterface
1619
{
1720
/**
@@ -34,23 +37,25 @@ public function execute(Observer $observer)
3437
{
3538
$mediaGalleryEntriesChanged = $observer->getEvent()->getMediaGallery();
3639

40+
if (empty($mediaGalleryEntriesChanged)) {
41+
return;
42+
}
43+
3744
$productSkusToInvalidate = [];
3845

3946
foreach ($mediaGalleryEntriesChanged as $productSkus) {
4047
$productSkusToInvalidate[] = array_keys($productSkus);
4148
}
4249

43-
$productSkusToInvalidate = array_merge([], ...$productSkusToInvalidate);
50+
$productSkusToInvalidate = array_merge(...$productSkusToInvalidate);
4451

4552
$tags = array_map(function ($productSku) {
4653
return sprintf('%s_%s', ResolverCacheIdentity::CACHE_TAG, $productSku);
4754
}, $productSkusToInvalidate);
4855

49-
if (!empty($tags)) {
50-
$this->graphQlResolverCache->clean(
51-
\Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG,
52-
$tags
53-
);
54-
}
56+
$this->graphQlResolverCache->clean(
57+
\Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG,
58+
$tags
59+
);
5560
}
5661
}

0 commit comments

Comments
 (0)