[WIP] 1st PoC for typed gql queries design doc #2367
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a very simple PoC to leverage https://github.com/profusion/sgqlc as a gql client and code generator.
Background
Design Doc
Based on idea https://gitlab.cee.redhat.com/service/app-interface/-/blob/master/docs/app-sre/design-docs/gql-client-for-go-integrations.md
GraphQL data is currently used in un-typed nested dictionaries. Adding type safety will increase maintainability of the code base. Non-compliant schema changes (some integrations are using a schema that you might not be aware of) are more likely to raise errors during development. The idea would be to gradually migrate to typed queries over time, i.e., use the new
typed_gql_query.py
whenever a good occasion occurs.query.py
andtyped_gql_query.py
can co-exist.All .py files in
schema
directory are generated. Only .gql query files are manually written to clearly define the queryOpen Issue
No static type checking currently supported. While theoretically doable, it would require an upstream contribution.
profusion/sgqlc#129 (comment)