123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- // let gql = (url, query, variables={}) =>
- // fetch(url, {
- // method: 'POST',
- // headers:{
- // Accept: 'application/json',
- // "Content-Type": 'application/json'
- // },
- // body: JSON.stringify({query, variables})
- // }).then(res => res.json())
- // используя функцию gql, понаделать функций с параметрами для разных запросов: категории, категория по id с товарами,
- // товар по id с картинками и описанием, логин, регистрация.
- // например:
- // const gqlLogin = (login, password) =>
- // gql('http://shop-roles.node.ed.asmer.org.ua/graphql', `query login($login:String, $password: String){
- // login(login:$loagin, password: $password)
- // }`, {login, password})
- let gql = (url, query, variables = {}) =>
- fetch(url, {
- method: 'POST',
- headers: {
- Accept: 'application/json',
- "Content-Type": 'application/json'
- },
- body: JSON.stringify({ query, variables })
- }).then(res => res.json())
- const url = 'http://shop-roles.node.ed.asmer.org.ua/graphql'
- // категории
- const gqlCategoriesList = () => {
- return gql(url, `query cats{
- CategoryFind(query: "[{}]"){
- _id, name
- }
- }`, {})
- }
- // категория по id с товарами
- const productSearchById = (id) => {
- let jsn = JSON.stringify({ _id: id })
- return gql(
- url,
- `query searchById{
- GoodFind(query: ${JSON.stringify(`[${jsn}]`)}){
- name description images {
- _id
- createdAt
- text
- url
- originalFileName
- }
- }
- }`
- );
- };
- // товар по id с картинками и описанием
- const gqlCategories = () => {
- return gql(url,
- ` query categories{
- CategoryFind(query:"[{}]"){
- _id name goods {
- _id
- name
- price
- description
- }
- }
- }`
- );
- }
- // логин
- const gqlLogin = (login, password) => {
- gql(url, `query login($login:String, $password: String){
- login(login:$login, password: $password)
- }`,
- { login, password })
- }
- // регистрация
- const gqlRegister = (login, password) => {
- return gql(url, `mutation register($login: String, $password: String){
- UserUpsert(user: {login: $login, password: $password}){
- _id, login, createdAt
- }
- }`, { login, password })
- }
- (async function call() {
- console.log(await gqlCategoriesList());
- console.log(await gqlRegister("Dmytro Suslov", "qwerty"));
- console.log(await gqlLogin("Dmytro Suslov", "qwerty"));
- console.log(await gqlCategories());
- console.log(await productSearchById("62d5ca00b74e1f5f2ec1a156"));
- })();
|