59 lines
1.5 KiB
GraphQL
59 lines
1.5 KiB
GraphQL
"""
|
|
The @defer directive may be specified on a fragment spread to imply de-prioritization, that causes the fragment to be omitted in the initial response, and delivered as a subsequent response afterward. A query with @defer directive will cause the request to potentially return multiple responses, where non-deferred data is delivered in the initial response and data deferred delivered in a subsequent response. @include and @skip take precedence over @defer.
|
|
"""
|
|
directive @defer(if: Boolean = true, label: String) on FRAGMENT_SPREAD | INLINE_FRAGMENT
|
|
|
|
"""
|
|
directive to map Go type
|
|
"""
|
|
directive @goField(
|
|
forceResolver: Boolean
|
|
name: String
|
|
omittable: Boolean
|
|
) on FIELD_DEFINITION | INPUT_FIELD_DEFINITION
|
|
|
|
"""
|
|
directive to map Go type
|
|
example:-
|
|
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(
|
|
forceGenerate: Boolean
|
|
model: String
|
|
models: [String!]
|
|
) on ENUM | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION
|
|
|
|
directive @goTag(key: String!, value: String) on FIELD_DEFINITION | INPUT_FIELD_DEFINITION
|
|
|
|
"""
|
|
Go type interface{}
|
|
"""
|
|
scalar Any
|
|
|
|
"""
|
|
type Map(Go type: map[string]interface{})
|
|
"""
|
|
scalar Map
|
|
|
|
type Mutation {
|
|
login(email: String!, username: String!): Boolean!
|
|
logout: Boolean!
|
|
}
|
|
|
|
type Query {
|
|
heartBeat: Boolean!
|
|
}
|
|
|
|
"""
|
|
Maps a Time GraphQL scalar to a Go time.Time struct.
|
|
"""
|
|
scalar Time
|
|
|
|
scalar Void
|