@@ -594,7 +594,10 @@ function generateObjectType({
594594
595595 ensureNonEmptyInput ( composer , concreteEntityAdapter . operations . updateInputTypeName ) ;
596596 ensureNonEmptyInput ( composer , concreteEntityAdapter . operations . createInputTypeName ) ;
597- if ( concreteEntityAdapter . isReadable ( schemaModel ) || concreteEntityAdapter . isAggregable ( schemaModel ) ) {
597+ if (
598+ concreteEntityAdapter . isReadableFromConnectionRootQuery ( schemaModel ) ||
599+ concreteEntityAdapter . isAggregable ( schemaModel )
600+ ) {
598601 complexityEstimatorHelper . registerField (
599602 "Query" ,
600603 concreteEntityAdapter . operations . rootTypeFieldNames . connection
@@ -608,6 +611,10 @@ function generateObjectType({
608611 schemaModel,
609612 } ) ,
610613 } ) ;
614+ composer . Query . setFieldDirectives (
615+ concreteEntityAdapter . operations . rootTypeFieldNames . connection ,
616+ graphqlDirectivesToCompose ( propagatedDirectives )
617+ ) ;
611618 }
612619 if ( concreteEntityAdapter . isReadable ( schemaModel ) ) {
613620 complexityEstimatorHelper . registerField ( "Query" , concreteEntityAdapter . operations . rootTypeFieldNames . read ) ;
@@ -622,11 +629,6 @@ function generateObjectType({
622629 concreteEntityAdapter . operations . rootTypeFieldNames . read ,
623630 graphqlDirectivesToCompose ( propagatedDirectives )
624631 ) ;
625-
626- composer . Query . setFieldDirectives (
627- concreteEntityAdapter . operations . rootTypeFieldNames . connection ,
628- graphqlDirectivesToCompose ( propagatedDirectives )
629- ) ;
630632 }
631633 if ( concreteEntityAdapter . isAggregable ( schemaModel ) ) {
632634 withAggregateSelectionType ( {
@@ -736,7 +738,10 @@ function generateInterfaceObjectType({
736738 const hasImplementedEntities = interfaceEntityAdapter . concreteEntities . length > 0 ;
737739 if ( hasImplementedEntities ) {
738740 const propagatedDirectives = propagatedDirectivesForNode . get ( interfaceEntityAdapter . name ) || [ ] ;
739- if ( interfaceEntityAdapter . isReadable ( schemaModel ) || interfaceEntityAdapter . isAggregable ( schemaModel ) ) {
741+ if (
742+ interfaceEntityAdapter . isReadableFromConnectionRootQuery ( schemaModel ) ||
743+ interfaceEntityAdapter . isAggregable ( schemaModel )
744+ ) {
740745 composer . Query . addFields ( {
741746 [ interfaceEntityAdapter . operations . rootTypeFieldNames . connection ] : rootConnectionResolver ( {
742747 composer,
@@ -746,6 +751,15 @@ function generateInterfaceObjectType({
746751 schemaModel,
747752 } ) ,
748753 } ) ;
754+ complexityEstimatorHelper . registerField (
755+ "Query" ,
756+ interfaceEntityAdapter . operations . rootTypeFieldNames . connection
757+ ) ;
758+
759+ composer . Query . setFieldDirectives (
760+ interfaceEntityAdapter . operations . rootTypeFieldNames . connection ,
761+ graphqlDirectivesToCompose ( propagatedDirectives )
762+ ) ;
749763 }
750764 if ( interfaceEntityAdapter . isReadable ( schemaModel ) ) {
751765 complexityEstimatorHelper . registerField ( "Query" , interfaceEntityAdapter . operations . rootTypeFieldNames . read ) ;
@@ -761,25 +775,6 @@ function generateInterfaceObjectType({
761775 interfaceEntityAdapter . operations . rootTypeFieldNames . read ,
762776 graphqlDirectivesToCompose ( propagatedDirectives )
763777 ) ;
764-
765- complexityEstimatorHelper . registerField (
766- "Query" ,
767- interfaceEntityAdapter . operations . rootTypeFieldNames . connection
768- ) ;
769-
770- composer . Query . addFields ( {
771- [ interfaceEntityAdapter . operations . rootTypeFieldNames . connection ] : rootConnectionResolver ( {
772- composer,
773- entityAdapter : interfaceEntityAdapter ,
774- propagatedDirectives,
775- isLimitRequired : features ?. limitRequired ,
776- schemaModel,
777- } ) ,
778- } ) ;
779- composer . Query . setFieldDirectives (
780- interfaceEntityAdapter . operations . rootTypeFieldNames . connection ,
781- graphqlDirectivesToCompose ( propagatedDirectives )
782- ) ;
783778 }
784779
785780 if ( interfaceEntityAdapter . isAggregable ( schemaModel ) ) {
0 commit comments