* I feel the issue is due to the creation of self._var_name_to_model_instances while doing the deserialization of the data.
Earlier the Python SDK code was using get_var_name_to_model_instances function which was adding var name to model instances that contain it. So <class 'openapi_client.model.stream_options_all_of'> will not part of mapping in self._var_name_to_model_instances for variable name stream_options.
Now with the latest Python SDK code following is the way through which var_name_to_model_instances is created:
for prop_name in model_args:
if prop_name not in discarded_args:
var_name_to_model_instances[prop_name] = [self] + composed_instances
Now as we can see that the var_name_to_model_instances is populated with self and composed_instance which will also contain stream_options_all_of as a composed instance and there will be no check that if stream_options is present in composed_instances or not.
As there is no attribute_mapping found for stream_options in stream_options_all_of, the type for stream_options will be treated as dict for mapping stream_options_all_of as mentioned by @Chekov2k.
So what I suggest is the following code:
for prop_name in model_args:
if prop_name not in discarded_args:
var_name_to_model_instances[prop_name] = [self] + list(
filter(
lambda x: prop_name in x.openapi_types, composed_instances))
This way we can check if the property name is present in that composed instance or not. If it's okay for @spacether I can raise a PR for this.
* [get_item_all_of_bug]
Added samples, test cases to validate all_of schema.
* [getiem_all_of_bug]
Updated docs and samples.
* [getiem_all_of_bug]
Updated test cases, docs and samples.
* + support for enum models & separating mustache templates for enums and generics
+ extract property 'type' and 'default value' from a #ref to an enum model
+ support for `PascalCase` naming convention for PHP generators
+ use a default value for known basic types when they are not nullable
+ use 'null' as default value for nullable types when they do not specify the default value
+ use defined constant path as enum default value when found
* + sample output update
* + change model fields to be public and acessible from outside
* + sample output update
Co-authored-by: Mostafa Aghajani <mostafa.aghajani@virta.global>
* [ocaml] Open Lwt.Infix rather than Lwt
The Lwt module has functions that might shadow parameters, and all the
functions we use from Lwt are in Lwt.Infix too.
File "src/apis/image_api.ml", line 13, characters 69-72:
13 | let uri = Request.maybe_add_query_param uri "all" string_of_bool all in
^^^
Error: This expression has type 'a t list -> 'a list t
but an expression was expected of type bool option
* [ocaml] update petstore samples
* [core] Fix naming of reservedWordsMappings
* `GeneratorSettings` used a wrong name (missing `s`) which resulted in config loaded from YAMl files not working
* [dart] Respect reservedWordsMappings when checking for reserved words
This are small (but visually nice) improvements:
- Add colors: 200 = green, 300 = blue, 400 = red
- Add an example per parameter for better understanding
* better support for inline schema in parameters
* fix parameter model type
* add new method for model
* minor update
* fix isModelWithProperties
* fix is model check
* null check for properties
* inline parameter enhance with python-experimental fix [WIP] (#12397)
* Uses unaliasSchema rather than ModelUtils.getReferencedSchema
* Fixes python-experimental, delays param schema setting
* Samples regenerated
* Adds parameterModelName setting back in
* Samples regenerated
* removes needToSetSchema
* Sets schema differently depending on if inline model resolver is used
* Adds step for getting ref schema
* Samples regen
* fix test
* bug fix for rust generator
Co-authored-by: Justin Black <spacether@users.noreply.github.com>
* Fix ConfigurableAuthorization package name import to come from configuration
* Fix Micronaut @Consumes and @Produces annotations, allow multiple content types
* Fix security schemes rendering and Micronaut @Authentication pairing with application settings when special characters are present
* Updated samples
* Code review feedback
* Add xml to dependencies and fix tests
Co-authored-by: Andriy Dmytruk <andriy.dmytruk@oracle.com>
* 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