123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- 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 с картинками и описанием, логин, регистрация.
- // например:
- let idd = 123456
- // `\\"_id\\":\\"${id}\\"`
- console.log(JSON.parse("[{\"_id\":\"123456\"}]"))
- const url = 'http://shop-roles.node.ed.asmer.org.ua/graphql'
- const gqlCategoriesList = () => {
- return gql(url, `query cats{
- CategoryFind(query: "[{}]"){
- _id, name,
- }
- }`, {}
- )
- }
- const gqlRegister = (login, password) => {
- return gql(url, `mutation register($login: String, $password: String){
- UserUpsert(user: {login: $login, password: $password}){
- _id, login, createdAt
- }
- }`, {login, password})
- }
- const gqlLogin = (login, password) =>
- gql(url,
- `query login($login:String, $password: String){
- login(login:$login, password: $password)
- }`, {login, password})
- const gqlCategories = () => {
- return gql(url,
- ` query categories{
- CategoryFind(query:"[{}]"){
- _id name goods {
- _id
- name
- price
- description
- }
- }
- }`
- );
- }
- 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
- }
- }
- }`,
- );
- };
- (async function callAll() {
- console.log(await gqlCategoriesList());
- console.log(await gqlRegister("Vlada Simonova", "123456"));
- console.log(await gqlLogin("Vlada Simonova", "123456"));
- console.log(await gqlCategories());
- console.log(await productSearchById("62c9472cb74e1f5f2ec1a0d3"));
- })();
|