Skip to content

Commit 5d4649d

Browse files
committed
fix(spring-boot): add pagination arguments to field definition
1 parent 2735d42 commit 5d4649d

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

graphql-kotlin-toolkit-spring-boot/src/main/kotlin/com/auritylab/graphql/kotlin/toolkit/spring/schema/pagination/PaginationSchemaAugmentation.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package com.auritylab.graphql.kotlin.toolkit.spring.schema.pagination
33
import com.auritylab.graphql.kotlin.toolkit.common.directive.DirectiveFacade
44
import com.auritylab.graphql.kotlin.toolkit.common.helper.GraphQLTypeHelper
55
import com.auritylab.graphql.kotlin.toolkit.spring.schema.SchemaAugmentation
6+
import graphql.Scalars
7+
import graphql.schema.GraphQLArgument
68
import graphql.schema.GraphQLFieldDefinition
79
import graphql.schema.GraphQLObjectType
810
import graphql.schema.GraphQLOutputType
@@ -67,6 +69,7 @@ class PaginationSchemaAugmentation : SchemaAugmentation {
6769

6870
paginationTypes.add(unwrappedType)
6971
field.transform {
72+
it.arguments(field.arguments.plus(buildPaginationArguments()))
7073
it.type(getConnectionType(unwrappedType))
7174
}
7275
}
@@ -76,4 +79,13 @@ class PaginationSchemaAugmentation : SchemaAugmentation {
7679
trans.fields(augmentedFields)
7780
}, paginationTypes)
7881
}
82+
83+
private fun buildPaginationArguments(): List<GraphQLArgument> {
84+
return listOf(
85+
GraphQLArgument.newArgument().name("first").type(Scalars.GraphQLInt).build(),
86+
GraphQLArgument.newArgument().name("after").type(Scalars.GraphQLString).build(),
87+
GraphQLArgument.newArgument().name("last").type(Scalars.GraphQLInt).build(),
88+
GraphQLArgument.newArgument().name("before").type(Scalars.GraphQLString).build()
89+
)
90+
}
7991
}

0 commit comments

Comments
 (0)