...
1{{ reserveImport "context" }}
2{{ reserveImport "fmt" }}
3{{ reserveImport "io" }}
4{{ reserveImport "strconv" }}
5{{ reserveImport "time" }}
6{{ reserveImport "sync" }}
7{{ reserveImport "errors" }}
8{{ reserveImport "bytes" }}
9{{ reserveImport "encoding/json" }}
10
11{{ reserveImport "github.com/vektah/gqlparser/v2" }}
12{{ reserveImport "github.com/vektah/gqlparser/v2/ast" }}
13{{ reserveImport "github.com/99designs/gqlgen/graphql" }}
14{{ reserveImport "github.com/99designs/gqlgen/graphql/introspection" }}
15
16{{ .Imports }}
17
18{{ if .HasRoot }}
19 type {{.ResolverType}} struct {}
20{{ end }}
21
22{{ range $resolver := .Resolvers -}}
23 {{ if $resolver.Comment -}}
24 // {{ $resolver.Comment }}
25 {{- else if not $.OmitTemplateComment -}}
26 // {{ $resolver.Field.GoFieldName }} is the resolver for the {{ $resolver.Field.Name }} field.
27 {{- end }}
28 func (r *{{lcFirst $resolver.Object.Name}}{{ucFirst $.ResolverType}}) {{$resolver.Field.GoFieldName}}{{ with $resolver.PrevDecl }}{{ $resolver.Field.ShortResolverSignature .Type }}{{ else }}{{ $resolver.Field.ShortResolverDeclaration }}{{ end }}{
29 // Custom Resolver implementation
30 panic(fmt.Errorf("custom Resolver not implemented: {{ $resolver.Field.GoFieldName }} - {{lcFirst $resolver.Field.GoFieldName }}"))
31 }
32
33{{ end }}
34
35{{ range $object := .Objects -}}
36 {{ if not $.OmitTemplateComment -}}
37 // {{ucFirst $object.Name}} returns {{ $object.ResolverInterface | ref }} implementation.
38 {{- end }}
39 func (r *{{$.ResolverType}}) {{ucFirst $object.Name}}() {{ $object.ResolverInterface | ref }} { return &{{lcFirst $object.Name}}{{ucFirst $.ResolverType}}{r} }
40{{ end }}
41
42{{ range $object := .Objects -}}
43 type {{lcFirst $object.Name}}{{ucFirst $.ResolverType}} struct { *{{$.ResolverType}} }
44{{ end }}
45
46{{ if (ne .RemainingSource "") }}
47 // !!! WARNING !!!
48 // The code below was going to be deleted when updating resolvers. It has been copied here so you have
49 // one last chance to move it out of harms way if you want. There are two reasons this happens:
50 // - When renaming or deleting a resolver the old code will be put in here. You can safely delete
51 // it when you're done.
52 // - You have helper methods in this file. Move them out to keep these resolver files clean.
53 {{ .RemainingSource }}
54{{ end }}
View as plain text