53 lines
931 B
GraphQL
53 lines
931 B
GraphQL
|
# GraphQL schema example
|
||
|
#
|
||
|
# https://gqlgen.com/getting-started/
|
||
|
|
||
|
type Mutation
|
||
|
|
||
|
type Query {
|
||
|
heartBeat: Boolean!
|
||
|
}
|
||
|
|
||
|
"""
|
||
|
Maps a Time GraphQL scalar to a Go time.Time struct.
|
||
|
"""
|
||
|
scalar Time
|
||
|
|
||
|
"""
|
||
|
type Map(Go type: map[string]interface{})
|
||
|
"""
|
||
|
scalar Map
|
||
|
|
||
|
"""
|
||
|
Go type interface{}
|
||
|
"""
|
||
|
scalar Any
|
||
|
scalar Void
|
||
|
|
||
|
"""
|
||
|
directive to map Go type
|
||
|
type User @goModel(model: "github.com/my/app/models.User") {
|
||
|
id: ID! @goField(name: "todoId")
|
||
|
name: String!
|
||
|
@goField(forceResolver: true)
|
||
|
@goTag(key: "xorm", value: "-")
|
||
|
@goTag(key: "yaml")
|
||
|
}
|
||
|
"""
|
||
|
directive @goModel(
|
||
|
model: String
|
||
|
models: [String!]
|
||
|
forceGenerate: Boolean
|
||
|
) on OBJECT | INPUT_OBJECT | SCALAR | ENUM | INTERFACE | UNION
|
||
|
|
||
|
"""
|
||
|
directive to map Go type
|
||
|
"""
|
||
|
directive @goField(
|
||
|
forceResolver: Boolean
|
||
|
name: String
|
||
|
omittable: Boolean
|
||
|
) on INPUT_FIELD_DEFINITION | FIELD_DEFINITION
|
||
|
|
||
|
directive @goTag(key: String!, value: String) on INPUT_FIELD_DEFINITION | FIELD_DEFINITION
|