New middleware to limit visibility of schema elements
#417 aperta il 12 nov 2018
Metriche repository
- Star
- (1961 stelle)
- Metriche merge PR
- (Merge medio 8g 15h) (4 PR mergiate in 30 g)
Descrizione
The idea is to provide a middleware that allows to hide specific fields and types based on arbitrary logic. There hidden parts of the schema should be unavailable:
- During the execution
- During input value coercion (it should be possible to hide input as well as output types)
- During validation
- In the introspection results
The validation might be tricky since it is not aware of the middleware right now. On the other had, if for example a field is hidden, GraphQL query that uses the field should produce a violation during the validation phase. So maybe this feature needs to implemented as a new concept in the library and not necessarily as a middleware.
It should be possible to "hide" following elements of the schema:
- Type (input and output)
- Field (input and output)
- Argument
- Enum value
This idea is inspired by "Limiting Visibility" feature in graphql-ruby: