From bec603c37c0434c36326b74010591cff8f4f7423 Mon Sep 17 00:00:00 2001 From: David ALLIX Date: Sat, 24 Sep 2022 19:33:53 +0200 Subject: [PATCH] fix(graphql): handle enum type --- src/GraphQl/Type/TypeConverter.php | 3 +++ tests/GraphQl/Type/TypeConverterTest.php | 1 + 2 files changed, 4 insertions(+) diff --git a/src/GraphQl/Type/TypeConverter.php b/src/GraphQl/Type/TypeConverter.php index c76a70256b3..b9009a521fe 100644 --- a/src/GraphQl/Type/TypeConverter.php +++ b/src/GraphQl/Type/TypeConverter.php @@ -68,6 +68,9 @@ public function convertType(Type $type, bool $input, Operation $rootOperation, s if (is_a($type->getClassName(), \DateTimeInterface::class, true)) { return GraphQLType::string(); } + if (is_a($type->getClassName(), \BackedEnum::class, true)) { + return GraphQLType::string(); + } return $this->getResourceType($type, $input, $rootOperation, $rootResource, $property, $depth); default: diff --git a/tests/GraphQl/Type/TypeConverterTest.php b/tests/GraphQl/Type/TypeConverterTest.php index aec61a133a5..ea4eea3d4e0 100644 --- a/tests/GraphQl/Type/TypeConverterTest.php +++ b/tests/GraphQl/Type/TypeConverterTest.php @@ -85,6 +85,7 @@ public function convertTypeProvider(): array [new Type(Type::BUILTIN_TYPE_ARRAY), false, 0, 'Iterable'], [new Type(Type::BUILTIN_TYPE_ITERABLE), false, 0, 'Iterable'], [new Type(Type::BUILTIN_TYPE_OBJECT, false, \DateTimeInterface::class), false, 0, GraphQLType::string()], + [new Type(Type::BUILTIN_TYPE_OBJECT, false, \BackedEnum::class), false, 0, GraphQLType::string()], [new Type(Type::BUILTIN_TYPE_OBJECT), false, 0, null], [new Type(Type::BUILTIN_TYPE_CALLABLE), false, 0, null], [new Type(Type::BUILTIN_TYPE_NULL), false, 0, null],