web-ridge / gqlgen-sqlboiler

This is a plugin for gqlgen to generate converts + filter queries and resolvers for sqlboiler
MIT License
74 stars 13 forks source link

resolver.go: undeclared name: Resolver #63

Closed kolomerot closed 7 months ago

kolomerot commented 2 years ago

go 1.16

gqlgen.yml and convert_plugin.go correspond example from README But in convert_plugin.go has been patched

    if err := gbgen.SchemaWrite(gbgen.SchemaConfig{
        BoilerModelDirectory: backend,
        // Directives:           []string{"IsAuthenticated"},
        // GenerateBatchCreate:  false, // Not implemented yet
        GenerateMutations:   false,
        GenerateBatchDelete: false,
        GenerateBatchUpdate: false,
    }, "schema.graphql", gbgen.SchemaGenerateConfig{

whitelist contain one table

occurs error

4:26PM DBG write GraphQL schema to disk bytes=2699 file=schema.graphql
schema.graphql 35ms
4:26PM DBG [convert] get boiler models
4:26PM DBG [convert] get extra's from schema
4:26PM DBG [convert] get model with information
4:26PM DBG [convert] render generated_convert.gotpl
4:26PM DBG [convert] rendered generated_convert.gotpl
4:26PM DBG [convert] render generated_convert_batch.gotpl
4:26PM DBG [convert] rendered generated_convert_batch.gotpl
4:26PM DBG [convert] render generated_convert_input.gotpl
4:26PM DBG [convert] rendered generated_convert_input.gotpl
4:26PM DBG [convert] render generated_filter.gotpl
4:26PM DBG [convert] rendered generated_filter.gotpl
4:26PM DBG [convert] render generated_preload.gotpl
4:26PM DBG [convert] rendered generated_preload.gotpl
4:26PM DBG [convert] render generated_sort.gotpl
4:26PM DBG [convert] rendered generated_sort.gotpl
4:26PM DBG [resolver] get boiler models
4:26PM DBG [resolver] get models with information
4:26PM DBG [resolver] generate file
error while trying generate resolver and converts
validation failed: packages.Load: /home/kaa/projects/production/services/apps/sports/winter/api/resolver.go:69:29: undeclared name: Resolver
/home/kaa/projects/production/services/apps/sports/winter/api/resolver.go:67:10: undeclared name: Resolver
/home/kaa/projects/production/services/apps/sports/winter/api/resolver.go:30:48: r.db undefined (type *queryResolver has no field or method db)
/home/kaa/projects/production/services/apps/sports/winter/api/resolver.go:44:50: r.db undefined (type *queryResolver has no field or method db)

exit status 3

In resolver_plugin.go HasRoot default has false. Therefore in template_files/generated_resolver.gotpl not insert define of Resolver

{{ if .HasRoot }}
    type {{.ResolverType}} struct {
        db *sql.DB
    }

    func New(db *sql.DB) *Resolver {
        return &Resolver{
            db: db,
        }
    }
{{ end }}
RichardLindhout commented 2 years ago

I would recommend generating the resolver in generated_resolver.go

and use resolver.go with

type Resolver struct {
        db *sql.DB
    }

    func New(db *sql.DB) *Resolver {
        return &Resolver{
            db: db,
        }
    }

to write. your custom resolvers in