script.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. const getGQL = url =>
  2. (query, variables) => fetch(url, {
  3. method: 'POST',
  4. headers: {
  5. "Content-Type": "application/json",
  6. ...( localStorage.authToken ? {"Authorization": "Bearer " + localStorage.authToken} : null)
  7. },
  8. body: JSON.stringify({query, variables})
  9. }).then(res => res.json()).then(data => {
  10. console.log(data)
  11. if (data){
  12. return Object.values(data.data)
  13. } else throw new Error('No data found')
  14. }).catch(e => console.log(e));
  15. const gql = getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql');
  16. const login = `query login($login:String, $password:String){login(login:$login, password: $password)}`;
  17. const userLogin = {
  18. "login": "Serg155",
  19. "password": "00000000",
  20. "nick": "Serg155"
  21. };
  22. (async () => await gql(login, userLogin)
  23. //.then(tok => (tok[0].split('.')[2]))
  24. .then(token => localStorage.authToken = token))()
  25. // (async () => await gql(`query NameForMe1($login:String, $password:String){login(login:$login, password:$password)}`,
  26. // {login: 'serg155000', password: '123777'}).then(res => console.log(res)))();
  27. // написать тестовых запросов:
  28. // логин, регистрация, категории все, категория по id, товар по id
  29. const caterory = `query categ{CategoryFind(query: "[{}]"){name image {url}}}`;
  30. (async () =>
  31. await gql(caterory).then(res => res[0].map(item => console.log(item))))();
  32. // let newUser = {
  33. // "login": "Serg",
  34. // "password": "0000007777700",
  35. // "nick": "Serg102"
  36. // }
  37. // const register = `mutation register($login:String, $password: String){
  38. // UserUpsert(user:{login:$login, password:$password, nick:$login}){
  39. // _id login
  40. // }`;
  41. // (async () => await gql(register, newUser).then(item => console.log(item)))();
  42. const createOrder = `mutation newOrder($o:OrderInput){OrderUpsert(order:$o){ _id total }}`;
  43. const goods = `{"orderGoods": [{"count": 1,"good": { "_id": "5e1f396856d8f720513e6cae"}}]}`;
  44. (async () => await gql(createOrder,goods).then(res => console.log(res)))();
  45. // function gqlLogin(login, password){
  46. // return gql(`запрос на логин с $переменными`, {login, password})
  47. // console.log((await gql(`query NameForMe1($login:String, $password:String){login(login:$login, password:$password)}`, {login: 'tst', password: '123'})))
  48. console.log(localStorage)
  49. // const originalFetch = fetch;
  50. // fetch = (url, params={headers:{}}) => {
  51. // params.headers.Authorization = "Bearer " + localStorage.authToken
  52. // return originalFetch(url, params)
  53. // };
  54. console.log({
  55. method: 'POST',
  56. headers: {
  57. "Content-Type": "application/json",
  58. ...(localStorage.authToken ? {"Authorization": "Bearer " + localStorage.authToken} : null)
  59. }})