123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- async 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) {
- console.warn('an eror occured', e)
- }
- }
- }
- (async () => {
- const gql2 = await getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql')
- console.log('from getGQL: ', (await gql2(`
- query cats{
- CategoryFind(query:"[{}]"){
- name goods{
- name
- }
- }
- }`
- , { login: 'tst', password: '123' })))
- })()
- let _id = "61a762f9c750c12ba6ba40aa"
- 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(obj) {
- 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 }){
- login _id
- }
- }`, {user: obj})
- return data
- }
- (async () => {
- localStorage.authToken = await loginAndToken("OLDBOY228", "3321")
- console.log('info token', localStorage.authToken)
- console.log('idis', await catById(_id))
- console.log('New user', await registerUser({login:"123F11F", password:"123"}))
- })()
|