feat(manifest): surface read object enabled on HydratedIntegrationObject (ENG-4191) - #409
Open
RajatPawar wants to merge 1 commit into
Conversation
…bject (ENG-4191) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
What
Adds
enabledtoHydratedIntegrationObject, mirroring the existing definition onIntegrationObjectexactly (same type, description, enum, andx-go-type-skip-optional-pointer).Why
enabled: alwaysis documented on read objects in the manifest reference, but the flag is dropped during hydration —HydratedIntegrationObjecthas no such property, soHydrateObjectin the server has nothing to copy it into. The installation widget consumes the hydrated revision viauseManifest, which means the frontend currently cannot see the flag at all and no UX can key off it.This is the prerequisite for ENG-4191, where an
enabled: alwaysread object should be read for every installation even when the customer never selects it. Whatever we decide the widget should do with such objects — preselect, lock, or hide — all of those options need the field to reach the client first.Notes
$ref. Extracting a common schema for bothIntegrationObject.enabledandHydratedIntegrationObject.enabledwould be tidier, but it renames the generatedIntegrationObjectEnabledGo type and breaks existing call sites. This way the change is purely additive; the cost is a second generated type,HydratedIntegrationObjectEnabled, and a cast at the single place that bridges them in the server.--no-verify. Thegen:jsonpre-commit hook reproduces unrelated drift against what is onmain(microsecond precision increateTimeexamples, a locale-dependent timezone incatalog.json, and adescriptionkey reordering inapi.json). Those were stripped so this PR contains only theenabledfield. Worth a separate cleanup commit to resync the generated files.Downstream
api/api.yamlonmainviayarn gen;api.yamlalready$refsmanifest.yaml#/.../HydratedIntegration, so the field flows through with no api.yaml change.openapi/commit.jsonand picks this up on the next[auto] Update openapi dependencybump, after whichHydrateObjectcan populate the field.🤖 Generated with Claude Code