99designs / gqlgen

go generate based graphql server library

Home Page:https://gqlgen.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to skip gqlgen to generate resolver for specific field

fekuna opened this issue · comments

What happened?

I wanted gqlgen to skip creating a resolver for a specific field, in this case, to skip creating a resolver for the "permissions" field. Can gqlgen accomplish this?

type Role {
  id: UUID!
  name: String!
  displayName: String!
  description: String
  permissions: [RolePermissions]
  createdAt: Time!
  updatedAt: Time!
}

type RolePermissions {
  id: UUID!
  parentId: UUID
  name: String!
  displayName: String!
  children: [RolePermissions]!
  createdAt: Time!
  updatedAt: Time!
}

I added "resolver: false" to the gqlgen.yml configuration file, but it didn't work as expected. This feature seems to only force gqlgen to generate a resolver, not skip it.

Role:
    model: models.Role
    fields:
      permissions:
        resolver: false

What did you expect?

When I ran the generate command, I expected gqlgen to skip creating the following resolver:

// Permissions is the resolver for the permissions field.
func (r *roleResolver) Permissions(ctx context.Context, obj *models.Role) ([]*graphqlModels.RolePermissions, error) {
	panic(fmt.Errorf("not implemented: Permissions - permissions"))
}

versions

  • go run github.com/99designs/gqlgen version? v0.17.40
  • go version? 1.21.6