|
@@ -0,0 +1,91 @@
|
|
|
+
|
|
|
+const originalFetch = fetch;
|
|
|
+fetch = (url, params = { headers: {} }) => {
|
|
|
+ params.headers.Authorization = "Bearer " + localStorage.authToken
|
|
|
+ return originalFetch(url, params)
|
|
|
+};
|
|
|
+
|
|
|
+const graphiQL = "http://shop-roles.node.ed.asmer.org.ua/graphql";
|
|
|
+
|
|
|
+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 categoryFind = () =>
|
|
|
+ gql(
|
|
|
+ graphiQL,
|
|
|
+ `
|
|
|
+ query catz{
|
|
|
+ CategoryFind(query:"[{}]") {
|
|
|
+ name
|
|
|
+ }
|
|
|
+ }
|
|
|
+ `
|
|
|
+ );
|
|
|
+
|
|
|
+const registerUser = (login, password) =>
|
|
|
+ gql(
|
|
|
+ graphiQL,
|
|
|
+ `
|
|
|
+ mutation register($login:String, $password:String){
|
|
|
+ UserUpsert(user: {login:$login, password:$password}){
|
|
|
+ _id login createdAt
|
|
|
+ }
|
|
|
+ }
|
|
|
+ `,
|
|
|
+ { login, password }
|
|
|
+ );
|
|
|
+
|
|
|
+const login = (login, password) =>
|
|
|
+ gql(
|
|
|
+ graphiQL,
|
|
|
+ `
|
|
|
+ query login($login:String, $password:String){
|
|
|
+ login(login:$login, password:$password)
|
|
|
+ }
|
|
|
+ `,
|
|
|
+ { login, password }
|
|
|
+ );
|
|
|
+
|
|
|
+const categories = () =>
|
|
|
+ gql(
|
|
|
+ graphiQL,
|
|
|
+ `
|
|
|
+ query categoryFind{
|
|
|
+ CategoryFind(query:"[{}]"){
|
|
|
+ _id name goods {
|
|
|
+ _id
|
|
|
+ createdAt
|
|
|
+ name
|
|
|
+ description
|
|
|
+ price
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }`
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+(async () => {
|
|
|
+ console.log("all category:", await categoryFind());
|
|
|
+ console.log(
|
|
|
+ "register user:",
|
|
|
+ await registerUser("antonPyvovarov", "qwerty12345")
|
|
|
+ );
|
|
|
+ console.log(
|
|
|
+ "user login:",
|
|
|
+ await login("antonPyvovarov", "qwerty12345")
|
|
|
+ );
|
|
|
+ console.log(
|
|
|
+ "category by id with products:",
|
|
|
+ await categories()
|
|
|
+ );
|
|
|
+})();
|
|
|
+
|
|
|
+
|
|
|
+
|