Converted demo to use Docker Compose
This commit is contained in:
139
bbconf/basebox/schema.graphql
Normal file
139
bbconf/basebox/schema.graphql
Normal file
@ -0,0 +1,139 @@
|
||||
directive @bb_primaryKey on FIELD_DEFINITION
|
||||
directive @bb_resolver on FIELD_DEFINITION
|
||||
directive @bb_owned on OBJECT
|
||||
directive @bb_user on OBJECT
|
||||
|
||||
"""
|
||||
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 @bb_owned {
|
||||
id: ID!
|
||||
title: String!
|
||||
description: String,
|
||||
completed: Boolean!
|
||||
user: User!
|
||||
list: List!
|
||||
}
|
||||
|
||||
"""
|
||||
User type; owner of lists and tasks
|
||||
"""
|
||||
type User @bb_user {
|
||||
username: String! @bb_primaryKey
|
||||
name: String
|
||||
tasks: [Task]
|
||||
lists: [List]
|
||||
}
|
||||
|
||||
input UserInput {
|
||||
username: String!
|
||||
name: String
|
||||
}
|
||||
|
||||
type Query {
|
||||
|
||||
"""
|
||||
Get a user, this will be used to get the current user as well as the user's lists and tasks.
|
||||
"""
|
||||
getUser(
|
||||
username: String!
|
||||
): User
|
||||
@bb_resolver(
|
||||
_type: SELECT,
|
||||
_object: User,
|
||||
_filter: { username: { _eq: "$username" } })
|
||||
|
||||
}
|
||||
|
||||
type Mutation {
|
||||
|
||||
createUser(
|
||||
username: String!,
|
||||
name: String!
|
||||
): User
|
||||
@bb_resolver(
|
||||
_type: INSERT,
|
||||
_object: User,
|
||||
_fields: { username: "$username", name: "$name" })
|
||||
|
||||
createList(
|
||||
title: String!
|
||||
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" })
|
||||
|
||||
deleteList(id: ID!): List
|
||||
@bb_resolver(_type: DELETE, _object: List, _filter: { id: { _eq: "$id" } })
|
||||
|
||||
createTask(
|
||||
title: String!,
|
||||
description: String,
|
||||
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: 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" }})
|
||||
|
||||
}
|
Reference in New Issue
Block a user