rano/schema.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