Skip to content

Commit 562fbe8

Browse files
committed
B2B-2257: availableStores GraphQl query has no cache identity
1 parent cd41bc2 commit 562fbe8

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\StoreGraphQl\Model\Resolver\Stores;
9+
10+
use Magento\Framework\GraphQl\Query\Resolver\IdentityInterface;
11+
use Magento\StoreGraphQl\Model\Resolver\Store\ConfigIdentity as StoreConfigIdentity;
12+
13+
class ConfigIdentity implements IdentityInterface
14+
{
15+
/**
16+
* @inheritDoc
17+
*/
18+
public function getIdentities(array $resolvedData): array
19+
{
20+
$ids = [];
21+
foreach ($resolvedData as $storeConfig) {
22+
$ids[] = sprintf('%s_%s', StoreConfigIdentity::CACHE_TAG, $storeConfig['id']);
23+
}
24+
25+
return empty($ids) ? [] : array_merge([StoreConfigIdentity::CACHE_TAG], $ids);
26+
}
27+
}

app/code/Magento/StoreGraphQl/etc/schema.graphqls

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ type Query {
44
storeConfig : StoreConfig @resolver(class: "Magento\\StoreGraphQl\\Model\\Resolver\\StoreConfigResolver") @doc(description: "Return details about the store's configuration.") @cache(cacheIdentity: "Magento\\StoreGraphQl\\Model\\Resolver\\Store\\ConfigIdentity")
55
availableStores(
66
useCurrentGroup: Boolean @doc(description: "Filter store views by the current store group.")
7-
): [StoreConfig] @resolver(class: "Magento\\StoreGraphQl\\Model\\Resolver\\AvailableStoresResolver") @doc(description: "Get a list of available store views and their config information.")
7+
): [StoreConfig] @resolver(class: "Magento\\StoreGraphQl\\Model\\Resolver\\AvailableStoresResolver") @doc(description: "Get a list of available store views and their config information.") @cache(cacheIdentity: "Magento\\StoreGraphQl\\Model\\Resolver\\Stores\\ConfigIdentity")
88
}
99

1010
type Website @doc(description: "Deprecated. It should not be used on the storefront. Contains information about a website.") {

0 commit comments

Comments
 (0)