Version 4 supported
This version of Silverstripe CMS is still supported though will not receive any additional features. Go to documentation for the most recent stable version.

Extending the schema

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

You are viewing docs for silverstripe/graphql 4.x. If you are using 3.x, documentation can be found in the GitHub repository

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