Commit Graph

7013 Commits

Author SHA1 Message Date
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
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 29b95ed2c4.
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
William Cheng
08108cc4ba add tests for nested oneOf fromJSONString (#12740) 2022-06-30 23:08:49 +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
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
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
William Cheng
f1a93fa3db add new test files 2022-06-25 12:05:28 +08:00
William Cheng
52452750c0 add test for anytype in cpp qt client 2022-06-25 10:05:01 +08:00
Daniel Renninghoff
c1b8780fff [cpp-qt-client] Replace AnyType with QJsonValue (#12642) 2022-06-25 09:40:28 +08:00
William Cheng
22ea4a60a1 update readme to refer to 13.0.1 newtonsoft json (#12689) 2022-06-24 22:20:39 +08:00
William Cheng
91bc8b41c4 update resteasy lib to newer version (#12688) 2022-06-24 22:20:20 +08:00
William Cheng
f5e701c459 update r api doc (#12679) 2022-06-24 10:39:48 +08:00
William Cheng
c3970d7348 update r model doc (#12676) 2022-06-23 20:47:12 +08:00
William Cheng
7d768f2535 [R] add error object type support (#12402)
* use rlang as exception in the petstore test

* add errorObject support

* fix method name, use ModelApiRespeonse

* update samples

* update doc

* fix api exception
2022-06-23 13:45:05 +08:00
William Cheng
45baa5e621 update kotlin samples 2022-06-23 11:19:06 +08:00
Eric Durand-Tremblay
c38d825a89 [BUG] Issue 10792 Kotlin generator produces invalid code when allOf is used (#12594)
* Step to reproduces

* Fix isMap detection for kotlin codegen

Co-authored-by: Eric Durand-Tremblay <etremblay@kronostechnologies.com>
2022-06-22 21:31:16 +01:00
Yartsev
75b883c5a5 OkHttpClient - fix enum properties in requests (#12661)
* OkHttpClient - fix enum properties in requests

* Has been committed the generated code

Co-authored-by: Mikhail Yartsev <mihail.yartsev@lamoda.ru>
2022-06-22 21:29:12 +01:00
William Cheng
012f90895f add doc to api exception, response object in R client (#12659) 2022-06-22 16:47:27 +08:00
William Cheng
a599ae927f fix deserialization for r model with special item name (#12658) 2022-06-22 15:06:56 +08:00
William Cheng
f2cc3b8611 fix roxygen warnings in oneof, anyof, api_client (#12654) 2022-06-21 16:35:24 +08:00
William Cheng
042f717352 [R] escape item reserved words in model items (#12653)
* fix item reserved words

* add comment

* add log
2022-06-21 11:42:27 +08:00
William Cheng
1f7a49539f update roxygen to newer version (#12652) 2022-06-21 09:59:18 +08:00
William Cheng
f29fdab33d update constructor for r oneof, anyof objects (#12643) 2022-06-21 09:25:54 +08:00
William Cheng
c26ac3f8a3 add documentations to r oneof, anyof (#12638) 2022-06-19 23:19:55 +08:00
Tomasz Janiszewski
0140f84f80 Keep AST small when usign builder (#12610) 2022-06-17 15:14:48 +08:00
Hui Yu
bcb5f55a2d [C][Client] Set the default value for the null json (#12620) 2022-06-17 15:01:33 +08:00
Jorge Rodríguez Martín
8b7736501d Fix cookies in parameters are always generated as required (#12599)
* Fix cookies in parameters are always generated as required

* Fix cookies in parameters are always generated as required
2022-06-16 17:50:16 +08:00
William Cheng
3143390d59 [java][okhttp-gson] Add streaming support in group parameters (#12601)
* add streaming support in group paramters

* add tests
2022-06-16 16:20:32 +08:00
William Cheng
01fdff0e06 update java samples 2022-06-15 15:56:40 +08:00
William Cheng
bd6617b3e7 Better null check for encoding (#12597)
* better null check for encoding

* add tests

* update samples
2022-06-15 15:49:30 +08:00
Marley
6be94becee [ts-angular]: added ts-ignore directive to addToHttpParams to avoid compilation errors (#12591)
* [ts-angular]: added ts-ignore directive to `addToHttpParams` to avoid compilation errors

* updated samples
2022-06-14 13:18:39 +02:00
Arne Beer
ef583c53dd [typescript-fetch] Fix ToJSON for non-descriminator oneOf constructs (#12513)
* [typescript-fetch] Fix ToJSON for non-descriminator oneOf constructs

* [typescript-fetch] Update samples for oneOf fix
2022-06-13 17:03:12 +02:00
Hui Yu
bf22f38015 [C][Client] Support freeform object (#12557) 2022-06-13 15:52:02 +08:00
William Cheng
c2595335c3 [java] Add useSingleRequestParameter support (#12580)
* add useSingleRequestParameter support to java client

* trigger build failure

* trigger build failure

* Revert "trigger build failure"

This reverts commit 545e57ab8f.

* Revert "trigger build failure"

This reverts commit 849f71f1f1.

* update doc
2022-06-12 17:23:42 +08:00
William Cheng
0c18b2e302 update jersey3 jackson-databind to 2.13.2.2 (#12579) 2022-06-12 14:57:29 +08:00
William Cheng
c7107a1ecc throw exception when failed to refresh token (jersey3) (#12577) 2022-06-12 14:56:59 +08:00
William Cheng
3bc4416554 update go samples 2022-06-11 09:24:50 +08:00
Beppe Catanese
aeb40ab0ae [Go] Address Gosec vulnerabilities in Go client mustache template (#12540)
* Fix potential file inclusion via variable

* Fix deferring unsafe method "Close" on type "*os.File"

* Update samples

* Correction to use existing variable

* Correction generated samples
2022-06-11 09:10:48 +08:00
Jean-François Côté
45f430f5c8 Fix problem when uploading file using form-data in jersey2 client (#12563)
* Fix problem when uploading file using form-data in jersey2 client

* Remove serialization that is not required for most cases

* Small fix
2022-06-11 09:08:51 +08:00