Split each API's monolithic schema.graphql into per-coredata-model
files under graphql/ subdirectories. gqlgen's follow-schema layout
with {name}.resolvers.go template generates one resolver file per
schema file. Relay uses schema + schemaExtensions to load the split
files.
Connect API: 8 files (base, session, organization, profile,
personal_api_key, saml, scim, audit_log)
Trust API: 5 files (base, trust_center, auth, nda, mailing_list)
Console API: 25 files covering all domain entities
Types extended across files (Organization, Mutation, Viewer,
TrustCenter, Identity) are defined in base.graphql as required by
Relay's schemaExtensions.
Signed-off-by: Émile Ré <emile@getprobo.com>
35 lines
738 B
YAML
35 lines
738 B
YAML
schema:
|
|
- "graphql/*.graphql"
|
|
- "../../../gqlutils/directives/session/schema.graphql"
|
|
|
|
exec:
|
|
filename: "schema/schema.go"
|
|
package: "schema"
|
|
|
|
model:
|
|
filename: "types/types.go"
|
|
package: "types"
|
|
|
|
resolver:
|
|
layout: "follow-schema"
|
|
dir: "."
|
|
package: "trust_v1"
|
|
filename_template: "{name}.resolvers.go"
|
|
|
|
autobind: []
|
|
call_argument_directives_with_null: true
|
|
|
|
models:
|
|
ID:
|
|
model:
|
|
- "go.probo.inc/probo/pkg/server/gqlutils/types/gid.GIDScalar"
|
|
Datetime:
|
|
model:
|
|
- "github.com/99designs/gqlgen/graphql.Time"
|
|
CursorKey:
|
|
model:
|
|
- "go.probo.inc/probo/pkg/server/gqlutils/types/cursor.CursorKeyScalar"
|
|
EmailAddr:
|
|
model:
|
|
- "go.probo.inc/probo/pkg/server/gqlutils/types/mail.AddrScalar"
|