fix(rust): oneOf generation for client (#17915)

* fix(rust): discriminator mapping to serde rename

Discriminator mapping has been ignored in some cases.
Even existing samples had wrong definition in some cases

This PR addresses this

* fix(rust): `oneOf` generation for client

Solves #17869 and #17896 and also includes unmerged $17898

Unfortunately it affects quite a lot of code, but we can see that only client-side models were affected by re-generation.
I tried to split this PR to several, but they're really coupled and hard to create a chain of PRs.

* fix: indentation in `impl Default`

* missing fixes

* fix: correct typeDeclaration with unaliased schema

* style: improve indentation for models

* fix: user toModelName for aliases of oneOf

* refactor: unify `getTypeDeclaration` for rust

* cover the case when `mapping` has the same `ref` for different mapping names

* test: add test for previous change

* style: remove extra qualified path to models

* add some comments

* fix(build): use method of `List` instead of specific for `LinkedList`
This commit is contained in:
Artem Medvedev
2024-02-24 16:41:30 +01:00
committed by GitHub
parent 15af1ce1de
commit 518b29d089
335 changed files with 3663 additions and 1099 deletions

View File

@@ -10,7 +10,7 @@ Method | HTTP request | Description
## endpoint_get
> crate::models::EmptyObject endpoint_get()
> models::EmptyObject endpoint_get()
Get endpoint
### Parameters
@@ -19,7 +19,7 @@ This endpoint does not need any parameter.
### Return type
[**crate::models::EmptyObject**](EmptyObject.md)
[**models::EmptyObject**](EmptyObject.md)
### Authorization