main.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. const backURL = "http://shop-roles.node.ed.asmer.org.ua/graphql";
  2. let gql = (url, query, variables = {}) =>
  3. fetch(url, {
  4. method: "POST",
  5. headers: {
  6. Accept: "application/json",
  7. "Content-Type": "application/json",
  8. },
  9. body: JSON.stringify({ query, variables }),
  10. }).then((res) => res.json());
  11. const categoryFind = () =>
  12. gql(
  13. backURL,
  14. `
  15. query catz{
  16. CategoryFind(query:"[{}]") {
  17. name
  18. }
  19. }
  20. `
  21. );
  22. const registerUser = (login, password) =>
  23. gql(
  24. backURL,
  25. `
  26. mutation register($login:String, $password:String){
  27. UserUpsert(user: {login:$login, password:$password}){
  28. _id login createdAt
  29. }
  30. }
  31. `,
  32. { login, password }
  33. );
  34. const login = (login, password) =>
  35. gql(
  36. backURL,
  37. `
  38. query login($login:String, $password:String){
  39. login(login:$login, password:$password)
  40. }
  41. `,
  42. { login, password }
  43. );
  44. const categories = () =>
  45. gql(
  46. backURL,
  47. `
  48. query categoryFind{
  49. CategoryFind(query:"[{}]"){
  50. _id name goods {
  51. _id
  52. createdAt
  53. name
  54. description
  55. price
  56. }
  57. }
  58. }`
  59. );
  60. (async () => {
  61. console.log("all category:", await categoryFind());
  62. console.log(
  63. "register user:",
  64. await registerUser("antonPyvovarov", "qwerty12345")
  65. );
  66. console.log(
  67. "user login:",
  68. await login("antonPyvovarov", "qwerty12345")
  69. );
  70. console.log(
  71. "category by id with products:",
  72. await categories()
  73. );
  74. console.log(
  75. "product search by id:",
  76. await productSearchByIdImgDiscr("62c9472cb74e1f5f2ec1a0d3")
  77. );
  78. })();