Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Merge requests
  • !5182

[core][typescript][perl] Ensure model.parent is also added to model.allParents with multiple inheritance

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Administrator requested to merge github/fork/crunchbase/single-refed-parent into master Jan 31, 2020
  • Overview 0
  • Commits 4
  • Pipelines 0
  • Changes 3

Created by: amakhrov

Fixes https://github.com/OpenAPITools/openapi-generator/issues/4770

Turned out that generator still supports a deprecated inheritance case with a single oneOf ref without a discriminator. The behavior in this case is to treat it as inheritance rather than composition.

Now, the problem is that even though model.parent is properly populated with the referenced model in this situation, model.allParents (used with multiple inheritance) stays empty. It looks like a bug in the implementation rather than intended behavior - but of course correct me if I'm wrong.

This PR makes sure the same logic supporting the deprecated inheritance case applies both to parent and allParents.

I also cleaned up a few tests for DefaultCodegen that are related to allOf composition - just to give me a bit more safety assurance of the change (better than nothing)

PR checklist

  • Read the contribution guidelines.
  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

Typescript generators family use multiple inheritance, hence copying them here: @TiFu @taxpon @sebastianhaas @kenisteward @Vrolijkx @macjohnny @nicokoenig @topce @akehir @petejohansonxo

And also Perl (another representative of multiple inheritance supporting generator): @wing328 @yue9944882

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/crunchbase/single-refed-parent