...
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
10{{ reserveImport "github.com/vektah/gqlparser/v2" }}
11{{ reserveImport "github.com/vektah/gqlparser/v2/ast" }}
12{{ reserveImport "github.com/99designs/gqlgen/graphql" }}
13{{ reserveImport "github.com/99designs/gqlgen/graphql/introspection" }}
14
15{{ $root := . }}
16
17type {{$root.TypeName}} struct {
18 {{ range $object := .Objects }}
19 {{- if $object.HasResolvers }}
20 {{$object.Name}}Resolver struct {
21 {{- range $field := $object.Fields }}
22 {{- if $field.IsResolver }}
23 {{- $field.GoFieldName}} func{{ $field.ShortResolverDeclaration }}
24 {{ end }}
25 {{- end }}
26 }
27 {{- end }}
28 {{- end }}
29 {{range $object := .Inputs -}}
30 {{- if $object.HasResolvers }}
31 {{$object.Name}}Resolver struct {
32 {{- range $field := $object.Fields }}
33 {{- if $field.IsResolver }}
34 {{- $field.GoFieldName}} func{{ $field.ShortResolverDeclaration }}
35 {{ end }}
36 {{- end }}
37 }
38 {{- end }}
39 {{- end }}
40}
41
42{{ range $object := .Objects -}}
43 {{- if $object.HasResolvers -}}
44 func (r *{{$.TypeName}}) {{$object.Name}}() {{ $object.ResolverInterface | ref }} {
45 return &{{lcFirst $root.TypeName}}{{$object.Name}}{r}
46 }
47 {{ end -}}
48{{ end }}
49{{ range $object := .Inputs -}}
50 {{- if $object.HasResolvers -}}
51 func (r *{{$.TypeName}}) {{$object.Name}}() {{ $object.ResolverInterface | ref }} {
52 return &{{lcFirst $root.TypeName}}{{$object.Name}}{r}
53 }
54 {{ end -}}
55{{ end }}
56
57{{ range $object := .Objects -}}
58 {{- if $object.HasResolvers -}}
59 type {{lcFirst $root.TypeName}}{{$object.Name}} struct { *{{$root.TypeName}} }
60
61 {{ range $field := $object.Fields -}}
62 {{- if $field.IsResolver -}}
63 func (r *{{lcFirst $root.TypeName}}{{$object.Name}}) {{$field.GoFieldName}}{{ $field.ShortResolverDeclaration }} {
64 return r.{{$object.Name}}Resolver.{{$field.GoFieldName}}(ctx,
65 {{- if not $object.Root }}obj,{{end -}}
66 {{- range $arg := $field.Args}}
67 {{- $arg.VarName}},
68 {{- end }}
69 )
70 }
71 {{ end -}}
72 {{ end -}}
73 {{ end -}}
74{{ end }}
75{{ range $object := .Inputs -}}
76 {{- if $object.HasResolvers -}}
77 type {{lcFirst $root.TypeName}}{{$object.Name}} struct { *{{$root.TypeName}} }
78
79 {{ range $field := $object.Fields -}}
80 {{- if $field.IsResolver -}}
81 func (r *{{lcFirst $root.TypeName}}{{$object.Name}}) {{$field.GoFieldName}}{{ $field.ShortResolverDeclaration }} {
82 return r.{{$object.Name}}Resolver.{{$field.GoFieldName}}(ctx, obj, data)
83 }
84 {{ end -}}
85 {{ end -}}
86 {{ end -}}
87{{ end }}
View as plain text