-
-
Notifications
You must be signed in to change notification settings - Fork 27
/
gqlgen.yml
77 lines (67 loc) · 2.27 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
# Where are all the schema files located? globs are supported eg src/**/*.graphqls
schema:
- api/graphs/*.graphqls
# Where should the generated server code go?
exec:
filename: internal/api/generated/generated.go
package: apigen
# Uncomment to enable federation
# federation:
# filename: graph/generated/federation.go
# package: generated
# Where should any generated models go?
model:
filename: internal/api/generated/types/types_generated.go
package: typesgen
# Where should the resolver implementations go?
resolver:
layout: follow-schema
dir: internal/api
package: api
# Optional: turn on use `gqlgen:"fieldName"` tags in your models
struct_tag: json
directives:
extraStructTag:
skip_runtime: true
# Optional: turn on to use []Thing instead of []*Thing
# omit_slice_element_pointers: false
# Optional: set to speed up generation time by not performing a final validation pass.
# skip_validation: 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/99designs/gqlgen/graphql/introspection"
- "github.com/42atomys/stud42/internal/models/generated"
- "github.com/42atomys/stud42/internal/models/gotype"
# 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/42atomys/stud42/internal/models.UUID
# Cast Me to User type to avoid circular dependency
Me:
model:
- github.com/42atomys/stud42/internal/models/generated.User
# Cast all intra types to their type to avoid duplicate types
IntraUserProxy:
model:
- github.com/42atomys/stud42/pkg/duoapi.User
IntraCursusUserProxy:
model:
- github.com/42atomys/stud42/pkg/duoapi.CursusUser
IntraCursusProxy:
model:
- github.com/42atomys/stud42/pkg/duoapi.Cursus
IntraProjectsUserProxy:
model:
- github.com/42atomys/stud42/pkg/duoapi.ProjectsUser
IntraProjectProxy:
model:
- github.com/42atomys/stud42/pkg/duoapi.Project
IntraGroupProxy:
model:
- github.com/42atomys/stud42/pkg/duoapi.Group