99designs / gqlgen

go generate based graphql server library
https://gqlgen.com
MIT License
9.94k stars 1.16k forks source link

omit_resolver_fields option does not respect `models.<model>.fields.<field>.resolver` option #3044

Open aereal opened 5 months ago

aereal commented 5 months ago

What happened?

The omit_resolver_fields option that introduced by https://github.com/99designs/gqlgen/pull/2957 does not respect models.<model>.fields.<field>.resolver option, only schema directives are respected.

gqlgen.yml

# testdata/gqlgen_omit_resolver_fields_with_explicit_resolver.yml
schema:
  - "schema_omit_resolver_fields_with_explicit_resolver.graphql"

exec:
  filename: out_omit_resolver_fields/ignored.go
model:
  filename: out_omit_resolver_fields/generated.go

omit_resolver_fields: true
models:
  Base:
    fields:
      ResolverField:
        resolver: true

schema.graphql

# testdata/schema_omit_resolver_fields_with_explicit_resolver.graphql
type Base {
    StandardField: String!
    ResolverField: String!
}

What did you expect?

The models.<model>.fields.<field>.resolver option marks the field to be resolved with explit resolvers, so the omit_resolver_fields should respect also this option.

Minimal graphql.schema and models to reproduce

type Base {
    StandardField: String!
    ResolverField: String!
}

versions

aereal commented 5 months ago

I have the intention to fix this bug: #3045.

If this issue treated as the simple bug, I'll open #3045.