* Continuing from #1317 and its PRs for pistache server string enum code generation;
* A class that has an `anyOf` specification, in cpp side will have no members: in stead it should have a member having the type `classname_anyOf`
* Thus, Its `==` operator is not present or wrongly filled
* An string enum, should have a better usage, hence the `setEnumValue`
* this PR, is a brigde between `stringenumclassname_anyOf` and `stringenumclassname`
* `anyOf` specification is not just about `Enums`, so a better handling is needed from mustache templates, hence new template model parameter `isStringEnumContainer`
* PR fix: muttleyxd: `double semicolon`
* PR fix: wing328: `I think std::string is C++ only. What about adding x-is-string-enum-container instead in the postProcessModel operation in the C++ pistache server generator?`
* PR fix: wing328: `I think std::string is C++ only...` after fix get latest codes and then generate samples
Co-authored-by: Mehmet Fatih <mfyuce@netas.com.tr>
Use Gradle 6.9 and Kotlin 1.4.32. Generate Paths for other HTTP verbs
(#828) and fix imports (#5640). Use 'object' when no parameters are
used. Introduce 'featureMetrics' to control metrics plugin usage. Remove
HOCON configuration parsing. This is provided by
`Application.environment.config already` and removes a dependency.
Resolves#9087, resolves#828, resolves#5640
Relates-To #5346
* Revert a change to the Go Client code that broke
the ability to download files. This reverts the change
from 14d41310b9
* Missed import for "io/ioutil"
* update samples
Co-authored-by: icubbon <icubbon@gmail.com>
* Add imports for inner items of arrays/maps in composedSchemas
* Add test case for typescript-angular
* tests
* tests
* disable generate alias
* Create different config
* [python][client] allow passing floats for _request_timeout
While several method docstrings suggested that you could pass floats for
_request_timeout and the underlying urllib3.Timeout can deal with them,
the code only allowed integer values so far when passed as a single
number.
* [python][samples] update with fix for _request_timeout type
* [python-fastapi] Fixed integration tests
Currently, it is required to use python 3.7 to make
python-fastapi generator work. This version is already
set in the generated Dockerfile. Thus, it makes sense to
build this image. Spotify's docker maven plugin can be
used to build the docker image.
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* fixup! [python-fastapi] Fixed integration tests
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* fix compilation break with validate function
* fix error handling in handleParsingException
bug caused all errors to be regarded as an internal server error
* generate samples
* map free-form objects to Dict[str, Any]
* support Forward Type References
Forward type references will be supported by default from Python 3.10 on only. Until then (and starting with Python 3.7), we can opt in by a __future__ import, cf. https://docs.python.org/3.9/whatsnew/3.7.html?highlight=forward#pep-563-postponed-evaluation-of-annotations
* re-created pet-store sample
* bump required Python version to 3.7 for generated FastAPI projects
* make pydantic modell classes process forward type references
* pass init and url as returned by the premiddleware to the postmiddleware
Current implementation will always pass the initial url and init object. However if a pre middleware changes returns an object whose `init` or `url` property refer to a different url string or object, any following post middleware wont have access to it. Effectively providing the post middleware with a completely different request information then what was actually used to make the fetch call.
* update samples and docs
* [python-fastapi] Apply constraints to models
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [python-fastapi] Use pydantic types to validate models fields
Some data formats can be validated by annotating fields with some
special pydantic data types (EmailStr, forr example).
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [python-fastapi] Updated samples
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [dart][dart-dio] Add support for query collection parameter format
* add support for collectionFormat in query parameters and www-url-encoded content
* add tests
* remove empty query parameter maps from generated code
* closes#6681
* closes#9522
* closes#8271 (the last remaining parts)
* Fix formatting
* [python-fastapi] Ignore some flake8 warnings
1. Some of the "imported but not used" warnings are there because
it is not easy to express what should be imported in mustache template
language. These warnings are silenced in order to keep the templates
morre readable.
2. Single quotes -> Double quotes (for consistency).
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [python-fastapi] Added flake8 config
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [python-fastapi] Set extra constraints on values
It is important to set all constraints (pattern, greater than, etc.)
on values of all arguments, because FastAPI can handle them automatically.
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [python-fastapi] Updated samples
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [swift5] Rename the API class to {{projectName}}
Instead of {{projectName}}API. This removes some unnecessary naming
complexity.
* [swift5] Define models and Configuration classes under namespace
When swiftUseApiNamespace is set, API classes get defined under the
projectName namespace. This does the same for models and the
Configuration class. Plus adding a deprecation warning when using the
un-namespaced variants.
* [swift5] Use CodingKeys in model decoder
Fixes: 0f5e7d1e3cb9 ("Swift5 models improvements (#9205)")
* [swift5] Add swiftUseApiNamespace to urlsessionLibrary config
* Update samples
* Try to reduce model changes
Co-authored-by: Bruno Coelho <4brunu@gmail.com>
And update to Kotlin 1.5.0 and kotlinx.serialization 1.2.1. Fix nested
enum annotation '@Serializable' instead of '@KSerializable' when
'kotlinx_serialization' is used. Fix missing JsonMediaType in
ApiClient.kt (#9242). Add 'kotlinx_serialization' serialization library
to documentation. Use explicity type in RequestConfig to keep type
information for JSON serialization.
Resolves#9242
* [python-fastapi] Added new generator
See https://fastapi.tiangolo.com/ for more details about FastAPI
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
* [python-fastapi] Added samples
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>