main.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. let getGQL = function(url) {
  2. return async function(data) {
  3. let res = await fetch(url, {
  4. method: "POST",
  5. headers: {
  6. "content-type": "application/json"
  7. },
  8. body: JSON.stringify(data)
  9. });
  10. return res.json();
  11. };
  12. };
  13. let gql = getGQL("http://shop-roles.asmer.fs.a-level.com.ua/graphql");
  14. let login = async function(login, password) {
  15. let data = {
  16. query: "query log($login: String, $password: String) {login(login: $login, password: $password)}",
  17. variables: {
  18. login: login,
  19. password: password
  20. }
  21. };
  22. let res = await gql(data);
  23. let token = res["data"]["login"];
  24. return token;
  25. };
  26. let catByID = async function(id) {
  27. let data = {
  28. query: "query cat($query: String) {CategoryFindOne(query: $query) {_id name image {url}}}",
  29. variables: {
  30. query: JSON.stringify([{"_id": id}])
  31. }
  32. };
  33. let res = await gql(data);
  34. return res;
  35. };
  36. let goodByID = async function(id) {
  37. let data = {
  38. query: "query findGood($goodQuery: String) {GoodFindOne(query:$goodQuery) {_id name}}",
  39. variables: {
  40. goodQuery: JSON.stringify([{"_id": id}])
  41. }
  42. };
  43. let res = await gql(data);
  44. return res;
  45. };
  46. login("user789", "123123");
  47. catByID("5dc49f4d5df9d670df48cc64");
  48. goodByID("5dcad32b6d09c45440d14d0f");