50 lines
1.0 KiB
PHP
50 lines
1.0 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace WPGraphQL;
|
||
|
|
|
||
|
|
use GraphQL\Error\UserError;
|
||
|
|
use GraphQL\Executor\Executor;
|
||
|
|
use GraphQL\Schema;
|
||
|
|
use GraphQL\Type\Definition\FieldDefinition;
|
||
|
|
use GraphQL\Type\Definition\ObjectType;
|
||
|
|
use GraphQL\Type\Definition\ResolveInfo;
|
||
|
|
use WPGraphQL\Type\WPObjectType;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Class WPSchema
|
||
|
|
*
|
||
|
|
* Extends the Schema to make some properties accessible via hooks/filters
|
||
|
|
*
|
||
|
|
* @package WPGraphQL
|
||
|
|
*/
|
||
|
|
class WPSchema extends Schema {
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Holds the $filterable_config which allows WordPress access to modifying the
|
||
|
|
* $config that gets passed down to the Executable Schema
|
||
|
|
*
|
||
|
|
* @var array|null
|
||
|
|
* @since 0.0.9
|
||
|
|
*/
|
||
|
|
public $filterable_config;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* WPSchema constructor.
|
||
|
|
*
|
||
|
|
* @param array|null $config
|
||
|
|
*
|
||
|
|
* @since 0.0.9
|
||
|
|
*/
|
||
|
|
public function __construct( $config ) {
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Set the $filterable_config as the $config that was passed to the WPSchema when instantiated
|
||
|
|
*
|
||
|
|
* @since 0.0.9
|
||
|
|
*/
|
||
|
|
$this->filterable_config = apply_filters( 'graphql_schema_config', $config );
|
||
|
|
parent::__construct( $this->filterable_config );
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|