Skip to content

Commit 332fd27

Browse files
committed
AC-7976::[Issue] Introduced support of custom scalar types for GraphQL schema
1 parent ca0b227 commit 332fd27

File tree

7 files changed

+27
-11
lines changed

7 files changed

+27
-11
lines changed

app/code/Magento/GraphQl/Controller/GraphQl.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ public function dispatch(RequestInterface $request): ResponseInterface
216216
$jsonResult->renderResult($this->httpResponse);
217217

218218
// log information about the query, unless it is an introspection query
219-
if (!isset($query) || strpos($query, 'IntrospectionQuery') === false) {
219+
if (strpos($query, 'IntrospectionQuery') === false) {
220220
$queryInformation = $this->logDataHelper->getLogData($request, $data, $schema, $this->httpResponse);
221221
$this->loggerPool->execute($queryInformation);
222222
}

lib/internal/Magento/Framework/GraphQl/Config/Element/Scalar.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ public function __construct(
4646
}
4747

4848
/**
49+
* Returns scalar element name
50+
*
4951
* @return string
5052
*/
5153
public function getName(): string
@@ -54,6 +56,8 @@ public function getName(): string
5456
}
5557

5658
/**
59+
* Returns scalar element description
60+
*
5761
* @return string
5862
*/
5963
public function getDescription(): string
@@ -62,6 +66,8 @@ public function getDescription(): string
6266
}
6367

6468
/**
69+
* Returns scalar element implementation
70+
*
6571
* @return string
6672
*/
6773
public function getImplementation(): string

lib/internal/Magento/Framework/GraphQl/Schema/Type/CustomScalarType.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
/**
1111
* Wrapper for CustomScalarType
1212
*/
13-
class CustomScalarType extends \GraphQL\Type\Definition\CustomScalarType implements InputTypeInterface, OutputTypeInterface
13+
class CustomScalarType extends \GraphQL\Type\Definition\CustomScalarType implements
14+
InputTypeInterface,
15+
OutputTypeInterface
1416
{
1517

1618
}

lib/internal/Magento/Framework/GraphQl/Schema/Type/Scalar/CustomScalarInterface.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,23 @@ interface CustomScalarInterface
1515
/**
1616
* Serialize Value
1717
*
18-
* @param $value
18+
* @param mixed $value
1919
* @return mixed
2020
*/
2121
public function serialize($value);
2222

2323
/**
2424
* Parse Value
2525
*
26-
* @param $value
26+
* @param mixed $value
2727
* @return mixed
2828
*/
2929
public function parseValue($value);
3030

3131
/**
3232
* Parse literal
3333
*
34-
* @param $valueNode
34+
* @param mixed $valueNode
3535
* @param array|null $variables
3636
* @return mixed
3737
*/

lib/internal/Magento/Framework/GraphQl/Schema/Type/Scalar/Scalar.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
*/
1717
class Scalar extends CustomScalarType
1818
{
19+
/**
20+
* @param ScalarElement $configElement
21+
* @param ScalarRegistry $scalarRegistry
22+
*/
1923
public function __construct(
2024
ScalarElement $configElement,
2125
ScalarRegistry $scalarRegistry
@@ -25,15 +29,18 @@ public function __construct(
2529
'name' => $configElement->getName(),
2630
'description' => $configElement->getDescription(),
2731
'serialize' =>
28-
static function($value) use ($scalar) {return $scalar->serialize($value);},
32+
static function ($value) use ($scalar) {
33+
return $scalar->serialize($value);
34+
},
2935
'parseValue' =>
30-
static function($value) use ($scalar) {return $scalar->parseValue($value);},
36+
static function ($value) use ($scalar) {
37+
return $scalar->parseValue($value);
38+
},
3139
'parseLiteral' =>
32-
static function(Node $valueNode, ?array $variables = null) use ($scalar) {
40+
static function (Node $valueNode, ?array $variables = null) use ($scalar) {
3341
return $scalar->parseLiteral($valueNode, $variables);
3442
},
3543
];
3644
parent::__construct($config);
3745
}
38-
3946
}

lib/internal/Magento/Framework/GraphQl/Schema/Type/Scalar/ScalarRegistry.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use Magento\Framework\ObjectManagerInterface;
1212

1313
/**
14-
*
14+
* It provides method to retrieve custom scalar implementations
1515
*/
1616
class ScalarRegistry
1717
{

lib/internal/Magento/Framework/GraphQlSchemaStitching/GraphQlReader/Reader/ScalarType.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,9 @@ public function read(\GraphQL\Type\Definition\Type $typeMeta) : array
5757
}
5858
}
5959

60-
6160
/**
61+
* Retrieve the type resolver class name
62+
*
6263
* @param \GraphQL\Type\Definition\Type $interfaceTypeMeta
6364
* @return string
6465
*/

0 commit comments

Comments
 (0)