frontend mock backend

Ivan Asmer 96646cb4c6 fixes před 5 roky
README.md ae9a9cd2e8 basic shop operations před 5 roky
index.js 96646cb4c6 fixes před 5 roky
models.js d335f49e01 bugfixes před 5 roky
package-lock.json 96646cb4c6 fixes před 5 roky
package.json ae9a9cd2e8 basic shop operations před 5 roky

README.md

Shop basic backend

        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
  }
}