11973 Commits

Author SHA1 Message Date
Felix König
9122b2a547
codegen: add <> -> 'Not_Equal' to specialCharReplacements (#12801)
This is a fairly common alternative to `!=`, e.g. in SQL or in DevExtreme filters.
Previously, if one of an enum's variant was just '<>', its entire name would be sanitized away,
resulting in an empty string as symbol name and therefore a syntax error.
2022-07-12 00:12:56 +08:00
Thomas Hansen
3e42a6eae0
[PHP] Allow strings with only whitespaces in enums (#12783) 2022-07-12 00:01:46 +08:00
Thomas Hansen
cd48db43b4
[PHP] Add support to nullable (based on #3493) (#12794)
* [PHP] Add support to nullable (based on PR 3493)

* [AUTOGENERATED] update samples
2022-07-12 00:00:39 +08:00
William Cheng
20420e5e14
[R] add streaming support (#12821)
* add streaming option to r client

* support callback function to process data stream

* add stream test, minor bug fixes

* fix api client

* return void earlier if streaming, add tests
2022-07-11 00:19:07 +08:00
Justin Black
84ac06abdc
Fixes test folder cleaning in python-exp only (#12825)
* Adds test folder file removal in python-exp only

* Samples regnerated

* Removes unused code, tweaks unit test sample to test PR change

* Reverts spec change

* FIxes javadoc
2022-07-10 08:45:49 -04:00
William Cheng
574f6f3192
fix tests (#12820) 2022-07-10 17:16:45 +08:00
William Cheng
82b7859c19
add tests for rust nullable required parameter (#12814) 2022-07-10 15:54:33 +08:00
William Cheng
9d6b12591e
Fix set, map import (#12818)
* fix set, map import

* update samples

* update tests
2022-07-10 14:58:55 +08:00
William Cheng
f242b5e1dd
Skip import of allOf composition schema (#12798)
* skip import of allOf composition schema

* update samples

* allow python generator to keep old behaviour

* update js import
2022-07-10 14:58:22 +08:00
Justin Black
d6b360d47f
[python-experimental] Allow schema instances to be passed in and pass additional schema validations (#12758)
* Converts all schema instances back into primitives in cast_to_allowed_types, fixes test test_deserialize_oneof_reference

* Updates type hint

* Adds validated_path_to_schemas input

* Adds debugging, storess validated schemas in validated_path_to_schemas

* Adds __process_schema_classes

* Simplifies class creation for enums, True/False/None

* Removes unused methods

* Fixes two tests

* Removes unneeded method _enum_by_value

* Adds and uses validation_ran_earlier

* Skips running validation if already ran, base_classes changed to seen_classes

* Adds and uses validation_ran_earlier

* Simplifies __get_simple_class

* Casts None/True/False into NoneClass and BoolClass instances to make tpye checking and unique items checking simpler

* Always cast file input to FileIO, removes __get_simple_class

* Moves type checking to separate class

* Moves validation checking into a _validate method

* Moves enum value checking into SchemaEnumMaker's _validate method

* Fixes test_dict_validate_direct_instantiation_cast_item

* Removes spy_decorator

* Fixed test_dict_validate_direct_instantiation

* Fixes test_list_validate_direct_instantiation_cast_item

* Fixes test_list_validate_direct_instantiation

* Fixes test_list_validate_from_openai_data_instantiation

* Fixes test_dict_validate_from_openapi_data_instantiation

* Fixes test_upload_files

* Samples regenerated

* Reverts version file
2022-07-09 18:06:09 -04:00
Mikka
447fc4a5e9
correct description for logToStderr configuration (#12806) 2022-07-09 22:29:52 +08:00
thrykol
a1892b1636
feat(rust): allow more granular Rust integer types and cleaned up clippy warnings (#12479)
* feat(rust): support various Rust integer types (#2)

* fix: Use ROOT locale

* fix: unsigned int bounds were incorrect

* fix: deal with potential null value
2022-07-09 20:37:16 +08:00
Mikka
d364daa5af
Resolve language generator ambiguities (#12808)
* Resolve language vs. generator ambiguities

Since now "generatorName" is used instead of "language" to specifying what will be generated, some parts of the description were corrected, which were still using "language" instead of "generator".

* Update README.md
2022-07-09 16:10:23 +08:00
Mikka
dbee2c5a83
Fix small documentation errors (#12811)
* fix typo in openapi-generator-maven-plugin readme

* fix copy&paste error in spring example pom.xml

spring generator is used for java server side code generation, not for client code generation

* fixed copy&paste errors in kotlin example pom.xml

kotlin generator is not used to generate java client code, but kotlin client code.
2022-07-09 16:06:44 +08:00
Oleh Kurpiak
cfebd14c2b
Handle custom content type example (#12460) 2022-07-07 01:29:55 +08:00
David Miguel Lozano
92a5544ba0
Fix model package name import in Dart json_serializable (#12615) 2022-07-07 01:22:02 +08:00
Sascha Peilicke
42a45e1a1c
Gradle Plugin: Clean up Kotlin code (#12720)
Fix typos, unused imports and formatting issues. Remove @Supress
annotations that are no longer necessary
2022-07-07 01:19:16 +08:00
Thomas Hansen
1a44a5284a
[PHP] Fix message for InvalidArgumentException(), when failing to test pattern (#12780)
* [BUGFIX] model_generic.mustache: Display property name instead of its value, when throwing InvalidArgumentExeption() for values not respecting a given pattern

* [AUTOGENERATED] Generated files
2022-07-07 01:17:22 +08:00
Tom Bärwinkel
ac9e595476
Use the first status code in 2XX range, fallback to 200 (#12637)
This is in line with the OpenAPI specification:

The Responses Object MUST contain at least one response code, and
it SHOULD be the response for a successful operation call.

and excludes the 2XX range response itself.
2022-07-07 01:14:32 +08:00
Tom Bärwinkel
728c80abea
Add option to use custom a monad (#12618) 2022-07-07 01:13:06 +08:00
Gaëtan Duchaussois
cb1ba17877
Rust: fix for required nullable input (#12485)
Co-authored-by: Gaëtan Duchaussois <gaetan.duchaussois@craft.ai>
2022-07-06 17:25:15 +08:00
William Cheng
f5b5feb58d
remove warnings related to escaping the characters in the md generator (#12774) 2022-07-06 14:19:40 +08:00
William Cheng
1383be4a2e
Fix missing import in jaxrs pojo (#12766)
* fix missing import in jaxrs pojo

* trigger build failure

* Revert "trigger build failure"

This reverts commit 4eed12f850cbc008404b0dc2284245f3d3ce4a15.
2022-07-05 17:12:26 +08:00
Bogdan Ilchyshyn
97daba5c58
fixing error handler interceptor (#12761) 2022-07-04 09:06:34 +02:00
William Cheng
6cae0fbb78 Merge remote-tracking branch 'origin/6.1.x' 2022-07-04 01:22:51 +08:00
William Cheng
9e412edb64
Prepare 6.0.1 release (#12762)
* update to v6.0.1

* update doc

* update samples
2022-07-03 23:36:46 +08:00
Oleh Kurpiak
d36dabaf77
[Java][microprofile] fix constructor creation (#12627) 2022-07-03 17:54:55 +08:00
Gabriel Mazetto
b97a4ad12a
Generate .gitlab-ci.yml files for Ruby template (#12750) 2022-07-03 17:52:32 +08:00
William Cheng
2d3bfaf96d
Add schema mappings (#12600)
* add option schema mappings

* add schema mapping support, update tests

* minor fix

* update other generators, tests
2022-07-03 17:46:39 +08:00
Austin Ziegler
18a07eab37
Improved Elixir Code Generation (#12751)
* Bump the minimum version of Elixir supported

The previous minimum version of Elixir is several years EOL.

The current minimum version of Elixir is also EOL, but is the minimum
version required to support some upcoming changes to the config
templates.

* Bump the minimum version fo Tesla

Keep the dependencies up to date

* Add a default .formatter.exs

* Add two Elixir-specific mustache lambdas

- The `atom` lambda results in the proper quoting of an atom depending
  on the safe contents of the atom text, per the Elixir language
  specification. That is, `{{#atom}}foo{{/atom}}` will be turned into
  `:foo` and `{{#atom}foo.bar{{/atom}}` will be turned into
  `:"foo.bar"`.

- The `env_var` lambda results in the treatment of the identifier
  provided being capitalized as an environment variable would be.
  `{{#env_var}}apiVersion{{/env_var}}` would become `ENV_VAR`.

* Use modern Elixir configuration

- This includes runtime configuration
- It depends on the `env_var` lambda.

* Fix a Language Server Warning

This change is *optional*, but removes a LS warning that was raised.

* Regenerated openapi_petstore for Elixir

* Add ex_doc as a default dependency

Fixes #12484

* Refine the regular expression for atoms

The original regex incorrectly matched `123Number` (unquoted atoms
cannot begin with numbers) and would incorrectly quote atoms ending in
`?` or `!`. Through testing with `iex`, it also turns out that the atom
`:-` is legal.

The following atoms will now not be quoted that would have been
incorrectly quoted:

- `:-`
- `:declawed?`
- `:neutered!`

The following atoms will be quoted that were incorrectly unquoted:

- `:"123Number"`

* Improve regex (again), remove files not generated

- The previous commit resulted in a number of warnings that were still
  present and so I played with the regular expression. This did not
  solve the problem, but the resulting regular expression is *much*
  better than the previous one, so I'm keeping it.

- The problem was that the configuration (`bin/configs/elixir.yaml`) is
  generated using a 3.0 input spec:

  ```yaml
  inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
  ```

  Which means that there were 16 files committed which were no longer
  being generated. When I tested with the 2.0 input spec:

  ```yaml
  inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
  ```

  The files were generated again. I *believe* that the correct change
  here is to switch back to the 2.0 input spec, as it tests more code
  generation, but I wanted to check in before I did this.

  The following files are deleted:

  - `elixir/lib/openapi_petstore/model/additional_properties_any_type.ex`
  - `elixir/lib/openapi_petstore/model/additional_properties_array.ex`
  - `elixir/lib/openapi_petstore/model/additional_properties_boolean.ex`
  - `elixir/lib/openapi_petstore/model/additional_properties_integer.ex`
  - `elixir/lib/openapi_petstore/model/additional_properties_number.ex`
  - `elixir/lib/openapi_petstore/model/additional_properties_object.ex`
  - `elixir/lib/openapi_petstore/model/additional_properties_string.ex`
  - `elixir/lib/openapi_petstore/model/big_cat.ex`
  - `elixir/lib/openapi_petstore/model/big_cat_all_of.ex`
  - `elixir/lib/openapi_petstore/model/inline_response_default.ex`
  - `elixir/lib/openapi_petstore/model/special_model_name.ex`
  - `elixir/lib/openapi_petstore/model/type_holder_default.ex`
  - `elixir/lib/openapi_petstore/model/type_holder_example.ex`
  - `elixir/lib/openapi_petstore/model/xml_item.ex`
  - `elixir/pom.xml`
  - `elixir/test/pet_test.exs`

  In the interim, I have removed those files from the commit.
2022-07-03 17:31:34 +08:00
William Cheng
f1dd44d70c
add tests for item with special characters (#12757) 2022-07-03 17:26:12 +08:00
Lazar Prijović
5658397152
[BUG] [CPP-UE4] Fix unique items list codegen (#12745)
* Fix unique items list codegen for UE4

* Update generator's doc
2022-07-03 17:17:48 +08:00
Lazar Prijović
b372f6424c
Fix codegen for nested container types (#12747) 2022-07-02 16:21:20 +08:00
Justin Black
6158274f65
Adds openapi v3.0.3 unit test spec, includes test cases, autogenerates model tests with them (#12619)
* Adds draft6 tests and python file reader

* Adds processing of multiple files

* Moves test examples into a different component so component schemas can be booleans

* Excludes boolean schema cases and some others that contain patternProperties

* Adds automatic test generation, template not quite working with indentation

* Turns on allOf tests, some failing

* Adds more generated components and tests

* Adds enum tests

* Turns on all of themissing tests

* Adds exclmax and min exclusion reasons

* Adds items test cases

* Adds maximum

* Adds maxItems

* Adds maxLength

* Adds maxProperties

* Adds minimum

* Adds minItems

* Adds minLength

* Adds minProperties

* Adds multipleOf

* Adds not

* Adds oneOf

* Adds pattern

* Adds patternProperties

* Working on properties examples, partial fix for escaped characters

* Further improves example string escaping

* Fixes properties test cases

* Adds draft6 test samples license

* Adds ref

* Finishes ref

* Adds remoteRef

* Adds required

* Improves required testing

* Fixes build error / javadoc warning

* Fixes uniqueItems bug in python-experimental

* Turns all tests back on

* Fixes 2 failing tests, all python tests pass

* Fixes java npe errors

* Fixes formatting of tests, indentation fixed

* Test fase name fixed to toTestCaseName, docstring added to ObjectWithTypeBooleans

* Fixes typo

* Adds test deletion to samples generation, samples regenerated

* Updates python-exp unit test sample, includes new ref examples
2022-07-01 13:46:02 -07:00
William Cheng
4cf58f5886
support enum integers in powershell client (#12752) 2022-07-01 13:52:47 +08:00
William Cheng
d0a0b822d6
[csharp-netcore] Add support for ComVisible, CLSCompliant attributes (#12733)
* add support for ComVisible, CLSCompliant attributes in csharp-netcore clients

* fix import
2022-07-01 13:51:29 +08:00
Anakael
280de38de9
[csharp-netcore] fix: url escaping (#12739)
* fix: url escaping

* doc: add Polly to dependencies

* Revert "doc: add Polly to dependencies"

This reverts commit 29b95ed2c42455e970ac806149c7602980be8f2f.
2022-06-30 23:10:17 +08:00
William Cheng
c982421495
[Go] use EqualFold instead instead of comparing strings in lower case (#12741)
* use EqualFold instead in the go client

* update samples
2022-06-30 23:09:10 +08:00
Bogdan Ilchyshyn
3a2bbbb850
support error handling in middleware (#12716) 2022-06-29 07:59:51 +02:00
William Cheng
0232d1cd00
add toString method to oneOf/anyOf objects (#12727) 2022-06-29 11:01:56 +08:00
William Cheng
3feb11acbb
fix nested oneof, fix toStringJSON (#12723) 2022-06-28 23:43:56 +08:00
anttikarhu
05ae49698f
Idea plugin for marking source directories, and omitting gradle wrapper (#12711)
* Idea plugin for marking source directories, and omitting gradle wrapper for creating sub projects

* Register the omitGradleWrapper option

* Added missing idea option
2022-06-28 16:06:10 +01:00
William Cheng
5cb66a8ab0
[R] Fix empty variable name, fix post process model (#12708)
* fix empty variable name, fix post process model

* fix empty base name
2022-06-27 19:26:51 +08:00
William Cheng
9522f6d1e2
add toString method in models (#12706) 2022-06-27 19:26:35 +08:00
Bogdan Ilchyshyn
55d9231ca9
using import type instead of import for types imports (#12534) 2022-06-26 09:24:13 +02:00
William Cheng
726765af50
improve r documentation, readme, code sample (#12700) 2022-06-26 15:15:22 +08:00
Daniel Metzner
3b15bb8a4e
[PHP] Enhance Symfony generator (#12532)
* Enhance Symfony generator

  - Add missing typehints
  - Add missing use statements
  - Simplify model ctor
  - Change fallthrough Exception to Throwable
  - prevent storing result of void methods
  - fix validate method
  - add default null values to model properties
  - simplify API interface return values
  - fix/rework default value implementation
  - fix optional params deprecation warnings
  - ..

For more details check out the PR: https://github.com/OpenAPITools/openapi-generator/pull/12532

* Enhance Symfony generator Tests

  - Skip risky tests
  - Fix type hint error
  - Fix class exists tests
  - Fix broken doc block
  - Enhance annotations
  - Update phpunit.xml.dist
  - Fix test config resource location
2022-06-25 20:53:21 +08:00
William Cheng
286a31c019
Update jackson databind to 2.12.6.1 (#12698)
* update jackson databind to newer version

* update version

* fix retrofit2

* fix rest assured jackson samples
2022-06-25 20:30:41 +08:00
William Cheng
e4b78dbbd8
[R] minify json in toJSON (#12699)
* minify json in toJSON

* update fromjson with better variable naming
2022-06-25 18:11:25 +08:00
William Cheng
29ea48ee96
update jackson-databind-nullable to 0.2.3 (#12693) 2022-06-25 12:45:17 +08:00