graphql-python / graphql-python/gql

Automatically infer Type of Queries

Abierto
#373 0 comentarios 1 reacción 0 asignados Ver en GitHub
type: feature
Lenguaje dominante
Python
Estrellas
1.7k
Forks
195
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

For the following query on https://countries.trevorblades.com/
```
query GetCountries {
countries {
name
}
}
```
The snippet to generate this dynamically using gql is:
```
dsl_gql(
GetCountries=DSLQuery(
ds.Query.countries.select(ds.Country.name)
)
)
```
Notice that in the raw graphql I just mentioned `name` instead of `Country.name`. As the schema already lays out the return types of all queries, graphql is able to figure it out automatically.
```
""" schema.graphql """
type Query {
...
countries(filter: CountryFilterInput): [Country!]!
...
}

type Country {
...
name: String!
...
}
```
Would it be possible to modify `.select()` to auto-select objects of the query type by their name?
Maybe something like:
```
dsl_gql(
GetCountries=DSLQuery(
ds.Query.countries.select("name", DSLAutoSelectable("continent").select("name"))
)
)
```
Resulting graphql
```
query GetCountries {
countries {
name
continent {
name
}
}
}
```

Note: The sgqlc library has a `__fields__()` method which can get the *immediate* scalars by name: https://github.com/profusion/sgqlc/blob/465a5e800f8b408ceafe25cde45ee0bde4912482/sgqlc/operation/__init__.py#L390

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.