fix(data): use IdentifierInput and SINGLE_INSTANCE fields in GraphQL mutations#100
Merged
Merged
Conversation
Adds a simple two-route plugin built on the charitable donations Extend bundle, demonstrating GraphQLResolver, generated data hooks, and Canvas Kit components. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…mutations - update/remove now send IdentifierInput (id + type) with collection-based arg names (e.g. widgetsId) to match the Workday API signature - SINGLE_INSTANCE reference fields are included in selection sets; workdayID types are cached so mutations can round-trip the correct type - add embeddedInput flag on FieldSchema for fields that wrap IdentifierInput in a nested id field (Workday embedded input pattern) - proxy /apps routes with Bearer auth in the CLI view command Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
jheddings
requested changes
May 26, 2026
Collaborator
There was a problem hiding this comment.
This file should not be tracked.
mpfilbin
reviewed
May 26, 2026
| import { schemas } from './everywhere/data/schema.js'; | ||
| import { home, charityDetail } from './routes.js'; | ||
|
|
||
| // referenceId comes from appManifest.json in your Extend bundle. |
Collaborator
There was a problem hiding this comment.
Should the referenceId variable be in the place of charitableDonations_mcwslt?
- untrack everywhere/.config.json (local dev config); broaden .gitignore pattern to **/everywhere/.config.json so it's excluded at any depth - consolidate REFERENCE_ID into everywhere/extend.ts alongside EXTEND_APPLICATION_ID; remove duplicate definition in charityLogo.ts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
| { | ||
| "extends": "../tsconfig.json", | ||
| "compilerOptions": { | ||
| "rootDir": "..", |
Collaborator
Author
There was a problem hiding this comment.
@mpfilbin not sure if this is necessary, my stuff was having issues without it but if it breaks other examples I can try to resolve it another way
Collaborator
Author
|
Hey @jheddings — just wanted to flag that the feedback from your review has been addressed in a subsequent commit. Would you mind taking another look when you get a chance? |
mpfilbin
added a commit
that referenced
this pull request
May 28, 2026
Update() now resolves Workday ID type via findOne after #100, so the graph.updateInputType assertion must inspect the second fetch call.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
updateandremovemutations now useIdentifierInput(withid+type) and collection-based argument names (e.g.widgetsId) to match the Workday API signature — previously they sent a bareid: String!which was incorrectSINGLE_INSTANCEreference fields are now included in selection sets so theirworkdayIDtype gets fetched and cached; that cached type is then used when building mutation inputs so the correct ID type is always round-trippedembeddedInput?: booleantoFieldSchemafor fields that require the Workday embedded input pattern (wrapsIdentifierInputin a nestedidfield)/appsroutes with Bearer auth, consistent with the existing API proxy routesTest plan
just test— all 364 tests passjust check— typecheck, lint, and formatting cleanupdate()andremove()use collection-basedIdentifierInputargs in integration with a live Workday tenant🤖 Generated with Claude Code