How do I handle multiple entities in Go graphql gqlgen config gqlgen.yml to generate separate resolvers for each

How do I modify gqlgen.yml to include multiple entities like:

if I have User and Todo and I want the auto-generate to happen like:

resolvers/user/user_mutation.resolvers.go / resolvers/user/user_query.resolvers.go resolvers/todo/todo_mutation.resolvers.go / resolvers/todo/todo_query.resolvers.go

Currently in gqlgen.yml am doing something like this:

schema:
  - graphql-gateway/schema/query.graphqls
  - graphql-gateway/schema/mutation.graphqls
  - graphql-gateway/schema/entities/user.graphqls
  - graphql-gateway/schema/entities/todo.graphqls
  - graphql-gateway/schema/entities/pagination.graphqls
  - graphql-gateway/schema/entities/common.graphqls

resolver:
  layout: follow-schema
  dir: graphql-gateway/resolvers
  package: resolvers

Below is what I want when I generate (the fallback if follow-schema fails should be the resolvers/resolver.go):

graphql-gateway/
├── model/
│   └── graphql_gen.go 
├── graph/
│   └── generated.go        
├── resolvers/
│   ├── resolver.go
│   └── todo/
│       ├── todo_mutation.resolvers.go
│       └── todo_query.resolvers.go
│   └── user/
│       ├── user_mutation.resolvers.go
│       └── user_query.resolvers.go

But when I generated based on the config I shared (which is based on other fields), I get this:

graphql-gateway/
├── model/
│   └── graphql_gen.go
├── graph/
│   └── generated.go
├── resolvers/
|.  |__ todo.resolvers.go
|.  |__ resolvers.go 
│   ├── mutation.resolvers.go
│   ├── query.resolvers.go
│   └── todo/
│       ├── todo.resolvers.go
│       └── todo.resolvers.go
│   └── user/
│       ├── user_mutation.resolvers.go
│       └── user_query.resolvers.go

I guess what am looking is how to modify gqlgen.yml to output the first structure 😎

Read more here: Source link