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

Support for NDC Spec v0.1.0-rc.15 and nested object/array selection #8

Merged
merged 9 commits into from
Feb 16, 2024

Conversation

daniel-chambers
Copy link
Collaborator

@daniel-chambers daniel-chambers commented Feb 12, 2024

This PR updates the ndc-typescript-sdk to v3.0.0 which brings support for the NDC Spec v0.1.0-rc.15. Note that this is a breaking change, so it will need to be used with the latest Hasura engine that supports the new spec for it to work.

This spec revision (added to the rc.14 revision) adds support for nested object/array selection in the response. This allows callers to only return a subset of the function return type if they wish. It also introduces a new function calling convention that relies upon nested object field selection, as well as a change the mutations request/response types.

Query requests now are expected to query for a virtual column called __value and use nested object queries to select into that value. This virtual column exists on the virtual row that is returned that encapsulates the function return value.

This PR also adds new unit tests to cover the execution of mutations.

JIRA: NDC-307

@daniel-chambers daniel-chambers self-assigned this Feb 12, 2024
@daniel-chambers daniel-chambers changed the title Support for NDC Spec v0.1.0-rc.14 and nested object/array selection Support for NDC Spec v0.1.0-rc.15 and nested object/array selection Feb 13, 2024
Copy link

@sordina sordina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great. Mostly straight forward. Have a couple of questions/suggestions. Not sure about some of the edgecases around fields.

ndc-lambda-sdk/package.json Show resolved Hide resolved
ndc-lambda-sdk/src/execution.ts Show resolved Hide resolved
ndc-lambda-sdk/src/execution.ts Show resolved Hide resolved
ndc-lambda-sdk/src/execution.ts Show resolved Hide resolved
ndc-lambda-sdk/src/execution.ts Show resolved Hide resolved
ndc-lambda-sdk/src/execution.ts Show resolved Hide resolved
ndc-lambda-sdk/test/execution/execute-mutation.test.ts Outdated Show resolved Hide resolved
Copy link

@sordina sordina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@daniel-chambers daniel-chambers merged commit a8600ca into main Feb 16, 2024
4 checks passed
@daniel-chambers daniel-chambers deleted the support-sdk-v2 branch February 16, 2024 07:01
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.

2 participants