Skip to content

Conversation

@ampersand-ops
Copy link
Collaborator

This updates the dependency to version 9ee5e5b871722ec4187ea8ddaf44c7344f9483cd from main

@ampersand-ops ampersand-ops added the openapi The PR updates OpenAPI definitions label Dec 18, 2025
Comment on lines +28 to +55
export interface PatchObjectConfigContentRequest {
/**
* The ID of the user group that has access to this installation.
* Either groupRef or installationId must be provided.
* @type {string}
* @memberof PatchObjectConfigContentRequest
*/
groupRef: string;
/**
* The action type for the object config (read, subscribe, or write).
* @type {string}
* @memberof PatchObjectConfigContentRequest
*/
action: PatchObjectConfigContentRequestActionEnum;
/**
* Array of JSON Patch operations to apply.
* @type {Array<JSONPatchOperation>}
* @memberof PatchObjectConfigContentRequest
*/
changes: Array<JSONPatchOperation>;
/**
* The installation ID.
* Either groupRef or installationId must be provided.
* @type {string}
* @memberof PatchObjectConfigContentRequest
*/
installationId: string;
}
Copy link

Choose a reason for hiding this comment

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

Critical bug: Both groupRef and installationId are marked as required fields (lines 35 and 54), but the documentation clearly states "Either groupRef or installationId must be provided" (lines 31-32 and 50-51). This makes both fields mandatory when only one should be required.

This will cause runtime failures when trying to use the API because:

  1. TypeScript will require both fields to be provided
  2. The API likely expects only one to be provided
  3. Callers cannot correctly use this interface
// Current (incorrect) - both required:
groupRef: string;
installationId: string;

// Should be (one required via union or both optional):
groupRef?: string;
installationId?: string;
// with runtime validation that at least one is provided

The oneOf schemas (PatchObjectConfigContentRequestAllOfOneOf and PatchObjectConfigContentRequestAllOfOneOf1) correctly model this as mutually exclusive options, but this combined interface breaks that contract.

Suggested change
export interface PatchObjectConfigContentRequest {
/**
* The ID of the user group that has access to this installation.
* Either groupRef or installationId must be provided.
* @type {string}
* @memberof PatchObjectConfigContentRequest
*/
groupRef: string;
/**
* The action type for the object config (read, subscribe, or write).
* @type {string}
* @memberof PatchObjectConfigContentRequest
*/
action: PatchObjectConfigContentRequestActionEnum;
/**
* Array of JSON Patch operations to apply.
* @type {Array<JSONPatchOperation>}
* @memberof PatchObjectConfigContentRequest
*/
changes: Array<JSONPatchOperation>;
/**
* The installation ID.
* Either groupRef or installationId must be provided.
* @type {string}
* @memberof PatchObjectConfigContentRequest
*/
installationId: string;
}
export interface PatchObjectConfigContentRequest {
/**
* The ID of the user group that has access to this installation.
* Either groupRef or installationId must be provided.
* @type {string}
* @memberof PatchObjectConfigContentRequest
*/
groupRef?: string;
/**
* The action type for the object config (read, subscribe, or write).
* @type {string}
* @memberof PatchObjectConfigContentRequest
*/
action: PatchObjectConfigContentRequestActionEnum;
/**
* Array of JSON Patch operations to apply.
* @type {Array<JSONPatchOperation>}
* @memberof PatchObjectConfigContentRequest
*/
changes: Array<JSONPatchOperation>;
/**
* The installation ID.
* Either groupRef or installationId must be provided.
* @type {string}
* @memberof PatchObjectConfigContentRequest
*/
installationId?: string;
}

Spotted by Graphite Agent

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

openapi The PR updates OpenAPI definitions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants