-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgqlgen.yml
111 lines (92 loc) · 3.66 KB
/
gqlgen.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Where are all the schema files located? globs are supported eg src/**/*.graphqls
schema:
- cmd/graphql/gqlgen/*.graphqls
# Where should the generated server code go?
exec:
filename: cmd/graphql/gqlgen/generated.go
package: gqlgen
# Uncomment to enable federation
# federation:
# filename: graph/federation.go
# package: graph
# version: 2
# options
# computed_requires: true
# Where should any generated models go?
model:
filename: cmd/graphql/gqlgen/models.go
package: gqlgen
# Where should the resolver implementations go?
resolver:
layout: follow-schema
dir: cmd/graphql/gqlgen
package: gqlgen
filename_template: "{name}.resolvers.go"
# Optional: turn on to not generate template comments above resolvers
omit_template_comment: true
# Optional: turn on use ` + "`" + `gqlgen:"fieldName"` + "`" + ` tags in your models
# struct_tag: json
# Optional: turn on to use []Thing instead of []*Thing
# omit_slice_element_pointers: false
# Optional: turn on to omit Is<Name>() methods to interface and unions
# omit_interface_checks : true
# Optional: turn on to skip generation of ComplexityRoot struct content and Complexity function
# omit_complexity: false
# Optional: turn on to not generate any file notice comments in generated files
# omit_gqlgen_file_notice: false
# Optional: turn on to exclude the gqlgen version in the generated file notice. No effect if `omit_gqlgen_file_notice` is true.
# omit_gqlgen_version_in_file_notice: false
# Optional: turn off to make struct-type struct fields not use pointers
# e.g. type Thing struct { FieldA OtherThing } instead of { FieldA *OtherThing }
# struct_fields_always_pointers: true
# Optional: turn off to make resolvers return values instead of pointers for structs
# resolvers_always_return_pointers: true
# Optional: turn on to return pointers instead of values in unmarshalInput
# return_pointers_in_unmarshalinput: false
# Optional: wrap nullable input fields with Omittable
# nullable_input_omittable: true
# Optional: set to speed up generation time by not performing a final validation pass.
# skip_validation: true
# Optional: set to skip running `go mod tidy` when generating server code
# skip_mod_tidy: true
# Optional: if this is set to true, argument directives that
# decorate a field with a null value will still be called.
#
# This enables argumment directives to not just mutate
# argument values but to set them even if they're null.
call_argument_directives_with_null: true
# gqlgen will search for any type names in the schema in these go packages
# if they match it will use them, otherwise it will generate them.
autobind:
# - "github.com/lincolnjpg/investment_service/graph/model"
# This section declares type mapping between the GraphQL and go type systems
#
# The first line in each type will be used as defaults for resolver arguments and
# modelgen, the others will be allowed when binding to fields. Configure them to
# your liking
models:
UUID:
model: github.com/99designs/gqlgen/graphql.UUID
InvestorProfile:
model: ./internal/enum.InvestorProfileEnum
enum_values:
Conservative:
value: ./internal/enum.Conservative
Moderate:
value: ./internal/enum.Moderate
Aggressive:
value: ./internal/enum.Aggressive
CreateUserInput:
model: ./internal/dtos.CreateUserInput
CreateUserOutput:
model: ./internal/dtos.CreateUserOutput
GetUserByIdInput:
model: ./internal/dtos.GetUserByIdInput
GetUserByIdOutput:
model: ./internal/dtos.GetUserByIdOutput
UpdateUserInput:
model: ./internal/dtos.UpdateUserInput
UpdateUserOutput:
model: ./internal/dtos.UpdateUserOutput
DeleteUserByIdInput:
model: ./internal/dtos.DeleteUserByIdInput