cms-niceties/_config/base-graphql.yml

39 lines
1.2 KiB
YAML

---
Name: webapp-base-graphql
After: graphqlconfig
---
SilverStripe\Control\Director:
rules:
'graphql': '%$SilverStripe\GraphQL\Controller.default'
SilverStripe\GraphQL\Controller:
cors:
Enabled: true
Allow-Origin: '*'
Allow-Headers: 'Authorization, Content-Type, Content-Language, apikey'
Allow-Methods: 'GET, PUT, DELETE, OPTIONS, POST'
#Allow-Credentials: 'true'
Max-Age: 600 # 600 seconds = 10 minutes.
SilverStripe\GraphQL\Auth\Handler:
authenticators:
- class: A2nt\CMSNiceties\GraphQL\APIKeyAuthenticator
priority: 30
SilverStripe\GraphQL\Manager.default:
properties:
Middlewares:
APIKeyMiddleware: A2nt\CMSNiceties\GraphQL\APIKeyMiddleware
SilverStripe\GraphQL\Manager:
schemas:
default:
types:
member: 'A2nt\CMSNiceties\GraphQL\MemberTypeCreator'
page: 'A2nt\CMSNiceties\GraphQL\PageTypeCreator'
element: 'A2nt\CMSNiceties\GraphQL\ElementTypeCreator'
queries:
readPages: 'A2nt\CMSNiceties\GraphQL\PaginatedReadPagesQueryCreator'
readMembers: 'A2nt\CMSNiceties\GraphQL\ReadMembersQueryCreator'
paginatedReadMembers: 'A2nt\CMSNiceties\GraphQL\PaginatedReadMembersQueryCreator'