Skip to content

Commit 1024cc1

Browse files
committed
B2B-2658: Implement GraphQL Resolver Cache for Customer query
1 parent db9325f commit 1024cc1

File tree

5 files changed

+49
-5
lines changed

5 files changed

+49
-5
lines changed

app/code/Magento/GraphQlResolverCache/Model/Resolver/Result/ValueProcessor/FlagGetter/FlagGetterInterface.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,16 @@
77

88
namespace Magento\GraphQlResolverCache\Model\Resolver\Result\ValueProcessor\FlagGetter;
99

10+
/**
11+
* Get flag from value.
12+
*/
1013
interface FlagGetterInterface
1114
{
15+
/**
16+
* Get value processing flag.
17+
*
18+
* @param array $value
19+
* @return string|null
20+
*/
1221
public function getFlagFromValue(&$value): ?string;
1322
}

app/code/Magento/GraphQlResolverCache/Model/Resolver/Result/ValueProcessor/FlagGetter/Generic.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,14 @@
99

1010
use Magento\GraphQlResolverCache\Model\Resolver\Result\ValueProcessorInterface;
1111

12+
/**
13+
* Generic flag getter.
14+
*/
1215
class Generic implements FlagGetterInterface
1316
{
14-
public function setFlagOnValue(&$value, string $flagValue): void
15-
{
16-
$value[ValueProcessorInterface::VALUE_HYDRATION_REFERENCE_KEY] = $flagValue;
17-
}
18-
17+
/**
18+
* @inheritdoc
19+
*/
1920
public function getFlagFromValue(&$value): ?string
2021
{
2122
return $value[ValueProcessorInterface::VALUE_HYDRATION_REFERENCE_KEY] ?? null;

app/code/Magento/GraphQlResolverCache/Model/Resolver/Result/ValueProcessor/FlagSetter/Enumerable.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,24 @@
99

1010
use Magento\GraphQlResolverCache\Model\Resolver\Result\ValueProcessorInterface;
1111

12+
/**
13+
* Enumerable value flag setter/unsetter.
14+
*/
1215
class Enumerable implements FlagSetterInterface
1316
{
17+
/**
18+
* @inheritdoc
19+
*/
1420
public function setFlagOnValue(&$value, string $flagValue): void
1521
{
1622
foreach ($value as $key => $data) {
1723
$value[$key][ValueProcessorInterface::VALUE_HYDRATION_REFERENCE_KEY] = $flagValue;
1824
}
1925
}
2026

27+
/**
28+
* @inheritdoc
29+
*/
2130
public function unsetFlagFromValue(&$value): void
2231
{
2332
foreach ($value as $key => $data) {

app/code/Magento/GraphQlResolverCache/Model/Resolver/Result/ValueProcessor/FlagSetter/FlagSetterInterface.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,25 @@
77

88
namespace Magento\GraphQlResolverCache\Model\Resolver\Result\ValueProcessor\FlagSetter;
99

10+
/**
11+
* Sets a value processing flag on value and unsets flag from value.
12+
*/
1013
interface FlagSetterInterface
1114
{
15+
/**
16+
* Set the value processing flag on value.
17+
*
18+
* @param array $value
19+
* @param string $flagValue
20+
* @return void
21+
*/
1222
public function setFlagOnValue(&$value, string $flagValue): void;
1323

24+
/**
25+
* Unsets flag from value.
26+
*
27+
* @param array $value
28+
* @return void
29+
*/
1430
public function unsetFlagFromValue(&$value): void;
1531
}

app/code/Magento/GraphQlResolverCache/Model/Resolver/Result/ValueProcessor/FlagSetter/Generic.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,22 @@
99

1010
use Magento\GraphQlResolverCache\Model\Resolver\Result\ValueProcessorInterface;
1111

12+
/**
13+
* Generic flag value setter/unsetter.
14+
*/
1215
class Generic implements FlagSetterInterface
1316
{
17+
/**
18+
* @inheritdoc
19+
*/
1420
public function setFlagOnValue(&$value, string $flagValue): void
1521
{
1622
$value[ValueProcessorInterface::VALUE_HYDRATION_REFERENCE_KEY] = $flagValue;
1723
}
1824

25+
/**
26+
* @inheritdoc
27+
*/
1928
public function unsetFlagFromValue(&$value): void
2029
{
2130
unset($value[ValueProcessorInterface::VALUE_HYDRATION_REFERENCE_KEY]);

0 commit comments

Comments
 (0)