Use sql.NullString & Co. declaring them in gqlgen.yml config file
- Lenguaje dominante
- Go
- Estrellas
- 10.8k
- Forks
- 1.3k
- Merge medio
- 2 d 36 min
- PR fusionados (30 d)
- 26
Descripción
### What happened?
I'm trying to avoid pointers as my structs fields.
But `gqlgen` generates struct like:
```go
type User struct {
ID uint64 `json:"id"`
Nickname string `json:"lastname"`
Img *string `json:"img"`
}
```
with `*string` as you can see.
### What did you expect?
I would like to use something like this in `gqlgen.yml` config file:
```yml
models:
String:
model:
- github.com/99designs/gqlgen/graphql.String
- github.com/99designs/gqlgen/graphql.NullString
# or maybe also:
- database/sql.NullString
```
So to have this instead:
```go
type User struct {
ID uint64 `json:"id"`
Nickname string `json:"lastname"`
Img sql.NullString `json:"img"`
}
```
Guía de contribución
Línea de trabajo
El issue trata de modificar la generación de código de gqlgen para admitir sql.NullString y tipos similares mediante la configuración de gqlgen.yml. Empieza examinando la lógica de generación de código de la biblioteca gqlgen, especialmente en torno al mapeo de modelos y la resolución de tipos. Busca dónde se determinan los tipos de los campos y cómo se analiza el archivo de configuración. El objetivo es permitir tipos nullable que no sean punteros en los structs generados. Revisa los tests existentes para la generación de modelos para entender el comportamiento esperado y añade nuevos tests para la nueva opción de configuración.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- go
- Área
- backend-api-design
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 45/100