index.html 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Graph</title>
  8. </head>
  9. <body>
  10. <script>
  11. function gql(url, query, variables){
  12. return new Promise((resolve, reject) => {
  13. const myFetch = fetch(url, {
  14. method: 'POST',
  15. body: JSON.stringify({query, variables}),
  16. headers: {
  17. 'Content-Type': 'application/json'
  18. }
  19. })
  20. resolve(myFetch.then(res => console.log(res.json())))
  21. })
  22. }
  23. async function register(login,password){
  24. gql("http://shop-roles.node.ed.asmer.org.ua/graphql", `mutation register($login:String, $password:String){UserUpsert(user:{login:$login,password:$password}){_id login createdAt}}` ,
  25. {login: login, password:password})
  26. }
  27. async function login(login, password){
  28. gql("http://shop-roles.node.ed.asmer.org.ua/graphql", `query login($login:String,$password:String){login(login:$login,password:$password)}`,
  29. {login: login, password:password})
  30. }
  31. async function catByID(_id){
  32. gql("http://shop-roles.node.ed.asmer.org.ua/graphql", `query catFindOne($id:String){CategoryFindOne(query:$id){_id, createdAt, name, goods {_id createdAt name description price},image {_id createdAt text url originalFileName}}}`,
  33. {id: JSON.stringify([{_id}])})
  34. }
  35. async function goodById(_id){
  36. gql("http://shop-roles.node.ed.asmer.org.ua/graphql", `query GoodFindOne($id:String){GoodFindOne(query:$id){_id, createdAt, name images {_id createdAt text url originalFileName}}}` ,
  37. {id: JSON.stringify([{_id}])})
  38. }
  39. const delay = ms => new Promise(ok => setTimeout(() => ok(ms), ms))
  40. async function task(){
  41. register('qwerqq1' , 'qwerty1')
  42. await delay(2000)
  43. login('qwerqq1' , 'qwerty1')
  44. await delay(2000)
  45. catByID("6262ca19bf8b206433f5b3d0")
  46. await delay(2000)
  47. goodById("62c9472cb74e1f5f2ec1a0d1")
  48. await delay(2000)
  49. }
  50. task();
  51. </script>
  52. </body>
  53. </html>