Ivan Asmer 4 years ago
parent
commit
aa03aa3d37
1 changed files with 16 additions and 3 deletions
  1. 16 3
      src/App.js

+ 16 - 3
src/App.js

@@ -347,6 +347,15 @@ async function createModels2(gql, config={create: 'Upsert', update: 'Upsert', de
                     return result[name + 'Find'].map(entity => new classes[name](entity))
                 }
 
+                static async count(query){
+                    const gqlQuery = `
+                        query ${name}Count($query: String){
+                            ${name}Count(query: $query)
+                        }
+                    `
+                    let result = await gql.request(gqlQuery, {query: JSON.stringify(query)})
+                    return result[name + 'Count']
+                }
             }
             Object.defineProperty(classes[name], 'name', {value: name})
         }
@@ -354,8 +363,7 @@ async function createModels2(gql, config={create: 'Upsert', update: 'Upsert', de
     }
 
     types.forEach((type) => createClass(type.name, type, inputs.find(input => input.name === `${type.name}Input`)))
-    console.log(classes)
-    classes.Good.find([{}]).then(goods => console.log(goods))
+    return classes;
 }
 
 const dataReader = async () => {
@@ -455,7 +463,12 @@ function App() {
     models || createModels2(gql).then(models => setModels(models))
 
     console.log(query)
-    console.log('MODELS', models)
+    const classes = models
+    console.log(classes)
+    if (classes && Object.keys(classes).length){
+        classes.Good.find([{}]).then(goods => console.log(goods))
+        classes.Image.count([{}]).then(count => console.log(count))
+    }
 
     return (
         <div className="App">