github.com/99designs/gqlgen@v0.17.45/plugin/resolvergen/testdata/resolvertemplate/customResolverTemplate.gotpl (about) 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 }}