diff --git a/src/ConstraintViolationException.php b/src/ConstraintViolationException.php index b5a0c5d..07422e2 100644 --- a/src/ConstraintViolationException.php +++ b/src/ConstraintViolationException.php @@ -28,16 +28,6 @@ public function isClientSafe(): bool return true; } - /** - * Returns string describing a category of the error. - * - * Value "graphql" is reserved for errors produced by query parsing or validation, do not use it. - */ - public function getCategory(): string - { - return 'Validate'; - } - /** * Returns the "extensions" object attached to the GraphQL error. * @@ -45,7 +35,7 @@ public function getCategory(): string */ public function getExtensions(): array { - $extensions = []; + $extensions = ['category' => 'Validate']; $code = $this->violation->getCode(); if (! empty($code)) { $extensions['code'] = $code; diff --git a/src/Mappers/Parameters/ParameterValidator.php b/src/Mappers/Parameters/ParameterValidator.php index 39d8a2f..d328808 100644 --- a/src/Mappers/Parameters/ParameterValidator.php +++ b/src/Mappers/Parameters/ParameterValidator.php @@ -6,6 +6,7 @@ use GraphQL\Type\Definition\InputType; use GraphQL\Type\Definition\ResolveInfo; +use GraphQL\Type\Definition\Type; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidatorFactoryInterface; use Symfony\Component\Validator\Context\ExecutionContext; @@ -40,13 +41,8 @@ public function __construct(InputTypeParameterInterface $parameter, string $para $this->translator = $translator; } - /** - * @param array $args - * @param mixed $context - * - * @return mixed - */ - public function resolve(object|null $source, array $args, $context, ResolveInfo $info) + /** @param array $args */ + public function resolve(object|null $source, array $args, mixed $context, ResolveInfo $info): mixed { $value = $this->parameter->resolve($source, $args, $context, $info); @@ -67,7 +63,7 @@ public function resolve(object|null $source, array $args, $context, ResolveInfo return $value; } - public function getType(): InputType + public function getType(): InputType&Type { return $this->parameter->getType(); } @@ -77,8 +73,7 @@ public function hasDefaultValue(): bool return $this->parameter->hasDefaultValue(); } - /** @return mixed */ - public function getDefaultValue() + public function getDefaultValue(): mixed { return $this->parameter->getDefaultValue(); } diff --git a/tests/ConstraintValidationExceptionTest.php b/tests/ConstraintValidationExceptionTest.php index cc89493..00af664 100644 --- a/tests/ConstraintValidationExceptionTest.php +++ b/tests/ConstraintValidationExceptionTest.php @@ -13,10 +13,9 @@ public function testException() $exception = new ConstraintViolationException(new ConstraintViolation('foo', 'foo {bar}', ['bar' => 'baz'], null, null, 'invalidValue', null, 'myCode')); $this->assertSame(400, $exception->getCode()); $this->assertTrue($exception->isClientSafe()); - $this->assertSame('Validate', $exception->getCategory()); - $this->assertSame(['code' => 'myCode'], $exception->getExtensions()); + $this->assertSame(['category' => 'Validate', 'code' => 'myCode'], $exception->getExtensions()); $exception = new ConstraintViolationException(new ConstraintViolation('foo', 'foo {bar}', ['bar' => 'baz'], null, null, 'invalidValue')); - $this->assertSame([], $exception->getExtensions()); + $this->assertSame(['category' => 'Validate'], $exception->getExtensions()); } }