|
@@ -4,20 +4,14 @@ function getGQL(url) {
|
|
method: 'POST',
|
|
method: 'POST',
|
|
headers: {
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
"Content-Type": "application/json",
|
|
|
|
+ ...(localStorage.authToken ? { "Authorization": "Bearer " + localStorage.authToken } : {})
|
|
},
|
|
},
|
|
body: JSON.stringify({ query, variables })
|
|
body: JSON.stringify({ query, variables })
|
|
}
|
|
}
|
|
|
|
|
|
- // if(localStorage.authToken) {
|
|
|
|
- // options.headers.Authorization = `Bearer ${localStorage.authToken}`
|
|
|
|
- // }
|
|
|
|
-
|
|
|
|
- console.log(options.headers)
|
|
|
|
-
|
|
|
|
try {
|
|
try {
|
|
let response = await fetch(url, options)
|
|
let response = await fetch(url, options)
|
|
let { data } = await response.json()
|
|
let { data } = await response.json()
|
|
- console.log('data reseved', data)
|
|
|
|
return data[Object.keys(data)[0]]
|
|
return data[Object.keys(data)[0]]
|
|
} catch (e) {
|
|
} catch (e) {
|
|
throw new Error('an eror occured', e)
|
|
throw new Error('an eror occured', e)
|
|
@@ -25,77 +19,132 @@ function getGQL(url) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-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 getCathegoryById(_id) {
|
|
|
|
+ let gql = await getGQL(endpoint)
|
|
|
|
+ return await gql(`
|
|
|
|
+ query catById($query:String){
|
|
|
|
+ CategoryFindOne(query:$query){
|
|
|
|
+ name
|
|
|
|
+ goods{
|
|
|
|
+ _id name
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }`,
|
|
|
|
+ { query: JSON.stringify([{ _id }]) }
|
|
|
|
+ )
|
|
}
|
|
}
|
|
|
|
|
|
async function loginAndToken(log, pass) {
|
|
async function loginAndToken(log, pass) {
|
|
- let gql = await getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql')
|
|
|
|
- let data = await gql(`
|
|
|
|
|
|
+ let gql = await getGQL(endpoint)
|
|
|
|
+ return await gql(`
|
|
query log($login:String, $password:String) {
|
|
query log($login:String, $password:String) {
|
|
login(login: $login, password: $password)
|
|
login(login: $login, password: $password)
|
|
- }`, {login: log, password: pass})
|
|
|
|
- return data
|
|
|
|
|
|
+ }`,
|
|
|
|
+ { login: log, password: pass }
|
|
|
|
+ )
|
|
}
|
|
}
|
|
|
|
|
|
async function registerUser(log, pass, nick = 'user') {
|
|
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(`
|
|
|
|
|
|
+ let gql = await getGQL(endpoint)
|
|
|
|
+ return await gql(`
|
|
mutation register($login:String, $password:String, $nick:String) {
|
|
mutation register($login:String, $password:String, $nick:String) {
|
|
UserUpsert(
|
|
UserUpsert(
|
|
- user: { login: $login, password: $password, nick: $nick }){
|
|
|
|
|
|
+ user: { login: $login, password: $password, nick: $nick }
|
|
|
|
+ ){
|
|
nick login _id
|
|
nick login _id
|
|
}
|
|
}
|
|
- }`,{login: log, password: pass, nick: nick})
|
|
|
|
- return data
|
|
|
|
|
|
+ }`,
|
|
|
|
+ { login: log, password: pass, nick: nick }
|
|
|
|
+ )
|
|
}
|
|
}
|
|
|
|
|
|
async function goodsList() {
|
|
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
|
|
|
|
|
|
+ let gql = await getGQL(endpoint)
|
|
|
|
+ return await gql(`
|
|
|
|
+ query {
|
|
|
|
+ GoodFind(query: "[{}]") {
|
|
|
|
+ _id name categories{
|
|
|
|
+ _id name
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }`
|
|
|
|
+ )
|
|
}
|
|
}
|
|
|
|
|
|
-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
|
|
|
|
|
|
+async function ordersList() {
|
|
|
|
+ let gql = await getGQL(endpoint)
|
|
|
|
+ return await gql(`
|
|
|
|
+ query {
|
|
|
|
+ OrderFind(query:"[{}]"){
|
|
|
|
+ _id total orderGoods{
|
|
|
|
+ count good{
|
|
|
|
+ _id name
|
|
|
|
+ }
|
|
|
|
+ owner{
|
|
|
|
+ _id login nick
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
`)
|
|
`)
|
|
- return data
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+async function newOrder(quantity, _id) {
|
|
|
|
+ let gql = await getGQL(endpoint)
|
|
|
|
+ return await gql(`
|
|
|
|
+ mutation newOrder($count:Int!, $id:ID){
|
|
|
|
+ OrderUpsert(
|
|
|
|
+ order:{
|
|
|
|
+ orderGoods: [ {count: $count, good:{_id: $id}} ]
|
|
|
|
+ }
|
|
|
|
+ ) { _id createdAt total }
|
|
|
|
+ }`,
|
|
|
|
+ { count: quantity, id: _id }
|
|
|
|
+ )
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+async function getOrderById(_id) {
|
|
|
|
+ let gql = await getGQL(endpoint)
|
|
|
|
+ return await gql(`
|
|
|
|
+ query order ($query:String) {
|
|
|
|
+ OrderFindOne(query:$query) {
|
|
|
|
+ _id
|
|
|
|
+ total
|
|
|
|
+ orderGoods {
|
|
|
|
+ count
|
|
|
|
+ good {
|
|
|
|
+ name
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }`,
|
|
|
|
+ { query: JSON.stringify([{ _id }]) }
|
|
|
|
+ )
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+async function getUserById(_id) {
|
|
|
|
+ let gql = await getGQL(endpoint)
|
|
|
|
+ return await gql(`
|
|
|
|
+ query findUserById($query:String){
|
|
|
|
+ UserFindOne(query:$query) {
|
|
|
|
+ _id nick login
|
|
|
|
+ }
|
|
|
|
+ }`,
|
|
|
|
+ { query: JSON.stringify([{ _id }]) }
|
|
|
|
+ )
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+let endpoint = 'http://shop-roles.asmer.fs.a-level.com.ua/graphql';
|
|
|
|
+
|
|
(async () => {
|
|
(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)))
|
|
|
|
|
|
+ localStorage.authToken = ''
|
|
|
|
+ //Тут вставить какой-то кучерявый ник что бы зарегало юзера else = null
|
|
|
|
+ console.log('New user', await registerUser("OLDBOY1338", "123", "asdasd"))
|
|
|
|
+ localStorage.authToken = await loginAndToken("OLDBOY228", "3321")
|
|
|
|
+ console.log('getCathegoryById', await getCathegoryById("5dc94bd00e36db246e3049ee")) //id для питсы
|
|
|
|
+ console.log('All goods', await goodsList()) //список всех товаров + категории
|
|
|
|
+ console.log('All orders', await ordersList())
|
|
|
|
+ console.log('Make order', await newOrder(3, "5dc888d20e36db246e3049c5"))
|
|
|
|
+ console.log('Get order by id', await getOrderById("61aa7fb6c750c12ba6ba41fb"))
|
|
|
|
+ console.log('Get user by id', await getUserById("61aa9c7ac750c12ba6ba4238")) //айдишник OLDBOY1338
|
|
})()
|
|
})()
|