9 Commits

Author SHA1 Message Date
Thomas Ville
34bd02109e
[rust][reqwest] support binary type for download (#20031)
* [rust][reqwest] support binary type for upload and download

* [rust][reqwest] support binary download in supportMultipleResponses contexts

* [rust][reqwest] support binary responses that don't have any return type
2024-11-29 17:07:30 +08:00
nvivot
8ef3118005
[rust][client][auth] token source option (#19647)
* feat: add token source support for rust async client

* chore: fix + regen samples

* chore: doc gen

* chore: missing generated sample files
2024-10-01 15:05:39 +08:00
Bert Downs
9a673ea09a
Rust: Support Integer enums using Serde_repr (#19199)
* rust: support repr(int) enum

* Regen APIS

* remove the extra lines

* merge most recent commits from master

* update tests to ensure that enum compiles correctly

* drop changes to kotlin files

---------

Co-authored-by: Jihyun Yu <yjh0502@gmail.com>
2024-07-24 17:14:17 +08:00
Max Nachlinger
03389dfdbd
Bump Rust edition to 2021 and a few crates (#18608)
* bump Rust edition to 2021, update a few creates

* bump Rust edition to 2021, update a few creates
2024-05-09 10:43:11 +08:00
Max Nachlinger
ac649b2e2f
Disable clippy::too_many_arguments in generated Rust client code. (#18601) 2024-05-08 11:52:20 +08:00
Artem Medvedev
518b29d089
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`
2024-02-24 23:41:30 +08:00
Nathan Shaaban
c30d3696b0
[rust] basic oneOf support (#13970)
* [rust] basic oneOf support

Suport oneOf as a rust struct enum.

Details:

Enum without a discriminator is untagged being
"untagged" simply means serde won't attempt to
store the name of the enum inside the serialized
object. See
https://serde.rs/enum-representations.html#untagged
for more

Also check to make sure the mapping values
are not an empty object (aka null).

Co-authored-by: Nikita Puzankov <git@bshn.rs>

* refactor: fix clippy lints

No longer needed as of reqwest 0.10, it now takes the response as owned instead of mut ref.

Is not empty is more clear

* fix: discriminator and oneof case

Will show as a struct enum when there are additional fields, otherwise will be a tuple enum.

not sure the purpose of x-mapped-models, perhaps legacy code? mappedModels appears to do the same thing.

Also add default implementation for quality of life

* chore: update samples

---------

Co-authored-by: Nikita Puzankov <git@bshn.rs>
2024-02-13 19:21:51 +08:00
Kisaragi
d671b83a5f
chore(deps,rust): requires reqwest 0.11 in blocking generated code (#16927)
* chore(deps,rust): requires reqwest to be 0.11 series even if generate in blocking mode

* chore: reflect change

* test: reflect blocking Form
2023-10-28 20:08:39 +08:00
William Cheng
243b5569ef
[Rust] add property, parameter name mapping (#16205)
* add name, parameter mapping to rust generators

* add, fix test

* undo cahnge
2023-07-30 21:57:35 +08:00