Updated schema and generated files for v1.0
This commit is contained in:
@ -1,17 +1,26 @@
|
||||
directive @bb_primaryKey on FIELD_DEFINITION
|
||||
directive @bb_resolver on FIELD_DEFINITION
|
||||
directive @bb_owned on OBJECT
|
||||
directive @bb_user on OBJECT
|
||||
|
||||
type List {
|
||||
"""
|
||||
List of tasks or todo items.
|
||||
"""
|
||||
type List @bb_owned {
|
||||
id: ID!
|
||||
title: String!
|
||||
tasks: [Task]
|
||||
user: User!
|
||||
}
|
||||
|
||||
input ListInput {
|
||||
id: ID!
|
||||
}
|
||||
|
||||
"""
|
||||
Task or todo item.
|
||||
"""
|
||||
type Task {
|
||||
type Task @bb_owned {
|
||||
id: ID!
|
||||
title: String!
|
||||
description: String,
|
||||
@ -23,13 +32,17 @@ type Task {
|
||||
"""
|
||||
User type; owner of lists and tasks
|
||||
"""
|
||||
type User {
|
||||
type User @bb_user {
|
||||
username: String! @bb_primaryKey
|
||||
name: String
|
||||
tasks: [Task]
|
||||
lists: [List]
|
||||
}
|
||||
|
||||
input UserInput {
|
||||
username: String!
|
||||
name: String
|
||||
}
|
||||
|
||||
type Query {
|
||||
|
||||
@ -38,7 +51,11 @@ type Query {
|
||||
"""
|
||||
getUser(
|
||||
username: String!
|
||||
): User @bb_resolver(_type: SELECT, _object: User, _filter: { username: { _eq: "$username" } })
|
||||
): User
|
||||
@bb_resolver(
|
||||
_type: SELECT,
|
||||
_object: User,
|
||||
_filter: { username: { _eq: "$username" } })
|
||||
|
||||
}
|
||||
|
||||
@ -47,36 +64,76 @@ type Mutation {
|
||||
createUser(
|
||||
username: String!,
|
||||
name: String!
|
||||
): User @bb_resolver(_type: INSERT, _object: User, _fields: { username: "$username", name: "$name" })
|
||||
): User
|
||||
@bb_resolver(
|
||||
_type: INSERT,
|
||||
_object: User,
|
||||
_fields: { username: "$username", name: "$name" })
|
||||
|
||||
createList(
|
||||
title: String!
|
||||
user: User! # username needs to be specified as it's non-nullable
|
||||
): List @bb_resolver(_type: INSERT, _object: List, _fields: { title: "$title", user: "$user" })
|
||||
user: UserInput!
|
||||
): List
|
||||
@bb_resolver(
|
||||
_type: INSERT,
|
||||
_object: List,
|
||||
_fields: {
|
||||
title: "$title",
|
||||
user: { username: "$user.$username" }
|
||||
})
|
||||
|
||||
updateList(
|
||||
id: ID!,
|
||||
title: String!
|
||||
): List @bb_resolver(_type: UPDATE, _object: List, _filter: { id: { _eq: "$id" } }, _fields: { title: "$title" })
|
||||
): List
|
||||
@bb_resolver(
|
||||
_type: UPDATE,
|
||||
_object: List,
|
||||
_filter: { id: { _eq: "$id" } },
|
||||
_fields: { title: "$title" })
|
||||
|
||||
deleteList(id: ID!): List @bb_resolver(_type: DELETE, _object: List, _filter: { id: { _eq: "$id" } })
|
||||
deleteList(id: ID!): List
|
||||
@bb_resolver(_type: DELETE, _object: List, _filter: { id: { _eq: "$id" } })
|
||||
|
||||
createTask(
|
||||
title: String!,
|
||||
description: String,
|
||||
completed: Boolean!, # default not implemented yet, this needs to be added as it's non-nullable
|
||||
list: List! # list needs to be specified as it's non-nullable
|
||||
user: User! # username needs to be specified as it's non-nullable
|
||||
): Task @bb_resolver(_type: INSERT, _object: Task, _fields: { title: "$title", description: "$description", completed: "$completed", list: "$list", user: "$user" })
|
||||
completed: Boolean!,
|
||||
list: ListInput!
|
||||
user: UserInput!
|
||||
): Task
|
||||
@bb_resolver(
|
||||
_type: INSERT,
|
||||
_object: Task,
|
||||
_fields: {
|
||||
title: "$title",
|
||||
description: "$description",
|
||||
completed: "$completed",
|
||||
list: { id: "$list.$id" },
|
||||
user: { username: "$user.$username" } })
|
||||
|
||||
updateTask(
|
||||
id: ID!,
|
||||
title: String,
|
||||
description: String,
|
||||
completed: Boolean,
|
||||
list: List
|
||||
): Task @bb_resolver(_type: UPDATE, _object: Task, _filter: { id: { _eq: "$id" } }, _fields: { title: "$title", description: "$description", completed: "$completed", list: "$list" })
|
||||
list: ListInput
|
||||
): Task
|
||||
@bb_resolver(
|
||||
_type: UPDATE,
|
||||
_object: Task,
|
||||
_filter: { id: { _eq: "$id" } },
|
||||
_fields: {
|
||||
title: "$title",
|
||||
description: "$description",
|
||||
completed: "$completed",
|
||||
list: { id: "$list.$id" }
|
||||
})
|
||||
|
||||
deleteTask(id: ID!): Task @bb_resolver(_type: DELETE, _object: Task, _filter: { id: { _eq: "$id" } })
|
||||
deleteTask(id: ID!): Task
|
||||
@bb_resolver(
|
||||
_type: DELETE,
|
||||
_object: Task,
|
||||
_filter: { id: { _eq: "$id" }})
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user