[Shopify] Replace GraphQL query codeunits with resource files#7198
Open
[Shopify] Replace GraphQL query codeunits with resource files#7198
Conversation
Move ~143 individual GraphQL query codeunits into .graphql resource files organized by functional area (Customers, Orders, Products, etc.). Each file contains a cost comment and the JSON query body, loaded at runtime via NavApp.GetResourceAsText(). This eliminates ~143 object IDs, removes the IGraphQL interface, and reduces adding a new query from 4 steps to 2 (create .graphql file + add enum value). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Revert ShpfyBulkOperationMgt and ShpfyAuthenticationMgt to their original state — those contained local-only modifications. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace direct codeunit references to deleted ShpfyGQL* codeunits in test mock subscribers with GraphQLQueries.GetQueryWithCost() calls. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…e tag Create ObsoleteState = Pending stubs for 14 previously-public GQL codeunits to avoid breaking dependent extensions (AS0088). Stubs delegate to the new GraphQLQueries dispatcher. Also fix obsolete tag on Inventory_GetLocationOfOrderLines from 28.0 to 29.0 (AS0072). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…Lines) Revert to original #if not CLEAN28 block — this value is already pending removal and doesn't need changes from this refactor. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
darjoo
approved these changes
Mar 18, 2026
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
ShpfyGQL*.Codeunit.alfiles (pure data containers) with.graphqlresource files in.resources/graphql/, organized by area (Customers, Orders, Products, etc.).graphqlfile contains a# cost: Nheader and the JSON query body, loaded at runtime viaNavApp.GetResourceAsText()GetCustomerIds→Customers_GetCustomerIds) for convention-based file path resolutionShpfy IGraphQLinterface andimplementsclause from the enumResult: ~143 object IDs freed. Adding a new query is now 2 steps (create
.graphqlfile + add enum value) instead of 4.AB#625872
🤖 Generated with Claude Code