diff --git a/lib/SchemaBuilder.js b/lib/SchemaBuilder.js index 03ba5c9..54628bb 100644 --- a/lib/SchemaBuilder.js +++ b/lib/SchemaBuilder.js @@ -286,7 +286,7 @@ class SchemaBuilder { expression += relExpr; ++numExpressions; - } else if(selectionNode.kind === 'FragmentSpread') { + } else if (selectionNode.kind === 'FragmentSpread') { const fragmentSelection = astRoot.fragments[selectionNode.name.value]; const fragmentExpr = this._buildEager(fragmentSelection, modelClass, astRoot); @@ -357,15 +357,18 @@ class SchemaBuilder { const relations = modelClass.getRelations(); const selects = []; - /* Recursively add selects from node */ + // Recursively add selects from node const addSelects = (astNode) => { for (let i = 0, l = astNode.selectionSet.selections.length; i < l; ++i) { let selectionNode = astNode.selectionSet.selections[i]; - if(selectionNode.kind === 'FragmentSpread') { + + if (selectionNode.kind === 'FragmentSpread') { selectionNode = astRoot.fragments[selectionNode.name.value]; return addSelects(selectionNode); } + const relation = relations[selectionNode.name.value]; + if (!relation) { selects.push(selectionNode.name.value); } diff --git a/package.json b/package.json index 588b79c..422a963 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "objection-graphql", - "version": "0.2.1", + "version": "0.2.2", "description": "Automatically generates GraphQL schema for objection.js models", "main": "objection-graphql.js", "scripts": {