Azure / Azure/data-api-builder
Support Relay GraphQL standard
- Dominant language
- C#
- Stars
- 1.5k
- Forks
- 370
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 9
Description
# Summary
Add support for the Relay GraphQL standard
# Motivation
Relay provides quite a lot of useful features to front-developers and given that fact that it is almost a de-facto standard, it means many libraries can provide implementation so that its usage can be ever easier. This is expected to drive adoption of tools like DAB.
# Functional Specifications
Relay is based on two core GraphQL "best practitices" that needs to be implemented in order to support Relay:
- [Complete Connection Model](https://graphql.org/learn/pagination/#complete-connection-model)
- [Global Object Identification](https://graphql.org/learn/global-object-identification/)
more details on the Relay site:
- [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm)
- [GraphQL Server Specification](https://relay.dev/docs/guides/graphql-server-specification/)
It should be possible to decide if to generate a Relay-compatible GraphQL schema or use the default one provided by Data API Builder, but setting a dedicated configuration option (in the `runtime` section) in the configuration file.
Contributor guide
Research direction
Start by reviewing the runtime section of the configuration file and the linked GraphQL and Relay specifications for the Complete Connection Model and Global Object Identification. Done means a dedicated option can select a Relay-compatible GraphQL schema while preserving the default Data API Builder schema.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql
- Domain
- api
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100