diff --git a/_config/graphql.yml b/_config/graphql.yml index 5d712b8d..2364fdc0 100644 --- a/_config/graphql.yml +++ b/_config/graphql.yml @@ -3,13 +3,6 @@ Name: cms-graphql Only: classexists: 'SilverStripe\GraphQL\Schema\Schema' --- -SilverStripe\Core\Injector\Injector: - SilverStripe\GraphQL\Schema\Registry\ResolverRegistry: - constructor: - cmsResolver: '%$SilverStripe\CMS\GraphQL\Resolver' - SilverStripe\GraphQL\Schema\Registry\PluginRegistry: - constructor: - linkable: '%$SilverStripe\CMS\GraphQL\LinkablePlugin' SilverStripe\CMS\Model\SiteTree: graphql_blacklisted_fields: HasBrokenFile: true @@ -20,28 +13,5 @@ SilverStripe\CMS\Model\SiteTree: SilverStripe\GraphQL\Schema\Schema: schemas: admin: - models: - Page: - fields: - id: true - lastEdited: true - absoluteLink: - type: String - operations: - copyToStage: true - rollback: true - readOne: true - SilverStripe\Security\Member: - fields: - id: true - firstName: true - surname: true - operations: - readOne: true - modelConfig: - DataObject: - operations: - read: - plugins: - getByLink: - after: filter + src: + - 'silverstripe/cms: _graphql' diff --git a/_graphql/config.yml b/_graphql/config.yml new file mode 100644 index 00000000..c0bd2ba8 --- /dev/null +++ b/_graphql/config.yml @@ -0,0 +1,9 @@ +resolvers: + - 'SilverStripe\CMS\GraphQL\Resolver' +modelConfig: + DataObject: + operations: + read: + plugins: + getByLink: + after: filter diff --git a/_graphql/models.yml b/_graphql/models.yml new file mode 100644 index 00000000..6a352b1c --- /dev/null +++ b/_graphql/models.yml @@ -0,0 +1,17 @@ +Page: + fields: + id: true + lastEdited: true + absoluteLink: + type: String + operations: + copyToStage: true + rollback: true + readOne: true +SilverStripe\Security\Member: + fields: + id: true + firstName: true + surname: true + operations: + readOne: true diff --git a/code/GraphQL/Resolver.php b/code/GraphQL/Resolver.php index 1d6b6b51..0dac373a 100644 --- a/code/GraphQL/Resolver.php +++ b/code/GraphQL/Resolver.php @@ -4,13 +4,8 @@ namespace SilverStripe\CMS\GraphQL; use SilverStripe\CMS\Model\SiteTree; -use SilverStripe\GraphQL\Schema\Resolver\DefaultResolverProvider; -if (!class_exists(DefaultResolverProvider::class)) { - return; -} - -class Resolver extends DefaultResolverProvider +class Resolver { public static function resolveGetPageByLink($obj, array $args = []) {