Version 5 supported

Extending the schema

Adding a custom operation
Add a new operation for model types
Adding middleware
Add middleware to to extend query execution
Adding a custom model
Add a new class-backed type beyond DataObject
The global schema
How to push modifications to every schema in the project

The global schema

Developers of thirdparty modules that influence GraphQL schemas may want to take advantage of the global schema. This is a pseudo-schema that will merge itself with all other schemas that have been defined. A good use case is in the silverstripe/versioned module, where it is critical that all schemas can leverage its schema modifications.

The global schema is named *.

# app/_config/graphql.yml
SilverStripe\GraphQL\Schema\Schema:
  schemas:
    '*':
      enums:
        VersionedStage:
          DRAFT: DRAFT
          LIVE: LIVE

Further reading

Adding a custom operation
Add a new operation for model types
Adding middleware
Add middleware to to extend query execution
Adding a custom model
Add a new class-backed type beyond DataObject
The global schema
How to push modifications to every schema in the project