openapi-generator icon indicating copy to clipboard operation
openapi-generator copied to clipboard

[BUG][typescript-axios] Schema with `oneOf` is processed incorrectly

Open turtton opened this issue 1 year ago • 0 comments

Bug Report Checklist

  • [x] Have you provided a full/minimal spec to reproduce the issue?
  • [x] Have you validated the input using an OpenAPI validator (example)?
  • [x] Have you tested with the latest master to confirm the issue still exists?
  • [x] Have you searched for related issues/PRs?
  • [x] What's the actual output vs expected output?
  • [ ] [Optional] Sponsorship to speed up the bug fix or feature request (example)
Description

When using oneOf to represent a tuple, the process of inserting the value as a query is incorrect.

Please see this repository: https://github.com/turtton/openapi-generator-bug-reproduction

openapi-generator version

7.6.0

OpenAPI declaration file content or url
components:
  schemas:
    Id:
      type: integer
      format: int32
    CreatedAt:
      type: string
      format: date-time
    Cursor:
      oneOf:
        - $ref: '#/components/schemas/Id'
        - $ref: '#/components/schemas/CreatedAt'

Full code https://github.com/turtton/openapi-generator-bug-reproduction/blob/main/api.yaml

Generation Details

Type

export type Cursor = number | string;
if (cursor !== undefined) {
	for (const [key, value] of Object.entries(cursor)) { // Object.entries always returns empty array
		localVarQueryParameter[key] = value;
	}
}

expected(~7.0.0):

if (cursor !== undefined) {
	localVarQueryParameter['cursor'] = cursor;
}
Steps to reproduce
  1. clone https://github.com/turtton/openapi-generator-bug-reproduction
  2. run ./gen-latest and see generated-latest/api.ts or corepack enable && pnpm i && pnpm openapi-generator-cli generate and see generated76/api.ts
Related issues/PRs

#17335

#16898

Suggest a fix

turtton avatar Jun 23 '24 05:06 turtton