1712 Commits

Author SHA1 Message Date
William Cheng
12cdacabbf
[Inline model resolver] better handling of inline responses and bug fixes (#12353)
* better handling of inline response schemas, bug fixes

* update samples

* add new files

* better code format

* remove unused ruby files

* fix java test

* remove unused js spec files

* remove inline_response_default_test.dart

* fix webclient tests

* fix spring tests
2022-05-13 10:17:59 +08:00
William Cheng
d135f1992e
Fix inline allOf in request body (#12348)
* fix inline allof in request body

* update samples
2022-05-12 12:51:36 +08:00
William Cheng
ad3b5f7045
[Inline model resolver] various improvements (#12293)
* better handling of requestbody in the inline resolver

* remove commented code

* better request body naming

* fix unique naming

* minor code format change

* removed additional underscore from names, fix test

* more fixes, update tests

* fix all tests

* undo changes to default codegen

* update samples

* update python tests

* add new files

* update samples
2022-05-10 17:13:57 +08:00
Thi
b7d079b7e3
[Cpp][Qt][client] Fixed issue with unique items in OpenAPI schema (#11954)
* [cpp-qt-client] Fix CMakeLists.txt

Changed: Always add Qt5::Gui to build
Added: find_package for OpenSSL (if not Apple)

* Revert "[cpp-qt-client] Fix CMakeLists.txt"

This reverts commit db5c3423b92410115f4c3d5f8b6ca0cabb58f9f6.

* Revert "Revert "[cpp-qt-client] Fix CMakeLists.txt""

This reverts commit c4f055f3cdf666b3ce265fa14e297c3b11d803d9.

* [Cpp][Qt][client] Fixed unique items in OpenAPI schema

Added equal operator for schema objects
Added qhash Operator

in api template
depending on unique items
output.insert(val) -- QSet (unique items)
or
ouput.appen(val) -- QList (not unique items)

* Added petstore with unique items to tests schemas, added config for [cpp][qt] and this schema

* Run ./bin/generate-samples.sh bin/configs/cpp-qt-client* for new schemas and tests

* Update bin/configs/cpp-qt-client-petstore-unique.yaml

Co-authored-by: Martin Delille <martin@delille.org>

* Update bin/configs/cpp-qt-client-petstore-unique.yaml

Co-authored-by: Martin Delille <martin@delille.org>

* Fixxed typo in name of spec file, too.

* Moved petstore_plus_unique.json to correct directory  (2_0 -> 3_0 )

moved open api specification
rerun generate samples

* Deleted obsolete samples output

* Removed obsolete files   (unique items petstore yaml definition and samples)

* Updated samples output for cpp-qt

Co-authored-by: Martin Delille <martin@delille.org>
2022-05-08 15:14:41 +08:00
William Cheng
d97c152c14
Add new method to detect self-referencing in ModelUtils (#12294)
* fix unaliasing object schema, add tests

* add self reference check

* add self reference check, add test
2022-05-05 16:22:52 +08:00
Justin Black
f3436b455a
Adds fix and test for spec version detection (#12290) 2022-05-02 20:39:14 -07:00
Justin Black
8fc85530e8
[python-experimental] fixes delete endpoint with no body use case (#12287)
* Generates delete_coffee endpoint

* Adds test of delete_coffee

* Removes .run files

* Fixes bug and adds test

* Reverts version file

* Reverts function sig

* Removes comma
2022-05-02 18:42:13 -07:00
Dave Syer
d03115fc20
Fix directory name to match package (#12270) 2022-05-01 15:21:14 +08:00
Peter Leibiger
89d17e2845
[dart] Rename dart-dio-next to dart-dio and make it stable (#12258) 2022-04-30 16:43:11 +08:00
Johan Sjöblom
8950a9a3c0
[BUG][Kotlin-client] Handling default values of parameters (#12255)
* Bugfix Kotlin-client: Handling default values of parameters

* Adding object
2022-04-29 15:26:29 +01:00
Michael Marner
e6be5543dd
[Dart-Dio-Next]#9082 Add json_serializable serialization option (#9980)
* 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>
2022-04-27 16:12:22 +08:00
William Cheng
53eebc953f
New option to map inline schema names (#12237)
* add option to specify inline schema nam mapping

* update samples

* update samples

* add new option to plugins

* better code format

* better code format

* better log info

* better docstring

* add tests
2022-04-27 01:13:45 +08:00
Johan Sjöblom
356732d1bd
[kotlin-spring] Adding DocumentationProvider and SwaggerUI (#12184)
* 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
2022-04-27 01:03:32 +08:00
William Cheng
4ee5f72214
Use LinkedHashMap for deterministic iteration order (#12230)
* to LinkedHashMap

* LinkedHashMap

* allModels to LinkedHaskMap

Co-authored-by: yilinwang <linda.yilin@gmail.com>
2022-04-25 13:33:24 +08:00
Andriy Dmytruk
52d8a969ce
[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
2022-04-24 16:10:33 +08:00
Noah Fontes
4fbe64d4fb
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.
2022-04-24 15:43:50 +08:00
Johan Sjöblom
aa51d421cc
Fixing bug in Kotlin Client with BigDecimal default value (#12213) 2022-04-24 15:42:17 +08:00
Andrii Serkes
783f810a05
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
2022-04-20 14:29:43 +08:00
William Cheng
8330e16d66
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
2022-04-20 10:28:15 +08:00
Justin Black
e2e7609bac
Adds not to CodegenComposedSchemas and uses it in python-exp (#12146)
Updates docs
2022-04-17 09:36:09 -07:00
Justin Black
eef7cddd6f
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
2022-04-16 14:55:49 -07:00
cachescrubber
f195a83aaf
[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>
2022-04-16 16:48:14 +08:00
Oleh Kurpiak
ceaff2001b
[Java] Ignore return value for Java file assert classes (#12145) 2022-04-16 16:29:45 +08:00
Justin Black
1deaaa88fe
[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
2022-04-13 15:45:33 -07:00
Anton Koscejev
7851dfe148
[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
2022-04-14 01:52:01 +08:00
William Cheng
4c2a981230
[C++][Qt] update petstore to 3.0 spec (#12124)
* test update sampels

* update samples

* add file
2022-04-13 10:22:37 +08:00
mkusaka
8c57b66da9
[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
2022-04-12 19:06:54 +02:00
Peter Leibiger
e988dc8b62
[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
2022-04-13 00:42:15 +08:00
mkusaka
877a3fc58d
[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
2022-04-12 09:10:37 +02:00
Peter Leibiger
478ed9b8ed
Add a sample of an enum model array in query params (#12107) 2022-04-12 13:53:51 +08:00
Peter Leibiger
15e9d4ed8c
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
2022-04-12 13:52:53 +08:00
Justin Black
b29b5e1045
[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
2022-04-11 20:05:26 -07:00
Noah Fontes
f6231d2488
Remove restrictions for additional property types (#11802)
When a schema specifies additionalProperties: true, we need not restrict
those properties to a particular type. This change sets the schemas for
them to AnyType instead of object.

From a generation perspective, this only changes the output for
generators that differentiate between AnyType and object in their type
mappings; most do not. This fixes at least one bug in the Go and
TypeScript generators.
2022-04-09 10:19:54 +08:00
William Cheng
6591d4e6fb
[PowerShell] better enum model support (#12082)
* better enum model/class support in powershell client generator

* add new files
2022-04-08 13:27:03 +08:00
Oleh Kurpiak
edfb3e123f
Reduce casting for operations processing (#12002) 2022-04-06 11:15:36 +08:00
William Cheng
a7e92786df
[PowerShell] add more tests to powershell client (#12057)
* add more tests to powershell client

* update spec

* update method name

* add new file
2022-04-06 10:24:32 +08:00
devhl-labs
7b6fa755c1
[csharp-netcore] Composed primitives support in generichost (#11924)
* refactor nrt annotation

* enable nrt by default in .net6.0+

* use shorter nrt annotation

* build samples

* removed debugging lines

* fixed model and operatoin constructors

* reverted a commented line for comparison

* upgraded to System.Text.Json

* build samples

* build samples

* deleted samples to remove old files

* bug fixes

* bug fixes

* added cumpulsory property to codegen

* build samples

* fixed bug

* fixed bug

* fixes

* removed bugged code that wasnt needed

* build samples

* restored sorting and default values for required params

* fixed bugs in comparison

* fixed sort comparators

* recreate tests

* build samples...again...

* removed debugging line breaks

* simplified constructor signature

* inject json options

* build samples...again...

* build samples

* add support for composed primitives

* build samples

* build all samples
2022-04-03 17:29:49 +08:00
Mikko Maunu
c21d2cde19
Added space between @NotNull-annotation and Java type to produce code that can be compiled. fix #11340 (#12034) 2022-04-03 16:53:29 +08:00
Daniel Qian
41451ff5ee
fix #11958 [BUG] python generates wrong model name and model file name (#11959)
* fix #11958 [BUG] python generates wrong model name and model file name

Modify AbstractPythonCodegen.toModelName just like AbstractJavaCodegen.toModelName

* add unit test

* update samples and docs
by
./bin/generate-samples.sh
./bin/utils/export_docs_generators.sh

* fix AbstractPythonCodegen#toModelName logic, remove underscore

* update samples and docs
by
./bin/generate-samples.sh
./bin/utils/export_docs_generators.sh
2022-04-01 19:43:08 -07:00
Justin Black
a4e2dde745
Fixes issue where object in query parameter generates a NPE (#12010)
* Fixes issue 11946

* Fixes items assignment for deep object query params

* Adds fix for inline query param object schemas

* Fixes keyword name, changes it from mapBean[keyword]

* Reverts version file
2022-03-30 15:30:26 -07:00
Akhil Nair
a6bcef5b16
[PYTHON] Setting default value for Required variables (#10809)
* [req_vars_changes]

* Added new schema to generate samples to test the issue mentioned in the PR.

* Changed the variable name from setRequiredVars to initRequiredVars

* Added initRequiredVars as a generator additional property

* Regenerating the samples after rebasing the code with master branch

* Changed the description of additional property
2022-03-30 08:52:00 -07:00
Andriy Dmytruk
4cac09324e
[Micronaut] [Server] Add support for security roles with extension (#11995)
* Minor refactor for Micronaut generators

* Add support for security roles in micronaut server generator

* Micronaut Server Generator refactor the x-roles String variable
2022-03-29 10:20:25 +08:00
mkusaka
21c399f2b8
[typescript-fetch] Add stringEnums option (#11976)
* [typescript-fetch] add stringEnums option

* [typescript-fetch] add docs & samples

* [typescript-fetch] update samples

* [typescript-fetch] support 3.4 or lower version

* [typescript-fetch] update samples
2022-03-28 10:51:33 +02:00
K Zhang
efefbaf7d8
[GoClient] Fixed StringIndexOutOfBoundsException when multiple properties has the same required $ref oneOf objects (#11973)
* Fixed StringIndexOutOfBoundsException when the object has multiple required fields has $ref to the same oneOf object

* fix bad depth

Co-authored-by: Kanda <kanda@synctera.com>
2022-03-27 15:12:59 +08:00
Oleh Kurpiak
8103ccdfa7
[Java][Spring] default value for list parameter (#11961) 2022-03-26 10:30:55 +08:00
y-tomida
5fa08b9bc1
[Typescript-node] fix handling of --model-name-prefix|suffix options, second attempt (#11966)
* remove prefix and suffix from model before generate import path

* add testcases

* optimize import

* fix testcases
2022-03-25 07:34:11 +01:00
Esteban Gehring
db53fdffb2
Revert "[Typescript-node] fix handling of --model-name-prefix|suffix options (#11956)" (#11963)
This reverts commit 7cc995ab10ca607fa113650e311e50bd84d893fc.
2022-03-24 18:30:21 +01:00
y-tomida
7cc995ab10
[Typescript-node] fix handling of --model-name-prefix|suffix options (#11956)
* remove prefix and suffix from model before generate import path

* add testcases

* optimize import
2022-03-24 18:05:24 +01:00
Oleh Kurpiak
85df431ebf
Replace maps with models to reduce casting (#11913) 2022-03-25 00:48:41 +08:00
Oleh Kurpiak
2455c84943
[Java][Spring] Fix Array response (#11909) 2022-03-21 23:54:21 +08:00