Skip to content

Commit

Permalink
Add case for resolvers_always_return_pointers:false (#2966)
Browse files Browse the repository at this point in the history
Co-authored-by: Jesse Lovelace <jesse.lovelace@gmail.com>
  • Loading branch information
jesse-apollo and mentat committed Mar 11, 2024
1 parent 0d24aa9 commit caf1faa
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
9 changes: 6 additions & 3 deletions plugin/federation/federation.go
Expand Up @@ -420,9 +420,12 @@ func (f *federation) GenerateCode(data *codegen.Data) error {
}

return templates.Render(templates.Options{
PackageName: data.Config.Federation.Package,
Filename: data.Config.Federation.Filename,
Data: f,
PackageName: data.Config.Federation.Package,
Filename: data.Config.Federation.Filename,
Data: struct {
federation
UsePointers bool
}{*f, data.Config.ResolversAlwaysReturnPointers},
GeneratedHeader: true,
Packages: data.Config.Packages,
Template: federationTemplate,
Expand Down
3 changes: 2 additions & 1 deletion plugin/federation/federation.gotpl
Expand Up @@ -6,6 +6,7 @@

{{ reserveImport "github.com/99designs/gqlgen/plugin/federation/fedruntime" }}
{{ $options := .PackageOptions }}
{{ $usePointers := .UsePointers }}

var (
ErrUnknownType = errors.New("unknown type")
Expand Down Expand Up @@ -105,7 +106,7 @@ func (ec *executionContext) __resolve_entities(ctx context.Context, representati
return fmt.Errorf(`resolving Entity "{{$entity.Def.Name}}": %w`, err)
}
{{ if and (index $options "explicit_requires") $entity.Requires }}
err = ec.Populate{{$entity.Def.Name}}Requires(ctx, entity, rep)
err = ec.Populate{{$entity.Def.Name}}Requires(ctx, {{- if (not $usePointers) -}}&{{- end -}}entity, rep)
if err != nil {
return fmt.Errorf(`populating requires for Entity "{{$entity.Def.Name}}": %w`, err)
}
Expand Down

0 comments on commit caf1faa

Please sign in to comment.