123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- const getGQL = url =>
- (query, variables) => fetch(url, {
- method: 'POST',
- headers: {
- "Content-Type": "application/json",
- ...(localStorage.authToken ? {"Authorization": "Bearer " + localStorage.authToken} : {})
- },
- body: JSON.stringify({query, variables})
- }).then(res => res.json()).then(data => {
- if (data){
- return Object.values(data.data)
- } else throw new Error('No data found')
- }).catch(e => console.log(e));
- const gql = getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql');
- const login = `query login($login:String, $password:String){login(login:$login, password: $password)}`;
- const userLogin = {
- "login": "Serg155",
- "password": "00000000",
- "nick": "Serg155"
- };
- (async () => await gql(login, userLogin)
- //.then(tok => (tok[0].split('.')[2]))
- .then(token => localStorage.authToken = token))()
- // (async () => await gql(`query NameForMe1($login:String, $password:String){login(login:$login, password:$password)}`,
- // {login: 'serg155000', password: '123777'}).then(res => console.log(res)))();
-
- // написать тестовых запросов:
- // логин, регистрация, категории все, категория по id, товар по id
- const caterory = `query categ{CategoryFind(query: "[{}]"){name image {url}}}`;
- (async () =>
- await gql(caterory).then(res => res[0].map(item => console.log(item))))();
- // добавить в getGQL все что надо, и еще проверку на localStorage.authToken. если токен есть, добавлять header Authorization.
- // let newUser = {
- // "login": "Serg",
- // "password": "0000007777700",
- // "nick": "Serg102"
- // }
- // const register = `mutation register($login:String, $password: String){
- // UserUpsert(user:{login:$login, password:$password, nick:$login}){
- // _id login
- // }`;
- // (async () => await gql(register, newUser).then(item => console.log(item)))();
- const createOrder = `mutation newOrder($o:OrderInput){OrderUpsert(order:$o){ _id total }}`;
- const goods = `{
- "login": "Serg155",
- "password": "00000000",
- "o": {
- "orderGoods": [
- {
- "count": 3,
- "good": {
- "_id": "5e1f396856d8f720513e6cae"
- }
- }
- ]
- }
- }`;
- (async () => await gql(createOrder,goods).then(res => console.log(res)))();
- // function gqlLogin(login, password){
- // return gql(`запрос на логин с $переменными`, {login, password})
- // console.log((await gql(`query NameForMe1($login:String, $password:String){login(login:$login, password:$password)}`, {login: 'tst', password: '123'})))
- console.log(localStorage)
- // const originalFetch = fetch;
- // fetch = (url, params={headers:{}}) => {
- // params.headers.Authorization = "Bearer " + localStorage.authToken
- // return originalFetch(url, params)
- // };
- // console.log({
- // method: 'POST',
- // headers: {
- // "Content-Type": "application/json",
- // ...(localStorage.authToken ? {"Authorization": "Bearer " + localStorage.authToken} : {})
- // }})
|