spot
spot copied to clipboard
Support inheritence in openapi
Is your feature request related to a problem? Please describe. In typescript you can extend and interface, but when compiling to open api it duplicates the fields rather then inheriting from another definition.
Describe the solution you'd like Ideally support the allof mechanism included in the openapi spec or have a flag to allow this to happen.
Describe alternatives you've considered We have considered writing our own codegen pipeline but the documentation doesn't seem clear on how to properly develop generators.
Additional context Below is the open api method.
ExtendedErrorModel:
allOf: # Combines the BasicErrorModel and the inline model
- $ref: '#/components/schemas/BasicErrorModel'
- type: object
required:
- rootCause
properties:
rootCause:
type: string
allOf
generation will be supported by TypeScript's intersection type syntax. See https://github.com/airtasker/spot/issues/1123