| @@ 13-56 (lines=44) @@ | ||
| 10 | /** |
|
| 11 | * Registers graphql explorer routes for all schemas. |
|
| 12 | */ |
|
| 13 | class ExplorerRoutes extends RouteSubscriberBase { |
|
| 14 | ||
| 15 | /** |
|
| 16 | * The graphql schema plugin manager. |
|
| 17 | * |
|
| 18 | * @var \Drupal\graphql\Plugin\GraphQL\SchemaPluginManager |
|
| 19 | */ |
|
| 20 | protected $schemaManager; |
|
| 21 | ||
| 22 | /** |
|
| 23 | * Constructs a QueryRoutes object. |
|
| 24 | * |
|
| 25 | * @param \Drupal\graphql\Plugin\GraphQL\SchemaPluginManager $schemaManager |
|
| 26 | * The graphql schema plugin manager. |
|
| 27 | */ |
|
| 28 | public function __construct(SchemaPluginManager $schemaManager) { |
|
| 29 | $this->schemaManager = $schemaManager; |
|
| 30 | } |
|
| 31 | ||
| 32 | /** |
|
| 33 | * Alters existing routes for a specific collection. |
|
| 34 | * |
|
| 35 | * @param \Symfony\Component\Routing\RouteCollection $collection |
|
| 36 | * The route collection for adding routes. |
|
| 37 | */ |
|
| 38 | protected function alterRoutes(RouteCollection $collection) { |
|
| 39 | $routes = new RouteCollection(); |
|
| 40 | ||
| 41 | foreach ($this->schemaManager->getDefinitions() as $key => $definition) { |
|
| 42 | $routes->add("graphql.explorer.$key", new Route("{$definition['path']}/explorer", [ |
|
| 43 | 'schema' => $key, |
|
| 44 | '_controller' => '\Drupal\graphql\Controller\ExplorerController::viewExplorer', |
|
| 45 | '_title' => 'GraphiQL', |
|
| 46 | ], [ |
|
| 47 | '_permission' => 'use graphql explorer', |
|
| 48 | ], [ |
|
| 49 | '_admin_route' => 'TRUE', |
|
| 50 | ])); |
|
| 51 | } |
|
| 52 | ||
| 53 | $collection->addCollection($routes); |
|
| 54 | } |
|
| 55 | ||
| 56 | } |
|
| 57 | ||
| @@ 13-56 (lines=44) @@ | ||
| 10 | /** |
|
| 11 | * Registers graphql query routes for all schemas. |
|
| 12 | */ |
|
| 13 | class QueryRoutes extends RouteSubscriberBase { |
|
| 14 | ||
| 15 | /** |
|
| 16 | * The graphql schema plugin manager. |
|
| 17 | * |
|
| 18 | * @var \Drupal\graphql\Plugin\GraphQL\SchemaPluginManager |
|
| 19 | */ |
|
| 20 | protected $schemaManager; |
|
| 21 | ||
| 22 | /** |
|
| 23 | * Constructs a QueryRoutes object. |
|
| 24 | * |
|
| 25 | * @param \Drupal\graphql\Plugin\GraphQL\SchemaPluginManager $schemaManager |
|
| 26 | * The graphql schema plugin manager. |
|
| 27 | */ |
|
| 28 | public function __construct(SchemaPluginManager $schemaManager) { |
|
| 29 | $this->schemaManager = $schemaManager; |
|
| 30 | } |
|
| 31 | ||
| 32 | /** |
|
| 33 | * Alters existing routes for a specific collection. |
|
| 34 | * |
|
| 35 | * @param \Symfony\Component\Routing\RouteCollection $collection |
|
| 36 | * The route collection for adding routes. |
|
| 37 | */ |
|
| 38 | protected function alterRoutes(RouteCollection $collection) { |
|
| 39 | $routes = new RouteCollection(); |
|
| 40 | ||
| 41 | foreach ($this->schemaManager->getDefinitions() as $key => $definition) { |
|
| 42 | $routes->add("graphql.query.$key", new Route($definition['path'], [ |
|
| 43 | 'schema' => $key, |
|
| 44 | '_graphql' => [ |
|
| 45 | 'single' => '\Drupal\graphql\Controller\RequestController::handleRequest', |
|
| 46 | 'multiple' => '\Drupal\graphql\Controller\RequestController::handleBatchRequest', |
|
| 47 | ], |
|
| 48 | ], [ |
|
| 49 | '_graphql_query_access' => 'TRUE', |
|
| 50 | ])); |
|
| 51 | } |
|
| 52 | ||
| 53 | $collection->addCollection($routes); |
|
| 54 | } |
|
| 55 | ||
| 56 | } |
|
| 57 | ||
| @@ 13-56 (lines=44) @@ | ||
| 10 | /** |
|
| 11 | * Registers graphql voyager routes for all schemas. |
|
| 12 | */ |
|
| 13 | class VoyagerRoutes extends RouteSubscriberBase { |
|
| 14 | ||
| 15 | /** |
|
| 16 | * The graphql schema plugin manager. |
|
| 17 | * |
|
| 18 | * @var \Drupal\graphql\Plugin\GraphQL\SchemaPluginManager |
|
| 19 | */ |
|
| 20 | protected $schemaManager; |
|
| 21 | ||
| 22 | /** |
|
| 23 | * Constructs a QueryRoutes object. |
|
| 24 | * |
|
| 25 | * @param \Drupal\graphql\Plugin\GraphQL\SchemaPluginManager $schemaManager |
|
| 26 | * The graphql schema plugin manager. |
|
| 27 | */ |
|
| 28 | public function __construct(SchemaPluginManager $schemaManager) { |
|
| 29 | $this->schemaManager = $schemaManager; |
|
| 30 | } |
|
| 31 | ||
| 32 | /** |
|
| 33 | * Alters existing routes for a specific collection. |
|
| 34 | * |
|
| 35 | * @param \Symfony\Component\Routing\RouteCollection $collection |
|
| 36 | * The route collection for adding routes. |
|
| 37 | */ |
|
| 38 | protected function alterRoutes(RouteCollection $collection) { |
|
| 39 | $routes = new RouteCollection(); |
|
| 40 | ||
| 41 | foreach ($this->schemaManager->getDefinitions() as $key => $definition) { |
|
| 42 | $routes->add("graphql.voyager.$key", new Route("{$definition['path']}/voyager", [ |
|
| 43 | 'schema' => $key, |
|
| 44 | '_controller' => '\Drupal\graphql\Controller\VoyagerController::viewVoyager', |
|
| 45 | '_title' => 'GraphQL Voyager', |
|
| 46 | ], [ |
|
| 47 | '_permission' => 'use graphql voyager', |
|
| 48 | ], [ |
|
| 49 | '_admin_route' => 'TRUE', |
|
| 50 | ])); |
|
| 51 | } |
|
| 52 | ||
| 53 | $collection->addCollection($routes); |
|
| 54 | } |
|
| 55 | ||
| 56 | } |
|
| 57 | ||
| @@ 13-58 (lines=46) @@ | ||
| 10 | /** |
|
| 11 | * Registers routes for all configurable schemas. |
|
| 12 | */ |
|
| 13 | class ConfigurationRoutes extends RouteSubscriberBase { |
|
| 14 | ||
| 15 | /** |
|
| 16 | * The graphql schema plugin manager. |
|
| 17 | * |
|
| 18 | * @var \Drupal\graphql\Plugin\GraphQL\SchemaPluginManager |
|
| 19 | */ |
|
| 20 | protected $schemaManager; |
|
| 21 | ||
| 22 | /** |
|
| 23 | * Constructs a QueryRoutes object. |
|
| 24 | * |
|
| 25 | * @param \Drupal\graphql\Plugin\GraphQL\SchemaPluginManager $schemaManager |
|
| 26 | * The graphql schema plugin manager. |
|
| 27 | */ |
|
| 28 | public function __construct(SchemaPluginManager $schemaManager) { |
|
| 29 | $this->schemaManager = $schemaManager; |
|
| 30 | } |
|
| 31 | ||
| 32 | /** |
|
| 33 | * Alters existing routes for a specific collection. |
|
| 34 | * |
|
| 35 | * @param \Symfony\Component\Routing\RouteCollection $collection |
|
| 36 | * The route collection for adding routes. |
|
| 37 | */ |
|
| 38 | protected function alterRoutes(RouteCollection $collection) { |
|
| 39 | $routes = new RouteCollection(); |
|
| 40 | ||
| 41 | foreach ($this->schemaManager->getDefinitions() as $key => $definition) { |
|
| 42 | if (empty($definition['uses_plugins'])) { |
|
| 43 | continue; |
|
| 44 | } |
|
| 45 | ||
| 46 | $routes->add("graphql.configuration.$key", new Route("{$definition['path']}/configure", [ |
|
| 47 | 'schema' => $key, |
|
| 48 | '_controller' => '\Drupal\graphql\Controller\ConfigurationController::configurationOverview', |
|
| 49 | '_title' => 'Configuration', |
|
| 50 | ], [ |
|
| 51 | '_admin_route' => 'TRUE', |
|
| 52 | ])); |
|
| 53 | } |
|
| 54 | ||
| 55 | $collection->addCollection($routes); |
|
| 56 | } |
|
| 57 | ||
| 58 | } |
|
| 59 | ||