* Combine javascript and javascript-apollo generator functionality
* Combine javascript and javascript-apollo templates
* update configs
* deprecate javascript-apollo generator
* bonus magic string deletion ✨
* update samples
* update generator docs
* fix: include .babelrc in apollo generation
* update samples
* update samples
* rename javascript-apollo to javascript-apollo-deprecated
* fix javascript apollo library template
Apollo library now uses the partial_model_generic template file from the ES6 library, as it includes many fixes and improvements (including handling models with ill-named attributes)
* update samples
* Create javascript-apollo-deprecated.md
* Updated javascript generator template's gitignore
Updates .gitignore with that from https://github.com/github/gitignore/blob/main/Node.gitignore
Main reason for the update is to ignore the 'dist' folder with compiled files by default.
* javascript generator: merge api_test template files
The only difference is that Apollo is not designed for browser, so having a "if(browser)" check is useless, but doesn't hurt.
* update docs
* cleanup
* avoid possible config clash
* update javascript-apollo sample
* update javascript-es6 sample
I kept the pom.xml from before
* update javascript-promise-es6 sample
kept pom.xml
* update samples
* fix TypescriptAngularPetstoreIntegrationTest
(since this has been abandoned for a long time: just copy the generated code the the "expected" directory)
* fix TypescriptAngularArrayAndObjectIntegrationTest
(since this has been abandoned for a long time: just copy the generated code the the "expected" directory)
* fix TypescriptAngularAdditionalPropertiesIntegrationTest
(since this has been abandoned for a long time: just copy the generated code the the "expected" directory)
* fixes#13131: add custom path parameter expansion to typescript-angular
* fixes#13131: add example for typescript-angular: paramExpansionStrategy=custom
* fixes#13131: document usage of paramExpansionStrategy=custom in README.mustache
* fixes#13131: fix unit tests and sample url for http-param-expander package
* fixes#13131: update samples
* fixes#13131: drop new cli parameter, handle encoding in template only
* fixes#13131: add TestNG groups to all Typescript tests
* fixes#13131: old angular/typescript does not understand type imports
* Apply suggestions from code review
Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
* fixes#13131: implement backwards-compatible behavior for format: 'date-time'
* fixes#13131: update typescript-angular integrationtests
* fixes#13131: review fixes + lots of documentation
* fixes#13131: update integrationtests
* fixes#13131: update docs/examples
* fixes#13131: update integrationtests
* fixes#13131: unify enums to union-types to make the api feel mora angular-ish
* fixes#13131: update examples
* fixes#13131: update docs/examples after merge of master
Co-authored-by: Christoph Linder <post@christoph-linder.ch>
Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
* [Ruby] Use Ruby autoload to lower memory usage and load times
Fixes#12648
Requiring all models up front can be very expensive in both time and
memory if there are many models. In an example client with 6000 models,
this would consume nearly 400MB of memory and take about 7 seconds to
load. This is mostly unnecessary as most users of the client library
will only actually use a small percentage of the library.
The changes in this commit use Ruby's autoload capability to defer the
loading until the constant is actually used. In that same example client
with 6000 models, when initially requiring the library, the memory
usage dropped to ~20MB and loaded in 0.3 seconds. As the constants are
loaded on-demand, the memory would increase towards that 400MB ceiling,
but if only a few constants are actually used, then memory will never
actually hit that ceiling.
An additional side effect of using Ruby's autoload is that the order of
declaring the constants is not important, as Ruby will naturally load
them in the correct order when they are needed. Thus, this commit obviates
PR #9103 and fixes#4690.
* add option to use autoload in ruby client
* test ruby clients only
* add tests
* update samples
* Revert "test ruby clients only"
This reverts commit 0aaf71cd4cc5d266f824b261a4d312f07bd589e5.
* update doc
Co-authored-by: Jason Frey <fryguy9@gmail.com>
* Update RestSharp to v108
* Add OAuth2 Application (client_credentials) authentication
* Run generators and fix typos
* Undo accidental python and rust changes
* Add documentation, fix authenticator bug, and fix user agent bug
* Fix tests
Missed some changes in the mustache templates.
Also had to update the `netcoreapp2.0` test project to `netcoreapp3.1` for compatibility with RestSharp
* Switch HttpUtility to WebUtility for compatibility
* Perl: separate date and DateTime
- Since the json values to be returned are different for date and DateTime, they are managed separately
* Per: Enforcing Perl types to openAPI types
Perl JSON values return different types depending on the context, so look at openapi's type and modify the type.
* generate samples
* generate docs
* add perl test (json types)
* feat(rust): support various Rust integer types (#2)
* fix: Use ROOT locale
* fix: unsigned int bounds were incorrect
* fix: deal with potential null value
* Idea plugin for marking source directories, and omitting gradle wrapper for creating sub projects
* Register the omitGradleWrapper option
* Added missing idea option
* use rlang as exception in the petstore test
* add errorObject support
* fix method name, use ModelApiRespeonse
* update samples
* update doc
* fix api exception
* Make it possible to opt out of JSONEncodable conformance
JSONEncodable is not a native type and does not exist if only models are generated.
* Match file indentation level
* Add the applicationName parameter to support generation of multiple clients
* Change indentation in application.yml to double-space
* Update swagger annotations version, and option to choose not to generate the annotations
* Generate operations only in the first defined tag class for micronaut server
* Improve micronaut client options by setting the correct default values in the JavaMicronautAbstractCodegen constructor
* Fix visitor pattern having abstract method in non-abstract class. Update samples
* Update server sample FILES
* Minor refactor
* Fix for context path
The default controller implementation returns an empty response. This
might result in unexpected behavior when an operation isn't implemented,
as a consumer of the API there is no way to notice the difference
between an unimplemented method and an actual empty response.
By changing the default behavior to return HTTP 501 Not Implemented the
user will be made aware of unimplemented methods. The former default
behavior, returning an empty response by default, can be activated with
a configuration option.
* added springdoc config file to codegen
* added mustache template for springdoc config
* changed type to all caps so it can be used in the template
* added security scheme details
caveat: didn't add oauth2 flows
* removed url not supported by codegensecurity
* Fixed default doc provider in help message
* refactored config file generation test
and added springdoc test
* removed default codegen modification
implemented through booleans in template instead
* added new/updated generator files
* fixed escaping of description
* fixed appDescription in template
removed if and fixed escaping
* updated generated files again
* updated to springdoc in generator docs
* PoC json_serializable in dart-dio-next
* Move build.yaml template into json_serializable dir
* Undo implicit-dynamic change
* Fix automatic formatting
* Treat non-required fields as nullable
* Make class properties final
* Fix error introduced by merging in master
* Fix map creation when deserializing
* Exclude built files from analysis
* Add new dio import props
* Fix broken merge
* Fix configuration of nullable properties
* Only add api_util import if using built value
* Add config param to set properties as final
* Fix syntax error due to merge
* Update to simplified dio configuration
* Add missing api constructor template
* Fix import for multipart files
* Fix inclusion of library deserialize template
* Update docs
* Remove trailing newline from class
* Fix whitespace in generated templates
* FIx built value generation problem caused by merge conflicts
* Escape dollar signs in strings
* Handle enums
* Config for json_serializable sample
* Generate sample for json_serializable
* Revert "Escape dollar signs in strings"
This reverts commit 6e2a3aeea0450518433f2a07fe7cda92272b18a5.
* Use raw strings when dealing with enum values
* Add json_serializable Maven module ind fix number based enums
* regenerate all tests
* Update docs and fix wrong maven module
* add a beta hint to json_serializable option
* Update minimum dart sdk with json serializable
* Use dart 2.14 when testing Dart samples
* Update codegen to remove analysis errors in output
Co-authored-by: Peter Leibiger <kuhnroyal@gmail.com>
* Adding DocumentationProvider and SwaggerUI to Kotlin Spring
* Fixing annotation errors
* Fixes to homeController
* Minor stylistic fixes
* Removing parameter from docs
* Structuring pom, making gradle file similar to pom
* Updating samples
* Add source folder variable to fastapi fix 12118
* Add generated sample files for python-fastapi fix 12118
* [python-experimental] fixes json + charset use case (#12114)
* Adds code to detect json content type when charset is also set
* Updates template to properly render content type, regenerates samples
* Adds test_json_with_charset
* Reverts version file
* Fixes typo
* Add example allOf with single ref (#10948)
* Add example allOf with single ref
* fix dart-dio-next handling of that case
* Refactor without vendor extension
* Regenerate newer samples
* Add a sample of an enum model array in query params (#12107)
* [typescript-fetch] drop support typescript under v4.0 (#12102)
* [typescript-fetch] drop support typescript under v4.0
* [typescript-fetch] update docs
* [typescript-fetch] update package-lock.json manually & fix test
* [typescript-fetch] fix test
* update samples
* [dart] Remove old dio generator (to be replaced with dart-dio-next) (#12109)
* remove old `dart-dio` generator which will be replaced by `dart-dio-next` in a seperate PR
* remove left-over `DartJaguarClinetCodegen` class which was sunset a while ago and is unused
* fix: respect configured generator URL in swagger config (#12064)
* fix: respect configured generator URL in swagger config
The generated OpenAPI spec does not reflect the GENERATOR_HOST which causes wrong generated code and non-functional snippets in the UI.
This PR improves that by adding the relevant parts to the spec.
* style: use `OpenAPI` instead of `Swagger`
* refactor: make Set creation Java 8 compatible
* fix: add missing import
* [typescript*] drop support typescript below 4.0 (#12123)
* [typescript-axios] drop support typescript below 4.0 & update samples
* [typescript-axios] update package.json & package-lock.json
* [typescript-node] drop support typescript below 4.0 & update samples
* [typescript-nestjs] drop support typescript below 4.0 & update samples
* [typescript-redux-query] drop support typescript below 4.0 & update samples
* [typescript-aurelia] drop support typescript below 4.0 & update samples
* [typescript-jquery] drop support typescript below 4.0 & update samples
* [typescript] drop support typescript below 4.0 & update samples
* Upgrade haskell-servant to latest LTS (#12092)
* [C++][Qt] update petstore to 3.0 spec (#12124)
* test update sampels
* update samples
* add file
* update readme with onesignal (#12126)
* [typescript-fetch] Removed functions that are unused when withoutRuntime is true. (#12101)
* [typescript-fetch] remove unused function when withoutRuntimeCheks option to true
* [typescript-fetch] update samples
* [kotlin][client] fix encoding of individual parts of a multipart request (#11911)
* [kotlin][client] fix encoding (and Content-Type headers) of individual parts of a multipart request
* [kotlin][client] fix incorrect handling of binary downloads
* [kotlin][client] update samples
* [python-experimental] Allow response media types to omit schema (#12135)
* Adds issue spec file and attemts to generate code from it
* Adds missing schema definitions
* Skips fromProperty invocation if the passed in schema is none in getContent
* Makes MediaType.schema optional
* Adds checking that the content type is in self.content
* Sets ApiResponse body type as Unset if there is no schema for it
* Handles schema = None case
* Adds endpoint without response schema
* Reverts version files
* Adds test_response_without_schema
* improve errorObjectType to avoid regression (#12131)
* [php-slim4] Add monolog package as default logger (#12137)
* Add monolog to templates
* Remove default values from DI\get helper
It turned out \DI\get expects only single argument, current method call
doesn't throw any errors but it should be corrected anyway.
* Refresh samples
* Bump async from 2.6.3 to 2.6.4 in /website (#12148)
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)
---
updated-dependencies:
- dependency-name: async
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* do not put the invalid value of the enum to a JSON structure (#12133)
* [Java] Ignore return value for Java file assert classes (#12145)
* Add @mkusaka to TS technical committee (#12150)
* Fix documentation for users of AbstractJavaJAXRSServerCodegen (#12142)
The default for `sourceFolder` in the documentation was wrong.
* [Dart][client] Adjust toJson method to use '_json' instead of 'json' to avoid shadowing fields named 'json' (#12127) (#12138)
* [Dart][client] Updated dart samples
Co-authored-by: 0xnf <0xnf>
* [dart] Support/Fix sourceFolder parameter and docs (#12113)
* [dart] Support/Fix sourceFolder parameter and docs
* allow passing the sourceFolder to generators
* not sure how this translates to the dart2 generator due to the `part` files
* fix doc generation not showing default value of CLI options
* [dart] Delete old generator doc files
* [Ruby] Add support for faraday 2.x (#12112)
* [ruby] Add faraday 2.x support
* Remove redundant params_encoder config
* Memoize Faraday connection and refactor
* [Java/Spring] all-of and one-of Improvements and Fixes (was #12075) (#12089)
* Fix Bug in OneOfImplementorAdditionalData pulling in wrong vars to one-of-implementors.
Support parentVars in order to support fluent setter with inherited properties.
Squashed commit of the following:
commit f945c943777a1a496d7de8fc0a188842d9efb1ac
Author: Lars Uffmann <lars.uffmann@gmail.com>
Date: Thu Apr 7 18:22:54 2022 +0200
Polishing
commit 23ce1d0ff1faff53e85ca4362f33660962aa6a92
Author: Lars Uffmann <lars.uffmann@vitroconnect.de>
Date: Thu Apr 7 17:15:28 2022 +0200
Add JavaDoc
commit fee70fde5709afa67f3aabd4f48ba496df63a884
Author: Lars Uffmann <lars.uffmann@vitroconnect.de>
Date: Thu Apr 7 17:11:17 2022 +0200
Add imports for inherited Properties
commit 29509aaac51750fbd33c00a57d32cac34cbcbb90
Author: Lars Uffmann <lars.uffmann@vitroconnect.de>
Date: Thu Apr 7 13:40:36 2022 +0200
Generate Samples
commit 1d19d5465137d3af712f2fd3b4ae4474c58af15e
Author: Lars Uffmann <lars.uffmann@vitroconnect.de>
Date: Thu Apr 7 13:21:23 2022 +0200
SpringCodegen: Support parentVars in order to support fluent setter with inherited properties.
commit 2217a77bb747d0b07ef17407a6b5dd5c624a2551
Author: Lars Uffmann <lars.uffmann@gmail.com>
Date: Thu Apr 7 07:18:50 2022 +0200
Add allVars to omit list in OneOfImplementorAdditionalData
commit 90499a3b0a187971bfe25deb6355c3444dcf89a7
Author: Lars Uffmann <lars.uffmann@gmail.com>
Date: Wed Apr 6 16:40:23 2022 +0200
Works exactly as needed for oneOf/allOf in Java/Spring
commit b6d496d772e0d0a8d87a3b8cdba8fd3ca4db7f3f
Author: Lars Uffmann <lars.uffmann@gmail.com>
Date: Wed Apr 6 15:16:27 2022 +0200
Debug Session: identify critical codep path
commit 85722360038107f15841d5acc448d93dee513a06
Author: Lars Uffmann <lars.uffmann@vitroconnect.de>
Date: Tue Apr 5 09:56:38 2022 +0200
Add test case to reproduce issue.
commit 14acc5cd974bb5260f3751015558807e2eb1a8a1
Author: Lars Uffmann <lars.uffmann@gmail.com>
Date: Tue Apr 5 06:57:30 2022 +0200
Add config to reproduce the issue
* Adjust indentation.
Co-authored-by: Lars Uffmann <lars@wintermute.local>
* [REQ][Ruby] Ruby Allow Follow Redirect (#12047)
* Add `follow_location` option
Implementation of https://github.com/OpenAPITools/openapi-generator/issues/10028
* regenerated clients
* set follow_location default to true
* Adds UUID to python-experimental (#12153)
* Adds UUID to python-exp, allows uuid models to be generated
* Adds test_UUIDString uuid model test
* Fixes uuid properties in python-exp, changes maps to object data type, adds uuid data type
* Adds maps data type back in
* Adds missing Null and AnyType definitions and adds them to python-experimental
* Generator docs updated, added missing uuid, null, anytype, and object
* Adds uuid support description
* Docs updated
* update url to travis ci
* Adds not to CodegenComposedSchemas and uses it in python-exp (#12146)
Updates docs
* [python-experimental] fixes bug where some singleton representations raised a RecursionError (#12157)
* Adds issue components and endpoint
* Regenerates samples
* Fixes singleton repr, removes issue components and endpoint
* Removes unused endpoint
* Reverts file
* Adds tests of enum, boolean, and none representations
* Uses super repr for singletons that ere not none, true, or false
* [swift5] Abstract away URLSession (#11651) (#12110)
* [Java][OkHTTP] fix empty request body handling (#12172)
* Better inline model resolver to handle inline schema in array item (#12104)
* better support of inline schema in array item
* update tests
* update samples
* regenerate samples
* fix allof naming, remove files
* add files
* update samples
* update readme
* fix tests
* update samples
* update samples
* add new files
* update test spec
* add back tests
* remove unused files
* comment out python test
* update js test using own spec
* remove files
* remove unused files
* remove files
* remove unused files
* better handling of allOf with a single type
* comment out go test
* remove test_all_of_with_single_ref_single_ref_type.py
* fix inline resolver, uncomment go test
* [Inline model resolver] minor enhancements/refactoring (#12175)
* better code format
* better code format, minor refactor
* [python-experimental] Fixes enum is comparison (#12176)
* Fixes enum is comparison
* Reverts file
* [php] make ObjectSerializer::toString actually return a string (#12158)
* update php samples
* Allow selection of MP REST API version for MicroProfile REST client g… (#12043)
* Allow selection of MP REST API version for MicroProfile REST client generation
* fix typo in pom.xml
* fix typo in pom.xml, update samples
* add exception when incorrect MP Rest Client version is chosen
* [Java][microprofile] update API test template to work with v3.0 (#12177)
* update microprofile api test to work with 3.0
* minor format change
* update samples
* Return type for Azure funcs (#12115)
* Azure func return type
* Changed to Task<IActionResult<T>
* Readme
* update doc
* Improvements to csharp-netcore-function generator (#12183)
* improvements to csharp-netcore-function generator
* update samples
* update doc, samples
* [java-micronaut] Support Optional for non-required properties (#12144)
The Micronaut generator by default adds the @Nullable annotation to
non-required properties and allows using the Jackson JsonNullable
wrapper but it is not possible to use java.util.Optional as a wrapper
for optional properties.
This change adds support for using the Optional wrapper for non-required
properties.
* update java samples
* [typescript-fetch] allow initOverrides with async function (#12098)
* [typescript-fetch] allow initOverrides with async function
* [typescript-fetch] update samples
* [typescript-fetch] refactoring initFnction apply
* [typescript-fetch] update samples
* [typescript-fetch] refactoring create body function
* [typescript-fetch] update samples
* [typescript-fetch] make interface more flexible
* [typescript-fetch] update samples
* [typescript-fetch] support 2.x version of typescript & update samples
* [typescript-axios] update samples
* [typescript-fetch] refactor: add type alias
* [typescript-fetch] override with init params even if initOverrides is function
* [typescript-fetch] update samples
* [Wsdl] Adding cli-option for generating different versions of WSDL-files regarding Media type versioning (content negotiation) (#12206)
* add wsdl version generation
* add option to use specified operationId
* update samples
* update cli description
* [python-flask] Fix return type too strict (#12190)
Flask (and connexion by extension) allows the return type to be either
just the body, or the body & status code, or the body & status code &
headers.
This commit fixes the stated `rtype` to allow the latter two cases.
* update samples, docs
* Fixing bug in Kotlin Client with BigDecimal default value (#12213)
* Fix duplication of "Api" when structPrefix is set (#12128)
This fixes a minor duplication of the word "Api", which is already part
of the classname template parameter and doesn't need to be repeated when
structPrefix is set.
* add samples/client/petstore/kotlin-bigdecimal-default to kotlin ci tests
* remove spring-mvc samples (#12222)
* [Micronaut] Add option to describe response wrappers (#12186)
* Minor refactor for Micronaut generators
* Add support for security roles in micronaut server generator
* Micronaut Server Generator refactor the x-roles String variable
* Add support for Micronaut HttpResponse wrapper
* Generate samples
* Optimize the usage of context-path for Micronaut server
* Emit default values for aspnetcore 3 value types (#11280)
Fixes#10772 for aspnetcore 3+
This allows numbers to be set to zero, and booleans to be set to false.
It may make sense to port this fix to the other C# generators,
though it was partially fixed (for booleans only) in the netcore client in PR9042.
* update samples
Co-authored-by: Justin Black <spacether@users.noreply.github.com>
Co-authored-by: Peter Leibiger <kuhnroyal@gmail.com>
Co-authored-by: mkusaka <hinoshita1992@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
Co-authored-by: Florian Greinacher <florian@greinacher.de>
Co-authored-by: Tom Bärwinkel <dev@baerwinkel.org>
Co-authored-by: Anton Koscejev <koscejev@users.noreply.github.com>
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hui Yu <ityuhui@gmail.com>
Co-authored-by: Oleh Kurpiak <oleh.kurpiak@gmail.com>
Co-authored-by: Eric Wolf <1983821+typetetris@users.noreply.github.com>
Co-authored-by: 0xNF <0xNF@users.noreply.github.com>
Co-authored-by: Yohei Kitamura <ykitamura@mdsol.com>
Co-authored-by: cachescrubber <5127753+cachescrubber@users.noreply.github.com>
Co-authored-by: Lars Uffmann <lars@wintermute.local>
Co-authored-by: Connor Moore <cmoore@aurorasolar.com>
Co-authored-by: leszek-s <1277962+leszek-s@users.noreply.github.com>
Co-authored-by: fengelniederhammer <92720311+fengelniederhammer@users.noreply.github.com>
Co-authored-by: Andrii Serkes <74911628+aserkes@users.noreply.github.com>
Co-authored-by: Abrhm7786 <82376602+Abrhm7786@users.noreply.github.com>
Co-authored-by: Auke Schrijnen <auke-@users.noreply.github.com>
Co-authored-by: adessoDpd <83429301+adessoDpd@users.noreply.github.com>
Co-authored-by: Oliver Ford <dev.github@ojford.com>
Co-authored-by: Johan Sjöblom <sjoblomj88@gmail.com>
Co-authored-by: Noah Fontes <noah.fontes@puppet.com>
Co-authored-by: Andriy Dmytruk <80816836+andriy-dmytruk@users.noreply.github.com>
Co-authored-by: matt beary <1661988+hauntingEcho@users.noreply.github.com>
* [java-micronaut] Generate visitor for subtypes with a discriminator
When types which extend a common type and are distinguished based on a
discriminator are consumed they are often cast to their specific Java
type which results in error prone boilerplate code.
By generating a visitor for those kind of types the various subtypes can
be consumed in a type safe manner.
* [java-micronaut] Remove redundant public access modifiers