- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
52 lines
973 B
PHP
52 lines
973 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Framework\GraphQL;
|
|
|
|
/**
|
|
* Represents a GraphQL execution result
|
|
*/
|
|
final readonly class GraphQLResult
|
|
{
|
|
/**
|
|
* @param array<string, mixed>|null $data
|
|
* @param array<array{message: string, extensions?: array}>|null $errors
|
|
*/
|
|
public function __construct(
|
|
public ?array $data = null,
|
|
public ?array $errors = null
|
|
) {
|
|
}
|
|
|
|
public function hasErrors(): bool
|
|
{
|
|
return ! empty($this->errors);
|
|
}
|
|
|
|
public function hasData(): bool
|
|
{
|
|
return $this->data !== null;
|
|
}
|
|
|
|
public function isSuccess(): bool
|
|
{
|
|
return ! $this->hasErrors() && $this->hasData();
|
|
}
|
|
|
|
public function toArray(): array
|
|
{
|
|
$result = [];
|
|
|
|
if ($this->hasData()) {
|
|
$result['data'] = $this->data;
|
|
}
|
|
|
|
if ($this->hasErrors()) {
|
|
$result['errors'] = $this->errors;
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
}
|