Skip to content

fix!: match the backend's standardized single-level pagination shape#22

Merged
lakhansamani merged 2 commits into
mainfrom
fix/pagination-schema-standardization
Jul 23, 2026
Merged

fix!: match the backend's standardized single-level pagination shape#22
lakhansamani merged 2 commits into
mainfrom
fix/pagination-schema-standardization

Conversation

@lakhansamani

Copy link
Copy Markdown
Contributor

Summary

The Authorizer backend removed the PaginatedRequest wrapper type entirely (see the corresponding authorizerdev/authorizer PR — a fix(graphql)! breaking-change commit standardizing GraphQL pagination on PaginationRequest directly, matching the proto/gRPC surface, which never had a double-wrapper in the first place).

Two places in this SDK were affected — both GraphQL-transport-only (REST and gRPC use the proto message shapes directly and were never affected by the old GraphQL-schema-only wrapper):

  • VerificationRequests/Webhooks/EmailTemplates: hardcoded $data: PaginatedRequest in their query strings and passed the whole proto request (itself just a Pagination wrapper) as the GraphQL variable — now $data: PaginationRequest, passing req.GetPagination() directly.
  • Clients/TrustedIssuers/ListSamlServiceProviders: used a wrapPagination helper to double-nest the proto PaginationRequest into {pagination: {pagination: {...}}} for the GraphQL variables — the helper is removed, the proto pagination now passes through as-is.
  • ListOrganizationsRequest/ListOrgMembersRequest/ListOrgDomainsRequest (this SDK's own Go-native request types, not proto-generated): their Pagination field was typed *PaginatedRequest, requiring callers to double-nest by hand — now *PaginationRequest directly. Breaking change for any caller constructing these types with a nested Pagination.

Test plan

  • go build ./... / go vet ./... / gofmt -l . clean
  • Verified against a locally built authorizer image running the backend fix (not yet released): full go test ./... passes across all three transports (graphql, rest, grpc) — including the admin pagination suite (TestAdminUsersAcrossProtocols, TestAdminWebhookLifecycle, TestAdminFgaModelAndTuples) and the full protocol/auth suite

Please coordinate merging/releasing this alongside the backend fix — until the backend PR ships, this SDK version would send a shape the currently-deployed backend rejects.

BREAKING CHANGE: the Authorizer backend removed the PaginatedRequest
wrapper type entirely, standardizing GraphQL pagination on
PaginationRequest directly everywhere - matching the proto/gRPC surface,
which never had a double-wrapper in the first place.

This SDK had two places affected, both GraphQL-transport-only (REST and
gRPC use the proto message shapes directly and were never affected):

- VerificationRequests/Webhooks/EmailTemplates: hardcoded
  `$data: PaginatedRequest` in their query strings and passed the whole
  proto request (itself just a Pagination wrapper) as the variable - now
  `$data: PaginationRequest`, passing req.GetPagination() directly.
- Clients/TrustedIssuers/ListSamlServiceProviders: used a wrapPagination
  helper to double-nest the proto PaginationRequest into
  `{pagination: {pagination: {...}}}` for the GraphQL variables - the
  helper is removed, the proto pagination now passes through as-is.
- ListOrganizationsRequest/ListOrgMembersRequest/ListOrgDomainsRequest
  (this SDK's own Go-native request types, not proto-generated): their
  Pagination field was typed *PaginatedRequest, requiring callers to
  double-nest by hand - now *PaginationRequest directly. Breaking change
  for any caller constructing these types with a nested Pagination.

Verified against a locally built authorizer image running the backend
fix: go build/vet/gofmt clean, full `go test ./...` passes across all
three transports (graphql, rest, grpc), including the admin pagination
suite (TestAdminUsersAcrossProtocols, TestAdminWebhookLifecycle,
TestAdminFgaModelAndTuples) and the full protocol/auth suite.
Picks up the backend's pagination schema fix this PR targets.
@lakhansamani
lakhansamani merged commit 4116e82 into main Jul 23, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant