* renamed OpenAPIClient-httpclient to Petstore
* updated bin artifacts
* renamed OpenAPIClientCoreAndNet47 to MultipleFrameworks
* updated bin artifacts
* renamed OpenAPIClient-net47 to Petstore
* renamed OpenAPIClient-net48 to Petstore
* updated bin artifacts
* renamed OpenAPIClient-restsharp-name-parameter-mappings to ParameterMappings
* updated bin artifacts
* renamed OpenAPIClientCore to Petstore
* updated bin artifacts
* renamed OpenAPIClient-net7.0-useDateTimeForDate to UseDateTimeForDate
* updated bin artifacts
* renamed OpenAPIClient-net5.0 to EnumMappings
* updated bin artifacts
* renamed OpenAPIClient-ConditionalSerialization to ConditionalSerialization
* updated bin artifacts
* renamed OpenAPIClient to Petstore
* updated bin artifacts
* renamed OpenAPIClient-unityWebRequest to Petstore
* updated bin artifacts
* updated appveyor
* updated bin artifacts
* updated bin artifacts
* comenting out a sample project with no csproj file
* updated bin artifacts
* Add java-jersey2 sample with mixed oneOf
* [java][jersey2]Fix client generation if oneOf contains an array type
Changes:
* Change jersey2/oneof_model template to use composed schema data
* Change adding of imports in AbstractJavaCodegen to use composed schema data
* Add escapedDataType property to CodegenProperty so that the data type
may be part of identifiers (e.g. in getters)
* Update samples
* Add sample for multiple array in oneOf
* Fix generation of constructors with same erasures
* Update samples again
* Version bump
* Add new sample folders to CI
* Make primitive handling more explicit
* Replace escapedDataType property with Mustache lambda
* Update samples with new primitive handling and sanitization lambda
* moved OpenAPIClient-generichost-net6.0
* moved OpenAPIClient-generichost-netcore-latest-allOf
* moved OpenAPIClient-generichost-netcore-latest-anyOf
* moved OpenAPIClient-generichost-netcore-latest-oneOf
* moved OpenAPIClient-generichost-net6.0-nrt-useSourceGeneration
* moved OpenAPIClient-generichost-net6.0-nrt
* moved OpenAPIClient-generichost-net7.0-useDateTimeForDate
* moved OpenAPIClient-generichost-manual-tests
* moved OpenAPIClient-generichost-netstandard2.0
* moved OpenAPIClient-generichost-net6.0
* deleted abandoned files
* updated bin artifacts
* build samples
* updated workflow
* fix manual tests
* moved manual tests
* moved allOf
* moved anyOf
* moved oneOf
* moved OpenAPIClient-generichost-net6.0
* moved OpenAPIClient-generichost-net6.0-nrt
* moved OpenAPIClient-generichost-net6.0-nrt-useSourceGeneration
* moved OpenAPIClient-generichost-net7.0-useDateTimeForDate
* moved OpenAPIClient-generichost-netstandard2.0
* moved OpenAPIClient
* moved OpenAPIClient-ConditionalSerialization
* moved OpenAPIClient-httpclient
* moved OpenAPIClient-net5.0
* moved OpenAPIClient-net7.0-useDateTimeForDate
* moved OpenAPIClient-net47
* moved OpenAPIClient-net48
* moved OpenAPIClient-restsharp-name-parameter-mappings
* moved OpenAPIClient-unityWebRequest
* moved OpenAPIClientCore
* moved OpenAPIClientCoreAndNet47
* renamed standard2 to standard2.0
* renamed standard2 to standard2.0
* fixed workflows
* renamed workflows
* updated bin artifacts
* updated bin artifacts
* pinned the samples to their version
* renamed bin artifacts
* update bin artifact
* update bin artifact
* update bin artifact
* updated appveyor
* reverting changes bc git does not show the rename
* commiting all but the file rename for these two files
* Skip post processing when generating JAXRS spec with Kotlin
This feature was previously added to work with the javalin5 library
* Add sample that proves what we expect after fixing this
* Update sample
* Added new samples to samples workflow
* Revert from jdk17 pipeline
* fix: jersey3 library
fix issue that library failed in case pattern matching was used in
the api.
* add tests, update version
* update
* fix tag
* fix, update samples
* update build
* more update
* update workflow
* test useJakarta
---------
Co-authored-by: holomekc <30546982+holomekc@users.noreply.github.com>
* Add notes to requests for better readability
* Adds extra configs for jetbrains http client for testing
* Adding new sample data
* Changes
* Setting up test infrastructure
* Adds body to requests.
* Fixing some bugs in map traversal
It'd be much better to use a proper library for this though
* Adding secret file to gitignore
* Adds github spec, for complex example.
Add null check to avoid errors in example extraction
* Add support for custom variables in request body
* Add support for all basic Auth headers
* Not sure whaet happened with my api mustache file
* Add support for custom headers
* Fixes empty lines issue
* Adds support for Accept header
* Adding many tests, deleting experiment files
* Updates generator doc
* Completes README file with extra information
* Runs generate-samples and export docs
* Running sample generation
* Adding missing files to samples
* Removing forgotten stdout statements
* Ignore one test making the docker image generation fail
* add initial openapi config and java generated files
* add java implementation for adding generator version
* regenerate sample client files
* remove tabs
* only show generated version if build info exists
* set build info for batch generation
* update generator doc for new global flag
* use existing property for generator version
* update templates to include generator version
* update templates for better generator version syntax
* revert undesired changes
* regenerate samples for openapi client
* update templates to correct formatting/newlines
* correct description text and add to usage doc
* add generator cli option for all codegen types
* use more concise version info; update existing codegens to support new prop
* correct wrong prop reference
* add initial test coverage for new prop
* update last (scala) templates with new prop
* update samples after upstream merge
* use consistent version output
* use better sample project id/name
* revert using option for generator version in templates
* + Cookie parameter generation fixed
* Added cookie parameter mustache template for generating cookie related code
* Adapted kotlin-spring api templates to include cookie parameters
* Added tests for evaluating cookie parameter code generation
* Added configuration sample for the new cookie use case
* - Unused fake cases removed
* Removed fake cases from openapi spec that were not related to cookie usage
* Cleaned sample files
* Update csharp oneOf and anyOf mustache templates to accept primitive, object, and array types when deserializing
Add bug openapi spec
Remove generated files
Add test endpoints
Generate base on spec
Remove issue spec as it is moved into sample test spec
Add back in number and int
Round trip anyOf/oneOf serialization tests
Generate classes with int/num types
Do through converter instead of object ctor
Regen models
Use convert methods
Regen models
Test data
Add enum
Remove enums
Regenned models
* update sha256
* use new spec
* skip tests
* update workflow
* fix
---------
Co-authored-by: Ruben Aguilar <ruben.aguilar@forgeglobal.com>
* feat(client): support ability to disable boxed models
Add new additional property `avoidBoxedModels` which can be configured to avoid `Box<..>` of models.
It's very nice to have such config, because it doesn't make a lot of sense for really simple models.
* test: rollback config of existed test
* Fixed invalid extraction of response body in kotlin-client jvm-spring-*
* Generated echo-api for kotlin-jvm-spring-3-restclient
* Specific echo-api for Kotlin without allOf/anyOf
* Specific echo-api for Kotlin without allOf/anyOf
* Generated all samples
* Added kotlin-jvm-spring-3-restclient sample to workflow
* Fixed syntax problem
* [kotlin] Fixed multiple problems with default values
* [kotlin] Removed old commented code
* [kotlin] Generated new samples after merge with master
* [kotlin] ensure-up-to-date
* 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`
* add feature to generate only interface files
* generate sample
* add workflow file foe go gin service
* add workflow file foe go gin service
* add workflow file foe go gin service
* update samples
* fix(rust): simplify None logic
Used to be a code path (where isFreeFormObject and something else) where we could end up with two `: None` `: None`'s
This does add the None for the !required && !isArray && !isMap && !isNullable case (where nothing would have been printed before.
Above for the type on the individual vars inside the struct definition the logic is simply if not required then it's optional.
If it's optional we want a None when creating a new struct.
* ci: add tests for failure
* [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>
* add lombok model support on spring
* use regex to adapt annotation with parenthesis
* add ut case
* add samples
* add samples
* fix github workflow
* fix github workflow
* Fixed invalid extraction of response body in kotlin-client jvm-spring-*
* Generated echo-api for kotlin-jvm-spring-3-restclient
* Specific echo-api for Kotlin without allOf/anyOf
* Specific echo-api for Kotlin without allOf/anyOf
* Generated all samples
* Added kotlin-jvm-spring-3-restclient sample to workflow
* Fixed syntax problem
* feat: add `java-wiremock` generator
* remove text block usage for samples
this will allow more version of jav to be compatible with this
* fix extra parenthesis
* Add java-wiremock workflow
* chore: Remove leftover Github action file
This was probably added by mistake. A similar file is active in
.github/workflows/samples-python-pydantic-v1-petstore.yaml.
* chore: Remove leftover VERSION from old python-experimental sample
* ci: Stop running Python integration tests in Circle CI
These Python clients are all tested with Github Actions already, which
is faster, more cleanly separated and only runs on modifications.
I'm not cleaning up the pydantic-v1 client, I expect it to be removed soon anyway.
* chore: Remove true from sample folder name
python-disallowAdditionalPropertiesIfNotPresent-true
-> python-disallowAdditionalPropertiesIfNotPresent
* kotlin-server: Add support for Javalin
* kotlin-server: Add Javalin generated sample code
* Add output from build scripts
* Address MR feedback
* Update CI to include new Javalin sample