Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add selections subtype checking (Phase 2) #45

Closed
abernix opened this issue Oct 15, 2021 · 1 comment
Closed

Add selections subtype checking (Phase 2) #45

abernix opened this issue Oct 15, 2021 · 1 comment
Assignees

Comments

@abernix
Copy link
Member

abernix commented Oct 15, 2021

This follows up ae9c728 — which implemented Phase 1 — but is currently blocked awaiting the apollo-rs primitives.

Goal

Follow up with Phase 2 of the project, once we have apollo-rs.

Phase 1 (Already completed / BEFORE THIS ISSUE / Stopgap)

  1. apollo-rs will provide an AST API
  2. Parse schema using apollo-rs at existing schema load point, and pass into federated execution.
  3. Selection construction will currently check __typename for an exact match against the query plan. This will be relaxed to also include subtypes.
  4. We will navigate the AST manually to check subtypes.

Phase 2 (THIS ISSUE)

  1. apollo-rs will eventually provide an higher-level intermediary representation and API. At minimum the following features are required:
    1. Get a GraphQL type by name
    2. isSubtypeOf method to check if a type is a subtype of another type.
  2. Rework the router code to use the HIR.

This is issue should track the implementation of Phase 2

@o0Ignition0o o0Ignition0o transferred this issue from another repository Nov 4, 2021
abernix pushed a commit that referenced this issue Mar 15, 2023
External extensibility configuration update.
@abernix
Copy link
Member Author

abernix commented Mar 17, 2023

@SimonSapin has confirmed that this work is done.

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

No branches or pull requests

2 participants