script.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. function getGQL(url) {
  2. return async (query, variables) => {
  3. let options = {
  4. method: 'POST',
  5. headers: {
  6. "Content-Type": "application/json",
  7. },
  8. body: JSON.stringify({ query, variables })
  9. }
  10. // if(localStorage.authToken) {
  11. // options.headers.Authorization = `Bearer ${localStorage.authToken}`
  12. // }
  13. console.log(options.headers)
  14. try {
  15. let response = await fetch(url, options)
  16. let { data } = await response.json()
  17. console.log('data reseved', data)
  18. return data[Object.keys(data)[0]]
  19. } catch (e) {
  20. throw new Error('an eror occured', e)
  21. }
  22. }
  23. }
  24. let _id = "5dc94bd00e36db246e3049ee"
  25. async function catById(_id) {
  26. let gql = await getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql')
  27. let data = await gql(`query catById($query:String){
  28. CategoryFindOne(query:$query){
  29. name goods{
  30. _id name
  31. }
  32. }
  33. }`, { query: JSON.stringify([{ _id }]) })
  34. return data
  35. }
  36. async function loginAndToken(log, pass) {
  37. let gql = await getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql')
  38. let data = await gql(`
  39. query log($login:String, $password:String) {
  40. login(login: $login, password: $password)
  41. }`, {login: log, password: pass})
  42. return data
  43. }
  44. async function registerUser(log, pass, nick = 'user') {
  45. let gql = await getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql')
  46. let data = await gql(`
  47. mutation register($login:String, $password:String, $nick:String) {
  48. UserUpsert(
  49. user: { login: $login, password: $password, nick: $nick }){
  50. nick login _id
  51. }
  52. }`,{login: log, password: pass, nick: nick})
  53. return data
  54. }
  55. async function goodsList() {
  56. let gql = await getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql')
  57. let data = await gql(`
  58. query goodFind{
  59. GoodFind(query: "[{}]") {
  60. _id name,
  61. }
  62. }
  63. `)
  64. return data
  65. }
  66. async function newOrder(count=3, id="5dc882c90e36db246e3049bc") {
  67. let gql = await getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql')
  68. let data = await gql(`
  69. mutation newOrder {
  70. OrderUpsert(order:{
  71. orderGoods:[
  72. {count: ${count}, good:{_id: ${id}},
  73. ]
  74. }) {
  75. _id
  76. createdAt
  77. total
  78. }
  79. }
  80. `)
  81. return data
  82. }
  83. (async () => {
  84. localStorage.authToken = await loginAndToken("OLDBOY228", "3321")
  85. //console.log('NOW LOCAL LOOKS LIKE DIS',localStorage)
  86. //console.log('info token', localStorage.authToken)
  87. console.log('id', await catById("5e203bb256d8f720513e6cbc"))
  88. console.log('New user', await registerUser("OLDBOY333", "123", "asdasd"))
  89. console.log('goods', await goodsList())
  90. //console.log('new order', newOrder().then(res => console.log(res)))
  91. })()