Skip to content

GraphQL: Refactor connections to use new GraphQL::Pagination classes

What does this MR do?

Migrates our custom connection classes to use the new newer GraphQL::Pagination, rather than the Relay versions

  • Keyset::Connection
  • ExternallyPaginatedArrayConnection
  • FilterableArrayConnection

I first attempted to migrate these in individual MRs. However, doing so caused some weird spec errors, mostly due to the addition of use GraphQL::Pagination::Connections. So I've migrated them all in this one MR.

Also moved all connection code from lib/gitlab/graphql/connections into lib/gitlab/graphql/pagination to better align with the graphql gem namespacing.

Relates to #211607 (closed)

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Brett Walker

Merge request reports