type Query {
login(login: String!, password: String!): String
categories: [Category]
category(_id: ID!): Category
goods: [Good]
good(_id: ID!): Good
myOrders: [Order]
orders: [Order]
}
type Mutation {
createUser(login: String!, password: String!): User
changePassword(password: String!): User
setCategory(cat: CategoryInput!):Category
setGood(good: GoodInput!):Good
setOrder(order: OrderInput):Order
setOrderGood(orderGood: OrderGoodInput):OrderGood
}
type User {
_id: String
login: String
nick : String
orders: [Order]
}
type Category {
_id: ID,
name: String!,
goods: [Good]
}
type Good {
_id: ID,
name: String!,
description: String
price: Float
orderGoods: [OrderGood]
categories: [Category]
}
type OrderGood {
_id: ID,
price: Float,
count: Float,
good: Good,
order: Order
}
type Order {
_id: ID
orderGoods: [OrderGood]
}
input UserInput {
_id: String
login: String
nick : String
}
input CategoryInput {
_id: ID,
name: String!,
goods: [ID]
}
input GoodInput {
_id: ID,
name: String!,
description: String
price: Float
categories: [ID]
}
input OrderGoodInput {
_id: ID,
count: Int!,
good: ID!,
order: ID!
}
input OrderInput {
_id: ID
orderGoods: [ID]
}
примеры запросов:
mutation createUser($login:String!, $password:String!){
createUser(login:$login, password:$password){
_id, login
}
}
query login($login:String!, $password:String!){
login(login:$login, password:$password)
}
mutation pwd($password:String!){
changePassword(password: $password){
_id, login
}
}
mutation cc($cat:CategoryInput!){
setCategory(cat:$cat){
_id, name
}
}
query cats{
categories{
_id, name, goods{
name, description
}
}
}
query cat($_id:ID!){
category(_id:$_id){
_id, name
}
}
mutation cg($good:GoodInput!){
setGood(good:$good){
_id, name, description, price
}
}
query goods{
goods{
_id, name, description
}
}
query good($_id:ID!){
good(_id:$_id){
_id, name, description
}
}
mutation sO($order:OrderInput!){
setOrder(order:$order){
_id
orderGoods{
_id, price, count,
good{
_id, name
}
}
}
}
mutation sOG($orderGood:OrderGoodInput!){
setOrderGood(orderGood:$orderGood){
_id,
good{
_id, name, price
},
price,
order{
_id
}
}
}
query mO{
myOrders{
_id,
orderGoods{
_id,
price,
count
good{
name, price
}
}
}
}
переменные:
{
"login": "foo",
"password": "bar",
"cat": {
"_id": "5d3868a23aa7106a3a4369e6",
"name": "Cars",
"goods":["5d3874e8271cb784ad1d65a7"]
},
"_id": "5d3874e8271cb784ad1d65a7",
"good": {
"_id": "5d3874e8271cb784ad1d65a7",
"name": "iPhone",
"description": "apple",
"price": 500,
"categories": ["5d3869cc216a156eba15b8db"]
},
"order":{
},
"orderGood": {
"good": "5d3874e8271cb784ad1d65a7",
"order": "5d388f0786f70ff605a78700",
"count": 2
}
}