-
Notifications
You must be signed in to change notification settings - Fork 103
Closed
Description
Enum class:
namespace App\Enum;
use MyCLabs\Enum\Enum;
class TaskStatus extends Enum
{
public const STATUS_TO_DO = 1;
public const STATUS_DOING = 2;
public const STATUS_DONE = 3;
}
Entity:
/**
* @Type()
*/
class Task
{
private int $status;
/**
* @Field()
* @return TaskStatus
*/
public function getStatusEnum(): TaskStatus
{
return new TaskStatus($this->status);
}
}
GraphQL request:
query {
getTask{status}
}
Result:
{
"errors": [
{
"type": "GraphQL\\Error\\InvariantViolation",
"message": "Expected a value of type \"MyCLabsEnum___App__Enum__TaskStatus\" but received: 2",
"file": "/app/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php",
"line": 976,
"trace": [
{
"file": "/app/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php",
"line": 976,
"function": null,
"class": "GraphQL\\Error\\InvariantViolation",
"args": [
"Expected a value of type \"MyCLabsEnum___App__Enum__TaskStatus\" but received: 2"
]
},
{
"file": "[internal]",
"line": 0,
"function": "GraphQL\\Executor\\{closure}",
"class": "GraphQL\\Executor\\ReferenceExecutor",
"args": [
[],
"changeStatusTask"
]
},
{
"file": "/app/vendor/webonyx/graphql-php/src/Type/Definition/EnumType.php",
"line": 138,
"function": null,
"class": "GraphQL\\Error\\Error",
"args": [
"Cannot serialize value as enum: 2"
]
},
{
"file": "/app/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php",
"line": 974,
"function": "serialize",
"class": "GraphQL\\Type\\Definition\\EnumType",
"args": [
2
]
},
{
"file": "/app/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php",
"line": 846,
"function": "completeLeafValue",
"class": "GraphQL\\Executor\\ReferenceExecutor",
"args": [
"MyCLabsEnum___App__Enum__TaskStatus",
2
]
},
Metadata
Metadata
Assignees
Labels
No labels