function getGQL(url) { return async (query, variables) => { let options = { method: 'POST', headers: { "Content-Type": "application/json", }, body: JSON.stringify({ query, variables }) } // if(localStorage.authToken) { // options.headers.Authorization = `Bearer ${localStorage.authToken}` // } console.log(options.headers) try { let response = await fetch(url, options) let { data } = await response.json() console.log('data reseved', data) return data[Object.keys(data)[0]] } catch (e) { throw new Error('an eror occured', e) } } } let _id = "5dc94bd00e36db246e3049ee" async function catById(_id) { let gql = await getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql') let data = await gql(`query catById($query:String){ CategoryFindOne(query:$query){ name goods{ _id name } } }`, { query: JSON.stringify([{ _id }]) }) return data } async function loginAndToken(log, pass) { let gql = await getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql') let data = await gql(` query log($login:String, $password:String) { login(login: $login, password: $password) }`, {login: log, password: pass}) return data } async function registerUser(log, pass, nick = 'user') { let gql = await getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql') let data = await gql(` mutation register($login:String, $password:String, $nick:String) { UserUpsert( user: { login: $login, password: $password, nick: $nick }){ nick login _id } }`,{login: log, password: pass, nick: nick}) return data } async function goodsList() { let gql = await getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql') let data = await gql(` query goodFind{ GoodFind(query: "[{}]") { _id name, } } `) return data } async function newOrder(count=3, id="5dc882c90e36db246e3049bc") { let gql = await getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql') let data = await gql(` mutation newOrder { OrderUpsert(order:{ orderGoods:[ {count: ${count}, good:{_id: ${id}}, ] }) { _id createdAt total } } `) return data } (async () => { localStorage.authToken = await loginAndToken("OLDBOY228", "3321") //console.log('NOW LOCAL LOOKS LIKE DIS',localStorage) //console.log('info token', localStorage.authToken) console.log('id', await catById("5e203bb256d8f720513e6cbc")) console.log('New user', await registerUser("OLDBOY333", "123", "asdasd")) console.log('goods', await goodsList()) //console.log('new order', newOrder().then(res => console.log(res))) })()