@@ -10183,7 +10183,7 @@ var QueryBuilder = /** @class */ (function () {
1018310183 if ( ! name )
1018410184 name = ( multiple ? model . pluralName : model . singularName ) ;
1018510185 // build query
10186- var query = type + " " + upcaseFirstLetter ( name ) + this . buildArguments ( model , args , true , false ) + " {\n" +
10186+ var query = type + " " + upcaseFirstLetter ( name ) + this . buildArguments ( model , args , true , filter ) + " {\n" +
1018710187 ( " " + this . buildField ( model , multiple , args , [ ] , name , filter , true ) + "\n" ) +
1018810188 "}" ;
1018910189 return src ( query ) ;
@@ -10230,10 +10230,17 @@ var QueryBuilder = /** @class */ (function () {
1023010230 if ( value && ! ( value instanceof Array || skipFieldDueId ) ) {
1023110231 var typeOrValue = '' ;
1023210232 if ( signature ) {
10233+ var schema = Context . getInstance ( ) . schema ;
10234+ var type = schema . getType ( model . singularName + ( filter ? 'Filter' : '' ) ) ;
10235+ var schemaField = ( filter ? type . inputFields : type . fields ) . find ( function ( f ) { return f . name === key ; } ) ;
1023310236 if ( typeof value === 'object' && value . __type ) {
1023410237 // Case 2 (User!)
1023510238 typeOrValue = value . __type + 'Input!' ;
1023610239 }
10240+ else if ( schemaField && schemaField . type . name ) {
10241+ // Case 1, 3 and 4
10242+ typeOrValue = schemaField . type . name + '!' ;
10243+ }
1023710244 else if ( key === 'id' || isForeignKey ) {
1023810245 // Case 1 (ID!)
1023910246 typeOrValue = 'ID!' ;
@@ -10253,7 +10260,7 @@ var QueryBuilder = /** @class */ (function () {
1025310260 }
1025410261 } ) ;
1025510262 if ( ! first ) {
10256- if ( filter )
10263+ if ( ! signature && filter )
1025710264 returnValue = "filter: { " + returnValue + " }" ;
1025810265 returnValue = "(" + returnValue + ")" ;
1025910266 }
0 commit comments